Compare commits

...

893 Commits

Author SHA1 Message Date
Byron Hambly 9594b0c46b
Merge pull request #1673 from comit-network/bob-extensive-quote-log
feat (Bob): Log extensive information about deposit requirements
4 days ago
Byron Hambly 72202b714e
Merge pull request #1663 from comit-network/dependabot/cargo/tokio-1.38.0
build(deps): bump tokio from 1.37.0 to 1.38.0
4 days ago
binarybaron 55b67d31d4 feat (Bob): Log extensive information about deposit requirements 4 days ago
dependabot[bot] b99978879d
build(deps): bump tokio from 1.37.0 to 1.38.0
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.37.0 to 1.38.0.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.37.0...tokio-1.38.0)

---
updated-dependencies:
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
4 days ago
chengehe 49a7f7eed6
chore: remove repeat word (#1671)
Signed-off-by: chengehe <hechenge@yeah.net>
4 days ago
Byron Hambly 2eb9e01f97
Merge pull request #1667 from comit-network/dependabot/cargo/toml-0.8.14
build(deps): bump toml from 0.8.13 to 0.8.14
6 days ago
dependabot[bot] 16d5ffc07e
build(deps): bump toml from 0.8.13 to 0.8.14
Bumps [toml](https://github.com/toml-rs/toml) from 0.8.13 to 0.8.14.
- [Commits](https://github.com/toml-rs/toml/compare/toml-v0.8.13...toml-v0.8.14)

---
updated-dependencies:
- dependency-name: toml
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
6 days ago
pokkst 9635c0b551
fix (Bob): Check if Bitcoin redeem transaction was published before transitioning to CancelTimelockExpired (#1427)
* fix (Bob): Check if Bitcoin redeem transaction was published before transitioning to CancelTimelockExpired

---------

Co-authored-by: binarybaron <86064887+binarybaron@users.noreply.github.com>
Co-authored-by: Byron Hambly <bhambly@blockstream.com>
6 days ago
dependabot[bot] 1930540c1f
build(deps): bump reqwest from 0.11.27 to 0.12.4 (#1588)
* build(deps): bump reqwest from 0.11.27 to 0.12.0

Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.11.27 to 0.12.0.
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.11.27...v0.12.0)

---
updated-dependencies:
- dependency-name: reqwest
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* wip

* wip

* ci: lock sqlx-cli install

* bump reqwest to 0.12.2

* deps: reqwest to 0.12.4

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Byron Hambly <byron@hambly.dev>
2 weeks ago
COMIT Botty McBotface 2932abc9ec
Prepare release 0.13.0 (#1659) 2 weeks ago
binarybaron 41687ffab9
CI: Fix faulty x86-darwin release name (#1658) 2 weeks ago
Byron Hambly 6c487d4a5f
Merge pull request #1654 from comit-network/dependabot/cargo/serde-1.0.203
build(deps): bump serde from 1.0.202 to 1.0.203
2 weeks ago
Byron Hambly 21e6bbe681
Merge pull request #1656 from delta1/ci-binaries
ci: wip fixing binaries
2 weeks ago
Byron Hambly e09401b9f7
ci: wip fixing build binaries actions 2 weeks ago
Byron Hambly 81d1f7e1bb
Merge pull request #1655 from delta1/ci-binaries
ci: wip fixing build binaries actions
2 weeks ago
Byron Hambly 66bc59892a
ci: wip fixing build binaries actions 2 weeks ago
dependabot[bot] 6399343de9
build(deps): bump serde from 1.0.202 to 1.0.203
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.202 to 1.0.203.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.202...v1.0.203)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 weeks ago
Byron Hambly 7b9ca3b420
Merge pull request #1653 from delta1/deps-miniscript
deps: bump miniscript 9.0.0 to 9.0.2 to fix overflow issue
2 weeks ago
Byron Hambly 268a24083f
deps: bump miniscript 9.0.0 to 9.0.2 to fix overflow issue 2 weeks ago
Byron Hambly 1d4a536bb1
Merge pull request #1652 from delta1/ci-release-bins
ci: fix build-release-binaries
2 weeks ago
Byron Hambly 52d56ae254
ci: fix build-release-binaries 2 weeks ago
Byron Hambly 2ef2863e89
Merge pull request #1651 from delta1/ci-release-bins
ci: fix build-release-binaries
2 weeks ago
Byron Hambly bbf8f84312
ci: fix build-release-binaries 2 weeks ago
Byron Hambly a471a17a88
Merge pull request #1648 from delta1/ci-fix-stable
ci: fix duplicate definition of check_stable
2 weeks ago
Byron Hambly e6d37c01a6
ci: fix duplicate definition of check_stable 2 weeks ago
Byron Hambly 796863359f
upgrade secp256kfun (#1466)
* ci: add cargo check on rust stable

* refactor: upgrade secp256kfun and fix resulting issues

* build(deps): update sigma_fun and ecdsa_fun to a52142cf7f

 #1520
 #1521

* chore: fix clippy issue

* update to 91112f80b24

* bump to 294de1721add

* chore(deps): remove spectral

spectral fails to compile on rust stable 1.76 due to dep on deprecated
rustc-serialize

* secp256kfun: update to 7da9d277 and set rev in manifest

* update to 6fdc5d8

* switch to crates.io versions of ecdsa_fun and sigma_fun

* ci: update toolchain to 1.74 and fix draft action

* clippy fixes

---------

Co-authored-by: binarybaron <86064887+binarybaron@users.noreply.github.com>
2 weeks ago
Byron Hambly 1e2dddb61b
Merge pull request #1629 from comit-network/dependabot/cargo/toml-0.8.13
build(deps): bump toml from 0.8.12 to 0.8.13
2 weeks ago
Byron Hambly dc8e1e53f2
Merge pull request #1647 from comit-network/monero-wallet-rpc-update-01831
CLI: Upgrade monero-wallet-rpc to 0.18.3.1, clarify a few log. messages
2 weeks ago
binarybaron 32ca0b1a4a CLI: Upgrade monero-wallet-rpc to 0.18.3.1, clarify a few log. messages 2 weeks ago
binarybaron c433bd2389
CLI: Initiate tracing earlier to avoid lost logs (#1646) 2 weeks ago
binarybaron 0ca98cd0b7
Make tracing file appender blocking (#1643) 2 weeks ago
binarybaron 2f28ef9401
Add missing changelog entries (#1641) 2 weeks ago
binarybaron 0c4b7d50c2
Lower DEFAULT_BITCOIN_CONFIRMATION_TARGET to 1 to ensure timely confirmation of bitcoin transactions (#1640) 2 weeks ago
Byron Hambly 838a7ab5fb
Merge pull request #1637 from comit-network/dependabot/github_actions/actions/checkout-4.1.6
build(deps): bump actions/checkout from 4.1.1 to 4.1.6
3 weeks ago
Byron Hambly db78a1e99e
Merge pull request #1636 from comit-network/dependabot/github_actions/Swatinem/rust-cache-2.7.3
build(deps): bump Swatinem/rust-cache from 2.7.1 to 2.7.3
3 weeks ago
dependabot[bot] b443a96469
build(deps): bump actions/checkout from 4.1.1 to 4.1.6
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.1 to 4.1.6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.1.1...v4.1.6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
3 weeks ago
dependabot[bot] 97210739a1
build(deps): bump Swatinem/rust-cache from 2.7.1 to 2.7.3
Bumps [Swatinem/rust-cache](https://github.com/swatinem/rust-cache) from 2.7.1 to 2.7.3.
- [Release notes](https://github.com/swatinem/rust-cache/releases)
- [Changelog](https://github.com/Swatinem/rust-cache/blob/master/CHANGELOG.md)
- [Commits](https://github.com/swatinem/rust-cache/compare/v2.7.1...v2.7.3)

---
updated-dependencies:
- dependency-name: Swatinem/rust-cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
3 weeks ago
yamabiiko 5ff46be279
RPC server for API Interface (#1276)
* saving: implementing internal api shared by cli and rpc server

* writing async rpc methods and using arc for shared struct references

* cleaning up, renamed Init to Context

* saving: cleaning up and initial work for tests

* Respond with bitcoin withdraw txid

* Print RPC server address

* Cleanup, formatting, add `get_seller`, `get_swap_start_date` RPC endpoints

* fixing tests in cli module

* uncommenting and fixing more tests

* split api module and propagate errors with rpc server

* moving methods to api and validating addresses for rpc

* add broadcast channel to handle shutdowns gracefully and prepare for RPC server test

* added files

* Update rpc.rs

* adding new unfinished RPC tests

* updating rpc-server tests

* fixing warnings

* fixing formatting and cargo clippy warnings

* fix missing import in test

* fix: add data_dir to config to make config command work

* set server listen address manually and return file locations in JSON on Config

* Add called api method and swap_id to tracing for context, reduced boilerplate

* Pass server_address properly to RpcServer

* Update Cargo.lock

* dprint fmt

* Add cancel_refund RPC endpoint

* Combine Cmd and Params

* Disallow concurrent swaps

* Use RwLock instead of Mutex to allow for parallel reads and add get_current_swap endpoint

* Return wallet descriptor to RPC API caller

* Append all cli logs to single log file

After careful consideration, I've concluded that it's not practical/possible to ensure that the previous behaviour (one log file per swap) is preserved due to limitations of the tracing-subscriber crate and a big in the built in JSON formatter

* Add get_swap_expired_timelock timelock, other small refactoring

- Add get_swap_expired_timelock endpoint to return expired timelock if one exists. Fails if bitcoin lock tx has not yet published or if swap is already finished.
- Rename current_epoch to expired_timelock to enforce consistent method names
- Add blocks left until current expired timelock expires (next timelock expires) to ExpiredTimelock struct
- Change .expect() to .unwrap() in rpc server method register because those will only fail if we register the same method twice which will never happen

* initiating swaps in a separate task and handling shutdown signals with broadcast queues

* Replace get_swap_start_date, get_seller, get_expired_timelock with one get_swap_info rpc method

* WIP: Struct for concurrent swaps manager

* Ensure correct tracing spans

* Add note regarding Request, Method structs

* Update request.rs

* Add tracing span attribute log_reference_id to logs caused by rpc call

* Sync bitcoin wallet before initial max_giveable call

* use Span::current() to pass down to tracing span to spawned tasks

* Remove unused shutdown channel

* Add `get_monero_recovery_info` RPC endpoint

- Add `get_monero_recovery_info` RPC endpoint
- format PrivateViewKey using Display

* Rename `Method::RawHistory` to `Method::GetRawStates`

* Wait for swap to be suspended after sending signal

* Remove notes

* Add tracing span attribute log_reference_id to logs caused by rpc call

* Sync bitcoin wallet before initial max_giveable call

* use Span::current() to pass down to tracing span to spawned tasks

* Remove unused shutdown channel

* Add `get_monero_recovery_info` RPC endpoint

- Add `get_monero_recovery_info` RPC endpoint
- format PrivateViewKey using Display

* Rename `Method::RawHistory` to `Method::GetRawStates`

* Wait for swap to be suspended after sending signal

* Return additonal info on GetSwapInfo

* Update wallet.rs

* fix compile issues for tests and use serial_test crate

* fix rpc tests, only check for RPC errors and not returned values

* Rename `get_raw_history` tp `get_raw_states`

* Fix typo in rpc server stopped tracing log

* Remove unnecessary success property on suspend_current_swap response

* fixing test_cli_arguments and other tests

* WIP: RPC server integration tests

* WIP: Integration tests for RPC server

* Update rpc tests

* fix compile and warnings in tests/rpc.rs

* test: fix assert

* clippy --fix

* remove otp file

* cargo clippy fixes

* move resume swap initialization code out of spawned task

* Use `in_current_span` to pass down tracing span to spawned tasks

* moving buy_xmr initialization code out of spawned tasks

* cargo fmt

* Moving swap initialization code inside tokio select block to handle swap lock release logic

* Remove unnecessary swap suspension listener from determine_btc_to_swap call in BuyXmr

* Spawn event loop before requesting quote

* Release swap lock after receiving shutdown signal

* Remove inner tokio::select in BuyXmr and Resume

* Improve debug text for swap resume

* Return error to API caller if bid quote request fails

* Print error if one occurs during process invoked by API call

* Return bid quote to API caller

* Use type safe query! macro for database retrieval of states

* Return tx_lock_fee to API caller on GetSwapInfo call

Update request.rs

* Allow API caller to retrieve last synced bitcoin balane and avoid costly sync

* Return restore height on MoneroRecovery command to API Caller

* Include entire error cause-chain in API response

* Add span to bitcoin wallet logs

* Log event loop connection properties as tracing fields

* Wait for background tasks to complete before exiting CLI

* clippy

* specify sqlx patch version explicitly

* remove mem::forget and replace with _guard

* ci: add rpc test job

* test: wrap rpc test in #[cfg(test)]

* add missing tokio::test attribute

* fix and merge rpc tests, parse uuuid and multiaddr from serde_json value

* default Tor socks port to 9050, Cargo fmt

* Update swap/sqlite_dev_setup.sh: add version

Co-authored-by: Byron Hambly <byron@hambly.dev>

* ci: free up space on ubuntu test job

* Update swap/src/bitcoin/wallet.rs

Co-authored-by: Byron Hambly <byron@hambly.dev>

* Update swap/src/bitcoin/wallet.rs

Co-authored-by: Byron Hambly <byron@hambly.dev>

* fmt

---------

Co-authored-by: binarybaron <86064887+binarybaron@users.noreply.github.com>
Co-authored-by: Byron Hambly <byron@hambly.dev>
3 weeks ago
Byron Hambly 7d4a6c90f3
Merge pull request #1633 from comit-network/dependabot/cargo/anyhow-1.0.86
build(deps): bump anyhow from 1.0.83 to 1.0.86
3 weeks ago
Byron Hambly 2fba218429
Merge pull request #1632 from comit-network/dependabot/cargo/thiserror-1.0.61
build(deps): bump thiserror from 1.0.60 to 1.0.61
3 weeks ago
dependabot[bot] 928fe33532
build(deps): bump anyhow from 1.0.83 to 1.0.86
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.83 to 1.0.86.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.83...1.0.86)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
3 weeks ago
dependabot[bot] 3bb6f060a0
build(deps): bump thiserror from 1.0.60 to 1.0.61
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.60 to 1.0.61.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.60...1.0.61)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
3 weeks ago
icy-ux 8d8c938a94
document use of asb export-bitcoin-wallet (#1280)
* document use of asb export-bitcoin-wallet

Add to the `asb` document @delta1's text on exporting the Bitcoin wallet
descriptor and importing the descriptor into Sparrow Wallet.

TODO: maybe it would make sense to add the images to Git, instead of
linking to files on Github?

* bring asb/README.md into compliance with dprint

* update bullet point formatting in asb/README.md

* run

* add images to git

---------

Co-authored-by: icyfestive <>
Co-authored-by: Byron Hambly <byron@hambly.dev>
3 weeks ago
Byron Hambly 0b5a26a5e8
Merge pull request #1631 from comit-network/dependabot/cargo/itertools-0.13.0
build(deps): bump itertools from 0.12.1 to 0.13.0
3 weeks ago
dependabot[bot] 0e5241787f
build(deps): bump itertools from 0.12.1 to 0.13.0
Bumps [itertools](https://github.com/rust-itertools/itertools) from 0.12.1 to 0.13.0.
- [Changelog](https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-itertools/itertools/compare/v0.12.1...v0.13.0)

---
updated-dependencies:
- dependency-name: itertools
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
3 weeks ago
Byron Hambly 4b8f7987f7
Merge pull request #1630 from comit-network/dependabot/github_actions/actions/checkout-4.1.6
build(deps): bump actions/checkout from 4.1.5 to 4.1.6
3 weeks ago
dependabot[bot] c8e5768955
build(deps): bump actions/checkout from 4.1.5 to 4.1.6
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.5 to 4.1.6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.1.5...v4.1.6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
3 weeks ago
dependabot[bot] 6edcc28b8d
build(deps): bump toml from 0.8.12 to 0.8.13
Bumps [toml](https://github.com/toml-rs/toml) from 0.8.12 to 0.8.13.
- [Commits](https://github.com/toml-rs/toml/compare/toml-v0.8.12...toml-v0.8.13)

---
updated-dependencies:
- dependency-name: toml
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
4 weeks ago
Byron Hambly 8cd0d3cd17
Merge pull request #1628 from comit-network/dependabot/cargo/serde-1.0.202
build(deps): bump serde from 1.0.201 to 1.0.202
4 weeks ago
dependabot[bot] d9de1b6cf3
build(deps): bump serde from 1.0.201 to 1.0.202
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.201 to 1.0.202.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.201...v1.0.202)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
4 weeks ago
Byron Hambly 0a2a32a31b
Merge pull request #1627 from comit-network/dependabot/cargo/serde-1.0.201
build(deps): bump serde from 1.0.200 to 1.0.201
1 month ago
Byron Hambly 71ea249d73
Merge pull request #1626 from comit-network/dependabot/cargo/serde_json-1.0.117
build(deps): bump serde_json from 1.0.116 to 1.0.117
1 month ago
dependabot[bot] 081bb965ee
build(deps): bump serde from 1.0.200 to 1.0.201
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.200 to 1.0.201.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.200...v1.0.201)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 month ago
dependabot[bot] f1d7859334
build(deps): bump serde_json from 1.0.116 to 1.0.117
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.116 to 1.0.117.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.116...v1.0.117)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 month ago
Byron Hambly 6acabda6ab
Merge pull request #1623 from comit-network/dependabot/github_actions/actions/checkout-4.1.5
build(deps): bump actions/checkout from 4.1.4 to 4.1.5
1 month ago
Byron Hambly 38c8fd76a4
Merge pull request #1624 from comit-network/dependabot/cargo/anyhow-1.0.83
build(deps): bump anyhow from 1.0.82 to 1.0.83
1 month ago
Byron Hambly 84b5a6f7e9
Merge pull request #1625 from comit-network/dependabot/cargo/thiserror-1.0.60
build(deps): bump thiserror from 1.0.59 to 1.0.60
1 month ago
dependabot[bot] 252c394ef6
build(deps): bump thiserror from 1.0.59 to 1.0.60
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.59 to 1.0.60.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.59...1.0.60)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 month ago
dependabot[bot] d40059192a
build(deps): bump anyhow from 1.0.82 to 1.0.83
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.82 to 1.0.83.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.82...1.0.83)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 month ago
dependabot[bot] ed8deeff57
build(deps): bump actions/checkout from 4.1.4 to 4.1.5
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.4 to 4.1.5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.1.4...v4.1.5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 month ago
Byron Hambly 98b5335231
Merge pull request #1622 from comit-network/dependabot/cargo/tokio-util-0.7.11
build(deps): bump tokio-util from 0.7.10 to 0.7.11
1 month ago
Byron Hambly 417bfe34a5
Merge pull request #1621 from comit-network/dependabot/github_actions/thomaseizinger/create-pull-request-1.4.0
build(deps): bump thomaseizinger/create-pull-request from 1.3.1 to 1.4.0
1 month ago
dependabot[bot] 7661b19300
build(deps): bump tokio-util from 0.7.10 to 0.7.11
Bumps [tokio-util](https://github.com/tokio-rs/tokio) from 0.7.10 to 0.7.11.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-util-0.7.10...tokio-util-0.7.11)

---
updated-dependencies:
- dependency-name: tokio-util
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 month ago
dependabot[bot] ca5bfed392
build(deps): bump thomaseizinger/create-pull-request from 1.3.1 to 1.4.0
Bumps [thomaseizinger/create-pull-request](https://github.com/thomaseizinger/create-pull-request) from 1.3.1 to 1.4.0.
- [Release notes](https://github.com/thomaseizinger/create-pull-request/releases)
- [Changelog](https://github.com/thomaseizinger/create-pull-request/blob/master/CHANGELOG.md)
- [Commits](https://github.com/thomaseizinger/create-pull-request/compare/1.3.1...1.4.0)

---
updated-dependencies:
- dependency-name: thomaseizinger/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
1 month ago
Byron Hambly 58b775bdf2
Merge pull request #1620 from comit-network/dependabot/cargo/serde-1.0.200
build(deps): bump serde from 1.0.199 to 1.0.200
1 month ago
dependabot[bot] cc3abf647c
build(deps): bump serde from 1.0.199 to 1.0.200
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.199 to 1.0.200.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.199...v1.0.200)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 month ago
Byron Hambly 73bb1b88c9
Merge pull request #1619 from comit-network/dependabot/cargo/base64-0.22.1
build(deps): bump base64 from 0.22.0 to 0.22.1
1 month ago
dependabot[bot] ad6b00beec
build(deps): bump base64 from 0.22.0 to 0.22.1
Bumps [base64](https://github.com/marshallpierce/rust-base64) from 0.22.0 to 0.22.1.
- [Changelog](https://github.com/marshallpierce/rust-base64/blob/master/RELEASE-NOTES.md)
- [Commits](https://github.com/marshallpierce/rust-base64/compare/v0.22.0...v0.22.1)

---
updated-dependencies:
- dependency-name: base64
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 month ago
Byron Hambly 61a19c35a7
Merge pull request #1616 from comit-network/dependabot/cargo/serde-1.0.199
build(deps): bump serde from 1.0.198 to 1.0.199
1 month ago
Byron Hambly 026fcd13f2
Merge pull request #1617 from comit-network/dependabot/cargo/data-encoding-2.6.0
build(deps): bump data-encoding from 2.5.0 to 2.6.0
1 month ago
dependabot[bot] 1aca4462e7
build(deps): bump serde from 1.0.198 to 1.0.199
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.198 to 1.0.199.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.198...v1.0.199)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 month ago
dependabot[bot] 79b4d8efbc
build(deps): bump data-encoding from 2.5.0 to 2.6.0
Bumps [data-encoding](https://github.com/ia0/data-encoding) from 2.5.0 to 2.6.0.
- [Commits](https://github.com/ia0/data-encoding/commits)

---
updated-dependencies:
- dependency-name: data-encoding
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
1 month ago
Byron Hambly 0beb91f537
Merge pull request #1618 from delta1/ci-macos
ci: fix macos-latest and add macos-12
1 month ago
Byron Hambly 24466c0234
ci: fix macos-latest and add macos-12
macos-latest is now aarch64, add macos-12 for x64_64
1 month ago
Byron Hambly 2b850924b1
Merge pull request #1615 from comit-network/dependabot/github_actions/actions/checkout-4.1.4
build(deps): bump actions/checkout from 4.1.3 to 4.1.4
1 month ago
dependabot[bot] 8a88bde4f5
build(deps): bump actions/checkout from 4.1.3 to 4.1.4
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.3 to 4.1.4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.1.3...v4.1.4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 months ago
Byron Hambly 1fecc687a7
Merge pull request #1614 from comit-network/dependabot/github_actions/actions/checkout-4.1.3
build(deps): bump actions/checkout from 4.1.2 to 4.1.3
2 months ago
Byron Hambly afa683b7e0
Merge pull request #1613 from comit-network/dependabot/cargo/thiserror-1.0.59
build(deps): bump thiserror from 1.0.58 to 1.0.59
2 months ago
dependabot[bot] 5997453525
build(deps): bump actions/checkout from 4.1.2 to 4.1.3
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.2 to 4.1.3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.1.2...v4.1.3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 months ago
dependabot[bot] e389027439
build(deps): bump thiserror from 1.0.58 to 1.0.59
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.58 to 1.0.59.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.58...1.0.59)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 months ago
Byron Hambly aeefd8f271
Merge pull request #1612 from comit-network/dependabot/cargo/serde-1.0.198
build(deps): bump serde from 1.0.197 to 1.0.198
2 months ago
Byron Hambly effeabd007
Merge pull request #1611 from comit-network/dependabot/cargo/hyper-1.3.1
build(deps): bump hyper from 1.3.0 to 1.3.1
2 months ago
dependabot[bot] 1ff67ec943
build(deps): bump serde from 1.0.197 to 1.0.198
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.197 to 1.0.198.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.197...v1.0.198)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 months ago
dependabot[bot] 6ba11b1738
build(deps): bump hyper from 1.3.0 to 1.3.1
Bumps [hyper](https://github.com/hyperium/hyper) from 1.3.0 to 1.3.1.
- [Release notes](https://github.com/hyperium/hyper/releases)
- [Changelog](https://github.com/hyperium/hyper/blob/master/CHANGELOG.md)
- [Commits](https://github.com/hyperium/hyper/compare/v1.3.0...v1.3.1)

---
updated-dependencies:
- dependency-name: hyper
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 months ago
Byron Hambly 18ec158d2e
Merge pull request #1609 from comit-network/dependabot/cargo/serde_json-1.0.116
build(deps): bump serde_json from 1.0.115 to 1.0.116
2 months ago
Byron Hambly b0dffc5370
Merge pull request #1610 from comit-network/dependabot/cargo/hyper-1.3.0
build(deps): bump hyper from 1.2.0 to 1.3.0
2 months ago
dependabot[bot] 76c72cceb2
build(deps): bump serde_json from 1.0.115 to 1.0.116
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.115 to 1.0.116.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.115...v1.0.116)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 months ago
dependabot[bot] f0f197de20
build(deps): bump hyper from 1.2.0 to 1.3.0
Bumps [hyper](https://github.com/hyperium/hyper) from 1.2.0 to 1.3.0.
- [Release notes](https://github.com/hyperium/hyper/releases)
- [Changelog](https://github.com/hyperium/hyper/blob/master/CHANGELOG.md)
- [Commits](https://github.com/hyperium/hyper/compare/v1.2.0...v1.3.0)

---
updated-dependencies:
- dependency-name: hyper
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2 months ago
Byron Hambly f380d0928e
Merge pull request #1603 from delta1/ci-check-stable
ci: add cargo check job on stable rust
2 months ago
Byron Hambly 877001549a
Merge pull request #1607 from comit-network/dependabot/cargo/async-trait-0.1.80
build(deps): bump async-trait from 0.1.79 to 0.1.80
2 months ago
dependabot[bot] 23216dea07
build(deps): bump async-trait from 0.1.79 to 0.1.80
Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.79 to 0.1.80.
- [Release notes](https://github.com/dtolnay/async-trait/releases)
- [Commits](https://github.com/dtolnay/async-trait/compare/0.1.79...0.1.80)

---
updated-dependencies:
- dependency-name: async-trait
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 months ago
Byron Hambly a250940ff1
Merge pull request #1606 from comit-network/dependabot/cargo/time-0.3.36
build(deps): bump time from 0.3.34 to 0.3.36
2 months ago
dependabot[bot] a449d9b600
build(deps): bump time from 0.3.34 to 0.3.36
Bumps [time](https://github.com/time-rs/time) from 0.3.34 to 0.3.36.
- [Release notes](https://github.com/time-rs/time/releases)
- [Changelog](https://github.com/time-rs/time/blob/main/CHANGELOG.md)
- [Commits](https://github.com/time-rs/time/compare/v0.3.34...v0.3.36)

---
updated-dependencies:
- dependency-name: time
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 months ago
Byron Hambly 0072fbe0c6
Merge pull request #1604 from comit-network/dependabot/cargo/anyhow-1.0.82
build(deps): bump anyhow from 1.0.81 to 1.0.82
2 months ago
dependabot[bot] 4767c68467
build(deps): bump anyhow from 1.0.81 to 1.0.82
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.81 to 1.0.82.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.81...1.0.82)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 months ago
Byron Hambly 0d63087ab9
ci: add cargo check job on stable rust 2 months ago
Byron Hambly d230ed2705
Merge pull request #1600 from comit-network/dependabot/github_actions/thomaseizinger/keep-a-changelog-new-release-3.0.0
build(deps): bump thomaseizinger/keep-a-changelog-new-release from 2.0.0 to 3.0.0
2 months ago
Byron Hambly 19705becc5
Merge pull request #1601 from comit-network/dependabot/cargo/pem-3.0.4
build(deps): bump pem from 3.0.3 to 3.0.4
2 months ago
dependabot[bot] cf0b9aa601
build(deps): bump pem from 3.0.3 to 3.0.4
Bumps [pem](https://github.com/jcreekmore/pem-rs) from 3.0.3 to 3.0.4.
- [Changelog](https://github.com/jcreekmore/pem-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jcreekmore/pem-rs/compare/v3.0.3...v3.0.4)

---
updated-dependencies:
- dependency-name: pem
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 months ago
dependabot[bot] a87ffaa631
build(deps): bump thomaseizinger/keep-a-changelog-new-release
Bumps [thomaseizinger/keep-a-changelog-new-release](https://github.com/thomaseizinger/keep-a-changelog-new-release) from 2.0.0 to 3.0.0.
- [Release notes](https://github.com/thomaseizinger/keep-a-changelog-new-release/releases)
- [Changelog](https://github.com/thomaseizinger/keep-a-changelog-new-release/blob/master/CHANGELOG.md)
- [Commits](https://github.com/thomaseizinger/keep-a-changelog-new-release/compare/2.0.0...3.0.0)

---
updated-dependencies:
- dependency-name: thomaseizinger/keep-a-changelog-new-release
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2 months ago
Byron Hambly bad0117e58
Merge pull request #1590 from comit-network/dependabot/cargo/async-trait-0.1.79
build(deps): bump async-trait from 0.1.78 to 0.1.79
2 months ago
Byron Hambly b67ee29bf7
Merge branch 'master' into dependabot/cargo/async-trait-0.1.79 2 months ago
Byron Hambly f76dee4c30
Merge pull request #1595 from comit-network/dependabot/cargo/serde_json-1.0.115
build(deps): bump serde_json from 1.0.114 to 1.0.115
2 months ago
Byron Hambly af70589eba
Merge pull request #1599 from comit-network/dependabot/cargo/comfy-table-7.1.1
build(deps): bump comfy-table from 7.1.0 to 7.1.1
2 months ago
dependabot[bot] 73370ce7d9
build(deps): bump comfy-table from 7.1.0 to 7.1.1
Bumps [comfy-table](https://github.com/nukesor/comfy-table) from 7.1.0 to 7.1.1.
- [Release notes](https://github.com/nukesor/comfy-table/releases)
- [Changelog](https://github.com/Nukesor/comfy-table/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nukesor/comfy-table/compare/v7.1.0...v7.1.1)

---
updated-dependencies:
- dependency-name: comfy-table
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 months ago
Byron Hambly 2c27bb8f68
Merge pull request #1598 from comit-network/dependabot/cargo/port_check-0.2.1
build(deps): bump port_check from 0.1.5 to 0.2.1
2 months ago
dependabot[bot] c231a34399
build(deps): bump port_check from 0.1.5 to 0.2.1
Bumps [port_check](https://github.com/ufoscout/port-check-rs) from 0.1.5 to 0.2.1.
- [Commits](https://github.com/ufoscout/port-check-rs/commits/v0.2.1)

---
updated-dependencies:
- dependency-name: port_check
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2 months ago
Byron Hambly 4801098601
Merge pull request #1597 from comit-network/dependabot/cargo/tokio-1.37.0
build(deps): bump tokio from 1.36.0 to 1.37.0
2 months ago
dependabot[bot] be8b3c1dde
build(deps): bump tokio from 1.36.0 to 1.37.0
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.36.0 to 1.37.0.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.36.0...tokio-1.37.0)

---
updated-dependencies:
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2 months ago
dependabot[bot] f575a93bbb
build(deps): bump serde_json from 1.0.114 to 1.0.115
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.114 to 1.0.115.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.114...v1.0.115)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
3 months ago
dependabot[bot] 870911bd58
build(deps): bump async-trait from 0.1.78 to 0.1.79
Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.78 to 0.1.79.
- [Release notes](https://github.com/dtolnay/async-trait/releases)
- [Commits](https://github.com/dtolnay/async-trait/compare/0.1.78...0.1.79)

---
updated-dependencies:
- dependency-name: async-trait
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
3 months ago
Byron Hambly bd07bde535
Merge pull request #1594 from comit-network/monero-wallet-refresh-fix
Monero wallet refresh fix redux
3 months ago
Byron Hambly 91460a29cd
Merge branch 'master' into monero-wallet-refresh-fix 3 months ago
Byron Hambly d6cac9fc1b
Merge pull request #1593 from comit-network/revert-1487-monero-wallet-refresh-fix
Revert "Monero wallet refresh fix (#1487)"
3 months ago
Byron Hambly f337708877
Merge branch 'master' into monero-wallet-refresh-fix 3 months ago
Byron Hambly 36edac8ae3
Merge branch 'master' into revert-1487-monero-wallet-refresh-fix 3 months ago
Byron Hambly 50ff0b1e91
Merge pull request #1592 from comit-network/ci-sqlx-locked
ci: lock install version for sqlx-cli
3 months ago
Byron Hambly 9d426066a9
ci: lock install version for sqlx-cli 3 months ago
Byron Hambly a19501a002
Revert "Monero wallet refresh fix (#1487)"
This reverts commit d8dacbdee9.
3 months ago
binarybaron d8dacbdee9
Monero wallet refresh fix (#1487)
* 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>
3 months ago
binarybaron bfc1e829dc Update CHANGELOG.md 3 months ago
binarybaron 85cee51eee Run dprint fmt 3 months ago
binarybaron 8eaf437d74
Merge branch 'master' into monero-wallet-refresh-fix 3 months ago
Ian McKenzie eb15f477fa
Verify hashes of monero cli on download (#1572)
* 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>
3 months ago
Byron Hambly c0d3a02beb
Merge pull request #1587 from comit-network/dependabot/cargo/reqwest-0.11.27
build(deps): bump reqwest from 0.11.26 to 0.11.27
3 months ago
dependabot[bot] 1901594d28
build(deps): bump reqwest from 0.11.26 to 0.11.27
Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.11.26 to 0.11.27.
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.11.26...v0.11.27)

---
updated-dependencies:
- dependency-name: reqwest
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
3 months ago
Byron Hambly 06bbb89631
Merge pull request #1585 from comit-network/dependabot/cargo/uuid-1.8.0
build(deps): bump uuid from 1.7.0 to 1.8.0
3 months ago
Byron Hambly 993e68edca
Merge pull request #1586 from comit-network/dependabot/cargo/toml-0.8.12
build(deps): bump toml from 0.8.11 to 0.8.12
3 months ago
dependabot[bot] 5d1b9cf4c3
build(deps): bump toml from 0.8.11 to 0.8.12
Bumps [toml](https://github.com/toml-rs/toml) from 0.8.11 to 0.8.12.
- [Commits](https://github.com/toml-rs/toml/compare/toml-v0.8.11...toml-v0.8.12)

---
updated-dependencies:
- dependency-name: toml
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
3 months ago
dependabot[bot] d77f208aae
build(deps): bump uuid from 1.7.0 to 1.8.0
Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.7.0 to 1.8.0.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/1.7.0...1.8.0)

---
updated-dependencies:
- dependency-name: uuid
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
3 months ago
Byron Hambly d059ed8644
Merge pull request #1584 from comit-network/dependabot/cargo/async-trait-0.1.78
build(deps): bump async-trait from 0.1.77 to 0.1.78
3 months ago
dependabot[bot] 3b83822a71
build(deps): bump async-trait from 0.1.77 to 0.1.78
Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.77 to 0.1.78.
- [Release notes](https://github.com/dtolnay/async-trait/releases)
- [Commits](https://github.com/dtolnay/async-trait/compare/0.1.77...0.1.78)

---
updated-dependencies:
- dependency-name: async-trait
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
3 months ago
Byron Hambly b11733dea9
Merge pull request #1582 from comit-network/dependabot/cargo/qrcode-0.14.0
build(deps): bump qrcode from 0.13.0 to 0.14.0
3 months ago
dependabot[bot] fea34cc35b
build(deps): bump qrcode from 0.13.0 to 0.14.0
Bumps [qrcode](https://github.com/kennytm/qrcode-rust) from 0.13.0 to 0.14.0.
- [Release notes](https://github.com/kennytm/qrcode-rust/releases)
- [Commits](https://github.com/kennytm/qrcode-rust/commits)

---
updated-dependencies:
- dependency-name: qrcode
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
3 months ago
Byron Hambly c69acfbeb1
Merge pull request #1581 from comit-network/dependabot/cargo/reqwest-0.11.26
build(deps): bump reqwest from 0.11.25 to 0.11.26
3 months ago
dependabot[bot] a61f7809d9
build(deps): bump reqwest from 0.11.25 to 0.11.26
Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.11.25 to 0.11.26.
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.11.25...v0.11.26)

---
updated-dependencies:
- dependency-name: reqwest
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
3 months ago
Byron Hambly 98920d97e4
Merge pull request #1579 from comit-network/dependabot/cargo/thiserror-1.0.58
build(deps): bump thiserror from 1.0.57 to 1.0.58
3 months ago
Byron Hambly 2cde21a5a1
Merge pull request #1578 from comit-network/dependabot/cargo/anyhow-1.0.81
build(deps): bump anyhow from 1.0.80 to 1.0.81
3 months ago
Byron Hambly bb1df6b987
Merge pull request #1577 from comit-network/dependabot/cargo/toml-0.8.11
build(deps): bump toml from 0.8.10 to 0.8.11
3 months ago
Byron Hambly d1b10efdee
Merge pull request #1576 from comit-network/dependabot/github_actions/actions/checkout-4.1.2
build(deps): bump actions/checkout from 4.1.1 to 4.1.2
3 months ago
dependabot[bot] 46eee5ccfc
build(deps): bump anyhow from 1.0.80 to 1.0.81
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.80 to 1.0.81.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.80...1.0.81)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
3 months ago
dependabot[bot] ccff348cdd
build(deps): bump toml from 0.8.10 to 0.8.11
Bumps [toml](https://github.com/toml-rs/toml) from 0.8.10 to 0.8.11.
- [Commits](https://github.com/toml-rs/toml/compare/toml-v0.8.10...toml-v0.8.11)

---
updated-dependencies:
- dependency-name: toml
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
3 months ago
dependabot[bot] bf262acf00
build(deps): bump thiserror from 1.0.57 to 1.0.58
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.57 to 1.0.58.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.57...1.0.58)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
3 months ago
dependabot[bot] 28937b8693
build(deps): bump actions/checkout from 4.1.1 to 4.1.2
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.1 to 4.1.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.1.1...v4.1.2)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
3 months ago
Byron Hambly c05597970d
Merge pull request #1580 from comit-network/delta1-patch-1
ci: specify version of sqlx-cli
3 months ago
Byron Hambly 82eac08bfe
ci: specify version of sqlx-cli 3 months ago
Byron Hambly efc06e7401
Merge pull request #1574 from comit-network/dependabot/cargo/strum-0.26.2
build(deps): bump strum from 0.26.1 to 0.26.2
3 months ago
Byron Hambly d15a4476f9
Merge pull request #1575 from comit-network/dependabot/cargo/reqwest-0.11.25
build(deps): bump reqwest from 0.11.24 to 0.11.25
3 months ago
dependabot[bot] 6af198743a
build(deps): bump reqwest from 0.11.24 to 0.11.25
Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.11.24 to 0.11.25.
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.11.24...v0.11.25)

---
updated-dependencies:
- dependency-name: reqwest
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
3 months ago
dependabot[bot] 397aa972bb
build(deps): bump strum from 0.26.1 to 0.26.2
Bumps [strum](https://github.com/Peternator7/strum) from 0.26.1 to 0.26.2.
- [Release notes](https://github.com/Peternator7/strum/releases)
- [Changelog](https://github.com/Peternator7/strum/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Peternator7/strum/commits)

---
updated-dependencies:
- dependency-name: strum
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
3 months ago
Byron Hambly 81fabdd451
Merge pull request #1570 from comit-network/dependabot/cargo/base64-0.22.0
build(deps): bump base64 from 0.21.7 to 0.22.0
3 months ago
dependabot[bot] bb596fcc09
build(deps): bump base64 from 0.21.7 to 0.22.0
Bumps [base64](https://github.com/marshallpierce/rust-base64) from 0.21.7 to 0.22.0.
- [Changelog](https://github.com/marshallpierce/rust-base64/blob/master/RELEASE-NOTES.md)
- [Commits](https://github.com/marshallpierce/rust-base64/compare/v0.21.7...v0.22.0)

---
updated-dependencies:
- dependency-name: base64
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
3 months ago
Byron Hambly 76a59e8d85
Merge pull request #1566 from comit-network/dependabot/cargo/tempfile-3.10.1
build(deps): bump tempfile from 3.10.0 to 3.10.1
3 months ago
dependabot[bot] 3037bbcbe4
build(deps): bump tempfile from 3.10.0 to 3.10.1
Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.10.0 to 3.10.1.
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.10.0...v3.10.1)

---
updated-dependencies:
- dependency-name: tempfile
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
3 months ago
dependabot[bot] 00abded1c5
build(deps): bump mockito from 1.2.0 to 1.3.0 (#1561)
* build(deps): bump mockito from 1.2.0 to 1.3.0

Bumps [mockito](https://github.com/lipanski/mockito) from 1.2.0 to 1.3.0.
- [Release notes](https://github.com/lipanski/mockito/releases)
- [Commits](https://github.com/lipanski/mockito/compare/1.2.0...1.3.0)

---
updated-dependencies:
- dependency-name: mockito
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* build(deps): update http to 0.2.11

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Byron Hambly <bhambly@blockstream.com>
4 months ago
Ian McKenzie b2ca1b5f8c
Upgrade testcontainers from 0.12 to 0.14 (#1552)
* Upgrade testcontainers from 0.12 to 0.14

* minor cleanup

---------

Co-authored-by: Byron Hambly <bhambly@blockstream.com>
4 months ago
Byron Hambly 9c5914ff7a
Merge pull request #1562 from comit-network/dependabot/cargo/hyper-1.2.0
build(deps): bump hyper from 1.1.0 to 1.2.0
4 months ago
dependabot[bot] 005361c833
build(deps): bump hyper from 1.1.0 to 1.2.0
Bumps [hyper](https://github.com/hyperium/hyper) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/hyperium/hyper/releases)
- [Changelog](https://github.com/hyperium/hyper/blob/master/CHANGELOG.md)
- [Commits](https://github.com/hyperium/hyper/compare/v1.1.0...v1.2.0)

---
updated-dependencies:
- dependency-name: hyper
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
4 months ago
Byron Hambly c3b474d7db
Merge pull request #1559 from comit-network/dependabot/cargo/serde_json-1.0.114
build(deps): bump serde_json from 1.0.113 to 1.0.114
4 months ago
Byron Hambly abc0897948
Merge pull request #1560 from comit-network/dependabot/cargo/serde-1.0.197
build(deps): bump serde from 1.0.196 to 1.0.197
4 months ago
dependabot[bot] 344440bb54
build(deps): bump serde from 1.0.196 to 1.0.197
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.196 to 1.0.197.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.196...v1.0.197)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
4 months ago
dependabot[bot] d8d1c4178e
build(deps): bump serde_json from 1.0.113 to 1.0.114
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.113 to 1.0.114.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.113...v1.0.114)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
4 months ago
Byron Hambly d3797bf50a
Merge pull request #1558 from comit-network/dependabot/cargo/anyhow-1.0.80
build(deps): bump anyhow from 1.0.79 to 1.0.80
4 months ago
dependabot[bot] 2c11f38659
build(deps): bump anyhow from 1.0.79 to 1.0.80
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.79 to 1.0.80.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.79...1.0.80)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
4 months ago
Byron Hambly 82e22f0eea
Merge pull request #1554 from comit-network/dependabot/github_actions/thomaseizinger/keep-a-changelog-new-release-2.0.0
build(deps): bump thomaseizinger/keep-a-changelog-new-release from 1.3.0 to 2.0.0
4 months ago
Byron Hambly fbe1244392
Merge pull request #1553 from comit-network/dependabot/cargo/thiserror-1.0.57
build(deps): bump thiserror from 1.0.56 to 1.0.57
4 months ago
dependabot[bot] 640290023a
build(deps): bump thiserror from 1.0.56 to 1.0.57
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.56 to 1.0.57.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.56...1.0.57)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
4 months ago
dependabot[bot] 3d2b51998e
build(deps): bump thomaseizinger/keep-a-changelog-new-release
Bumps [thomaseizinger/keep-a-changelog-new-release](https://github.com/thomaseizinger/keep-a-changelog-new-release) from 1.3.0 to 2.0.0.
- [Release notes](https://github.com/thomaseizinger/keep-a-changelog-new-release/releases)
- [Changelog](https://github.com/thomaseizinger/keep-a-changelog-new-release/blob/master/CHANGELOG.md)
- [Commits](https://github.com/thomaseizinger/keep-a-changelog-new-release/compare/1.3.0...2.0.0)

---
updated-dependencies:
- dependency-name: thomaseizinger/keep-a-changelog-new-release
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
4 months ago
Byron Hambly f12cf36364
ci: free up space on ubuntu test job (#1555)
* ci: free up space on ubuntu test job

(cherry picked from commit d234d2335f)

* fixup! ci: free up space on ubuntu test job

* ci use commit hash instead of malleable tag for free space action
4 months ago
binarybaron 2bc8d0062e Merge branch 'monero-wallet-refresh-fix' of https://github.com/comit-network/xmr-btc-swap into monero-wallet-refresh-fix 4 months ago
Byron Hambly 1507a0787a
Merge pull request #1548 from comit-network/dependabot/cargo/tempfile-3.10.0
build(deps): bump tempfile from 3.9.0 to 3.10.0
4 months ago
Byron Hambly 0c7e84449a
Merge pull request #1551 from comit-network/dependabot/cargo/toml-0.8.10
build(deps): bump toml from 0.8.9 to 0.8.10
4 months ago
dependabot[bot] 039192aeb6
build(deps): bump toml from 0.8.9 to 0.8.10
Bumps [toml](https://github.com/toml-rs/toml) from 0.8.9 to 0.8.10.
- [Commits](https://github.com/toml-rs/toml/compare/toml-v0.8.9...toml-v0.8.10)

---
updated-dependencies:
- dependency-name: toml
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
4 months ago
dependabot[bot] b1a72940df
build(deps): bump tempfile from 3.9.0 to 3.10.0
Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.9.0 to 3.10.0.
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.9.0...v3.10.0)

---
updated-dependencies:
- dependency-name: tempfile
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
4 months ago
Byron Hambly 0dcf6d887c
Merge branch 'master' into monero-wallet-refresh-fix 4 months ago
Byron Hambly 4cfef2f1fd
Merge pull request #1544 from comit-network/dependabot/cargo/time-0.3.34
build(deps): bump time from 0.3.32 to 0.3.34
4 months ago
Byron Hambly dd30566c26
Merge branch 'master' into monero-wallet-refresh-fix 4 months ago
Byron Hambly ecad2150c7
Merge pull request #1545 from comit-network/dependabot/cargo/tokio-1.36.0
build(deps): bump tokio from 1.35.1 to 1.36.0
4 months ago
dependabot[bot] 1b0a6d22fe
build(deps): bump tokio from 1.35.1 to 1.36.0
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.35.1 to 1.36.0.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.35.1...tokio-1.36.0)

---
updated-dependencies:
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
4 months ago
dependabot[bot] ac2a13b1d0
build(deps): bump time from 0.3.32 to 0.3.34
Bumps [time](https://github.com/time-rs/time) from 0.3.32 to 0.3.34.
- [Release notes](https://github.com/time-rs/time/releases)
- [Changelog](https://github.com/time-rs/time/blob/main/CHANGELOG.md)
- [Commits](https://github.com/time-rs/time/compare/v0.3.32...v0.3.34)

---
updated-dependencies:
- dependency-name: time
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
4 months ago
Ian McKenzie 140dc6dc04
Upgrade to vergen 8.3, move to git describe --dirty --tags for semver (#1543)
* Upgrade to vergen 8.3, move to git describe --dirty --tags for semver

* Add newline to build.rs
4 months ago
Byron Hambly 4a758f7c8a
Merge pull request #1540 from comit-network/dependabot/cargo/config-0.14.0
build(deps): bump config from 0.13.4 to 0.14.0
4 months ago
Byron Hambly 11517a64c9
Merge pull request #1541 from comit-network/dependabot/cargo/time-0.3.32
build(deps): bump time from 0.3.31 to 0.3.32
4 months ago
Byron Hambly fb4468a458
Merge pull request #1542 from comit-network/dependabot/cargo/reqwest-0.11.24
build(deps): bump reqwest from 0.11.23 to 0.11.24
4 months ago
Byron Hambly ac15963e13
Merge pull request #1539 from comit-network/dependabot/cargo/toml-0.8.9
build(deps): bump toml from 0.8.8 to 0.8.9
4 months ago
dependabot[bot] e08770f405
build(deps): bump reqwest from 0.11.23 to 0.11.24
Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.11.23 to 0.11.24.
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.11.23...v0.11.24)

---
updated-dependencies:
- dependency-name: reqwest
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
4 months ago
dependabot[bot] 9a024db955
build(deps): bump time from 0.3.31 to 0.3.32
Bumps [time](https://github.com/time-rs/time) from 0.3.31 to 0.3.32.
- [Release notes](https://github.com/time-rs/time/releases)
- [Changelog](https://github.com/time-rs/time/blob/main/CHANGELOG.md)
- [Commits](https://github.com/time-rs/time/compare/v0.3.31...v0.3.32)

---
updated-dependencies:
- dependency-name: time
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
4 months ago
dependabot[bot] 83080abe30
build(deps): bump config from 0.13.4 to 0.14.0
Bumps [config](https://github.com/mehcode/config-rs) from 0.13.4 to 0.14.0.
- [Changelog](https://github.com/mehcode/config-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mehcode/config-rs/compare/v0.13.4...0.14.0)

---
updated-dependencies:
- dependency-name: config
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
4 months ago
dependabot[bot] 45d6326dc1
build(deps): bump toml from 0.8.8 to 0.8.9
Bumps [toml](https://github.com/toml-rs/toml) from 0.8.8 to 0.8.9.
- [Commits](https://github.com/toml-rs/toml/compare/toml-v0.8.8...toml-v0.8.9)

---
updated-dependencies:
- dependency-name: toml
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
4 months ago
Byron Hambly 4fd52b74e8
Merge pull request #1538 from comit-network/dependabot/cargo/itertools-0.12.1
build(deps): bump itertools from 0.12.0 to 0.12.1
4 months ago
dependabot[bot] db7fe0dc99
build(deps): bump itertools from 0.12.0 to 0.12.1
Bumps [itertools](https://github.com/rust-itertools/itertools) from 0.12.0 to 0.12.1.
- [Changelog](https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-itertools/itertools/compare/v0.12.0...v0.12.1)

---
updated-dependencies:
- dependency-name: itertools
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
4 months ago
Byron Hambly ab3720d51a
Merge pull request #1525 from comit-network/dependabot/cargo/serial_test-3.0.0
build(deps): bump serial_test from 2.0.0 to 3.0.0
4 months ago
Byron Hambly 14d83b1792
Merge pull request #1536 from comit-network/dependabot/cargo/strum-0.26.1
build(deps): bump strum from 0.25.0 to 0.26.1
4 months ago
Byron Hambly 8ff8c95228
Merge pull request #1537 from comit-network/dependabot/cargo/serde-1.0.196
build(deps): bump serde from 1.0.195 to 1.0.196
4 months ago
Byron Hambly 779fe93279
Merge pull request #1535 from comit-network/dependabot/cargo/serde_json-1.0.113
build(deps): bump serde_json from 1.0.111 to 1.0.113
4 months ago
dependabot[bot] 9d9e408ee0
build(deps): bump serde from 1.0.195 to 1.0.196
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.195 to 1.0.196.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.195...v1.0.196)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
4 months ago
dependabot[bot] 1ad6af6d5c
build(deps): bump strum from 0.25.0 to 0.26.1
Bumps [strum](https://github.com/Peternator7/strum) from 0.25.0 to 0.26.1.
- [Changelog](https://github.com/Peternator7/strum/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Peternator7/strum/commits)

---
updated-dependencies:
- dependency-name: strum
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
4 months ago
dependabot[bot] 44875e2274
build(deps): bump serde_json from 1.0.111 to 1.0.113
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.111 to 1.0.113.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.111...v1.0.113)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
4 months ago
Byron Hambly b6453315c2
Merge pull request #1533 from comit-network/dependabot/cargo/uuid-1.7.0
build(deps): bump uuid from 1.6.1 to 1.7.0
5 months ago
dependabot[bot] fada511c9a
build(deps): bump uuid from 1.6.1 to 1.7.0
Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.6.1 to 1.7.0.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/1.6.1...1.7.0)

---
updated-dependencies:
- dependency-name: uuid
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
5 months ago
Byron Hambly 6f60117aa4
Merge pull request #1532 from comit-network/dependabot/github_actions/Swatinem/rust-cache-2.7.3
build(deps): bump Swatinem/rust-cache from 2.7.2 to 2.7.3
5 months ago
dependabot[bot] 85712aa95f
build(deps): bump Swatinem/rust-cache from 2.7.2 to 2.7.3
Bumps [Swatinem/rust-cache](https://github.com/swatinem/rust-cache) from 2.7.2 to 2.7.3.
- [Release notes](https://github.com/swatinem/rust-cache/releases)
- [Changelog](https://github.com/Swatinem/rust-cache/blob/master/CHANGELOG.md)
- [Commits](https://github.com/swatinem/rust-cache/compare/v2.7.2...v2.7.3)

---
updated-dependencies:
- dependency-name: Swatinem/rust-cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
5 months ago
Byron Hambly 06bfada867
Merge pull request #1530 from comit-network/dependabot/cargo/base64-0.21.7
build(deps): bump base64 from 0.21.6 to 0.21.7
5 months ago
dependabot[bot] b945fa3ee6
build(deps): bump base64 from 0.21.6 to 0.21.7
Bumps [base64](https://github.com/marshallpierce/rust-base64) from 0.21.6 to 0.21.7.
- [Changelog](https://github.com/marshallpierce/rust-base64/blob/master/RELEASE-NOTES.md)
- [Commits](https://github.com/marshallpierce/rust-base64/compare/v0.21.6...v0.21.7)

---
updated-dependencies:
- dependency-name: base64
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
5 months ago
Byron Hambly da86cf4f58
Merge pull request #1528 from comit-network/dependabot/github_actions/Swatinem/rust-cache-2.7.2
build(deps): bump Swatinem/rust-cache from 2.7.1 to 2.7.2
5 months ago
dependabot[bot] aedabcbcbb
build(deps): bump Swatinem/rust-cache from 2.7.1 to 2.7.2
Bumps [Swatinem/rust-cache](https://github.com/swatinem/rust-cache) from 2.7.1 to 2.7.2.
- [Release notes](https://github.com/swatinem/rust-cache/releases)
- [Changelog](https://github.com/Swatinem/rust-cache/blob/master/CHANGELOG.md)
- [Commits](https://github.com/swatinem/rust-cache/compare/v2.7.1...v2.7.2)

---
updated-dependencies:
- dependency-name: Swatinem/rust-cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
5 months ago
Byron Hambly d7a19f1450
Merge pull request #1527 from comit-network/dependabot/cargo/base64-0.21.6
build(deps): bump base64 from 0.21.5 to 0.21.6
5 months ago
dependabot[bot] f50ee16bf1
build(deps): bump base64 from 0.21.5 to 0.21.6
Bumps [base64](https://github.com/marshallpierce/rust-base64) from 0.21.5 to 0.21.6.
- [Changelog](https://github.com/marshallpierce/rust-base64/blob/master/RELEASE-NOTES.md)
- [Commits](https://github.com/marshallpierce/rust-base64/compare/v0.21.5...v0.21.6)

---
updated-dependencies:
- dependency-name: base64
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
5 months ago
Byron Hambly 979e97c40a
Merge pull request #1526 from comit-network/dependabot/cargo/serde-1.0.195
build(deps): bump serde from 1.0.194 to 1.0.195
5 months ago
dependabot[bot] afe0060c4a
build(deps): bump serde from 1.0.194 to 1.0.195
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.194 to 1.0.195.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.194...v1.0.195)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
5 months ago
dependabot[bot] dd9d5246c3
build(deps): bump serial_test from 2.0.0 to 3.0.0
Bumps [serial_test](https://github.com/palfrey/serial_test) from 2.0.0 to 3.0.0.
- [Release notes](https://github.com/palfrey/serial_test/releases)
- [Commits](https://github.com/palfrey/serial_test/compare/v2.0.0...v3.0.0)

---
updated-dependencies:
- dependency-name: serial_test
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
5 months ago
Byron Hambly e5c776e52e
Merge pull request #1519 from comit-network/dependabot/cargo/anyhow-1.0.79
build(deps): bump anyhow from 1.0.78 to 1.0.79
5 months ago
Byron Hambly 47d9313e5c
Merge pull request #1522 from comit-network/dependabot/cargo/serde_json-1.0.111
build(deps): bump serde_json from 1.0.110 to 1.0.111
5 months ago
dependabot[bot] 57d19ad852
build(deps): bump serde_json from 1.0.110 to 1.0.111
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.110 to 1.0.111.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.110...v1.0.111)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
5 months ago
Byron Hambly f88ba46323
Merge pull request #1518 from comit-network/dependabot/cargo/serde_json-1.0.110
build(deps): bump serde_json from 1.0.109 to 1.0.110
5 months ago
Byron Hambly e868d6b2b3
Merge pull request #1517 from comit-network/dependabot/cargo/thiserror-1.0.56
build(deps): bump thiserror from 1.0.53 to 1.0.56
5 months ago
Byron Hambly 72cab2fed1
Merge pull request #1516 from comit-network/dependabot/cargo/async-trait-0.1.77
build(deps): bump async-trait from 0.1.76 to 0.1.77
5 months ago
Byron Hambly 5381117a92
Merge pull request #1515 from comit-network/dependabot/cargo/serde-1.0.194
build(deps): bump serde from 1.0.193 to 1.0.194
5 months ago
dependabot[bot] b31779dfe1
build(deps): bump anyhow from 1.0.78 to 1.0.79
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.78 to 1.0.79.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.78...1.0.79)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
5 months ago
dependabot[bot] 10ba9203fa
build(deps): bump serde_json from 1.0.109 to 1.0.110
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.109 to 1.0.110.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.109...v1.0.110)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
5 months ago
dependabot[bot] 36c4e4fa6e
build(deps): bump thiserror from 1.0.53 to 1.0.56
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.53 to 1.0.56.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.53...1.0.56)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
5 months ago
dependabot[bot] ed2d0c9ddc
build(deps): bump async-trait from 0.1.76 to 0.1.77
Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.76 to 0.1.77.
- [Release notes](https://github.com/dtolnay/async-trait/releases)
- [Commits](https://github.com/dtolnay/async-trait/commits)

---
updated-dependencies:
- dependency-name: async-trait
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
5 months ago
dependabot[bot] d675626477
build(deps): bump serde from 1.0.193 to 1.0.194
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.193 to 1.0.194.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.193...v1.0.194)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
5 months ago
Byron Hambly 81bb856808
Merge pull request #1514 from comit-network/dependabot/cargo/serde_json-1.0.109
build(deps): bump serde_json from 1.0.108 to 1.0.109
5 months ago
Byron Hambly dfe02beb00
Merge pull request #1513 from comit-network/dependabot/cargo/thiserror-1.0.53
build(deps): bump thiserror from 1.0.52 to 1.0.53
5 months ago
Byron Hambly 0264c0edb1
Merge pull request #1512 from comit-network/dependabot/cargo/anyhow-1.0.78
build(deps): bump anyhow from 1.0.77 to 1.0.78
5 months ago
Byron Hambly 717b960d53
Merge pull request #1511 from comit-network/dependabot/cargo/async-trait-0.1.76
build(deps): bump async-trait from 0.1.75 to 0.1.76
5 months ago
dependabot[bot] 81119af523
build(deps): bump serde_json from 1.0.108 to 1.0.109
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.108 to 1.0.109.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.108...v1.0.109)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
5 months ago
dependabot[bot] 5de4d1dfa7
build(deps): bump thiserror from 1.0.52 to 1.0.53
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.52 to 1.0.53.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.52...1.0.53)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
5 months ago
dependabot[bot] 1c8c9034c0
build(deps): bump anyhow from 1.0.77 to 1.0.78
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.77 to 1.0.78.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.77...1.0.78)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
5 months ago
dependabot[bot] 4f6f6b8054
build(deps): bump async-trait from 0.1.75 to 0.1.76
Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.75 to 0.1.76.
- [Release notes](https://github.com/dtolnay/async-trait/releases)
- [Commits](https://github.com/dtolnay/async-trait/compare/0.1.75...0.1.76)

---
updated-dependencies:
- dependency-name: async-trait
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
5 months ago
Byron Hambly 8387fb8c3e
Merge pull request #1510 from comit-network/dependabot/cargo/tempfile-3.9.0
build(deps): bump tempfile from 3.8.1 to 3.9.0
5 months ago
Byron Hambly a8991f571e
Merge branch 'master' into monero-wallet-refresh-fix 5 months ago
binarybaron bd3e6136ce Update wallet.rs 5 months ago
binarybaron 48abcd5b43 Add extra log message before opening redeem XMR wallet on Bob 5 months ago
binarybaron 07101deab1 Unify monero-wallet-rpc downloader logging 5 months ago
binarybaron 9e33e8b1d1 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
5 months ago
dependabot[bot] 05b460a2c9
build(deps): bump tempfile from 3.8.1 to 3.9.0
Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.8.1 to 3.9.0.
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.8.1...v3.9.0)

---
updated-dependencies:
- dependency-name: tempfile
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
Byron Hambly 8704d263c5
Merge pull request #1509 from comit-network/dependabot/cargo/anyhow-1.0.77
build(deps): bump anyhow from 1.0.76 to 1.0.77
6 months ago
dependabot[bot] 844bf23ed5
build(deps): bump anyhow from 1.0.76 to 1.0.77
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.76 to 1.0.77.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.76...1.0.77)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
Byron Hambly 1d860b2794
Merge pull request #1508 from comit-network/dependabot/cargo/thiserror-1.0.52
build(deps): bump thiserror from 1.0.51 to 1.0.52
6 months ago
dependabot[bot] 0f68415129
build(deps): bump thiserror from 1.0.51 to 1.0.52
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.51 to 1.0.52.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.51...1.0.52)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
Byron Hambly 3ec7f78c79
Merge pull request #1507 from comit-network/dependabot/cargo/futures-0.3.30
build(deps): bump futures from 0.3.29 to 0.3.30
6 months ago
dependabot[bot] 2026bb9fdf
build(deps): bump futures from 0.3.29 to 0.3.30
Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.29 to 0.3.30.
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.29...0.3.30)

---
updated-dependencies:
- dependency-name: futures
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
Byron Hambly 9279af837f
Merge pull request #1505 from comit-network/dependabot/cargo/anyhow-1.0.76
build(deps): bump anyhow from 1.0.75 to 1.0.76
6 months ago
Byron Hambly 012260e361
Merge pull request #1506 from comit-network/dependabot/cargo/async-trait-0.1.75
build(deps): bump async-trait from 0.1.74 to 0.1.75
6 months ago
dependabot[bot] 712327ed03
build(deps): bump async-trait from 0.1.74 to 0.1.75
Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.74 to 0.1.75.
- [Release notes](https://github.com/dtolnay/async-trait/releases)
- [Commits](https://github.com/dtolnay/async-trait/compare/0.1.74...0.1.75)

---
updated-dependencies:
- dependency-name: async-trait
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
dependabot[bot] f29ff00feb
build(deps): bump anyhow from 1.0.75 to 1.0.76
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.75 to 1.0.76.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.75...1.0.76)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
Byron Hambly 771809a226
Merge pull request #1504 from comit-network/dependabot/cargo/tokio-1.35.1
build(deps): bump tokio from 1.35.0 to 1.35.1
6 months ago
Byron Hambly 7f2b265ceb
Merge pull request #1503 from comit-network/dependabot/cargo/reqwest-0.11.23
build(deps): bump reqwest from 0.11.22 to 0.11.23
6 months ago
dependabot[bot] 3b9fbc866d
build(deps): bump tokio from 1.35.0 to 1.35.1
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.35.0 to 1.35.1.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.35.0...tokio-1.35.1)

---
updated-dependencies:
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
Byron Hambly 7f2a0334d7
Merge pull request #1502 from comit-network/dependabot/cargo/time-0.3.31
build(deps): bump time from 0.3.30 to 0.3.31
6 months ago
Byron Hambly 0f7a415a6a
Merge pull request #1501 from comit-network/dependabot/cargo/async-trait-0.1.74
build(deps): bump async-trait from 0.1.68 to 0.1.74
6 months ago
Byron Hambly 89312fe09d
Merge pull request #1500 from comit-network/dependabot/cargo/toml-0.8.8
build(deps): bump toml from 0.7.6 to 0.8.8
6 months ago
Byron Hambly bdd8231a92
Merge pull request #1499 from comit-network/dependabot/cargo/hyper-1.1.0
build(deps): bump hyper from 1.0.1 to 1.1.0
6 months ago
dependabot[bot] 3298313d51
build(deps): bump reqwest from 0.11.22 to 0.11.23
Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.11.22 to 0.11.23.
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.11.22...v0.11.23)

---
updated-dependencies:
- dependency-name: reqwest
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
dependabot[bot] 3d88102cd9
build(deps): bump time from 0.3.30 to 0.3.31
Bumps [time](https://github.com/time-rs/time) from 0.3.30 to 0.3.31.
- [Release notes](https://github.com/time-rs/time/releases)
- [Changelog](https://github.com/time-rs/time/blob/main/CHANGELOG.md)
- [Commits](https://github.com/time-rs/time/compare/v0.3.30...v0.3.31)

---
updated-dependencies:
- dependency-name: time
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
dependabot[bot] c9757caf1e
build(deps): bump async-trait from 0.1.68 to 0.1.74
Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.68 to 0.1.74.
- [Release notes](https://github.com/dtolnay/async-trait/releases)
- [Commits](https://github.com/dtolnay/async-trait/compare/0.1.68...0.1.74)

---
updated-dependencies:
- dependency-name: async-trait
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
dependabot[bot] cf89da7e84
build(deps): bump toml from 0.7.6 to 0.8.8
Bumps [toml](https://github.com/toml-rs/toml) from 0.7.6 to 0.8.8.
- [Commits](https://github.com/toml-rs/toml/compare/toml-v0.7.6...toml-v0.8.8)

---
updated-dependencies:
- dependency-name: toml
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
dependabot[bot] 38ba2fc387
build(deps): bump hyper from 1.0.1 to 1.1.0
Bumps [hyper](https://github.com/hyperium/hyper) from 1.0.1 to 1.1.0.
- [Release notes](https://github.com/hyperium/hyper/releases)
- [Changelog](https://github.com/hyperium/hyper/blob/master/CHANGELOG.md)
- [Commits](https://github.com/hyperium/hyper/compare/v1.0.1...v1.1.0)

---
updated-dependencies:
- dependency-name: hyper
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
Byron Hambly ec9b162585
Merge pull request #1477 from comit-network/dependabot/cargo/dialoguer-0.11.0
build(deps): bump dialoguer from 0.10.4 to 0.11.0
6 months ago
Byron Hambly d68fccba56
Merge pull request #1495 from comit-network/dependabot/cargo/futures-0.3.29
build(deps): bump futures from 0.3.28 to 0.3.29
6 months ago
Byron Hambly 336fb658f3
Merge pull request #1498 from comit-network/dependabot/cargo/rust_decimal_macros-1.30.0
build(deps): bump rust_decimal_macros from 1.29.1 to 1.30.0
6 months ago
Byron Hambly 298d44fa09
Merge pull request #1497 from comit-network/dependabot/cargo/itertools-0.12.0
build(deps): bump itertools from 0.10.5 to 0.12.0
6 months ago
Byron Hambly e6a3157913
Merge pull request #1496 from comit-network/dependabot/cargo/tracing-appender-0.2.3
build(deps): bump tracing-appender from 0.2.2 to 0.2.3
6 months ago
Byron Hambly b813679b91
Merge pull request #1494 from comit-network/dependabot/cargo/thiserror-1.0.51
build(deps): bump thiserror from 1.0.50 to 1.0.51
6 months ago
dependabot[bot] 85b5c40384
build(deps): bump rust_decimal_macros from 1.29.1 to 1.30.0
Bumps [rust_decimal_macros](https://github.com/paupino/rust-decimal) from 1.29.1 to 1.30.0.
- [Release notes](https://github.com/paupino/rust-decimal/releases)
- [Changelog](https://github.com/paupino/rust-decimal/blob/master/CHANGELOG.md)
- [Commits](https://github.com/paupino/rust-decimal/compare/1.29.1...1.30.0)

---
updated-dependencies:
- dependency-name: rust_decimal_macros
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
dependabot[bot] 46d93b67cb
build(deps): bump itertools from 0.10.5 to 0.12.0
Bumps [itertools](https://github.com/rust-itertools/itertools) from 0.10.5 to 0.12.0.
- [Changelog](https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-itertools/itertools/compare/v0.10.5...v0.12.0)

---
updated-dependencies:
- dependency-name: itertools
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
dependabot[bot] 839d74be05
build(deps): bump tracing-appender from 0.2.2 to 0.2.3
Bumps [tracing-appender](https://github.com/tokio-rs/tracing) from 0.2.2 to 0.2.3.
- [Release notes](https://github.com/tokio-rs/tracing/releases)
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-appender-0.2.2...tracing-appender-0.2.3)

---
updated-dependencies:
- dependency-name: tracing-appender
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
dependabot[bot] 07db057b34
build(deps): bump futures from 0.3.28 to 0.3.29
Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.28 to 0.3.29.
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.28...0.3.29)

---
updated-dependencies:
- dependency-name: futures
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
dependabot[bot] ab43a51fbf
build(deps): bump thiserror from 1.0.50 to 1.0.51
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.50 to 1.0.51.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.50...1.0.51)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
Byron Hambly f5c2d63527
Merge pull request #1493 from comit-network/dependabot/cargo/mockito-1.2.0
build(deps): bump mockito from 1.1.0 to 1.2.0
6 months ago
Byron Hambly cab4dc0a6a
Merge pull request #1488 from comit-network/dependabot/github_actions/actions/upload-artifact-4
build(deps): bump actions/upload-artifact from 3 to 4
6 months ago
Byron Hambly 9cd080f026
Merge pull request #1492 from comit-network/dependabot/cargo/tempfile-3.8.1
build(deps): bump tempfile from 3.8.0 to 3.8.1
6 months ago
Byron Hambly df7aff938f
Merge pull request #1491 from comit-network/dependabot/cargo/qrcode-0.13.0
build(deps): bump qrcode from 0.12.0 to 0.13.0
6 months ago
Byron Hambly c2d71f1616
Merge pull request #1490 from comit-network/dependabot/cargo/config-0.13.4
build(deps): bump config from 0.13.3 to 0.13.4
6 months ago
Byron Hambly c8412761e0
Merge pull request #1489 from comit-network/dependabot/cargo/time-0.3.30
build(deps): bump time from 0.3.24 to 0.3.30
6 months ago
dependabot[bot] 55f95c970e
build(deps): bump mockito from 1.1.0 to 1.2.0
Bumps [mockito](https://github.com/lipanski/mockito) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/lipanski/mockito/releases)
- [Commits](https://github.com/lipanski/mockito/compare/1.1.0...1.2.0)

---
updated-dependencies:
- dependency-name: mockito
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
dependabot[bot] 4d200f0c78
build(deps): bump tempfile from 3.8.0 to 3.8.1
Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.8.0 to 3.8.1.
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Stebalien/tempfile/commits)

---
updated-dependencies:
- dependency-name: tempfile
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
dependabot[bot] e44134c96d
build(deps): bump qrcode from 0.12.0 to 0.13.0
Bumps [qrcode](https://github.com/kennytm/qrcode-rust) from 0.12.0 to 0.13.0.
- [Release notes](https://github.com/kennytm/qrcode-rust/releases)
- [Commits](https://github.com/kennytm/qrcode-rust/commits)

---
updated-dependencies:
- dependency-name: qrcode
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
dependabot[bot] b4eb49e6ce
build(deps): bump config from 0.13.3 to 0.13.4
Bumps [config](https://github.com/mehcode/config-rs) from 0.13.3 to 0.13.4.
- [Changelog](https://github.com/mehcode/config-rs/blob/v0.13.4/CHANGELOG.md)
- [Commits](https://github.com/mehcode/config-rs/compare/0.13.3...v0.13.4)

---
updated-dependencies:
- dependency-name: config
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
dependabot[bot] 999adf8215
build(deps): bump time from 0.3.24 to 0.3.30
Bumps [time](https://github.com/time-rs/time) from 0.3.24 to 0.3.30.
- [Release notes](https://github.com/time-rs/time/releases)
- [Changelog](https://github.com/time-rs/time/blob/main/CHANGELOG.md)
- [Commits](https://github.com/time-rs/time/compare/v0.3.24...v0.3.30)

---
updated-dependencies:
- dependency-name: time
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
dependabot[bot] 8d95643fa7
build(deps): bump actions/upload-artifact from 3 to 4
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
Byron Hambly 5408a02072
Merge pull request #1483 from comit-network/dependabot/cargo/serde_json-1.0.108
build(deps): bump serde_json from 1.0.96 to 1.0.108
6 months ago
binarybaron dc1ad6df7d Upgrade monero-wallet-rpc to `v0.18.3.1` 6 months ago
Byron Hambly 64674f230a
Merge pull request #1486 from comit-network/dependabot/cargo/tokio-tar-0.3.1
build(deps): bump tokio-tar from 0.3.0 to 0.3.1
6 months ago
Byron Hambly 87be3a121b
Merge pull request #1485 from comit-network/dependabot/cargo/reqwest-0.11.22
build(deps): bump reqwest from 0.11.18 to 0.11.22
6 months ago
Byron Hambly 9ba607b98b
Merge pull request #1484 from comit-network/dependabot/cargo/tokio-1.35.0
build(deps): bump tokio from 1.32.0 to 1.35.0
6 months ago
Byron Hambly 7c5b1b3abd
Merge pull request #1482 from comit-network/dependabot/cargo/pem-3.0.3
build(deps): bump pem from 3.0.2 to 3.0.3
6 months ago
dependabot[bot] b7b54e8c5d
build(deps): bump tokio-tar from 0.3.0 to 0.3.1
Bumps [tokio-tar](https://github.com/vorot93/tokio-tar) from 0.3.0 to 0.3.1.
- [Commits](https://github.com/vorot93/tokio-tar/compare/v0.3.0...v0.3.1)

---
updated-dependencies:
- dependency-name: tokio-tar
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
dependabot[bot] 9e4303c196
build(deps): bump reqwest from 0.11.18 to 0.11.22
Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.11.18 to 0.11.22.
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.11.18...v0.11.22)

---
updated-dependencies:
- dependency-name: reqwest
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
dependabot[bot] e21043be4e
build(deps): bump tokio from 1.32.0 to 1.35.0
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.32.0 to 1.35.0.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.32.0...tokio-1.35.0)

---
updated-dependencies:
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
dependabot[bot] d39c9eb738
build(deps): bump serde_json from 1.0.96 to 1.0.108
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.96 to 1.0.108.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.96...v1.0.108)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
dependabot[bot] ab2db98c79
build(deps): bump pem from 3.0.2 to 3.0.3
Bumps [pem](https://github.com/jcreekmore/pem-rs) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/jcreekmore/pem-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jcreekmore/pem-rs/compare/v3.0.2...v3.0.3)

---
updated-dependencies:
- dependency-name: pem
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
Byron Hambly 6d87781a68
Merge pull request #1476 from comit-network/dependabot/cargo/base64-0.21.5
build(deps): bump base64 from 0.21.2 to 0.21.5
6 months ago
Byron Hambly 1db391dc6a
Merge pull request #1478 from comit-network/dependabot/cargo/toml-0.7.6
build(deps): bump toml from 0.5.11 to 0.7.6
6 months ago
Byron Hambly b54938ff7b
Merge pull request #1480 from comit-network/dependabot/cargo/anyhow-1.0.75
build(deps): bump anyhow from 1.0.71 to 1.0.75
6 months ago
Byron Hambly 9f401cd471
Merge pull request #1481 from comit-network/dependabot/cargo/serde-1.0.193
build(deps): bump serde from 1.0.164 to 1.0.193
6 months ago
Byron Hambly f9c4a4e344
Merge pull request #1475 from comit-network/dependabot/cargo/tempfile-3.8.0
build(deps): bump tempfile from 3.6.0 to 3.8.0
6 months ago
dependabot[bot] 9481f54fe0
build(deps): bump serde from 1.0.164 to 1.0.193
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.164 to 1.0.193.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.164...v1.0.193)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
dependabot[bot] b015397400
build(deps): bump anyhow from 1.0.71 to 1.0.75
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.71 to 1.0.75.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.71...1.0.75)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
dependabot[bot] 641c107012
build(deps): bump toml from 0.5.11 to 0.7.6
Bumps [toml](https://github.com/toml-rs/toml) from 0.5.11 to 0.7.6.
- [Commits](https://github.com/toml-rs/toml/compare/toml-v0.5.11...toml-v0.7.6)

---
updated-dependencies:
- dependency-name: toml
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
dependabot[bot] 69751d204d
build(deps): bump dialoguer from 0.10.4 to 0.11.0
Bumps [dialoguer](https://github.com/console-rs/dialoguer) from 0.10.4 to 0.11.0.
- [Changelog](https://github.com/console-rs/dialoguer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/console-rs/dialoguer/compare/v0.10.4...v0.11.0)

---
updated-dependencies:
- dependency-name: dialoguer
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
dependabot[bot] ae67e6386b
build(deps): bump base64 from 0.21.2 to 0.21.5
Bumps [base64](https://github.com/marshallpierce/rust-base64) from 0.21.2 to 0.21.5.
- [Changelog](https://github.com/marshallpierce/rust-base64/blob/master/RELEASE-NOTES.md)
- [Commits](https://github.com/marshallpierce/rust-base64/compare/v0.21.2...v0.21.5)

---
updated-dependencies:
- dependency-name: base64
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
dependabot[bot] 8ff683f815
build(deps): bump tempfile from 3.6.0 to 3.8.0
Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.6.0 to 3.8.0.
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.6.0...v3.8.0)

---
updated-dependencies:
- dependency-name: tempfile
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
Byron Hambly 66283194e5
Merge pull request #1474 from comit-network/dependabot/cargo/comfy-table-7.1.0
build(deps): bump comfy-table from 6.1.4 to 7.1.0
6 months ago
Byron Hambly 8a3eed18b0
Merge pull request #1468 from comit-network/dependabot/cargo/uuid-1.6.1
build(deps): bump uuid from 1.4.1 to 1.6.1
6 months ago
Byron Hambly 3fb4926b6b
Merge pull request #1473 from comit-network/dependabot/cargo/sha2-0.10.8
build(deps): bump sha2 from 0.10.6 to 0.10.8
6 months ago
Byron Hambly 38e248ce3a
Merge pull request #1472 from comit-network/dependabot/cargo/hyper-1.0.1
build(deps): bump hyper from 0.14.26 to 1.0.1
6 months ago
Byron Hambly 2877a6bc60
Merge pull request #1471 from comit-network/dependabot/cargo/thiserror-1.0.50
build(deps): bump thiserror from 1.0.40 to 1.0.50
6 months ago
Byron Hambly 7b3374f29d
Merge pull request #1470 from comit-network/dependabot/cargo/proptest-1.4.0
build(deps): bump proptest from 1.2.0 to 1.4.0
6 months ago
Byron Hambly a3555fe733
Merge pull request #1469 from comit-network/dependabot/cargo/data-encoding-2.5.0
build(deps): bump data-encoding from 2.4.0 to 2.5.0
6 months ago
dependabot[bot] 0ea8ce71b6
build(deps): bump comfy-table from 6.1.4 to 7.1.0
Bumps [comfy-table](https://github.com/nukesor/comfy-table) from 6.1.4 to 7.1.0.
- [Release notes](https://github.com/nukesor/comfy-table/releases)
- [Changelog](https://github.com/Nukesor/comfy-table/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nukesor/comfy-table/compare/v6.1.4...v7.1.0)

---
updated-dependencies:
- dependency-name: comfy-table
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
dependabot[bot] 8b8c69a9cc
build(deps): bump sha2 from 0.10.6 to 0.10.8
Bumps [sha2](https://github.com/RustCrypto/hashes) from 0.10.6 to 0.10.8.
- [Commits](https://github.com/RustCrypto/hashes/compare/sha2-v0.10.6...sha2-v0.10.8)

---
updated-dependencies:
- dependency-name: sha2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
dependabot[bot] 81ea313d4e
build(deps): bump hyper from 0.14.26 to 1.0.1
Bumps [hyper](https://github.com/hyperium/hyper) from 0.14.26 to 1.0.1.
- [Release notes](https://github.com/hyperium/hyper/releases)
- [Changelog](https://github.com/hyperium/hyper/blob/master/CHANGELOG.md)
- [Commits](https://github.com/hyperium/hyper/compare/v0.14.26...v1.0.1)

---
updated-dependencies:
- dependency-name: hyper
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
dependabot[bot] 42e0cdcae9
build(deps): bump thiserror from 1.0.40 to 1.0.50
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.40 to 1.0.50.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.40...1.0.50)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
dependabot[bot] 9c7d33acbe
build(deps): bump proptest from 1.2.0 to 1.4.0
Bumps [proptest](https://github.com/proptest-rs/proptest) from 1.2.0 to 1.4.0.
- [Release notes](https://github.com/proptest-rs/proptest/releases)
- [Changelog](https://github.com/proptest-rs/proptest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/proptest-rs/proptest/compare/v1.2.0...v1.4.0)

---
updated-dependencies:
- dependency-name: proptest
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
dependabot[bot] c7bf84d936
build(deps): bump data-encoding from 2.4.0 to 2.5.0
Bumps [data-encoding](https://github.com/ia0/data-encoding) from 2.4.0 to 2.5.0.
- [Commits](https://github.com/ia0/data-encoding/commits)

---
updated-dependencies:
- dependency-name: data-encoding
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
dependabot[bot] f602bec096
build(deps): bump uuid from 1.4.1 to 1.6.1
Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.4.1 to 1.6.1.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/1.4.1...1.6.1)

---
updated-dependencies:
- dependency-name: uuid
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
Byron Hambly b7347da27a
Merge pull request #1461 from comit-network/dependabot/cargo/url-2.5.0
build(deps): bump url from 2.4.0 to 2.5.0
6 months ago
Byron Hambly c8034c58a8
Merge pull request #1462 from comit-network/dependabot/cargo/tokio-util-0.7.10
build(deps): bump tokio-util from 0.7.3 to 0.7.10
6 months ago
Byron Hambly 141b9a99fc
Merge pull request #1463 from comit-network/dependabot/cargo/strum-0.25.0
build(deps): bump strum from 0.24.1 to 0.25.0
6 months ago
Byron Hambly 8570e2b658
Merge pull request #1464 from comit-network/dependabot/cargo/tracing-0.1.40
build(deps): bump tracing from 0.1.38 to 0.1.40
6 months ago
dependabot[bot] 46a73e2a63
build(deps): bump tracing from 0.1.38 to 0.1.40
Bumps [tracing](https://github.com/tokio-rs/tracing) from 0.1.38 to 0.1.40.
- [Release notes](https://github.com/tokio-rs/tracing/releases)
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-0.1.38...tracing-0.1.40)

---
updated-dependencies:
- dependency-name: tracing
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
dependabot[bot] 73162adcd7
build(deps): bump strum from 0.24.1 to 0.25.0
Bumps [strum](https://github.com/Peternator7/strum) from 0.24.1 to 0.25.0.
- [Changelog](https://github.com/Peternator7/strum/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Peternator7/strum/commits)

---
updated-dependencies:
- dependency-name: strum
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
dependabot[bot] 564302b184
build(deps): bump tokio-util from 0.7.3 to 0.7.10
Bumps [tokio-util](https://github.com/tokio-rs/tokio) from 0.7.3 to 0.7.10.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/commits)

---
updated-dependencies:
- dependency-name: tokio-util
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
dependabot[bot] 7ccb9d61be
build(deps): bump url from 2.4.0 to 2.5.0
Bumps [url](https://github.com/servo/rust-url) from 2.4.0 to 2.5.0.
- [Release notes](https://github.com/servo/rust-url/releases)
- [Commits](https://github.com/servo/rust-url/compare/v2.4.0...v2.5.0)

---
updated-dependencies:
- dependency-name: url
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
Byron Hambly 3ae7e581f0
Merge pull request #1458 from comit-network/dependabot/github_actions/actions/setup-python-5
build(deps): bump actions/setup-python from 4 to 5
6 months ago
dependabot[bot] c8802bad3d
build(deps): bump actions/setup-python from 4 to 5
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months ago
Byron Hambly db400ad4c4
Merge pull request #1456 from delta1/rust-1.70
ci: update minimum rust version to 1.70
6 months ago
Byron Hambly dbb66fe6b7
ci: remove bors
bors has been deprecated for some time and seems to be gone now.
6 months ago
Byron Hambly 53972cdeb3
ci: update minimum rust version to 1.70
this is to fix the issue with installing sqlx-cli in ci
6 months ago
bors[bot] e1c3a5d991
Merge #1451
1451: build(deps): bump Swatinem/rust-cache from 2.6.2 to 2.7.1 r=delta1 a=dependabot[bot]

Bumps [Swatinem/rust-cache](https://github.com/swatinem/rust-cache) from 2.6.2 to 2.7.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/swatinem/rust-cache/releases">Swatinem/rust-cache's releases</a>.</em></p>
<blockquote>
<h2>v2.7.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix save-if documentation in readme by <a href="https://github.com/rukai"><code>`@​rukai</code></a>` in <a href="https://redirect.github.com/Swatinem/rust-cache/pull/166">Swatinem/rust-cache#166</a></li>
<li>Support for <code>trybuild</code> and similar macro testing tools by <a href="https://github.com/neysofu"><code>`@​neysofu</code></a>` in <a href="https://redirect.github.com/Swatinem/rust-cache/pull/168">Swatinem/rust-cache#168</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/rukai"><code>`@​rukai</code></a>` made their first contribution in <a href="https://redirect.github.com/Swatinem/rust-cache/pull/166">Swatinem/rust-cache#166</a></li>
<li><a href="https://github.com/neysofu"><code>`@​neysofu</code></a>` made their first contribution in <a href="https://redirect.github.com/Swatinem/rust-cache/pull/168">Swatinem/rust-cache#168</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/Swatinem/rust-cache/compare/v2.6.2...v2.7.0">https://github.com/Swatinem/rust-cache/compare/v2.6.2...v2.7.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/Swatinem/rust-cache/blob/master/CHANGELOG.md">Swatinem/rust-cache's changelog</a>.</em></p>
<blockquote>
<h2>2.7.1</h2>
<ul>
<li>Update toml parser to fix parsing errors.</li>
</ul>
<h2>2.7.0</h2>
<ul>
<li>Properly cache <code>trybuild</code> tests.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="3cf7f8cc28"><code>3cf7f8c</code></a> 2.7.1</li>
<li><a href="e03705e031"><code>e03705e</code></a> changelog</li>
<li><a href="b86d1c6caa"><code>b86d1c6</code></a> bump all the other dependencies too</li>
<li><a href="f27990c89a"><code>f27990c</code></a> Update Dependencies (<a href="https://redirect.github.com/swatinem/rust-cache/issues/172">#172</a>)</li>
<li><a href="a95ba19544"><code>a95ba19</code></a> 2.7.0</li>
<li><a href="82c8487d00"><code>82c8487</code></a> changelog</li>
<li><a href="67c46e7159"><code>67c46e7</code></a> Support for <code>trybuild</code> and similar macro testing tools (<a href="https://redirect.github.com/swatinem/rust-cache/issues/168">#168</a>)</li>
<li><a href="44b6087283"><code>44b6087</code></a> Fix save-if documentation in readme (<a href="https://redirect.github.com/swatinem/rust-cache/issues/166">#166</a>)</li>
<li>See full diff in <a href="https://github.com/swatinem/rust-cache/compare/v2.6.2...v2.7.1">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Swatinem/rust-cache&package-manager=github_actions&previous-version=2.6.2&new-version=2.7.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
8 months ago
dependabot[bot] 9819f74c12
build(deps): bump Swatinem/rust-cache from 2.6.2 to 2.7.1
Bumps [Swatinem/rust-cache](https://github.com/swatinem/rust-cache) from 2.6.2 to 2.7.1.
- [Release notes](https://github.com/swatinem/rust-cache/releases)
- [Changelog](https://github.com/Swatinem/rust-cache/blob/master/CHANGELOG.md)
- [Commits](https://github.com/swatinem/rust-cache/compare/v2.6.2...v2.7.1)

---
updated-dependencies:
- dependency-name: Swatinem/rust-cache
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
8 months ago
bors[bot] d6c1353ed5
Merge #1450
1450: build(deps): bump pem to 3.0 r=delta1 a=delta1

replaces #1415

also fixes the `seed_from_pem_fails_for_long_seed` unit test, which was "passing" but not actually testing what it meant to.

Co-authored-by: Byron Hambly <bhambly@blockstream.com>
8 months ago
Byron Hambly dcf9f24b77
build(deps): bump pem to 3.0
replaces #1415

also fixes the `seed_from_pem_fails_for_long_seed` unit test, which was
"passing" but not actually testing what it meant to.
8 months ago
bors[bot] 04e618feaa
Merge #1449
1449: build(deps): bump actions/checkout from 4.0.0 to 4.1.1 r=delta1 a=dependabot[bot]

Bumps [actions/checkout](https://github.com/actions/checkout) from 4.0.0 to 4.1.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/actions/checkout/releases">actions/checkout's releases</a>.</em></p>
<blockquote>
<h2>v4.1.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Update CODEOWNERS to Launch team by <a href="https://github.com/joshmgross"><code>`@​joshmgross</code></a>` in <a href="https://redirect.github.com/actions/checkout/pull/1510">actions/checkout#1510</a></li>
<li>Correct link to GitHub Docs by <a href="https://github.com/peterbe"><code>`@​peterbe</code></a>` in <a href="https://redirect.github.com/actions/checkout/pull/1511">actions/checkout#1511</a></li>
<li>Link to release page from what's new section by <a href="https://github.com/cory-miller"><code>`@​cory-miller</code></a>` in <a href="https://redirect.github.com/actions/checkout/pull/1514">actions/checkout#1514</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/joshmgross"><code>`@​joshmgross</code></a>` made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1510">actions/checkout#1510</a></li>
<li><a href="https://github.com/peterbe"><code>`@​peterbe</code></a>` made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1511">actions/checkout#1511</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v4...v4.1.1">https://github.com/actions/checkout/compare/v4...v4.1.1</a></p>
<h2>v4.1.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update README.md for V4 by <a href="https://github.com/sivapalan"><code>`@​sivapalan</code></a>` in <a href="https://redirect.github.com/actions/checkout/pull/1452">actions/checkout#1452</a></li>
<li>Add support for partial checkout filters by <a href="https://github.com/finleygn"><code>`@​finleygn</code></a>` in <a href="https://redirect.github.com/actions/checkout/pull/1396">actions/checkout#1396</a></li>
<li>Prepare 4.1.0 release by <a href="https://github.com/cory-miller"><code>`@​cory-miller</code></a>` in <a href="https://redirect.github.com/actions/checkout/pull/1496">actions/checkout#1496</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/sivapalan"><code>`@​sivapalan</code></a>` made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1452">actions/checkout#1452</a></li>
<li><a href="https://github.com/finleygn"><code>`@​finleygn</code></a>` made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1396">actions/checkout#1396</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v4.0.0...v4.1.0">https://github.com/actions/checkout/compare/v4.0.0...v4.1.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<h2>v4.1.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1396">Add support for partial checkout filters</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="b4ffde65f4"><code>b4ffde6</code></a> Link to release page from what's new section (<a href="https://redirect.github.com/actions/checkout/issues/1514">#1514</a>)</li>
<li><a href="8530928916"><code>8530928</code></a> Correct link to GitHub Docs (<a href="https://redirect.github.com/actions/checkout/issues/1511">#1511</a>)</li>
<li><a href="7cdaf2fbc0"><code>7cdaf2f</code></a> Update CODEOWNERS to Launch team (<a href="https://redirect.github.com/actions/checkout/issues/1510">#1510</a>)</li>
<li><a href="8ade135a41"><code>8ade135</code></a> Prepare 4.1.0 release (<a href="https://redirect.github.com/actions/checkout/issues/1496">#1496</a>)</li>
<li><a href="c533a0a4cf"><code>c533a0a</code></a> Add support for partial checkout filters (<a href="https://redirect.github.com/actions/checkout/issues/1396">#1396</a>)</li>
<li><a href="72f2cec99f"><code>72f2cec</code></a> Update README.md for V4 (<a href="https://redirect.github.com/actions/checkout/issues/1452">#1452</a>)</li>
<li>See full diff in <a href="https://github.com/actions/checkout/compare/v4.0.0...v4.1.1">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/checkout&package-manager=github_actions&previous-version=4.0.0&new-version=4.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
8 months ago
dependabot[bot] eac6a6be5c
build(deps): bump actions/checkout from 4.0.0 to 4.1.1
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.0.0 to 4.1.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.0.0...v4.1.1)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
8 months ago
bors[bot] c93eaa8057
Merge #1447
1447: Update lock timeout to 10 min r=binarybaron a=pokkst

This updates the lock timeout from 3 min to 10 min.

Over Tor, it is sometimes very slow to setup a swap, completely missing the 3 minute window. The BTC will still lock and broadcast, but the ASB will have already stopped watching for the lock tx, thus will not lock the XMR once the BTC lock tx confirms. This mitigates that issue.

Co-authored-by: pokkst <pokkst@protonmail.com>
8 months ago
pokkst 5182b4f53a
Update lock timeout to 10 min 9 months ago
bors[bot] 2de492f23a
Merge #1445
1445: Release version 0.12.3 r=binarybaron a=comit-botty-mc-botface

Hi `@binarybaron!`

This PR was created in response to a manual trigger of the release workflow here: https://github.com/comit-network/xmr-btc-swap/actions/runs/6252660853.
I've updated the changelog and bumped the versions in the manifest files in this commit: 7824078975.

Merging this PR will create a GitHub release and upload any assets that are created as part of the release build.

Co-authored-by: COMIT Botty McBotface <botty@coblox.tech>
9 months ago
COMIT Botty McBotface 7824078975 Prepare release 0.12.3 9 months ago
bors[bot] a3455d6032
Merge #1443
1443: Add CHANGELOG entry for PR 1441 r=binarybaron a=binarybaron



Co-authored-by: binarybaron <86064887+binarybaron@users.noreply.github.com>
9 months ago
binarybaron 332fd39164
Add CHANGELOG entry for PR 1441 9 months ago
bors[bot] 7d6b1c2244
Merge #1441
1441: Dynamically choose monero daemon to connect to r=delta1 a=binarybaron

The GUI now does this with https://github.com/UnstoppableSwap/unstoppableswap-gui/pull/157. However, ideally, this should be handled by swap itself and not by a third party wrapper which is why this PR implements a similar behaviour for  swap. On startup we loop through list of public Monero daemons and choose one dynamically based on their response to the get_info RPC call.

Co-authored-by: binarybaron <86064887+binarybaron@users.noreply.github.com>
9 months ago
binarybaron 3467523849 Dynamically choose monero daemon to connect to 9 months ago
bors[bot] 1f793c5d98
Merge #1442
1442: build(deps): bump actions/checkout from 3.5.3 to 4.0.0 r=delta1 a=dependabot[bot]

Bumps [actions/checkout](https://github.com/actions/checkout) from 3.5.3 to 4.0.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/actions/checkout/releases">actions/checkout's releases</a>.</em></p>
<blockquote>
<h2>v4.0.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update default runtime to node20 by <a href="https://github.com/takost"><code>`@​takost</code></a>` in <a href="https://redirect.github.com/actions/checkout/pull/1436">actions/checkout#1436</a></li>
<li>Support fetching without the --progress option by <a href="https://github.com/simonbaird"><code>`@​simonbaird</code></a>` in <a href="https://redirect.github.com/actions/checkout/pull/1067">actions/checkout#1067</a></li>
<li>Release 4.0.0 by <a href="https://github.com/takost"><code>`@​takost</code></a>` in <a href="https://redirect.github.com/actions/checkout/pull/1447">actions/checkout#1447</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/takost"><code>`@​takost</code></a>` made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1436">actions/checkout#1436</a></li>
<li><a href="https://github.com/simonbaird"><code>`@​simonbaird</code></a>` made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1067">actions/checkout#1067</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v3...v4.0.0">https://github.com/actions/checkout/compare/v3...v4.0.0</a></p>
<h2>v3.6.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Mark test scripts with Bash'isms to be run via Bash by <a href="https://github.com/dscho"><code>`@​dscho</code></a>` in <a href="https://redirect.github.com/actions/checkout/pull/1377">actions/checkout#1377</a></li>
<li>Add option to fetch tags even if fetch-depth &gt; 0 by <a href="https://github.com/RobertWieczoreck"><code>`@​RobertWieczoreck</code></a>` in <a href="https://redirect.github.com/actions/checkout/pull/579">actions/checkout#579</a></li>
<li>Release 3.6.0 by <a href="https://github.com/luketomlinson"><code>`@​luketomlinson</code></a>` in <a href="https://redirect.github.com/actions/checkout/pull/1437">actions/checkout#1437</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/RobertWieczoreck"><code>`@​RobertWieczoreck</code></a>` made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/579">actions/checkout#579</a></li>
<li><a href="https://github.com/luketomlinson"><code>`@​luketomlinson</code></a>` made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1437">actions/checkout#1437</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v3.5.3...v3.6.0">https://github.com/actions/checkout/compare/v3.5.3...v3.6.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's changelog</a>.</em></p>
<blockquote>
<h2>v4.0.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1067">Support fetching without the --progress option</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1436">Update to node20</a></li>
</ul>
<h2>v3.6.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1377">Fix: Mark test scripts with Bash'isms to be run via Bash</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/579">Add option to fetch tags even if fetch-depth &gt; 0</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="3df4ab11eb"><code>3df4ab1</code></a> Release 4.0.0 (<a href="https://redirect.github.com/actions/checkout/issues/1447">#1447</a>)</li>
<li><a href="8b5e8b7687"><code>8b5e8b7</code></a> Support fetching without the --progress option (<a href="https://redirect.github.com/actions/checkout/issues/1067">#1067</a>)</li>
<li><a href="97a652b800"><code>97a652b</code></a> Update default runtime to node20 (<a href="https://redirect.github.com/actions/checkout/issues/1436">#1436</a>)</li>
<li><a href="f43a0e5ff2"><code>f43a0e5</code></a> Release 3.6.0 (<a href="https://redirect.github.com/actions/checkout/issues/1437">#1437</a>)</li>
<li><a href="7739b9ba2e"><code>7739b9b</code></a> Add option to fetch tags even if fetch-depth &gt; 0 (<a href="https://redirect.github.com/actions/checkout/issues/579">#579</a>)</li>
<li><a href="96f53100ba"><code>96f5310</code></a> Mark test scripts with Bash'isms to be run via Bash (<a href="https://redirect.github.com/actions/checkout/issues/1377">#1377</a>)</li>
<li>See full diff in <a href="https://github.com/actions/checkout/compare/v3.5.3...v4.0.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/checkout&package-manager=github_actions&previous-version=3.5.3&new-version=4.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
9 months ago
dependabot[bot] a96527fc2a
build(deps): bump actions/checkout from 3.5.3 to 4.0.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.5.3 to 4.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.5.3...v4.0.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
9 months ago
bors[bot] 191247efeb
Merge #1440
1440: Update build-release-binaries.yml rustc version to 1.67 r=binarybaron a=binarybaron



Co-authored-by: binarybaron <86064887+binarybaron@users.noreply.github.com>
9 months ago
binarybaron 16c1daea78
Update build-release-binaries.yml rustc version to 1.67 9 months ago
bors[bot] 5b162368ca
Merge #1438
1438: Revert "Refresh monero monitoring wallet at startup to ensure daemon is is av…" r=binarybaron a=binarybaron

Reverts comit-network/xmr-btc-swap#1436

Co-authored-by: binarybaron <86064887+binarybaron@users.noreply.github.com>
9 months ago
binarybaron 2e1909685d
Revert "Refresh monero monitoring wallet at startup to ensure daemon is is av…" 9 months ago
bors[bot] a34c112622
Merge #1436
1436: Refresh monero monitoring wallet at startup to ensure daemon is is av… r=delta1 a=binarybaron

…ailable

Co-authored-by: binarybaron <86064887+binarybaron@users.noreply.github.com>
9 months ago
binarybaron 844ebc7de3 Refresh monero monitoring wallet at startup to ensure daemon is is available 9 months ago
bors[bot] d664f1e71d
Merge #1435
1435: Use older version sqlx-cli to be compatible with MSRV r=binarybaron a=binarybaron



Co-authored-by: binarybaron <86064887+binarybaron@users.noreply.github.com>
10 months ago
binarybaron dd388d471a Use older version sqlx-cli to be compatible with MSRV 10 months ago
bors[bot] a57c53434d
Merge #1431
1431: build(deps): bump Swatinem/rust-cache from 2.6.1 to 2.6.2 r=delta1 a=dependabot[bot]

Bumps [Swatinem/rust-cache](https://github.com/swatinem/rust-cache) from 2.6.1 to 2.6.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/swatinem/rust-cache/releases">Swatinem/rust-cache's releases</a>.</em></p>
<blockquote>
<h2>v2.6.2</h2>
<h2>What's Changed</h2>
<ul>
<li>dep: Use <code>smol-toml</code> instead of <code>toml</code> by <a href="https://github.com/NobodyXu"><code>`@​NobodyXu</code></a>` in <a href="https://redirect.github.com/Swatinem/rust-cache/pull/164">Swatinem/rust-cache#164</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/Swatinem/rust-cache/compare/v2...v2.6.2">https://github.com/Swatinem/rust-cache/compare/v2...v2.6.2</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/Swatinem/rust-cache/blob/master/CHANGELOG.md">Swatinem/rust-cache's changelog</a>.</em></p>
<blockquote>
<h2>2.6.2</h2>
<ul>
<li>Fix <code>toml</code> parsing.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="e207df5d26"><code>e207df5</code></a> 2.6.2</li>
<li><a href="decb69d790"><code>decb69d</code></a> Update dependencies and add changelog</li>
<li><a href="ab6b2769d1"><code>ab6b276</code></a> dep: Use <code>smol-toml</code> instead of <code>toml</code> (<a href="https://redirect.github.com/swatinem/rust-cache/issues/164">#164</a>)</li>
<li>See full diff in <a href="https://github.com/swatinem/rust-cache/compare/v2.6.1...v2.6.2">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Swatinem/rust-cache&package-manager=github_actions&previous-version=2.6.1&new-version=2.6.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
10 months ago
dependabot[bot] ca90c97b5d
build(deps): bump Swatinem/rust-cache from 2.6.1 to 2.6.2
Bumps [Swatinem/rust-cache](https://github.com/swatinem/rust-cache) from 2.6.1 to 2.6.2.
- [Release notes](https://github.com/swatinem/rust-cache/releases)
- [Changelog](https://github.com/Swatinem/rust-cache/blob/master/CHANGELOG.md)
- [Commits](https://github.com/swatinem/rust-cache/compare/v2.6.1...v2.6.2)

---
updated-dependencies:
- dependency-name: Swatinem/rust-cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
10 months ago
bors[bot] f0e94c60cd
Merge #1430
1430: build(deps): bump Swatinem/rust-cache from 2.6.0 to 2.6.1 r=delta1 a=dependabot[bot]

Bumps [Swatinem/rust-cache](https://github.com/swatinem/rust-cache) from 2.6.0 to 2.6.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/swatinem/rust-cache/releases">Swatinem/rust-cache's releases</a>.</em></p>
<blockquote>
<h2>v2.6.1</h2>
<ul>
<li>Fix hash contributions of <code>Cargo.lock</code>/<code>Cargo.toml</code> files.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/Swatinem/rust-cache/blob/master/CHANGELOG.md">Swatinem/rust-cache's changelog</a>.</em></p>
<blockquote>
<h2>2.6.1</h2>
<ul>
<li>Fix hash contributions of <code>Cargo.lock</code>/<code>Cargo.toml</code> files.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="578b235f6e"><code>578b235</code></a> 2.6.1</li>
<li><a href="5113490c3f"><code>5113490</code></a> prepare 2.6.1</li>
<li><a href="c0e052c18c"><code>c0e052c</code></a> Fix hashing of parsed <code>Cargo.toml</code> (<a href="https://redirect.github.com/swatinem/rust-cache/issues/160">#160</a>)</li>
<li><a href="4e0f4b19dd"><code>4e0f4b1</code></a> Fix typo in hashing parsed <code>Cargo.lock</code> (<a href="https://redirect.github.com/swatinem/rust-cache/issues/159">#159</a>)</li>
<li><a href="b919e1427f"><code>b919e14</code></a> feat: Add logging to <code>Cargo.lock</code>/<code>Cargo.toml</code> hashing (<a href="https://redirect.github.com/swatinem/rust-cache/issues/156">#156</a>)</li>
<li>See full diff in <a href="https://github.com/swatinem/rust-cache/compare/v2.6.0...v2.6.1">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Swatinem/rust-cache&package-manager=github_actions&previous-version=2.6.0&new-version=2.6.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
10 months ago
bors[bot] d0a35ab21b
Merge #1428
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>
10 months ago
dependabot[bot] 5aadfbf996
build(deps): bump Swatinem/rust-cache from 2.6.0 to 2.6.1
Bumps [Swatinem/rust-cache](https://github.com/swatinem/rust-cache) from 2.6.0 to 2.6.1.
- [Release notes](https://github.com/swatinem/rust-cache/releases)
- [Changelog](https://github.com/Swatinem/rust-cache/blob/master/CHANGELOG.md)
- [Commits](https://github.com/swatinem/rust-cache/compare/v2.6.0...v2.6.1)

---
updated-dependencies:
- dependency-name: Swatinem/rust-cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
10 months ago
bors[bot] 4c69013c1b
Merge #1429
1429: Immediately sync bitcoin tx status upon subscribing r=binarybaron a=binarybaron



Co-authored-by: binarybaron <86064887+binarybaron@users.noreply.github.com>
10 months ago
binarybaron 2e181dac9c Immediately sync bitcoin tx status upon subscribing 10 months ago
pokkst d7d87d96ac
Maybe fix issue on Windows where the wallet cannot open during XMR locking phase
(cherry picked from commit 879cb8bc0131b8a059466ca00ae9f7842c4ac018)
10 months ago
bors[bot] 20afb35d5b
Merge #1423
1423: Release version 0.12.2 r=delta1 a=comit-botty-mc-botface

Hi `@delta1!`

This PR was created in response to a manual trigger of the release workflow here: https://github.com/comit-network/xmr-btc-swap/actions/runs/5794466350.
I've updated the changelog and bumped the versions in the manifest files in this commit: 94febeca03.

Merging this PR will create a GitHub release and upload any assets that are created as part of the release build.

Co-authored-by: COMIT Botty McBotface <botty@coblox.tech>
10 months ago
COMIT Botty McBotface 94febeca03 Prepare release 0.12.2 10 months ago
bors[bot] 2d95e8854a
Merge #1422
1422: ci: add rustfmt to draft-new-release r=delta1 a=delta1

fixing the draft new release action, churn in dprint means that now rustfmt is run separately so it needs to be installed at this step 

previous failure: https://github.com/comit-network/xmr-btc-swap/actions/runs/5787093337/job/15683238703 

Co-authored-by: Byron Hambly <bhambly@blockstream.com>
10 months ago
Byron Hambly bde151f535
ci: add rustfmt to draft-new-release since changes to dprint 10 months ago
bors[bot] cf95f465a5
Merge #1421
1421: ci: fix dprint version for draft action r=delta1 a=delta1

This should fix the dprint issue in the draft release action - [link to failing action](https://github.com/comit-network/xmr-btc-swap/actions/runs/5763212564/job/15624561961) 

Co-authored-by: Byron Hambly <bhambly@blockstream.com>
10 months ago
Byron Hambly e741de1c08
ci: fix dprint version for draft action 10 months ago
bors[bot] 6c305d2cc2
Merge #1419
1419: fix typo in asb/README.md r=binarybaron a=icy-ux

points should be plural

Co-authored-by: icy-ux <>
10 months ago
icy-ux 3fa7cbbc15 fix typo 10 months ago
bors[bot] 9c811f87cd
Merge #1417
1417: feat(asb): allow asb to register with mulitple rendezvous nodes r=binarybaron a=delta1

implements #633  

This PR updates the ASB to be able to register with multiple rendezvous nodes. A unit test is added that checks this behaviour. I also tested it manually overnight and it repeatedly reregistered with the specified nodes.  

The config file option is left as `rendezvous_point` for backwards compatibility, but now uses the same deserialization as introduced in #1231 so that multiple addresses can be specified in a comma separated string, or as a toml array of strings.

Co-authored-by: Byron Hambly <bhambly@blockstream.com>
10 months ago
Byron Hambly 6b9f4cca99
Merge branch 'master' into multi-rendezvous 10 months ago
Byron Hambly 5e192acac2
feat(asb): allow asb to register with mulitple rendezvous nodes 10 months ago
bors[bot] 6eb4f43591
Merge #1418
1418: build(deps): bump Swatinem/rust-cache from 2.5.1 to 2.6.0 r=delta1 a=dependabot[bot]

Bumps [Swatinem/rust-cache](https://github.com/swatinem/rust-cache) from 2.5.1 to 2.6.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/swatinem/rust-cache/releases">Swatinem/rust-cache's releases</a>.</em></p>
<blockquote>
<h2>v2.6.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Add &quot;buildjet&quot; as a second <code>cache-provider</code> backend <a href="https://github.com/joroshiba"><code>`@​joroshiba</code></a>` in <a href="https://redirect.github.com/Swatinem/rust-cache/pull/154">Swatinem/rust-cache#154</a></li>
<li>Clean up sparse registry index.</li>
<li>Do not clean up src of <code>-sys</code> crates.</li>
<li>Remove <code>.cargo/credentials.toml</code> before saving.</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/joroshiba"><code>`@​joroshiba</code></a>` made their first contribution in <a href="https://redirect.github.com/Swatinem/rust-cache/pull/154">Swatinem/rust-cache#154</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/Swatinem/rust-cache/compare/v2.5.1...v2.6.0">https://github.com/Swatinem/rust-cache/compare/v2.5.1...v2.6.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/Swatinem/rust-cache/blob/master/CHANGELOG.md">Swatinem/rust-cache's changelog</a>.</em></p>
<blockquote>
<h2>2.6.0</h2>
<ul>
<li>Add &quot;buildjet&quot; as a second <code>cache-provider</code> backend.</li>
<li>Clean up sparse registry index.</li>
<li>Do not clean up src of <code>-sys</code> crates.</li>
<li>Remove <code>.cargo/credentials.toml</code> before saving.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="b8a6852b4f"><code>b8a6852</code></a> 2.6.0</li>
<li><a href="80c47cc945"><code>80c47cc</code></a> Clean up <code>credentials.toml</code></li>
<li><a href="5ec9842c14"><code>5ec9842</code></a> bump test dependencies</li>
<li><a href="3312b3ab47"><code>3312b3a</code></a> Slightly improve docs</li>
<li><a href="f6987ea139"><code>f6987ea</code></a> Improve errors and cleanup</li>
<li><a href="e97a782690"><code>e97a782</code></a> move buildjet test into its own workflow</li>
<li><a href="b00faf5858"><code>b00faf5</code></a> Add BuildJet Option (<a href="https://redirect.github.com/swatinem/rust-cache/issues/154">#154</a>)</li>
<li><a href="9de8f90afb"><code>9de8f90</code></a> Add <code>jemalloc</code> to test <code>-sys</code> style dependencies</li>
<li><a href="fd201ad913"><code>fd201ad</code></a> test globbing of <code>rust-toolchain</code> differently</li>
<li><a href="cf3f88254c"><code>cf3f882</code></a> &quot;properly rename git-registry workflow&quot;</li>
<li>Additional commits viewable in <a href="https://github.com/swatinem/rust-cache/compare/v2.5.1...v2.6.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Swatinem/rust-cache&package-manager=github_actions&previous-version=2.5.1&new-version=2.6.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
10 months ago
dependabot[bot] 3d744a3470
build(deps): bump Swatinem/rust-cache from 2.5.1 to 2.6.0
Bumps [Swatinem/rust-cache](https://github.com/swatinem/rust-cache) from 2.5.1 to 2.6.0.
- [Release notes](https://github.com/swatinem/rust-cache/releases)
- [Changelog](https://github.com/Swatinem/rust-cache/blob/master/CHANGELOG.md)
- [Commits](https://github.com/swatinem/rust-cache/compare/v2.5.1...v2.6.0)

---
updated-dependencies:
- dependency-name: Swatinem/rust-cache
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
10 months ago
bors[bot] 137da75953
Merge #1404
1404: build(deps): bump Swatinem/rust-cache from 2.4.0 to 2.5.1 r=delta1 a=dependabot[bot]

Bumps [Swatinem/rust-cache](https://github.com/swatinem/rust-cache) from 2.4.0 to 2.5.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/swatinem/rust-cache/releases">Swatinem/rust-cache's releases</a>.</em></p>
<blockquote>
<h2>v2.5.1</h2>
<ul>
<li>Fix hash contribution of <code>Cargo.lock</code>.</li>
</ul>
<h2>v2.5.0</h2>
<h2>What's Changed</h2>
<ul>
<li>feat: Rm workspace crates version before caching by <a href="https://github.com/NobodyXu"><code>`@​NobodyXu</code></a>` in <a href="https://redirect.github.com/Swatinem/rust-cache/pull/147">Swatinem/rust-cache#147</a></li>
<li>feat: Add hash of <code>.cargo/config.toml</code> to key by <a href="https://github.com/NobodyXu"><code>`@​NobodyXu</code></a>` in <a href="https://redirect.github.com/Swatinem/rust-cache/pull/149">Swatinem/rust-cache#149</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/NobodyXu"><code>`@​NobodyXu</code></a>` made their first contribution in <a href="https://redirect.github.com/Swatinem/rust-cache/pull/147">Swatinem/rust-cache#147</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/Swatinem/rust-cache/compare/v2.4.0...v2.5.0">https://github.com/Swatinem/rust-cache/compare/v2.4.0...v2.5.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/Swatinem/rust-cache/blob/master/CHANGELOG.md">Swatinem/rust-cache's changelog</a>.</em></p>
<blockquote>
<h2>2.5.1</h2>
<ul>
<li>Fix hash contribution of <code>Cargo.lock</code>.</li>
</ul>
<h2>2.5.0</h2>
<ul>
<li>feat: Rm workspace crates version before caching.</li>
<li>feat: Add hash of <code>.cargo/config.toml</code> to key.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="dd05243424"><code>dd05243</code></a> 2.5.1</li>
<li><a href="65dbc54a5d"><code>65dbc54</code></a> update changelog</li>
<li><a href="be7377e68e"><code>be7377e</code></a> fix <code>src/config.ts</code>: Remove <code>sort_object</code> (<a href="https://redirect.github.com/swatinem/rust-cache/issues/152">#152</a>)</li>
<li><a href="2656b87321"><code>2656b87</code></a> 2.5.0</li>
<li><a href="715970feed"><code>715970f</code></a> feat: Add hash of <code>.cargo/config.toml</code> to key (<a href="https://redirect.github.com/swatinem/rust-cache/issues/149">#149</a>)</li>
<li><a href="3d4000164d"><code>3d40001</code></a> feat: Rm workspace crates version before caching (<a href="https://redirect.github.com/swatinem/rust-cache/issues/147">#147</a>)</li>
<li>See full diff in <a href="https://github.com/swatinem/rust-cache/compare/v2.4.0...v2.5.1">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Swatinem/rust-cache&package-manager=github_actions&previous-version=2.4.0&new-version=2.5.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
10 months ago
dependabot[bot] 5207d10d08
build(deps): bump Swatinem/rust-cache from 2.4.0 to 2.5.1
Bumps [Swatinem/rust-cache](https://github.com/swatinem/rust-cache) from 2.4.0 to 2.5.1.
- [Release notes](https://github.com/swatinem/rust-cache/releases)
- [Changelog](https://github.com/Swatinem/rust-cache/blob/master/CHANGELOG.md)
- [Commits](https://github.com/swatinem/rust-cache/compare/v2.4.0...v2.5.1)

---
updated-dependencies:
- dependency-name: Swatinem/rust-cache
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
10 months ago
bors[bot] 7514d5f166
Merge #1402
1402: build(deps): bump thomaseizinger/create-pull-request from 1.3.0 to 1.3.1 r=delta1 a=dependabot[bot]

Bumps [thomaseizinger/create-pull-request](https://github.com/thomaseizinger/create-pull-request) from 1.3.0 to 1.3.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/thomaseizinger/create-pull-request/blob/master/CHANGELOG.md">thomaseizinger/create-pull-request's changelog</a>.</em></p>
<blockquote>
<h2>[1.3.1] - 2023-06-28</h2>
<h3>Fixed</h3>
<ul>
<li>Deprecation warning for <code>set-output</code> command from <code>actions/core</code> dependency.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="757d462102"><code>757d462</code></a> Fix typo in changelog</li>
<li><a href="cfc84bd61e"><code>cfc84bd</code></a> Prepare release 1.3.1</li>
<li><a href="ff534205ac"><code>ff53420</code></a> Add missed changelog entry (<a href="https://redirect.github.com/thomaseizinger/create-pull-request/issues/263">#263</a>)</li>
<li><a href="85c8625f2a"><code>85c8625</code></a> Fix set-output deprecation warning (<a href="https://redirect.github.com/thomaseizinger/create-pull-request/issues/257">#257</a>)</li>
<li>See full diff in <a href="https://github.com/thomaseizinger/create-pull-request/compare/1.3.0...1.3.1">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=thomaseizinger/create-pull-request&package-manager=github_actions&previous-version=1.3.0&new-version=1.3.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>
> **Note**
> Automatic rebases have been disabled on this pull request as it has been open for over 30 days.


Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Byron Hambly <bhambly@blockstream.com>
10 months ago
Byron Hambly 95db52e856
Merge branch 'master' into dependabot/github_actions/thomaseizinger/create-pull-request-1.3.1 10 months ago
bors[bot] 73a744baa6
Merge #1398
1398: build(deps): bump rust_decimal from 1.29.1 to 1.30.0 r=delta1 a=dependabot[bot]

Bumps [rust_decimal](https://github.com/paupino/rust-decimal) from 1.29.1 to 1.30.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/paupino/rust-decimal/blob/master/CHANGELOG.md">rust_decimal's changelog</a>.</em></p>
<blockquote>
<h2>1.30.0</h2>
<p>As the minor releases for Rust Decimal are getting smaller, I'll be looking at formally starting version 2 of the
Decimal library. This will be unstable as we find experiment with a new API and address some of the constraints the current
implementation of the library has (e.g. revised error types for better const support).</p>
<h3>Added</h3>
<ul>
<li>Add <code>proptest</code> feature support for <code>Decimal</code> (<a href="https://redirect.github.com/paupino/rust-decimal/pull/582">#582</a>).</li>
<li>Implement an <code>is_integer</code> function for an efficient means to check whether a <code>Decimal</code> is an integer with no fractional portion. (<a href="https://redirect.github.com/paupino/rust-decimal/pull/591">#591</a>).</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Improved GitHub Actions Workflow (<a href="https://redirect.github.com/paupino/rust-decimal/pull/592">#592</a>).</li>
</ul>
<h3>Credit</h3>
<p>Thank you to <a href="https://github.com/cardoe/"><code>`@​cardoe</code></a>` for your contribution!</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/paupino/rust-decimal/commits">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rust_decimal&package-manager=cargo&previous-version=1.29.1&new-version=1.30.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>
> **Note**
> Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
11 months ago
dependabot[bot] 5dee0896ff
build(deps): bump thomaseizinger/create-pull-request from 1.3.0 to 1.3.1
Bumps [thomaseizinger/create-pull-request](https://github.com/thomaseizinger/create-pull-request) from 1.3.0 to 1.3.1.
- [Release notes](https://github.com/thomaseizinger/create-pull-request/releases)
- [Changelog](https://github.com/thomaseizinger/create-pull-request/blob/master/CHANGELOG.md)
- [Commits](https://github.com/thomaseizinger/create-pull-request/compare/1.3.0...1.3.1)

---
updated-dependencies:
- dependency-name: thomaseizinger/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
11 months ago
bors[bot] 2c4dfc0f45
Merge #1416
1416: build(deps): update rust-toolchain to 1.67 and bump uuid to 1.4 r=delta1 a=delta1

some of the dependency updates are requiring a higher version of the rust toolchain. bump up to 1.67 and fix new clippy lints.

also fix dprint to 0.39.1 because 0.40 has breaking changes.

Co-authored-by: Byron Hambly <bhambly@blockstream.com>
11 months ago
Byron Hambly acdba8474b
build(deps): update rust-toolchain to 1.67 and bump uuid to 1.4
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.
11 months ago
dependabot[bot] fad91d15ba
build(deps): bump rust_decimal from 1.29.1 to 1.30.0
Bumps [rust_decimal](https://github.com/paupino/rust-decimal) from 1.29.1 to 1.30.0.
- [Changelog](https://github.com/paupino/rust-decimal/blob/master/CHANGELOG.md)
- [Commits](https://github.com/paupino/rust-decimal/commits)

---
updated-dependencies:
- dependency-name: rust_decimal
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] 0dbdf51e6d
Merge #1396
1396: build(deps): bump actions/checkout from 3.5.2 to 3.5.3 r=delta1 a=dependabot[bot]

Bumps [actions/checkout](https://github.com/actions/checkout) from 3.5.2 to 3.5.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/actions/checkout/releases">actions/checkout's releases</a>.</em></p>
<blockquote>
<h2>v3.5.3</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix: Checkout Issue in self hosted runner due to faulty submodule check-ins by <a href="https://github.com/megamanics"><code>`@​megamanics</code></a>` in <a href="https://redirect.github.com/actions/checkout/pull/1196">actions/checkout#1196</a></li>
<li>Fix typos found by codespell by <a href="https://github.com/DimitriPapadopoulos"><code>`@​DimitriPapadopoulos</code></a>` in <a href="https://redirect.github.com/actions/checkout/pull/1287">actions/checkout#1287</a></li>
<li>Add support for sparse checkouts by <a href="https://github.com/dscho"><code>`@​dscho</code></a>` in <a href="https://redirect.github.com/actions/checkout/pull/1369">actions/checkout#1369</a></li>
<li>Release v3.5.3 by <a href="https://github.com/TingluoHuang"><code>`@​TingluoHuang</code></a>` in <a href="https://redirect.github.com/actions/checkout/pull/1376">actions/checkout#1376</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/megamanics"><code>`@​megamanics</code></a>` made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1196">actions/checkout#1196</a></li>
<li><a href="https://github.com/DimitriPapadopoulos"><code>`@​DimitriPapadopoulos</code></a>` made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1287">actions/checkout#1287</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v3...v3.5.3">https://github.com/actions/checkout/compare/v3...v3.5.3</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's changelog</a>.</em></p>
<blockquote>
<h2>v3.5.3</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1196">Fix: Checkout fail in self-hosted runners when faulty submodule are checked-in</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1287">Fix typos found by codespell</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1369">Add support for sparse checkouts</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="c85c95e3d7"><code>c85c95e</code></a> Release v3.5.3 (<a href="https://redirect.github.com/actions/checkout/issues/1376">#1376</a>)</li>
<li><a href="d106d4669b"><code>d106d46</code></a> Add support for sparse checkouts (<a href="https://redirect.github.com/actions/checkout/issues/1369">#1369</a>)</li>
<li><a href="f095bcc56b"><code>f095bcc</code></a> Fix typos found by codespell (<a href="https://redirect.github.com/actions/checkout/issues/1287">#1287</a>)</li>
<li><a href="47fbe2df0a"><code>47fbe2d</code></a> Fix: Checkout fail in self-hosted runners when faulty submodule are checked-i...</li>
<li>See full diff in <a href="https://github.com/actions/checkout/compare/v3.5.2...v3.5.3">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/checkout&package-manager=github_actions&previous-version=3.5.2&new-version=3.5.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] bb8d8fbd8a
build(deps): bump actions/checkout from 3.5.2 to 3.5.3
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.5.2 to 3.5.3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.5.2...v3.5.3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] a0e25de337
Merge #1395
1395: build(deps): bump serde from 1.0.163 to 1.0.164 r=delta1 a=dependabot[bot]

Bumps [serde](https://github.com/serde-rs/serde) from 1.0.163 to 1.0.164.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/serde/releases">serde's releases</a>.</em></p>
<blockquote>
<h2>v1.0.164</h2>
<ul>
<li>Allowed enum variants to be individually marked as untagged (<a href="https://redirect.github.com/serde-rs/serde/issues/2403">#2403</a>, thanks <a href="https://github.com/dewert99"><code>`@​dewert99</code></a>)</li>`
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="107018c628"><code>107018c</code></a> Release 1.0.164</li>
<li><a href="a398237930"><code>a398237</code></a> Point out serde(untagged) variants which are out of order</li>
<li><a href="b63c65d7f5"><code>b63c65d</code></a> Merge pull request <a href="https://redirect.github.com/serde-rs/serde/issues/2470">#2470</a> from dtolnay/contentref</li>
<li><a href="f60324e883"><code>f60324e</code></a> Reuse a single ContentRefDeserializer throughout untagged enum deserialization</li>
<li><a href="361c23a09a"><code>361c23a</code></a> Simplify enumerate().find(...) -&gt; Iterator::position</li>
<li><a href="43b23c7ea0"><code>43b23c7</code></a> Format PR 2403 with rustfmt</li>
<li><a href="6081497506"><code>6081497</code></a> Resolve semicolon_if_nothing_returned pedantic clippy lint</li>
<li><a href="48e5753e76"><code>48e5753</code></a> Allowed Enum variants to be individually marked as untagged (<a href="https://redirect.github.com/serde-rs/serde/issues/2403">#2403</a>)</li>
<li><a href="bbba632ab3"><code>bbba632</code></a> Revert &quot;Ui tests with compile_error resolved at call site&quot;</li>
<li><a href="e77db40b8d"><code>e77db40</code></a> Ui tests with compile_error resolved at call site</li>
<li>Additional commits viewable in <a href="https://github.com/serde-rs/serde/compare/v1.0.163...v1.0.164">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde&package-manager=cargo&previous-version=1.0.163&new-version=1.0.164)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] 2577710f0d
build(deps): bump serde from 1.0.163 to 1.0.164
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.163 to 1.0.164.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.163...v1.0.164)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] 654c555f52
Merge #1392
1392: build(deps): bump tempfile from 3.5.0 to 3.6.0 r=delta1 a=dependabot[bot]

Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.5.0 to 3.6.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md">tempfile's changelog</a>.</em></p>
<blockquote>
<h2>3.6.0</h2>
<ul>
<li>Update windows-sys to 0.48.</li>
<li>Update rustix min version to 0.37.11</li>
<li>Forward some <code>NamedTempFile</code> and <code>SpooledTempFile</code> methods to the underlying <code>File</code> object for
better performance (especially vectorized writes, etc.).</li>
<li>Implement <code>AsFd</code> and <code>AsHandle</code>.</li>
<li>Misc documentation fixes and code cleanups.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="86b313648f"><code>86b3136</code></a> chore: release 3.6.0</li>
<li><a href="a2b45b3363"><code>a2b45b3</code></a> fix(docs): Change <code>dir</code> and <code>file</code> variable names to match existing comments ...</li>
<li><a href="f474e6a980"><code>f474e6a</code></a> Remove comment on SetFileInformationByHandle (<a href="https://redirect.github.com/Stebalien/tempfile/issues/236">#236</a>)</li>
<li><a href="141c773eb7"><code>141c773</code></a> feat: implement default methods for SpooledTempFile Read/Write (<a href="https://redirect.github.com/Stebalien/tempfile/issues/232">#232</a>)</li>
<li><a href="3590dbfa5e"><code>3590dbf</code></a> chore: modern rust (<a href="https://redirect.github.com/Stebalien/tempfile/issues/231">#231</a>)</li>
<li><a href="c76b783c47"><code>c76b783</code></a> feat: implement AsFd/AsHandle to mirror the AsRaw* variants (<a href="https://redirect.github.com/Stebalien/tempfile/issues/230">#230</a>)</li>
<li><a href="ae4f4c8185"><code>ae4f4c8</code></a> chore: bump rustix min version to 0.37.11 (<a href="https://redirect.github.com/Stebalien/tempfile/issues/229">#229</a>)</li>
<li><a href="94883627f9"><code>9488362</code></a> Forward default NamedTempFile methods (<a href="https://redirect.github.com/Stebalien/tempfile/issues/226">#226</a>)</li>
<li><a href="c41ee486d9"><code>c41ee48</code></a> build(deps): update windows-sys requirement from 0.45 to 0.48 (<a href="https://redirect.github.com/Stebalien/tempfile/issues/227">#227</a>)</li>
<li>See full diff in <a href="https://github.com/Stebalien/tempfile/compare/v3.5.0...v3.6.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tempfile&package-manager=cargo&previous-version=3.5.0&new-version=3.6.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] e8981708ba
build(deps): bump tempfile from 3.5.0 to 3.6.0
Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.5.0 to 3.6.0.
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.5.0...v3.6.0)

---
updated-dependencies:
- dependency-name: tempfile
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] 055e76ef04
Merge #1390
1390: build(deps): bump url from 2.3.1 to 2.4.0 r=delta1 a=dependabot[bot]

Bumps [url](https://github.com/servo/rust-url) from 2.3.1 to 2.4.0.
<details>
<summary>Commits</summary>
<ul>
<li><a href="a3e07c7de5"><code>a3e07c7</code></a> Merge pull request <a href="https://redirect.github.com/servo/rust-url/issues/840">#840</a> from servo/update-ver</li>
<li><a href="1317d9d27f"><code>1317d9d</code></a> update dependencies</li>
<li><a href="a25f3a89e9"><code>a25f3a8</code></a> Update url to v2.4.0</li>
<li><a href="2a12745baf"><code>2a12745</code></a> Update idna to 0.4.0</li>
<li><a href="1e6fd5db7c"><code>1e6fd5d</code></a> Update form_urlencoded to 1.2.0</li>
<li><a href="90833ff69f"><code>90833ff</code></a> Update percent-encoding to 2.3.0</li>
<li><a href="f5b961cfa2"><code>f5b961c</code></a> Update data-url to 0.3.0</li>
<li><a href="0e25146814"><code>0e25146</code></a> Merge pull request <a href="https://redirect.github.com/servo/rust-url/issues/839">#839</a> from servo/fix-838</li>
<li><a href="21f32d64b7"><code>21f32d6</code></a> Fix lint</li>
<li><a href="df88a29c91"><code>df88a29</code></a> Also fix issue where path segment could be confused with drive letter because...</li>
<li>Additional commits viewable in <a href="https://github.com/servo/rust-url/compare/v2.3.1...v2.4.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=url&package-manager=cargo&previous-version=2.3.1&new-version=2.4.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] 491f181695
build(deps): bump url from 2.3.1 to 2.4.0
Bumps [url](https://github.com/servo/rust-url) from 2.3.1 to 2.4.0.
- [Release notes](https://github.com/servo/rust-url/releases)
- [Commits](https://github.com/servo/rust-url/compare/v2.3.1...v2.4.0)

---
updated-dependencies:
- dependency-name: url
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] 4243206785
Merge #1388
1388: build(deps): bump base64 from 0.21.1 to 0.21.2 r=delta1 a=dependabot[bot]

Bumps [base64](https://github.com/marshallpierce/rust-base64) from 0.21.1 to 0.21.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/marshallpierce/rust-base64/blob/master/RELEASE-NOTES.md">base64's changelog</a>.</em></p>
<blockquote>
<h1>0.21.2</h1>
<ul>
<li>Rollback MSRV to 1.57.0 -- only dev dependencies need 1.60, not the main code</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="1e8246a889"><code>1e8246a</code></a> v0.21.2</li>
<li><a href="13690af07e"><code>13690af</code></a> Merge pull request <a href="https://redirect.github.com/marshallpierce/rust-base64/issues/239">#239</a> from marshallpierce/mp/msrv</li>
<li><a href="02af00a56e"><code>02af00a</code></a> Roll back MSRV to 1.57.0</li>
<li><a href="09c790760d"><code>09c7907</code></a> Remove readme comments about benches needing nightly</li>
<li>See full diff in <a href="https://github.com/marshallpierce/rust-base64/compare/v0.21.1...v0.21.2">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=base64&package-manager=cargo&previous-version=0.21.1&new-version=0.21.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] 5e34dfc40e
build(deps): bump base64 from 0.21.1 to 0.21.2
Bumps [base64](https://github.com/marshallpierce/rust-base64) from 0.21.1 to 0.21.2.
- [Changelog](https://github.com/marshallpierce/rust-base64/blob/master/RELEASE-NOTES.md)
- [Commits](https://github.com/marshallpierce/rust-base64/compare/v0.21.1...v0.21.2)

---
updated-dependencies:
- dependency-name: base64
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] 3a254be793
Merge #1386
1386: build(deps): bump proptest from 1.1.0 to 1.2.0 r=delta1 a=dependabot[bot]

Bumps [proptest](https://github.com/proptest-rs/proptest) from 1.1.0 to 1.2.0.
<details>
<summary>Commits</summary>
<ul>
<li><a href="c65b6aad04"><code>c65b6aa</code></a> Changelog : backfill changelogs</li>
<li><a href="fd43fcc9a8"><code>fd43fcc</code></a> bump version to 1.2.0</li>
<li><a href="567018302c"><code>5670183</code></a> Merge pull request <a href="https://redirect.github.com/proptest-rs/proptest/issues/324">#324</a> from tzemanovic/tomas/sm-prerequisites</li>
<li><a href="b88e9ffa47"><code>b88e9ff</code></a> Merge pull request <a href="https://redirect.github.com/proptest-rs/proptest/issues/318">#318</a> from tzemanovic/tomas/env-vars-config-override</li>
<li><a href="18ca1af60b"><code>18ca1af</code></a> [Fix] NonZero : only impl Arbitrary for 128-bit NonZero nums in non-wasm targ...</li>
<li><a href="6b4df75e92"><code>6b4df75</code></a> proptest/changelog: add <a href="https://redirect.github.com/proptest-rs/proptest/issues/324">#324</a></li>
<li><a href="fb2d578418"><code>fb2d578</code></a> make num sampling functions public</li>
<li><a href="6eb7574fc8"><code>6eb7574</code></a> make SizeRange methods public</li>
<li><a href="a6bc664335"><code>a6bc664</code></a> make <code>VarBitSet</code> public</li>
<li><a href="22672a6230"><code>22672a6</code></a> changelog: add <a href="https://redirect.github.com/proptest-rs/proptest/issues/318">#318</a></li>
<li>Additional commits viewable in <a href="https://github.com/proptest-rs/proptest/compare/v1.1.0...v1.2.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=proptest&package-manager=cargo&previous-version=1.1.0&new-version=1.2.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] 6c0d3007e5
build(deps): bump proptest from 1.1.0 to 1.2.0
Bumps [proptest](https://github.com/proptest-rs/proptest) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/proptest-rs/proptest/releases)
- [Changelog](https://github.com/proptest-rs/proptest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/proptest-rs/proptest/compare/v1.1.0...v1.2.0)

---
updated-dependencies:
- dependency-name: proptest
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] 15dd10d3f9
Merge #1380 #1381 #1382
1380: build(deps): bump Swatinem/rust-cache from 2.3.0 to 2.4.0 r=delta1 a=dependabot[bot]

Bumps [Swatinem/rust-cache](https://github.com/Swatinem/rust-cache) from 2.3.0 to 2.4.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/Swatinem/rust-cache/releases">Swatinem/rust-cache's releases</a>.</em></p>
<blockquote>
<h2>v2.4.0</h2>
<ul>
<li>Fix cache key stability.</li>
<li>Use 8 character hash components to reduce the key length, making it more readable.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/Swatinem/rust-cache/blob/master/CHANGELOG.md">Swatinem/rust-cache's changelog</a>.</em></p>
<blockquote>
<h2>2.4.0</h2>
<ul>
<li>Fix cache key stability.</li>
<li>Use 8 character hash components to reduce the key length, making it more readable.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="988c164c3d"><code>988c164</code></a> 2.4.0</li>
<li><a href="bb80d0f127"><code>bb80d0f</code></a> chore: use 8 character hash components (<a href="https://redirect.github.com/Swatinem/rust-cache/issues/143">#143</a>)</li>
<li><a href="ad97570a01"><code>ad97570</code></a> fix: cache key stability (<a href="https://redirect.github.com/Swatinem/rust-cache/issues/142">#142</a>)</li>
<li>See full diff in <a href="https://github.com/Swatinem/rust-cache/compare/v2.3.0...v2.4.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Swatinem/rust-cache&package-manager=github_actions&previous-version=2.3.0&new-version=2.4.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1381: build(deps): bump data-encoding from 2.3.3 to 2.4.0 r=delta1 a=dependabot[bot]

Bumps [data-encoding](https://github.com/ia0/data-encoding) from 2.3.3 to 2.4.0.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/ia0/data-encoding/commits/v2.4.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=data-encoding&package-manager=cargo&previous-version=2.3.3&new-version=2.4.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1382: build(deps): bump base64 from 0.21.0 to 0.21.1 r=delta1 a=dependabot[bot]

Bumps [base64](https://github.com/marshallpierce/rust-base64) from 0.21.0 to 0.21.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/marshallpierce/rust-base64/blob/master/RELEASE-NOTES.md">base64's changelog</a>.</em></p>
<blockquote>
<h1>0.21.1</h1>
<ul>
<li>Remove the possibility of panicking during decoded length calculations</li>
<li><code>DecoderReader</code> no longer sometimes erroneously ignores padding  <a href="https://redirect.github.com/marshallpierce/rust-base64/issues/226">#226</a></li>
</ul>
<h2>Breaking changes</h2>
<ul>
<li><code>Engine.internal_decode</code> return type changed</li>
<li>Update MSRV to 1.60.0</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/marshallpierce/rust-base64/commits">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=base64&package-manager=cargo&previous-version=0.21.0&new-version=0.21.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] cb9978f52f
build(deps): bump base64 from 0.21.0 to 0.21.1
Bumps [base64](https://github.com/marshallpierce/rust-base64) from 0.21.0 to 0.21.1.
- [Changelog](https://github.com/marshallpierce/rust-base64/blob/master/RELEASE-NOTES.md)
- [Commits](https://github.com/marshallpierce/rust-base64/commits)

---
updated-dependencies:
- dependency-name: base64
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] 89e8731a7a
build(deps): bump data-encoding from 2.3.3 to 2.4.0
Bumps [data-encoding](https://github.com/ia0/data-encoding) from 2.3.3 to 2.4.0.
- [Commits](https://github.com/ia0/data-encoding/commits/v2.4.0)

---
updated-dependencies:
- dependency-name: data-encoding
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] fbce61c421
build(deps): bump Swatinem/rust-cache from 2.3.0 to 2.4.0
Bumps [Swatinem/rust-cache](https://github.com/Swatinem/rust-cache) from 2.3.0 to 2.4.0.
- [Release notes](https://github.com/Swatinem/rust-cache/releases)
- [Changelog](https://github.com/Swatinem/rust-cache/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Swatinem/rust-cache/compare/v2.3.0...v2.4.0)

---
updated-dependencies:
- dependency-name: Swatinem/rust-cache
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] 84ac391ba1
Merge #1379
1379: build(deps): bump reqwest from 0.11.17 to 0.11.18 r=delta1 a=dependabot[bot]

Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.11.17 to 0.11.18.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/seanmonstar/reqwest/releases">reqwest's releases</a>.</em></p>
<blockquote>
<h2>v0.11.18</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix <code>RequestBuilder::json()</code> method from overriding a previously set <code>content-type</code> header. An existing value will be left in place.</li>
<li>Upgrade internal dependencies for rustls and compression.</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/flyingalex"><code>`@​flyingalex</code></a>` made their first contribution in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/1833">seanmonstar/reqwest#1833</a></li>
<li><a href="https://github.com/cpu"><code>`@​cpu</code></a>` made their first contribution in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/1791">seanmonstar/reqwest#1791</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md">reqwest's changelog</a>.</em></p>
<blockquote>
<h2>v0.11.18</h2>
<ul>
<li>Fix <code>RequestBuilder::json()</code> method from overriding a previously set <code>content-type</code> header. An existing value will be left in place.</li>
<li>Upgrade internal dependencies for rustls and compression.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="00be85efd9"><code>00be85e</code></a> v0.11.18</li>
<li><a href="a0b5ea5d71"><code>a0b5ea5</code></a> deps: update rustls v0.20.1 -&gt; v0.21.0 (<a href="https://redirect.github.com/seanmonstar/reqwest/issues/1791">#1791</a>)</li>
<li><a href="b13ca4b339"><code>b13ca4b</code></a> bug: fix custom content-type overidden by json method (<a href="https://redirect.github.com/seanmonstar/reqwest/issues/1833">#1833</a>)</li>
<li><a href="eca2a2f23f"><code>eca2a2f</code></a> CI: Enable dependabot for GitHub Action Workflow (<a href="https://redirect.github.com/seanmonstar/reqwest/issues/1831">#1831</a>)</li>
<li><a href="9de702ccef"><code>9de702c</code></a> Speedup CI (<a href="https://redirect.github.com/seanmonstar/reqwest/issues/1830">#1830</a>)</li>
<li><a href="7e7b116a13"><code>7e7b116</code></a> deps: Update async-compression v0.3.13 =&gt; v0.4.0 (<a href="https://redirect.github.com/seanmonstar/reqwest/issues/1828">#1828</a>)</li>
<li>See full diff in <a href="https://github.com/seanmonstar/reqwest/compare/v0.11.17...v0.11.18">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=reqwest&package-manager=cargo&previous-version=0.11.17&new-version=0.11.18)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] d1b95c8c5d
build(deps): bump reqwest from 0.11.17 to 0.11.18
Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.11.17 to 0.11.18.
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.11.17...v0.11.18)

---
updated-dependencies:
- dependency-name: reqwest
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] 2a4a6ce2f2
Merge #1378
1378: build(deps): bump uuid from 1.3.2 to 1.3.3 r=delta1 a=dependabot[bot]

Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.3.2 to 1.3.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/uuid-rs/uuid/releases">uuid's releases</a>.</em></p>
<blockquote>
<h2>1.3.3</h2>
<h2>What's Changed</h2>
<ul>
<li>Use sha hash for checkout action and remove others by <a href="https://github.com/KodrAus"><code>`@​KodrAus</code></a>` in <a href="https://redirect.github.com/uuid-rs/uuid/pull/671">uuid-rs/uuid#671</a></li>
<li>Hard deprecate Timestamp::to_unix_nanos by <a href="https://github.com/KodrAus"><code>`@​KodrAus</code></a>` in <a href="https://redirect.github.com/uuid-rs/uuid/pull/673">uuid-rs/uuid#673</a></li>
<li>Prepare for 1.3.3 release by <a href="https://github.com/KodrAus"><code>`@​KodrAus</code></a>` in <a href="https://redirect.github.com/uuid-rs/uuid/pull/674">uuid-rs/uuid#674</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/uuid-rs/uuid/compare/1.3.2...1.3.3">https://github.com/uuid-rs/uuid/compare/1.3.2...1.3.3</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="2cfe9f180c"><code>2cfe9f1</code></a> Merge pull request <a href="https://redirect.github.com/uuid-rs/uuid/issues/674">#674</a> from uuid-rs/cargo/1.3.3</li>
<li><a href="2bbbb74bd8"><code>2bbbb74</code></a> prepare for 1.3.3 release</li>
<li><a href="534691e274"><code>534691e</code></a> Merge pull request <a href="https://redirect.github.com/uuid-rs/uuid/issues/673">#673</a> from uuid-rs/chore/hard-deprecation</li>
<li><a href="147d4b3314"><code>147d4b3</code></a> update build agents</li>
<li><a href="d89c69de98"><code>d89c69d</code></a> hard deprecate Timestamp::to_unix_nanos</li>
<li><a href="6d22d0c187"><code>6d22d0c</code></a> Merge pull request <a href="https://redirect.github.com/uuid-rs/uuid/issues/671">#671</a> from uuid-rs/ci/cleanups</li>
<li><a href="053690862d"><code>0536908</code></a> use sha hash for checkout action and remove others</li>
<li>See full diff in <a href="https://github.com/uuid-rs/uuid/compare/1.3.2...1.3.3">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=uuid&package-manager=cargo&previous-version=1.3.2&new-version=1.3.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
bors[bot] 6675caeed2
Merge #1377
1377: build(deps): bump Swatinem/rust-cache from 2.2.1 to 2.3.0 r=delta1 a=dependabot[bot]

Bumps [Swatinem/rust-cache](https://github.com/Swatinem/rust-cache) from 2.2.1 to 2.3.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/Swatinem/rust-cache/releases">Swatinem/rust-cache's releases</a>.</em></p>
<blockquote>
<h2>v2.3.0</h2>
<ul>
<li>Add <code>cache-all-crates</code> option, which enables caching of crates installed by workflows.</li>
<li>Add installed packages to cache key, so changes to workflows that install rust tools are detected and cached properly.</li>
<li>Fix cache restore failures due to upstream bug.</li>
<li>Fix <code>EISDIR</code> error due to globed directories.</li>
<li>Update runtime <code>`@actions/cache</code>,` <code>`@actions/io</code>` and dev <code>typescript</code> dependencies.</li>
<li>Update <code>npm run prepare</code> so it creates distribution files with the right line endings.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/Swatinem/rust-cache/blob/master/CHANGELOG.md">Swatinem/rust-cache's changelog</a>.</em></p>
<blockquote>
<h2>2.3.0</h2>
<ul>
<li>Add <code>cache-all-crates</code> option, which enables caching of crates installed by workflows.</li>
<li>Add installed packages to cache key, so changes to workflows that install rust tools are detected and cached properly.</li>
<li>Fix cache restore failures due to upstream bug.</li>
<li>Fix <code>EISDIR</code> error due to globed directories.</li>
<li>Update runtime <code>`@actions/cache</code>,` <code>`@actions/io</code>` and dev <code>typescript</code> dependencies.</li>
<li>Update <code>npm run prepare</code> so it creates distribution files with the right line endings.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="060bda31e0"><code>060bda3</code></a> 2.3.0</li>
<li><a href="865fd1f6db"><code>865fd1f</code></a> &quot;update dependencies and changelog&quot;</li>
<li><a href="7c7e41ab01"><code>7c7e41a</code></a> chore: changelog v2.3.0 (<a href="https://redirect.github.com/Swatinem/rust-cache/issues/139">#139</a>)</li>
<li><a href="68aeeba167"><code>68aeeba</code></a> chore: use linefix to ensure platform line endings (<a href="https://redirect.github.com/Swatinem/rust-cache/issues/135">#135</a>)</li>
<li><a href="def0926359"><code>def0926</code></a> feat: add option to cache all crates (<a href="https://redirect.github.com/Swatinem/rust-cache/issues/137">#137</a>)</li>
<li><a href="827c240e23"><code>827c240</code></a> fix: cache key dependency on installed packages (<a href="https://redirect.github.com/Swatinem/rust-cache/issues/138">#138</a>)</li>
<li><a href="5e9fae966f"><code>5e9fae9</code></a> fix: cache restore failures (<a href="https://redirect.github.com/Swatinem/rust-cache/issues/136">#136</a>)</li>
<li><a href="127a0e9568"><code>127a0e9</code></a> &quot;update dependencies and rebuild&quot;</li>
<li><a href="99229f978c"><code>99229f9</code></a> Fix EISDIR error due to globbed directories (<a href="https://redirect.github.com/Swatinem/rust-cache/issues/1">#1</a>) (<a href="https://redirect.github.com/Swatinem/rust-cache/issues/132">#132</a>)</li>
<li>See full diff in <a href="https://github.com/Swatinem/rust-cache/compare/v2.2.1...v2.3.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Swatinem/rust-cache&package-manager=github_actions&previous-version=2.2.1&new-version=2.3.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] 65ee11501f
build(deps): bump uuid from 1.3.2 to 1.3.3
Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.3.2 to 1.3.3.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/1.3.2...1.3.3)

---
updated-dependencies:
- dependency-name: uuid
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] 1148bdcd1c
build(deps): bump Swatinem/rust-cache from 2.2.1 to 2.3.0
Bumps [Swatinem/rust-cache](https://github.com/Swatinem/rust-cache) from 2.2.1 to 2.3.0.
- [Release notes](https://github.com/Swatinem/rust-cache/releases)
- [Changelog](https://github.com/Swatinem/rust-cache/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Swatinem/rust-cache/compare/v2.2.1...v2.3.0)

---
updated-dependencies:
- dependency-name: Swatinem/rust-cache
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] 8e0cd0e217
Merge #1376
1376: build(deps): bump serde from 1.0.162 to 1.0.163 r=delta1 a=dependabot[bot]

Bumps [serde](https://github.com/serde-rs/serde) from 1.0.162 to 1.0.163.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/serde/releases">serde's releases</a>.</em></p>
<blockquote>
<h2>v1.0.163</h2>
<ul>
<li>Eliminate build script from serde_derive crate to slightly reduce build time (<a href="https://redirect.github.com/serde-rs/serde/issues/2442">#2442</a>, thanks <a href="https://github.com/taiki-e"><code>`@​taiki-e</code></a>)</li>`
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="fccb9499bc"><code>fccb949</code></a> Release 1.0.163</li>
<li><a href="a139ab2572"><code>a139ab2</code></a> Adjust PR 2446 with less overgeneralized name</li>
<li><a href="1d910a484c"><code>1d910a4</code></a> Format with rustfmt 1.5.2-nightly</li>
<li><a href="ee9166ec97"><code>ee9166e</code></a> Revise comments on the FlatMapDeserializer entry taker</li>
<li><a href="b5a9eff32e"><code>b5a9eff</code></a> Resolve while_let_on_iterator clippy lint</li>
<li><a href="9441a29663"><code>9441a29</code></a> Merge pull request <a href="https://redirect.github.com/serde-rs/serde/issues/2446">#2446</a> from Mingun/dedup2</li>
<li><a href="ab6588ef74"><code>ab6588e</code></a> Extract duplicated code into a function</li>
<li><a href="1d11f03449"><code>1d11f03</code></a> Extract logic of taking flattened fields into a function</li>
<li><a href="e11d01fe1d"><code>e11d01f</code></a> Remove constructors for FlatMapAccess and FlatStructAccess</li>
<li><a href="a901f50850"><code>a901f50</code></a> FlatMapAccess and FlatStructAccess does not need to be public</li>
<li>Additional commits viewable in <a href="https://github.com/serde-rs/serde/compare/v1.0.162...v1.0.163">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde&package-manager=cargo&previous-version=1.0.162&new-version=1.0.163)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] 4c774b3d9a
build(deps): bump serde from 1.0.162 to 1.0.163
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.162 to 1.0.163.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.162...v1.0.163)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] d45ce999a0
Merge #1372
1372: build(deps): bump serde from 1.0.160 to 1.0.162 r=delta1 a=dependabot[bot]

Bumps [serde](https://github.com/serde-rs/serde) from 1.0.160 to 1.0.162.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/serde/releases">serde's releases</a>.</em></p>
<blockquote>
<h2>1.0.162</h2>
<ul>
<li>
<p>Support deserializing flattened adjacently tagged enums from data formats which represent fields as bytes, such as the <code>csv</code> crate (<a href="https://redirect.github.com/serde-rs/serde/issues/2377">#2377</a>, thanks <a href="https://github.com/mfro"><code>`@​mfro</code></a>)</p>`
<pre lang="rust"><code>#[derive(Deserialize)]
pub struct Record {
    common: u64,
    #[serde(flatten)]
    kind: Kind,
}
<p>#[derive(Deserialize)]
#[serde(tag = &quot;kind&quot;, content = &quot;parameter&quot;, rename_all = &quot;lowercase&quot;)]
enum Kind {
Foo(u64),
Bar(bool),
}
</code></pre></p>
<pre lang="csv"><code>common,kind,parameter
1,foo,42
2,bar,true
</code></pre>
</li>
</ul>
<h2>v1.0.161</h2>
<ul>
<li>Improve error messages produced by serde_test on test failure (<a href="https://redirect.github.com/serde-rs/serde/issues/2435">#2435</a>, thanks <a href="https://github.com/Mingun"><code>`@​Mingun</code></a>)</li>`
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="99f165b45a"><code>99f165b</code></a> Release 1.0.162</li>
<li><a href="2fb5560746"><code>2fb5560</code></a> Attempt to generate just one copy of TagContentOtherFieldVisitor's field matc...</li>
<li><a href="bd653ab30c"><code>bd653ab</code></a> Format PR 2377 with rustfmt</li>
<li><a href="b5d68aedaa"><code>b5d68ae</code></a> Merge pull request <a href="https://redirect.github.com/serde-rs/serde/issues/2377">#2377</a> from mfro/master</li>
<li><a href="624879c4c6"><code>624879c</code></a> Merge pull request <a href="https://redirect.github.com/serde-rs/serde/issues/2441">#2441</a> from dtolnay/test</li>
<li><a href="bd9e9abf35"><code>bd9e9ab</code></a> Reimplement tests that touched serde_test internal API</li>
<li><a href="3e4a23cbd0"><code>3e4a23c</code></a> Release 1.0.161</li>
<li><a href="6326ceec3f"><code>6326cee</code></a> Don't panic in serde_test on running out of tokens</li>
<li><a href="8f4d37c7ec"><code>8f4d37c</code></a> Convert serde_test's assert_next_token from macro to function</li>
<li><a href="1b8290b318"><code>1b8290b</code></a> Convert serde_test's unexpected from macro to function</li>
<li>Additional commits viewable in <a href="https://github.com/serde-rs/serde/compare/v1.0.160...1.0.162">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde&package-manager=cargo&previous-version=1.0.160&new-version=1.0.162)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] 7f6f3af3f9
build(deps): bump serde from 1.0.160 to 1.0.162
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.160 to 1.0.162.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.160...1.0.162)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] 18fd2daeba
Merge #1367 #1368 #1369
1367: build(deps): bump reqwest from 0.11.16 to 0.11.17 r=delta1 a=dependabot[bot]

Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.11.16 to 0.11.17.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/seanmonstar/reqwest/releases">reqwest's releases</a>.</em></p>
<blockquote>
<h2>v0.11.17</h2>
<h2>What's Changed</h2>
<ul>
<li>Upgrade internal dependencies of Experimental HTTP/3 to use quinn v0.9</li>
<li>(wasm) Fix blob url support</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/skyf0l"><code>`@​skyf0l</code></a>` made their first contribution in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/1797">seanmonstar/reqwest#1797</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md">reqwest's changelog</a>.</em></p>
<blockquote>
<h2>v0.11.17</h2>
<ul>
<li>Upgrade internal dependencies of Experimental HTTP/3 to use quinn v0.9</li>
<li>(wasm) Fix blob url support</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="eeca649a3d"><code>eeca649</code></a> v0.11.17</li>
<li><a href="b4d5ab0c8d"><code>b4d5ab0</code></a> update h3 and h3-quinn to 0.0.2 (<a href="https://redirect.github.com/seanmonstar/reqwest/issues/1811">#1811</a>)</li>
<li><a href="2fa69ad384"><code>2fa69ad</code></a> wasm: blob url support (<a href="https://redirect.github.com/seanmonstar/reqwest/issues/1797">#1797</a>)</li>
<li>See full diff in <a href="https://github.com/seanmonstar/reqwest/compare/v0.11.16...v0.11.17">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=reqwest&package-manager=cargo&previous-version=0.11.16&new-version=0.11.17)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1368: build(deps): bump uuid from 1.3.1 to 1.3.2 r=delta1 a=dependabot[bot]

Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.3.1 to 1.3.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/uuid-rs/uuid/releases">uuid's releases</a>.</em></p>
<blockquote>
<h2>1.3.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Create SECURITY.md by <a href="https://github.com/KodrAus"><code>`@​KodrAus</code></a>` in <a href="https://redirect.github.com/uuid-rs/uuid/pull/668">uuid-rs/uuid#668</a></li>
<li>Faster as_u128 and to_u128_le by <a href="https://github.com/pkoenig10"><code>`@​pkoenig10</code></a>` in <a href="https://redirect.github.com/uuid-rs/uuid/pull/669">uuid-rs/uuid#669</a></li>
<li>prepare for 1.3.2 release by <a href="https://github.com/KodrAus"><code>`@​KodrAus</code></a>` in <a href="https://redirect.github.com/uuid-rs/uuid/pull/670">uuid-rs/uuid#670</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/pkoenig10"><code>`@​pkoenig10</code></a>` made their first contribution in <a href="https://redirect.github.com/uuid-rs/uuid/pull/669">uuid-rs/uuid#669</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/uuid-rs/uuid/compare/1.3.1...1.3.2">https://github.com/uuid-rs/uuid/compare/1.3.1...1.3.2</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="52867d4b55"><code>52867d4</code></a> Merge pull request <a href="https://redirect.github.com/uuid-rs/uuid/issues/670">#670</a> from uuid-rs/cargo/1.3.2</li>
<li><a href="f0c3f1a80c"><code>f0c3f1a</code></a> prepare for 1.3.2 release</li>
<li><a href="a78ee0aeac"><code>a78ee0a</code></a> Merge pull request <a href="https://redirect.github.com/uuid-rs/uuid/issues/669">#669</a> from pkoenig10/as_u128</li>
<li><a href="7978c5a5ed"><code>7978c5a</code></a> Faster as_u128 and to_u128_le</li>
<li><a href="f725e58353"><code>f725e58</code></a> Merge pull request <a href="https://redirect.github.com/uuid-rs/uuid/issues/668">#668</a> from uuid-rs/KodrAus-patch-1</li>
<li><a href="f1919c150f"><code>f1919c1</code></a> Create SECURITY.md</li>
<li>See full diff in <a href="https://github.com/uuid-rs/uuid/compare/1.3.1...1.3.2">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=uuid&package-manager=cargo&previous-version=1.3.1&new-version=1.3.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1369: build(deps): bump anyhow from 1.0.70 to 1.0.71 r=delta1 a=dependabot[bot]

Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.70 to 1.0.71.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/anyhow/releases">anyhow's releases</a>.</em></p>
<blockquote>
<h2>1.0.71</h2>
<ul>
<li>Documentation improvements</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="8b4fc43429"><code>8b4fc43</code></a> Release 1.0.71</li>
<li><a href="3c33b4b072"><code>3c33b4b</code></a> Merge pull request <a href="https://redirect.github.com/dtolnay/anyhow/issues/306">#306</a> from dtolnay/noinline</li>
<li><a href="d491b88840"><code>d491b88</code></a> Mark format_err macro as doc(no_inline)</li>
<li>See full diff in <a href="https://github.com/dtolnay/anyhow/compare/1.0.70...1.0.71">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=anyhow&package-manager=cargo&previous-version=1.0.70&new-version=1.0.71)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] 5b3ce51b4a
build(deps): bump anyhow from 1.0.70 to 1.0.71
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.70 to 1.0.71.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.70...1.0.71)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] 0d39d52712
build(deps): bump uuid from 1.3.1 to 1.3.2
Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.3.1 to 1.3.2.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/1.3.1...1.3.2)

---
updated-dependencies:
- dependency-name: uuid
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] f3fb3c26e1
build(deps): bump reqwest from 0.11.16 to 0.11.17
Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.11.16 to 0.11.17.
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.11.16...v0.11.17)

---
updated-dependencies:
- dependency-name: reqwest
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] 5505174cb6
Merge #1361
1361: build(deps): bump tracing from 0.1.37 to 0.1.38 r=delta1 a=dependabot[bot]

Bumps [tracing](https://github.com/tokio-rs/tracing) from 0.1.37 to 0.1.38.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/tokio-rs/tracing/releases">tracing's releases</a>.</em></p>
<blockquote>
<h2>tracing 0.1.38</h2>
<p>This <code>tracing</code> release changes the <code>Drop</code> implementation for <code>Instrumented</code>
<code>Future</code>s so that the attached <code>Span</code> is entered when dropping the <code>Future</code>. This
means that events emitted by the <code>Future</code>'s <code>Drop</code> implementation will now be
recorded within its <code>Span</code>. It also adds <code>#[inline]</code> hints to methods called in
the <code>event!</code> macro's expansion, for an improvement in both binary size and
performance.</p>
<p>Additionally, this release updates the <code>tracing-attributes</code> dependency to
<a href="https://github.com/tokio-rs/tracing/releases/tag/tracing-attributes-0.1.24">v0.1.24</a>, which updates the <a href="https://crates.io/crates/syn"><code>syn</code></a> dependency to v2.x.x.
<code>tracing-attributes</code> v0.1.24 also includes improvements to the <code>#[instrument]</code>
macro; see <a href="https://github.com/tokio-rs/tracing/releases/tag/tracing-attributes-0.1.24">the <code>tracing-attributes</code> 0.1.24 release notes</a> for
details.</p>
<h3>Added</h3>
<ul>
<li><code>Instrumented</code> futures will now enter the attached <code>Span</code> in their <code>Drop</code>
implementation, allowing events emitted when dropping the future to occur
within the span (<a href="https://redirect.github.com/tokio-rs/tracing/issues/2562">#2562</a>)</li>
<li><code>#[inline]</code> attributes for methods called by the <code>event!</code> macros, making
generated code smaller (<a href="https://redirect.github.com/tokio-rs/tracing/issues/2555">#2555</a>)</li>
<li><strong>attributes</strong>: <code>level</code> argument to <code>#[instrument(err)]</code> and
<code>#[instrument(ret)]</code> to override the level of
the generated return value event (<a href="https://redirect.github.com/tokio-rs/tracing/issues/2335">#2335</a>)</li>
<li><strong>attributes</strong>: Improved compiler error message when <code>#[instrument]</code> is added to a <code>const fn</code>
(<a href="https://redirect.github.com/tokio-rs/tracing/issues/2418">#2418</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li><code>tracing-attributes</code>: updated to <a href="https://github.com/tokio-rs/tracing/releases/tag/tracing-attributes-0.1.24">0.1.24</a></li>
<li>Removed unneeded <code>cfg-if</code> dependency (<a href="https://redirect.github.com/tokio-rs/tracing/issues/2553">#2553</a>)</li>
<li><strong>attributes</strong>: Updated <a href="https://crates.io/crates/syn"><code>syn</code></a> dependency to 2.0 (<a href="https://redirect.github.com/tokio-rs/tracing/issues/2516">#2516</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li><strong>attributes</strong>: Fix <code>clippy::unreachable</code> warnings in <code>#[instrument]</code>-generated code (<a href="https://redirect.github.com/tokio-rs/tracing/issues/2356">#2356</a>)</li>
<li><strong>attributes</strong>: Removed unused &quot;visit&quot; feature flag from <code>syn</code> dependency (<a href="https://redirect.github.com/tokio-rs/tracing/issues/2530">#2530</a>)</li>
</ul>
<h3>Documented</h3>
<ul>
<li><strong>attributes</strong>: Documented default level for <code>#[instrument(err)]</code> (<a href="https://redirect.github.com/tokio-rs/tracing/issues/2433">#2433</a>)</li>
<li><strong>attributes</strong>: Improved documentation for levels in <code>#[instrument]</code> (<a href="https://redirect.github.com/tokio-rs/tracing/issues/2350">#2350</a>)</li>
</ul>
<p>Thanks to <a href="https://github.com/nitnelave"><code>`@​nitnelave</code></a>,` <a href="https://github.com/jsgf"><code>`@​jsgf</code></a>,` <a href="https://github.com/Abhicodes-crypto"><code>`@​Abhicodes-crypto</code></a>,` <a href="https://github.com/LukeMathWalker"><code>`@​LukeMathWalker</code></a>,` <a href="https://github.com/andrewpollack"><code>`@​andrewpollack</code></a>,`
<a href="https://github.com/quad"><code>`@​quad</code></a>,` <a href="https://github.com/klensy"><code>`@​klensy</code></a>,` <a href="https://github.com/davidpdrsn"><code>`@​davidpdrsn</code></a>,` <a href="https://github.com/dbidwell94"><code>`@​dbidwell94</code></a>,` <a href="https://github.com/ldm0"><code>`@​ldm0</code></a>,` <a href="https://github.com/NobodyXu"><code>`@​NobodyXu</code></a>,` <a href="https://github.com/ilsv"><code>`@​ilsv</code></a>,` and <a href="https://github.com/daxpedda"><code>`@​daxpedda</code></a>`
for contributing to this release!</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="3de7f8c601"><code>3de7f8c</code></a> tracing: prepare to release v0.1.38 (<a href="https://redirect.github.com/tokio-rs/tracing/issues/2575">#2575</a>)</li>
<li><a href="e35265a0a1"><code>e35265a</code></a> attributes: prepare to release v0.1.24 (<a href="https://redirect.github.com/tokio-rs/tracing/issues/2574">#2574</a>)</li>
<li><a href="0114ec1cf5"><code>0114ec1</code></a> subscriber: prepare to release v0.3.17 (<a href="https://redirect.github.com/tokio-rs/tracing/issues/2571">#2571</a>)</li>
<li><a href="53989b422c"><code>53989b4</code></a> chore: fix rustfmt</li>
<li><a href="22355704ea"><code>2235570</code></a> subscriber: add &quot;unicode-case&quot; and &quot;unicode-perl&quot; features to <code>regex</code> depende...</li>
<li><a href="b9becf90fe"><code>b9becf9</code></a> attributes: update UI tests with the latest stable version of Rust (<a href="https://redirect.github.com/tokio-rs/tracing/issues/2568">#2568</a>)</li>
<li><a href="3a65354837"><code>3a65354</code></a> tracing, tracing-futures: instrument <code>Future</code> inside <code>Drop</code> (<a href="https://redirect.github.com/tokio-rs/tracing/issues/2562">#2562</a>)</li>
<li><a href="29d85b1adb"><code>29d85b1</code></a> mock: move layer mock from tracing-subscriber tests (<a href="https://redirect.github.com/tokio-rs/tracing/issues/2369">#2369</a>)</li>
<li><a href="049ad730c1"><code>049ad73</code></a> subscriber: add ability to disable ANSI without crate feature (<a href="https://redirect.github.com/tokio-rs/tracing/issues/2532">#2532</a>)</li>
<li><a href="a066c36729"><code>a066c36</code></a> attributes: update to syn 2.0 (<a href="https://redirect.github.com/tokio-rs/tracing/issues/2516">#2516</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/tokio-rs/tracing/compare/tracing-0.1.37...tracing-0.1.38">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tracing&package-manager=cargo&previous-version=0.1.37&new-version=0.1.38)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] 96cbb375c7
build(deps): bump tracing from 0.1.37 to 0.1.38
Bumps [tracing](https://github.com/tokio-rs/tracing) from 0.1.37 to 0.1.38.
- [Release notes](https://github.com/tokio-rs/tracing/releases)
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-0.1.37...tracing-0.1.38)

---
updated-dependencies:
- dependency-name: tracing
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] bc530fba86
Merge #1360
1360: build(deps): bump futures from 0.3.27 to 0.3.28 r=delta1 a=dependabot[bot]

Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.27 to 0.3.28.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/rust-lang/futures-rs/releases">futures's releases</a>.</em></p>
<blockquote>
<h2>0.3.28</h2>
<ul>
<li>Update to syn 2. This raises MSRV of utility crates to 1.56. (<a href="https://redirect.github.com/rust-lang/futures-rs/issues/2730">#2730</a>, <a href="https://redirect.github.com/rust-lang/futures-rs/issues/2733">#2733</a>)</li>
<li>Fix bug in <code>FlattenUnordered</code> (<a href="https://redirect.github.com/rust-lang/futures-rs/issues/2726">#2726</a>, <a href="https://redirect.github.com/rust-lang/futures-rs/issues/2728">#2728</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md">futures's changelog</a>.</em></p>
<blockquote>
<h1>0.3.28 - 2023-03-30</h1>
<ul>
<li>Update to syn 2. This raises MSRV of utility crates to 1.56. (<a href="https://redirect.github.com/rust-lang/futures-rs/issues/2730">#2730</a>, <a href="https://redirect.github.com/rust-lang/futures-rs/issues/2733">#2733</a>)</li>
<li>Fix bug in <code>FlattenUnordered</code> (<a href="https://redirect.github.com/rust-lang/futures-rs/issues/2726">#2726</a>, <a href="https://redirect.github.com/rust-lang/futures-rs/issues/2728">#2728</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="1685f8bdab"><code>1685f8b</code></a> Release 0.3.28</li>
<li><a href="206b12b05b"><code>206b12b</code></a> Update to syn 2 (<a href="https://redirect.github.com/rust-lang/futures-rs/issues/2730">#2730</a>)</li>
<li><a href="98e80d4d28"><code>98e80d4</code></a> Bump MSRV of utility crates to 1.56 (<a href="https://redirect.github.com/rust-lang/futures-rs/issues/2733">#2733</a>)</li>
<li><a href="a3f80e6b19"><code>a3f80e6</code></a> Fix unknown_lints and unused_imports warnings in test (<a href="https://redirect.github.com/rust-lang/futures-rs/issues/2732">#2732</a>)</li>
<li><a href="3bee39695e"><code>3bee396</code></a> SelectAll doesn't need pin-project (<a href="https://redirect.github.com/rust-lang/futures-rs/issues/2729">#2729</a>)</li>
<li><a href="6a436ebd15"><code>6a436eb</code></a> Don't ignore empty state polling (<a href="https://redirect.github.com/rust-lang/futures-rs/issues/2728">#2728</a>)</li>
<li><a href="94e020dac7"><code>94e020d</code></a> Use <code>Waker::will_wake()</code> to avoid a cloning op (<a href="https://redirect.github.com/rust-lang/futures-rs/issues/2723">#2723</a>)</li>
<li><a href="a730a19c8f"><code>a730a19</code></a> FlattenUnordered: always replace inner wakers (<a href="https://redirect.github.com/rust-lang/futures-rs/issues/2726">#2726</a>)</li>
<li><a href="890f8934fd"><code>890f893</code></a> Fix rustdoc warning</li>
<li><a href="4b86e46e40"><code>4b86e46</code></a> Use setup-cross-toolchain-action instead of cross</li>
<li>Additional commits viewable in <a href="https://github.com/rust-lang/futures-rs/compare/0.3.27...0.3.28">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=futures&package-manager=cargo&previous-version=0.3.27&new-version=0.3.28)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] 59c1de91ac
build(deps): bump futures from 0.3.27 to 0.3.28
Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.27 to 0.3.28.
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.27...0.3.28)

---
updated-dependencies:
- dependency-name: futures
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] ff7d036ab7
Merge #1357 #1358 #1359
1357: build(deps): bump conquer-once from 0.3.2 to 0.4.0 r=delta1 a=dependabot[bot]

Bumps [conquer-once](https://github.com/oliver-giersch/conquer-once) from 0.3.2 to 0.4.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/oliver-giersch/conquer-once/releases">conquer-once's releases</a>.</em></p>
<blockquote>
<h2>v0.4.0</h2>
<p>This release bumps the MSRV to <code>1.49.0</code>, allowing some depracated <code>std</code> functionality to be replaced with alternatives that were stabilized in that version.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/oliver-giersch/conquer-once/blob/master/RELEASES.md">conquer-once's changelog</a>.</em></p>
<blockquote>
<h3>Release <code>0.3.2</code></h3>
<ul>
<li>fixes potential UB due to insufficiently strict bounds on <code>Sync</code> implementation for <code>OnceCell</code> (see [Issue <a href="https://redirect.github.com/oliver-giersch/conquer-once/issues/3">#3</a>](<a href="https://redirect.github.com/oliver-giersch/conquer-once/issues/3">oliver-giersch/conquer-once#3</a>))</li>
</ul>
<h3>Release <code>0.3.3</code></h3>
<ul>
<li>improves and clarifies wording of public documentation</li>
<li>improves internal documentation around all uses of unsafe code</li>
</ul>
<h2>Release <code>0.4.0</code></h2>
<ul>
<li>bumps MSRV to 1.49.0</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="82747caafd"><code>82747ca</code></a> bump version in README</li>
<li><a href="3ef336f03e"><code>3ef336f</code></a> revert edition bump</li>
<li><a href="43f816a162"><code>43f816a</code></a> bump Cargo.toml version, rust edition to 2021,MSRV</li>
<li><a href="9370e0a194"><code>9370e0a</code></a> bump MSRV to 1.49.0</li>
<li><a href="82ebf601ea"><code>82ebf60</code></a> bump version to 0.3.3</li>
<li><a href="f788ee4855"><code>f788ee4</code></a> completes internal unsafe docs/clarification</li>
<li><a href="f75a52e371"><code>f75a52e</code></a> fix clippy warning under 1.36.0</li>
<li><a href="6f2924915e"><code>6f29249</code></a> clippy 1.36 should fail but doesn't?</li>
<li><a href="dc267663b1"><code>dc26766</code></a> fix CI toolchain</li>
<li><a href="4bc74b003d"><code>4bc74b0</code></a> fix CI</li>
<li>Additional commits viewable in <a href="https://github.com/oliver-giersch/conquer-once/compare/v0.3.2...v0.4.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=conquer-once&package-manager=cargo&previous-version=0.3.2&new-version=0.4.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1358: build(deps): bump serial_test from 1.0.0 to 2.0.0 r=delta1 a=dependabot[bot]

Bumps [serial_test](https://github.com/palfrey/serial_test) from 1.0.0 to 2.0.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/palfrey/serial_test/releases">serial_test's releases</a>.</em></p>
<blockquote>
<h2>v2.0.0</h2>
<p>Main change is the <a href="https://redirect.github.com/palfrey/serial_test/pull/96">Syn 2.x upgrade</a> which required an MSRV bump. MSRV is now 1.68.2. Note this is minimum <em>supported</em>, as it may well compile with lower versions, but they're not supported at all.</p>
<p>There's also a small bug fix for an issue when <a href="https://redirect.github.com/palfrey/serial_test/pull/94">running under vscode and stripping attributes</a></p>
<p><strong>Full Changelog</strong>: <a href="https://github.com/palfrey/serial_test/compare/v1.0.0...v2.0.0">https://github.com/palfrey/serial_test/compare/v1.0.0...v2.0.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="7e3a5ca6f3"><code>7e3a5ca</code></a> 2.0.0</li>
<li><a href="a7222e1f35"><code>a7222e1</code></a> Merge pull request <a href="https://redirect.github.com/palfrey/serial_test/issues/96">#96</a> from palfrey/syn-2</li>
<li><a href="113f07662e"><code>113f076</code></a> Upgrade to Syn 2</li>
<li><a href="21b7a7fa6f"><code>21b7a7f</code></a> Merge pull request <a href="https://redirect.github.com/palfrey/serial_test/issues/94">#94</a> from palfrey/remove-ignore-ignore</li>
<li><a href="fc0497c8e8"><code>fc0497c</code></a> Stop stripping ignore/should_panic attributes</li>
<li><a href="7d6af096bf"><code>7d6af09</code></a> Merge pull request <a href="https://redirect.github.com/palfrey/serial_test/issues/91">#91</a> from palfrey/dependabot/cargo/tokio-1.18.5</li>
<li><a href="1607dec900"><code>1607dec</code></a> Bump tokio from 1.18.4 to 1.18.5</li>
<li><a href="30b772a3d1"><code>30b772a</code></a> Merge pull request <a href="https://redirect.github.com/palfrey/serial_test/issues/92">#92</a> from palfrey/test-rust-version</li>
<li><a href="c1c65d24ea"><code>c1c65d2</code></a> Set rust-version in test to fix clippy issue</li>
<li>See full diff in <a href="https://github.com/palfrey/serial_test/compare/v1.0.0...v2.0.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serial_test&package-manager=cargo&previous-version=1.0.0&new-version=2.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1359: build(deps): bump async-trait from 0.1.67 to 0.1.68 r=delta1 a=dependabot[bot]

Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.67 to 0.1.68.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/async-trait/releases">async-trait's releases</a>.</em></p>
<blockquote>
<h2>0.1.68</h2>
<ul>
<li>Improve error message if an async fn is written without a function body in an impl block</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="dce60601d7"><code>dce6060</code></a> Release 0.1.68</li>
<li><a href="346f0509c6"><code>346f050</code></a> Merge pull request <a href="https://redirect.github.com/dtolnay/async-trait/issues/244">#244</a> from dtolnay/verbatimfn</li>
<li><a href="344a4f2a68"><code>344a4f2</code></a> Handle async impl fn without body</li>
<li>See full diff in <a href="https://github.com/dtolnay/async-trait/compare/0.1.67...0.1.68">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=async-trait&package-manager=cargo&previous-version=0.1.67&new-version=0.1.68)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] acc3d8af3c
build(deps): bump async-trait from 0.1.67 to 0.1.68
Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.67 to 0.1.68.
- [Release notes](https://github.com/dtolnay/async-trait/releases)
- [Commits](https://github.com/dtolnay/async-trait/compare/0.1.67...0.1.68)

---
updated-dependencies:
- dependency-name: async-trait
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] af7fbc708d
build(deps): bump serial_test from 1.0.0 to 2.0.0
Bumps [serial_test](https://github.com/palfrey/serial_test) from 1.0.0 to 2.0.0.
- [Release notes](https://github.com/palfrey/serial_test/releases)
- [Commits](https://github.com/palfrey/serial_test/compare/v1.0.0...v2.0.0)

---
updated-dependencies:
- dependency-name: serial_test
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] 64461dec93
build(deps): bump conquer-once from 0.3.2 to 0.4.0
Bumps [conquer-once](https://github.com/oliver-giersch/conquer-once) from 0.3.2 to 0.4.0.
- [Release notes](https://github.com/oliver-giersch/conquer-once/releases)
- [Changelog](https://github.com/oliver-giersch/conquer-once/blob/master/RELEASES.md)
- [Commits](https://github.com/oliver-giersch/conquer-once/compare/v0.3.2...v0.4.0)

---
updated-dependencies:
- dependency-name: conquer-once
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] cecf2945a2
Merge #1353 #1354 #1355 #1356
1353: build(deps): bump rust_decimal from 1.29.0 to 1.29.1 r=delta1 a=dependabot[bot]

Bumps [rust_decimal](https://github.com/paupino/rust-decimal) from 1.29.0 to 1.29.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/paupino/rust-decimal/blob/master/CHANGELOG.md">rust_decimal's changelog</a>.</em></p>
<blockquote>
<h2>1.29.1</h2>
<h3>Fixed</h3>
<ul>
<li>Fixes an issue with <code>checked_cos</code> and <code>checked_sin</code> where <code>QUARTER_PI</code> would send the calculation into an infinite loop. (#<a href="https://redirect.github.com/paupino/rust-decimal/pull/585">585</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/paupino/rust-decimal/commits">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rust_decimal&package-manager=cargo&previous-version=1.29.0&new-version=1.29.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1354: build(deps): bump hex-literal from 0.3.4 to 0.4.1 r=delta1 a=dependabot[bot]

Bumps [hex-literal](https://github.com/RustCrypto/utils) from 0.3.4 to 0.4.1.
<details>
<summary>Commits</summary>
<ul>
<li><a href="b8bd42f441"><code>b8bd42f</code></a> hex-literal: enforce const evaluation (<a href="https://redirect.github.com/RustCrypto/utils/issues/889">#889</a>)</li>
<li><a href="13385f64b2"><code>13385f6</code></a> Use minimal permissions for CI jobs (<a href="https://redirect.github.com/RustCrypto/utils/issues/885">#885</a>)</li>
<li><a href="9cba5a5ca0"><code>9cba5a5</code></a> cmov v0.3.0 (<a href="https://redirect.github.com/RustCrypto/utils/issues/886">#886</a>)</li>
<li><a href="66c6226816"><code>66c6226</code></a> hex-literal: release v0.4.0 (<a href="https://redirect.github.com/RustCrypto/utils/issues/884">#884</a>)</li>
<li><a href="f3dfe51805"><code>f3dfe51</code></a> hex-literal: remove support for comments inside literals and migrate to CTFE ...</li>
<li><a href="c1e32c58ca"><code>c1e32c5</code></a> Update Cargo.lock</li>
<li><a href="63fb20f03d"><code>63fb20f</code></a> Add RawPadding trait to block-padding for padding blocks of arbitrary size (#...</li>
<li><a href="734c63b031"><code>734c63b</code></a> cmov: implement constant-time equality comparisons (<a href="https://redirect.github.com/RustCrypto/utils/issues/873">#873</a>)</li>
<li><a href="83c7093d60"><code>83c7093</code></a> zeroize_derive v1.4.2 (<a href="https://redirect.github.com/RustCrypto/utils/issues/883">#883</a>)</li>
<li><a href="4b06984928"><code>4b06984</code></a> zeroize_derive: Inject where clauses; skip unused (<a href="https://redirect.github.com/RustCrypto/utils/issues/882">#882</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/RustCrypto/utils/compare/hex-literal-v0.3.4...hex-literal-v0.4.1">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=hex-literal&package-manager=cargo&previous-version=0.3.4&new-version=0.4.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1355: build(deps): bump hyper from 0.14.25 to 0.14.26 r=delta1 a=dependabot[bot]

Bumps [hyper](https://github.com/hyperium/hyper) from 0.14.25 to 0.14.26.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/hyperium/hyper/releases">hyper's releases</a>.</em></p>
<blockquote>
<h2>v0.14.26</h2>
<h2>Features</h2>
<ul>
<li><strong>http2:</strong> add <code>max_pending_accept_reset_streams</code> configuration option (<a href="https://redirect.github.com/hyperium/hyper/issues/3201">#3201</a>) (<a href="a6f7571a52">a6f7571a</a>)</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/Noah-Kennedy"><code>`@​Noah-Kennedy</code></a>` made their first contribution in <a href="https://redirect.github.com/hyperium/hyper/pull/3201">hyperium/hyper#3201</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/hyperium/hyper/blob/v0.14.26/CHANGELOG.md">hyper's changelog</a>.</em></p>
<blockquote>
<h3>v0.14.26 (2023-04-13)</h3>
<h4>Features</h4>
<ul>
<li><strong>http2:</strong> add <code>max_pending_accept_reset_streams</code> configuration option (<a href="https://redirect.github.com/hyperium/hyper/issues/3201">#3201</a>) (<a href="a6f7571a52">a6f7571a</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="00d52e4fb7"><code>00d52e4</code></a> v0.14.26</li>
<li><a href="a6f7571a52"><code>a6f7571</code></a> feat(http2): add <code>max_pending_accept_reset_streams</code> configuration option (<a href="https://redirect.github.com/hyperium/hyper/issues/3201">#3201</a>)</li>
<li>See full diff in <a href="https://github.com/hyperium/hyper/compare/v0.14.25...v0.14.26">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=hyper&package-manager=cargo&previous-version=0.14.25&new-version=0.14.26)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1356: build(deps): bump rust_decimal_macros from 1.29.0 to 1.29.1 r=delta1 a=dependabot[bot]

Bumps [rust_decimal_macros](https://github.com/paupino/rust-decimal) from 1.29.0 to 1.29.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/paupino/rust-decimal/blob/master/CHANGELOG.md">rust_decimal_macros's changelog</a>.</em></p>
<blockquote>
<h2>1.29.1</h2>
<h3>Fixed</h3>
<ul>
<li>Fixes an issue with <code>checked_cos</code> and <code>checked_sin</code> where <code>QUARTER_PI</code> would send the calculation into an infinite loop. (#<a href="https://redirect.github.com/paupino/rust-decimal/pull/585">585</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/paupino/rust-decimal/commits">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rust_decimal_macros&package-manager=cargo&previous-version=1.29.0&new-version=1.29.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] 4c8d5aecb7
build(deps): bump rust_decimal_macros from 1.29.0 to 1.29.1
Bumps [rust_decimal_macros](https://github.com/paupino/rust-decimal) from 1.29.0 to 1.29.1.
- [Release notes](https://github.com/paupino/rust-decimal/releases)
- [Changelog](https://github.com/paupino/rust-decimal/blob/master/CHANGELOG.md)
- [Commits](https://github.com/paupino/rust-decimal/commits)

---
updated-dependencies:
- dependency-name: rust_decimal_macros
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] 924e2fea70
build(deps): bump hyper from 0.14.25 to 0.14.26
Bumps [hyper](https://github.com/hyperium/hyper) from 0.14.25 to 0.14.26.
- [Release notes](https://github.com/hyperium/hyper/releases)
- [Changelog](https://github.com/hyperium/hyper/blob/v0.14.26/CHANGELOG.md)
- [Commits](https://github.com/hyperium/hyper/compare/v0.14.25...v0.14.26)

---
updated-dependencies:
- dependency-name: hyper
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] 9970b4a328
build(deps): bump hex-literal from 0.3.4 to 0.4.1
Bumps [hex-literal](https://github.com/RustCrypto/utils) from 0.3.4 to 0.4.1.
- [Release notes](https://github.com/RustCrypto/utils/releases)
- [Commits](https://github.com/RustCrypto/utils/compare/hex-literal-v0.3.4...hex-literal-v0.4.1)

---
updated-dependencies:
- dependency-name: hex-literal
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] 4c7c4509cf
build(deps): bump rust_decimal from 1.29.0 to 1.29.1
Bumps [rust_decimal](https://github.com/paupino/rust-decimal) from 1.29.0 to 1.29.1.
- [Release notes](https://github.com/paupino/rust-decimal/releases)
- [Changelog](https://github.com/paupino/rust-decimal/blob/master/CHANGELOG.md)
- [Commits](https://github.com/paupino/rust-decimal/commits)

---
updated-dependencies:
- dependency-name: rust_decimal
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] 72e554a242
Merge #1347 #1349 #1350 #1351 #1352
1347: build(deps): bump sqlx from 0.6.2 to 0.6.3 r=delta1 a=dependabot[bot]

Bumps [sqlx](https://github.com/launchbadge/sqlx) from 0.6.2 to 0.6.3.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/launchbadge/sqlx/blob/v0.6.3/CHANGELOG.md">sqlx's changelog</a>.</em></p>
<blockquote>
<h3>0.6.3 - 2023-03-21</h3>
<p>This is a hotfix to address the breakage caused by transitive dependencies upgrading to <code>syn = &quot;2&quot;</code>.</p>
<p>We set <code>default-features = false</code> for our dependency on <code>syn = &quot;1&quot;</code> to be good crates.io citizens,
but failed to enable the features we actually used, which went undetected because we transitively depended on
<code>syn</code> with the default features enabled through other crates,
and so they were also on for us because features are additive.</p>
<p>When those other dependencies upgraded to <code>syn = &quot;2&quot;</code> it was no longer enabling those features for us,
and so compilation broke for projects that don't also depend on <code>syn = &quot;1&quot;</code>, transitively or otherwise.</p>
<p>There is no PR for this fix as there was no longer a dedicated development branch for <code>0.6</code>,
but discussion can be found in [issue <a href="https://redirect.github.com/launchbadge/sqlx/issues/2418">#2418</a>].</p>
<p>As of this release, the <code>0.7</code> release is in alpha and so development is no longer occurring against <code>0.6</code>.
This fix will be forward-ported to <code>0.7</code>.</p>
<p>[issue <a href="https://redirect.github.com/launchbadge/sqlx/issues/2418">#2418</a>]: <a href="https://redirect.github.com/launchbadge/sqlx/issues/2418">launchbadge/sqlx#2418</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="bb064e3789"><code>bb064e3</code></a> chore: CHANGELOG entry for 0.6.3</li>
<li><a href="c6f8a41267"><code>c6f8a41</code></a> fix: non-binding <code>let</code> in SQLite driver</li>
<li><a href="7d4333e50d"><code>7d4333e</code></a> fix(ci): backport change enabling CI on <code>*-dev</code></li>
<li><a href="2ab9156f02"><code>2ab9156</code></a> 0.6.3 hotfix: don't rely on transitive deps enabling <code>syn</code> features</li>
<li>See full diff in <a href="https://github.com/launchbadge/sqlx/compare/v0.6.2...v0.6.3">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=sqlx&package-manager=cargo&previous-version=0.6.2&new-version=0.6.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1349: build(deps): bump reqwest from 0.11.15 to 0.11.16 r=delta1 a=dependabot[bot]

Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.11.15 to 0.11.16.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/seanmonstar/reqwest/releases">reqwest's releases</a>.</em></p>
<blockquote>
<h2>v0.11.16</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix building docs on docs.rs by <a href="https://github.com/NobodyXu"><code>`@​NobodyXu</code></a>` in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/1789">seanmonstar/reqwest#1789</a></li>
<li>Set 'rust-version` in Cargo metadata and use it in the MSRV build job by <a href="https://github.com/nickelc"><code>`@​nickelc</code></a>` in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/1793">seanmonstar/reqwest#1793</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md">reqwest's changelog</a>.</em></p>
<blockquote>
<h2>v0.11.16</h2>
<ul>
<li>Chore: set MSRV in <code>Cargo.toml</code>.</li>
<li>Docs: fix build on docs.rs</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="704766979f"><code>7047669</code></a> v0.11.16</li>
<li><a href="cc47ef1e26"><code>cc47ef1</code></a> Set 'rust-version` in Cargo metadata and use it in the MSRV build job (<a href="https://redirect.github.com/seanmonstar/reqwest/issues/1793">#1793</a>)</li>
<li><a href="7fdd014d46"><code>7fdd014</code></a> docs: Fix building on docs.rs (<a href="https://redirect.github.com/seanmonstar/reqwest/issues/1789">#1789</a>)</li>
<li><a href="bf7ff55649"><code>bf7ff55</code></a> chore: update changelog for 0.11.15</li>
<li>See full diff in <a href="https://github.com/seanmonstar/reqwest/compare/v0.11.15...v0.11.16">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=reqwest&package-manager=cargo&previous-version=0.11.15&new-version=0.11.16)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1350: build(deps): bump serde_json from 1.0.94 to 1.0.96 r=delta1 a=dependabot[bot]

Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.94 to 1.0.96.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p>
<blockquote>
<h2>v1.0.96</h2>
<ul>
<li>Guarantee that <code>to_writer</code> only writes valid UTF-8 strings (<a href="https://redirect.github.com/serde-rs/json/issues/1011">#1011</a>, thanks <a href="https://github.com/stepancheg"><code>`@​stepancheg</code></a>)</li>`
</ul>
<h2>v1.0.95</h2>
<ul>
<li>Preserve f32 precision when serializing f32 -&gt; serde_json::Value -&gt; JSON string in &quot;arbitrary_precision&quot; mode (<a href="https://redirect.github.com/serde-rs/json/issues/1004">#1004</a>, <a href="https://redirect.github.com/serde-rs/json/issues/1005">#1005</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="187f7dadc6"><code>187f7da</code></a> Release 1.0.96</li>
<li><a href="41199cce93"><code>41199cc</code></a> Merge pull request <a href="https://redirect.github.com/serde-rs/json/issues/1011">#1011</a> from stepancheg/utf-8</li>
<li><a href="cd5ed8204a"><code>cd5ed82</code></a> Document to_writer only writes valid UTF-8 strings</li>
<li><a href="ce53b862b9"><code>ce53b86</code></a> Fix needless_borrow clippy lint in test</li>
<li><a href="4ea38c4001"><code>4ea38c4</code></a> Release 1.0.95</li>
<li><a href="731886c08e"><code>731886c</code></a> Merge pull request <a href="https://redirect.github.com/serde-rs/json/issues/1005">#1005</a> from dtolnay/f32cast</li>
<li><a href="c9bff92c1f"><code>c9bff92</code></a> Fix PartialEq between Value and f32</li>
<li><a href="06f3443c6e"><code>06f3443</code></a> Eliminate f32-to-f64 casting in arbitrary_precision mode</li>
<li><a href="b0990a51db"><code>b0990a5</code></a> Add regression test for issue 1004</li>
<li><a href="02e583360d"><code>02e5833</code></a> Update fuzz crate gitignore to ignore coverage dir</li>
<li>Additional commits viewable in <a href="https://github.com/serde-rs/json/compare/v1.0.94...v1.0.96">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_json&package-manager=cargo&previous-version=1.0.94&new-version=1.0.96)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1351: build(deps): bump tempfile from 3.4.0 to 3.5.0 r=delta1 a=dependabot[bot]

Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.4.0 to 3.5.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/Stebalien/tempfile/blob/master/NEWS">tempfile's changelog</a>.</em></p>
<blockquote>
<h1>3.5.0</h1>
<ul>
<li>Update rustix from 0.36 to 0.37.1. This makes wasi work on rust stable</li>
<li>Update <code>windows-sys</code>, <code>redox_syscall</code></li>
<li>BREAKING: Remove the implementation of <code>Write for &amp;NamedTempFile&lt;F&gt; where &amp;F: Write</code>. Unfortunately, this can cause compile issues in unrelated code (<a href="https://redirect.github.com/Stebalien/tempfile/issues/224">Stebalien/tempfile#224</a>).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/Stebalien/tempfile/commits">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tempfile&package-manager=cargo&previous-version=3.4.0&new-version=3.5.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1352: build(deps): bump actions/checkout from 3.5.0 to 3.5.2 r=delta1 a=dependabot[bot]

Bumps [actions/checkout](https://github.com/actions/checkout) from 3.5.0 to 3.5.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/actions/checkout/releases">actions/checkout's releases</a>.</em></p>
<blockquote>
<h2>v3.5.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix: Use correct API url / endpoint in GHES by <a href="https://github.com/fhammerl"><code>`@​fhammerl</code></a>` in <a href="https://redirect.github.com/actions/checkout/pull/1289">actions/checkout#1289</a> based on <a href="https://redirect.github.com/actions/checkout/issues/1286">#1286</a> by <a href="https://github.com/1newsr"><code>`@​1newsr</code></a></li>`
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v3.5.1...v3.5.2">https://github.com/actions/checkout/compare/v3.5.1...v3.5.2</a></p>
<h2>v3.5.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Improve checkout performance on Windows runners by upgrading <code>`@​actions/github</code>` dependency by <a href="https://github.com/BrettDong"><code>`@​BrettDong</code></a>` in <a href="https://redirect.github.com/actions/checkout/pull/1246">actions/checkout#1246</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/BrettDong"><code>`@​BrettDong</code></a>` made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1246">actions/checkout#1246</a></li>
<li><a href="https://github.com/fhammerl"><code>`@​fhammerl</code></a>` made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1284">actions/checkout#1284</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v3.5.0...v3.5.1">https://github.com/actions/checkout/compare/v3.5.0...v3.5.1</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's changelog</a>.</em></p>
<blockquote>
<h2>v3.5.2</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1289">Fix api endpoint for GHES</a></li>
</ul>
<h2>v3.5.1</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1246">Fix slow checkout on Windows</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="8e5e7e5ab8"><code>8e5e7e5</code></a> Release v3.5.2 (<a href="https://redirect.github.com/actions/checkout/issues/1291">#1291</a>)</li>
<li><a href="eb35239ec2"><code>eb35239</code></a> Fix: convert baseUrl to serverApiUrl 'formatted' (<a href="https://redirect.github.com/actions/checkout/issues/1289">#1289</a>)</li>
<li><a href="83b7061638"><code>83b7061</code></a> Release v3.5.1 (<a href="https://redirect.github.com/actions/checkout/issues/1284">#1284</a>)</li>
<li><a href="40a16ebeed"><code>40a16eb</code></a> Improve checkout performance on Windows runners by upgrading <code>`@​actions/github</code>` ...</li>
<li>See full diff in <a href="https://github.com/actions/checkout/compare/v3.5.0...v3.5.2">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/checkout&package-manager=github_actions&previous-version=3.5.0&new-version=3.5.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] fd8b1b49d0
build(deps): bump actions/checkout from 3.5.0 to 3.5.2
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.5.0 to 3.5.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.5.0...v3.5.2)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] 2173e3c678
build(deps): bump tempfile from 3.4.0 to 3.5.0
Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.4.0 to 3.5.0.
- [Release notes](https://github.com/Stebalien/tempfile/releases)
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/NEWS)
- [Commits](https://github.com/Stebalien/tempfile/commits)

---
updated-dependencies:
- dependency-name: tempfile
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] fbf222ea9f
build(deps): bump serde_json from 1.0.94 to 1.0.96
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.94 to 1.0.96.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.94...v1.0.96)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] 521ac041dd
build(deps): bump reqwest from 0.11.15 to 0.11.16
Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.11.15 to 0.11.16.
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.11.15...v0.11.16)

---
updated-dependencies:
- dependency-name: reqwest
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] 6629b73a56
build(deps): bump sqlx from 0.6.2 to 0.6.3
Bumps [sqlx](https://github.com/launchbadge/sqlx) from 0.6.2 to 0.6.3.
- [Release notes](https://github.com/launchbadge/sqlx/releases)
- [Changelog](https://github.com/launchbadge/sqlx/blob/v0.6.3/CHANGELOG.md)
- [Commits](https://github.com/launchbadge/sqlx/compare/v0.6.2...v0.6.3)

---
updated-dependencies:
- dependency-name: sqlx
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] 6ca7d0c55d
Merge #1345
1345: build(deps): bump bdk from 0.27.1 to 0.28.0 r=delta1 a=dependabot[bot]

Bumps [bdk](https://github.com/bitcoindevkit/bdk) from 0.27.1 to 0.28.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/bitcoindevkit/bdk/releases">bdk's releases</a>.</em></p>
<blockquote>
<h2>Release 0.27.2</h2>
<h3>RELEASE YANKED FROM CRATES.IO</h3>
<p>See: <a href="https://redirect.github.com/bitcoindevkit/bdk/issues/897">bitcoindevkit/bdk#897</a></p>
<h3>Summary</h3>
<p>Disable default-features for rust-bitcoin and rust-miniscript dependencies, and for rust-esplora-client optional dependency.</p>
<h3>Changelog</h3>
<p>Changed</p>
<ul>
<li>Set default-features = false for rust-bitcoin and rust-miniscript <a href="https://redirect.github.com/bitcoindevkit/bdk/issues/882">#882</a></li>
<li>Update esplora client dependency to version 0.4 <a href="https://redirect.github.com/bitcoindevkit/bdk/issues/884">#884</a></li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>Set dev-dependency base64ct version to &lt;1.6.0 by <a href="https://github.com/notmandatory"><code>`@​notmandatory</code></a>` in <a href="https://redirect.github.com/bitcoindevkit/bdk/pull/877">bitcoindevkit/bdk#877</a></li>
<li>Set <code>default-features = false</code> for rust-bitcoin and rust-miniscript by <a href="https://github.com/benthecarman"><code>`@​benthecarman</code></a>` in <a href="https://redirect.github.com/bitcoindevkit/bdk/pull/882">bitcoindevkit/bdk#882</a></li>
<li>Update esplora client dependency to version 0.4 by <a href="https://github.com/notmandatory"><code>`@​notmandatory</code></a>` in <a href="https://redirect.github.com/bitcoindevkit/bdk/pull/884">bitcoindevkit/bdk#884</a></li>
<li>Bump version to 0.27.2 by <a href="https://github.com/notmandatory"><code>`@​notmandatory</code></a>` in <a href="https://redirect.github.com/bitcoindevkit/bdk/pull/892">bitcoindevkit/bdk#892</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/bitcoindevkit/bdk/compare/v0.27.1...v0.27.2">https://github.com/bitcoindevkit/bdk/compare/v0.27.1...v0.27.2</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/bitcoindevkit/bdk/blob/master/CHANGELOG.md">bdk's changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<p>All notable changes to this project can be found here and in each release's git tag and can be viewed with <code>git tag -ln100 &quot;v*&quot;</code>. See also <a href="https://github.com/bitcoindevkit/bdk/blob/master/DEVELOPMENT_CYCLE.md">https://github.com/bitcoindevkit/bdk/blob/master/DEVELOPMENT_CYCLE.md</a> for more details.</p>
<p>Contributors do not need to change this file but do need to add changelog details in their PR descriptions. The person making the next release will collect changelog details from included PRs and edit this file prior to each release.</p>
<p>The format is based on <a href="https://keepachangelog.com/en/1.0.0/">Keep a Changelog</a>,
and this project adheres to <a href="https://semver.org/spec/v2.0.0.html">Semantic Versioning</a>.</p>
<h2>[Unreleased]</h2>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="78529b6a42"><code>78529b6</code></a> Bump version to 0.28.0</li>
<li><a href="0ad65c7776"><code>0ad65c7</code></a> Merge <a href="https://redirect.github.com/bitcoindevkit/bdk/issues/930">bitcoindevkit/bdk#930</a>: Add default <code>std</code> feature, prep for 0.28.0 release</li>
<li><a href="cbcbdd120d"><code>cbcbdd1</code></a> Update CHANGELOG for 0.28.0 release</li>
<li><a href="f507185729"><code>f507185</code></a> Change workflows to run for release branches</li>
<li><a href="573bf52578"><code>573bf52</code></a> Add default feature std</li>
<li><a href="10608afb76"><code>10608af</code></a> Merge <a href="https://redirect.github.com/bitcoindevkit/bdk/issues/875">bitcoindevkit/bdk#875</a>: Bump bip39 crate to v2.0.0</li>
<li><a href="de46a51208"><code>de46a51</code></a> Bump version to 0.27.2</li>
<li><a href="e8acafce8e"><code>e8acafc</code></a> Merge <a href="https://redirect.github.com/bitcoindevkit/bdk/issues/884">bitcoindevkit/bdk#884</a>: Update esplora client dependency to version 0.4</li>
<li><a href="bb2b2d6dd8"><code>bb2b2d6</code></a> Update esplora-client dependency to version 0.4</li>
<li><a href="87c558c9cf"><code>87c558c</code></a> Set default-features = false for rust-bitcoin</li>
<li>Additional commits viewable in <a href="https://github.com/bitcoindevkit/bdk/compare/v0.27.1...v0.28.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=bdk&package-manager=cargo&previous-version=0.27.1&new-version=0.28.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
bors[bot] 6abe6a5f9b
Merge #1338 #1342 #1343 #1344
1338: build(deps): bump async-trait from 0.1.66 to 0.1.68 r=delta1 a=dependabot[bot]

Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.66 to 0.1.68.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/async-trait/releases">async-trait's releases</a>.</em></p>
<blockquote>
<h2>0.1.68</h2>
<ul>
<li>Improve error message if an async fn is written without a function body in an impl block</li>
</ul>
<h2>0.1.67</h2>
<ul>
<li>Update syn dependency to 2.x</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="dce60601d7"><code>dce6060</code></a> Release 0.1.68</li>
<li><a href="346f0509c6"><code>346f050</code></a> Merge pull request <a href="https://redirect.github.com/dtolnay/async-trait/issues/244">#244</a> from dtolnay/verbatimfn</li>
<li><a href="344a4f2a68"><code>344a4f2</code></a> Handle async impl fn without body</li>
<li><a href="f8a8650569"><code>f8a8650</code></a> Release 0.1.67</li>
<li><a href="d7a9cae8d2"><code>d7a9cae</code></a> Merge pull request <a href="https://redirect.github.com/dtolnay/async-trait/issues/241">#241</a> from dtolnay/syn</li>
<li><a href="15fd2820ac"><code>15fd282</code></a> Ignore match_like_matches_macro clippy lint</li>
<li><a href="032c1506e3"><code>032c150</code></a> Update to syn 2</li>
<li><a href="0d0a3465eb"><code>0d0a346</code></a> Update ui test suite to nightly-2023-03-17</li>
<li>See full diff in <a href="https://github.com/dtolnay/async-trait/compare/0.1.66...0.1.68">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=async-trait&package-manager=cargo&previous-version=0.1.66&new-version=0.1.68)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1342: build(deps): bump serde from 1.0.156 to 1.0.160 r=delta1 a=dependabot[bot]

Bumps [serde](https://github.com/serde-rs/serde) from 1.0.156 to 1.0.160.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/serde/releases">serde's releases</a>.</em></p>
<blockquote>
<h2>v1.0.160</h2>
<ul>
<li>Make derived serializer/deserializer internals <code>doc(hidden)</code> (<a href="https://redirect.github.com/serde-rs/serde/issues/2426">#2426</a>, thanks <a href="https://github.com/compiler-errors"><code>`@​compiler-errors</code></a>)</li>`
</ul>
<h2>v1.0.159</h2>
<ul>
<li>Accept empty #[serde()] attribute (<a href="https://redirect.github.com/serde-rs/serde/issues/2422">#2422</a>)</li>
</ul>
<h2>v1.0.158</h2>
<ul>
<li>Fix <em>&quot;expected serde crate attribute to be a string&quot;</em> error when using macro_rules metavariable inside of serde attribute: <code>#[serde(crate = $serde_path)]</code> (<a href="https://redirect.github.com/serde-rs/serde/issues/2409">#2409</a>)</li>
</ul>
<h2>v1.0.157</h2>
<ul>
<li>Update syn dependency to 2.x</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="0c6a2bbf79"><code>0c6a2bb</code></a> Release 1.0.160</li>
<li><a href="a80d830f27"><code>a80d830</code></a> Merge pull request <a href="https://redirect.github.com/serde-rs/serde/issues/2426">#2426</a> from compiler-errors/dont-doc-private</li>
<li><a href="5f3fd9994e"><code>5f3fd99</code></a> Make serializer/deserializer internals doc(hidden)</li>
<li><a href="d6de911855"><code>d6de911</code></a> Release 1.0.159</li>
<li><a href="04af32230e"><code>04af322</code></a> Merge pull request <a href="https://redirect.github.com/serde-rs/serde/issues/2422">#2422</a> from dtolnay/emptyattr</li>
<li><a href="4cb8d079f8"><code>4cb8d07</code></a> Accept empty #[serde()] attribute</li>
<li><a href="6ab55a1e52"><code>6ab55a1</code></a> Add regression test for issue 2415</li>
<li><a href="acfd19cb46"><code>acfd19c</code></a> Release serde_derive_internals 0.27.0</li>
<li><a href="e3058105f0"><code>e305810</code></a> Release 1.0.158</li>
<li><a href="dc200a6450"><code>dc200a6</code></a> Reformat comments of non-public serde_derive internals</li>
<li>Additional commits viewable in <a href="https://github.com/serde-rs/serde/compare/v1.0.156...v1.0.160">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde&package-manager=cargo&previous-version=1.0.156&new-version=1.0.160)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1343: build(deps): bump uuid from 1.3.0 to 1.3.1 r=delta1 a=dependabot[bot]

Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.3.0 to 1.3.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/uuid-rs/uuid/releases">uuid's releases</a>.</em></p>
<blockquote>
<h2>1.3.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Update syn requirement from 1.0.80 to 2.0.5 by <a href="https://github.com/dependabot"><code>`@​dependabot</code></a>` in <a href="https://redirect.github.com/uuid-rs/uuid/pull/663">uuid-rs/uuid#663</a></li>
<li>Update windows-sys requirement from 0.45.0 to 0.48.0 by <a href="https://github.com/dependabot"><code>`@​dependabot</code></a>` in <a href="https://redirect.github.com/uuid-rs/uuid/pull/665">uuid-rs/uuid#665</a></li>
<li>remove some extra chars in a comment by <a href="https://github.com/KodrAus"><code>`@​KodrAus</code></a>` in <a href="https://redirect.github.com/uuid-rs/uuid/pull/666">uuid-rs/uuid#666</a></li>
<li>Prepare for 1.3.1 release by <a href="https://github.com/KodrAus"><code>`@​KodrAus</code></a>` in <a href="https://redirect.github.com/uuid-rs/uuid/pull/667">uuid-rs/uuid#667</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/uuid-rs/uuid/compare/1.3.0...1.3.1">https://github.com/uuid-rs/uuid/compare/1.3.0...1.3.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="87082b9239"><code>87082b9</code></a> Merge pull request <a href="https://redirect.github.com/uuid-rs/uuid/issues/667">#667</a> from uuid-rs/cargo/1.3.1</li>
<li><a href="a367481dec"><code>a367481</code></a> prepare for 1.3.1 release</li>
<li><a href="ee19f3dfbb"><code>ee19f3d</code></a> Merge pull request <a href="https://redirect.github.com/uuid-rs/uuid/issues/666">#666</a> from uuid-rs/KodrAus-patch-2</li>
<li><a href="8ccdf67de1"><code>8ccdf67</code></a> remove some extra chars in a comment</li>
<li><a href="b111b12627"><code>b111b12</code></a> Merge pull request <a href="https://redirect.github.com/uuid-rs/uuid/issues/665">#665</a> from uuid-rs/dependabot/cargo/windows-sys-0.48.0</li>
<li><a href="faac14c1c0"><code>faac14c</code></a> Update windows-sys requirement from 0.45.0 to 0.48.0</li>
<li><a href="efa468692f"><code>efa4686</code></a> Merge pull request <a href="https://redirect.github.com/uuid-rs/uuid/issues/663">#663</a> from uuid-rs/dependabot/cargo/syn-2.0.5</li>
<li><a href="1795337b99"><code>1795337</code></a> Update syn requirement from 1.0.80 to 2.0.5</li>
<li>See full diff in <a href="https://github.com/uuid-rs/uuid/compare/1.3.0...1.3.1">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=uuid&package-manager=cargo&previous-version=1.3.0&new-version=1.3.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1344: build(deps): bump dialoguer from 0.10.3 to 0.10.4 r=delta1 a=dependabot[bot]

Bumps [dialoguer](https://github.com/mitsuhiko/dialoguer) from 0.10.3 to 0.10.4.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/console-rs/dialoguer/blob/master/CHANGELOG.md">dialoguer's changelog</a>.</em></p>
<blockquote>
<h2>0.10.4</h2>
<h3>Enhancements</h3>
<ul>
<li>Added validator for password input</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="fa11422e90"><code>fa11422</code></a> Release 0.10.4</li>
<li><a href="d588da3df1"><code>d588da3</code></a> Merge pull request <a href="https://redirect.github.com/mitsuhiko/dialoguer/issues/219">#219</a> from qt2/password_validation</li>
<li><a href="4b92988853"><code>4b92988</code></a> Replace <code>&amp;str</code> in with <code>&amp;String</code></li>
<li><a href="c3774c0188"><code>c3774c0</code></a> Add <code>PasswordValidator</code> trait</li>
<li><a href="09e2ff16a4"><code>09e2ff1</code></a> Remove mut from <code>Password::interact</code></li>
<li><a href="0f5372377e"><code>0f53723</code></a> Resolve clippy warning on complex type</li>
<li><a href="df37b03c84"><code>df37b03</code></a> Fix doc-test failures on password validation</li>
<li><a href="61af341c2a"><code>61af341</code></a> Merge branch 'console-rs:master' into password_validation</li>
<li><a href="f6f6e26014"><code>f6f6e26</code></a> Merge pull request <a href="https://redirect.github.com/mitsuhiko/dialoguer/issues/240">#240</a> from dhoomakethu/patch-1</li>
<li><a href="8c41f786e9"><code>8c41f78</code></a> Fix README</li>
<li>See full diff in <a href="https://github.com/mitsuhiko/dialoguer/compare/0.10.3...v0.10.4">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=dialoguer&package-manager=cargo&previous-version=0.10.3&new-version=0.10.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
bors[bot] 64da893fa5
Merge #1337
1337: build(deps): bump actions/checkout from 3.3.0 to 3.5.0 r=delta1 a=dependabot[bot]

Bumps [actions/checkout](https://github.com/actions/checkout) from 3.3.0 to 3.5.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/actions/checkout/releases">actions/checkout's releases</a>.</em></p>
<blockquote>
<h2>v3.5.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Add new public key for known_hosts by <a href="https://github.com/cdb"><code>`@​cdb</code></a>` in <a href="https://redirect.github.com/actions/checkout/pull/1237">actions/checkout#1237</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/cdb"><code>`@​cdb</code></a>` made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1237">actions/checkout#1237</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v3.4.0...v3.5.0">https://github.com/actions/checkout/compare/v3.4.0...v3.5.0</a></p>
<h2>v3.4.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Upgrade codeql actions to v2 by <a href="https://github.com/Link"><code>`@​Link</code></a>-` in <a href="https://redirect.github.com/actions/checkout/pull/1209">actions/checkout#1209</a></li>
<li>Upgrade dependencies by <a href="https://github.com/Link"><code>`@​Link</code></a>-` in <a href="https://redirect.github.com/actions/checkout/pull/1210">actions/checkout#1210</a></li>
<li>Backfill changelog and bump actions/io by <a href="https://github.com/cory-miller"><code>`@​cory-miller</code></a>` in <a href="https://redirect.github.com/actions/checkout/pull/1225">actions/checkout#1225</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/Link"><code>`@​Link</code></a>-` made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/1209">actions/checkout#1209</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v3.3.0...v3.4.0">https://github.com/actions/checkout/compare/v3.3.0...v3.4.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<h2>v3.4.0</h2>
<ul>
<li><a href="https://redirect.github.com/actions/checkout/pull/1209">Upgrade codeql actions to v2</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1210">Upgrade dependencies</a></li>
<li><a href="https://redirect.github.com/actions/checkout/pull/1225">Upgrade <code>`@​actions/io</code></a></li>`
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="8f4b7f8486"><code>8f4b7f8</code></a> Add new public key for known_hosts (<a href="https://redirect.github.com/actions/checkout/issues/1237">#1237</a>)</li>
<li><a href="cd6a9fd493"><code>cd6a9fd</code></a> Update update-main-version.yml</li>
<li><a href="24cb908017"><code>24cb908</code></a> Bump <code>`@​actions/io</code>` to v1.1.3 (<a href="https://redirect.github.com/actions/checkout/issues/1225">#1225</a>)</li>
<li><a href="27135e314d"><code>27135e3</code></a> Upgrade dependencies (<a href="https://redirect.github.com/actions/checkout/issues/1210">#1210</a>)</li>
<li><a href="7b187184d1"><code>7b18718</code></a> Upgrade codeql actions to v2 (<a href="https://redirect.github.com/actions/checkout/issues/1209">#1209</a>)</li>
<li>See full diff in <a href="https://github.com/actions/checkout/compare/v3.3.0...v3.5.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/checkout&package-manager=github_actions&previous-version=3.3.0&new-version=3.5.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] 5a13e2bede
build(deps): bump bdk from 0.27.1 to 0.28.0
Bumps [bdk](https://github.com/bitcoindevkit/bdk) from 0.27.1 to 0.28.0.
- [Release notes](https://github.com/bitcoindevkit/bdk/releases)
- [Changelog](https://github.com/bitcoindevkit/bdk/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bitcoindevkit/bdk/compare/v0.27.1...v0.28.0)

---
updated-dependencies:
- dependency-name: bdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] c00330901c
build(deps): bump dialoguer from 0.10.3 to 0.10.4
Bumps [dialoguer](https://github.com/mitsuhiko/dialoguer) from 0.10.3 to 0.10.4.
- [Release notes](https://github.com/mitsuhiko/dialoguer/releases)
- [Changelog](https://github.com/console-rs/dialoguer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mitsuhiko/dialoguer/compare/0.10.3...v0.10.4)

---
updated-dependencies:
- dependency-name: dialoguer
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] 10056c5876
build(deps): bump uuid from 1.3.0 to 1.3.1
Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.3.0 to 1.3.1.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/1.3.0...1.3.1)

---
updated-dependencies:
- dependency-name: uuid
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] 1184109008
build(deps): bump async-trait from 0.1.66 to 0.1.68
Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.66 to 0.1.68.
- [Release notes](https://github.com/dtolnay/async-trait/releases)
- [Commits](https://github.com/dtolnay/async-trait/compare/0.1.66...0.1.68)

---
updated-dependencies:
- dependency-name: async-trait
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] d8a5a646b7
build(deps): bump serde from 1.0.156 to 1.0.160
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.156 to 1.0.160.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.156...v1.0.160)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] a726e318bd
Merge #1331
1331: build(deps): bump thiserror from 1.0.39 to 1.0.40 r=delta1 a=dependabot[bot]

Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.39 to 1.0.40.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/thiserror/releases">thiserror's releases</a>.</em></p>
<blockquote>
<h2>1.0.40</h2>
<ul>
<li>Update syn dependency to 2.x</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="3cec8c4879"><code>3cec8c4</code></a> Release 1.0.40</li>
<li><a href="2c65ceadfa"><code>2c65cea</code></a> Merge pull request <a href="https://redirect.github.com/dtolnay/thiserror/issues/227">#227</a> from dtolnay/syn</li>
<li><a href="fb8b81f20b"><code>fb8b81f</code></a> Update to syn 2</li>
<li><a href="0e45dde206"><code>0e45dde</code></a> Merge pull request <a href="https://redirect.github.com/dtolnay/thiserror/issues/226">#226</a> from dtolnay/tokenspan</li>
<li><a href="490dc0102b"><code>490dc01</code></a> Eliminate unneeded use of Spanned trait on single tokens</li>
<li>See full diff in <a href="https://github.com/dtolnay/thiserror/compare/1.0.39...1.0.40">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=thiserror&package-manager=cargo&previous-version=1.0.39&new-version=1.0.40)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
bors[bot] 7325d99dfc
Merge #1329
1329: build(deps): bump anyhow from 1.0.69 to 1.0.70 r=delta1 a=dependabot[bot]

Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.69 to 1.0.70.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/anyhow/releases">anyhow's releases</a>.</em></p>
<blockquote>
<h2>1.0.70</h2>
<ul>
<li>Update syn dependency to 2.x</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="e4db1f96fd"><code>e4db1f9</code></a> Release 1.0.70</li>
<li><a href="10f5994a05"><code>10f5994</code></a> Merge pull request <a href="https://redirect.github.com/dtolnay/anyhow/issues/302">#302</a> from dtolnay/syn</li>
<li><a href="4a6b90c96a"><code>4a6b90c</code></a> Update to syn 2</li>
<li><a href="553ed38434"><code>553ed38</code></a> Update clippy.toml msrv to match rust-version in Cargo.toml</li>
<li><a href="d30b027581"><code>d30b027</code></a> Ignore let_underscore_untyped pedantic clippy lint</li>
<li><a href="2c2803f901"><code>2c2803f</code></a> Merge pull request <a href="https://redirect.github.com/dtolnay/anyhow/issues/298">#298</a> from dtolnay/constblock</li>
<li><a href="b2492874bc"><code>b249287</code></a> Support const block syntax in ensure! macro</li>
<li><a href="80d4c8d11b"><code>80d4c8d</code></a> Retitle the randomize-layout CI step</li>
<li><a href="4804a783a7"><code>4804a78</code></a> Support a manual trigger on CI workflow</li>
<li><a href="347b473a47"><code>347b473</code></a> Test with randomized type layout on nightly</li>
<li>Additional commits viewable in <a href="https://github.com/dtolnay/anyhow/compare/1.0.69...1.0.70">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=anyhow&package-manager=cargo&previous-version=1.0.69&new-version=1.0.70)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] eb900f30e5
build(deps): bump actions/checkout from 3.3.0 to 3.5.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.3.0 to 3.5.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.3.0...v3.5.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] 9453b77ba5
Merge #1335
1335: build(deps): bump reqwest from 0.11.14 to 0.11.15 r=delta1 a=dependabot[bot]

Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.11.14 to 0.11.15.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/seanmonstar/reqwest/releases">reqwest's releases</a>.</em></p>
<blockquote>
<h2>v0.11.15</h2>
<h2>What's Changed</h2>
<ul>
<li>Add <code>RequestBuilder</code> methods to split and reconstruct from its parts.</li>
<li>Add experimental HTTP/3 support. 🧪3️🎉</li>
<li>Fix <code>connection_verbose</code> to log <code>write_vectored</code> calls.</li>
<li>(wasm) Make requests actually cancel if the future is dropped.</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/jneem"><code>`@​jneem</code></a>` made their first contribution in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/1755">seanmonstar/reqwest#1755</a></li>
<li><a href="https://github.com/TurnOfACard"><code>`@​TurnOfACard</code></a>` made their first contribution in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/1762">seanmonstar/reqwest#1762</a></li>
<li><a href="https://github.com/j7nw4r"><code>`@​j7nw4r</code></a>` made their first contribution in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/1765">seanmonstar/reqwest#1765</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/seanmonstar/reqwest/compare/v0.11.14...v0.11.15">https://github.com/seanmonstar/reqwest/compare/v0.11.14...v0.11.15</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md">reqwest's changelog</a>.</em></p>
<blockquote>
<h2>v0.11.15</h2>
<ul>
<li>Add <code>RequestBuilder</code> methods to split and reconstruct from its parts.</li>
<li>Add experimental HTTP/3 support.</li>
<li>Fix <code>connection_verbose</code> to log <code>write_vectored</code> calls.</li>
<li>(wasm) Make requests actually cancel if the future is dropped.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="56190bd4c5"><code>56190bd</code></a> v0.11.15</li>
<li><a href="df2b3baadc"><code>df2b3ba</code></a> wasm: fix premature abort for streaming bodies (<a href="https://redirect.github.com/seanmonstar/reqwest/issues/1782">#1782</a>)</li>
<li><a href="4db868b412"><code>4db868b</code></a> Make HTTP/3 feature more unstable (<a href="https://redirect.github.com/seanmonstar/reqwest/issues/1780">#1780</a>)</li>
<li><a href="57a8a01e4a"><code>57a8a01</code></a> Add Experimental HTTP/3 Support (<a href="https://redirect.github.com/seanmonstar/reqwest/issues/1599">#1599</a>)</li>
<li><a href="119366e957"><code>119366e</code></a> async/request: add methods to split and reassemble a RequestBuilder (<a href="https://redirect.github.com/seanmonstar/reqwest/issues/1770">#1770</a>)</li>
<li><a href="673449aa82"><code>673449a</code></a> docs: fix wording on main docs page (<a href="https://redirect.github.com/seanmonstar/reqwest/issues/1765">#1765</a>)</li>
<li><a href="c2ac875c36"><code>c2ac875</code></a> Clarify the documentation to show that get will fail if the total download ti...</li>
<li><a href="bb8fec4782"><code>bb8fec4</code></a> Make wasm requests cancel when the future drops. (<a href="https://redirect.github.com/seanmonstar/reqwest/issues/1755">#1755</a>)</li>
<li><a href="bdd4db0244"><code>bdd4db0</code></a> Fix <code>connection_verbose</code> to log write_vectored calls (<a href="https://redirect.github.com/seanmonstar/reqwest/issues/1737">#1737</a>)</li>
<li>See full diff in <a href="https://github.com/seanmonstar/reqwest/compare/v0.11.14...v0.11.15">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=reqwest&package-manager=cargo&previous-version=0.11.14&new-version=0.11.15)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] b475208a9f
build(deps): bump reqwest from 0.11.14 to 0.11.15
Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.11.14 to 0.11.15.
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.11.14...v0.11.15)

---
updated-dependencies:
- dependency-name: reqwest
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] d6e0f2d379
build(deps): bump thiserror from 1.0.39 to 1.0.40
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.39 to 1.0.40.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.39...1.0.40)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] 559292498f
build(deps): bump anyhow from 1.0.69 to 1.0.70
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.69 to 1.0.70.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.69...1.0.70)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] 03e0e92840
Merge #1320 #1321 #1322 #1323
1320: build(deps): bump hyper from 0.14.24 to 0.14.25 r=delta1 a=dependabot[bot]

Bumps [hyper](https://github.com/hyperium/hyper) from 0.14.24 to 0.14.25.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/hyperium/hyper/releases">hyper's releases</a>.</em></p>
<blockquote>
<h2>v0.14.25</h2>
<h2>Features</h2>
<ul>
<li><strong>client:</strong>
<ul>
<li>deprecate <code>client::conn</code> types (<a href="https://redirect.github.com/hyperium/hyper/issues/3156">#3156</a>) (<a href="0ced15d3cc">0ced15d3</a>)</li>
<li>add 1.0 compatible client conn API  (<a href="https://redirect.github.com/hyperium/hyper/issues/3155">#3155</a>) (<a href="253cc74d86">253cc74d</a>, closes <a href="https://redirect.github.com/hyperium/hyper/issues/3053">#3053</a>)</li>
<li>add <code>client::connect::capture_connection()</code> (<a href="https://redirect.github.com/hyperium/hyper/issues/3144">#3144</a>) (<a href="c8493399b2">c8493399</a>)</li>
<li>add <code>poison</code> to <code>Connected</code> (<a href="https://redirect.github.com/hyperium/hyper/issues/3145">#3145</a>) (<a href="37ed5a2e3c">37ed5a2e</a>)</li>
</ul>
</li>
<li><strong>server:</strong>
<ul>
<li>deprecate server conn structs (<a href="https://redirect.github.com/hyperium/hyper/issues/3161">#3161</a>) (<a href="02fe20f232">02fe20f2</a>)</li>
<li>backport the split server conn modules from 1.0 (<a href="https://redirect.github.com/hyperium/hyper/issues/3102">#3102</a>) (<a href="84881c9e51">84881c9e</a>, closes <a href="https://redirect.github.com/hyperium/hyper/issues/3079">#3079</a>)</li>
<li>remove some <code>Unpin</code> and <code>'static</code> constraints (<a href="https://redirect.github.com/hyperium/hyper/issues/3119">#3119</a>) (<a href="0368a41a6c">0368a41a</a>)</li>
</ul>
</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/rcoh"><code>`@​rcoh</code></a>` made their first contribution in <a href="https://redirect.github.com/hyperium/hyper/pull/3145">hyperium/hyper#3145</a></li>
<li><a href="https://github.com/iamwwc"><code>`@​iamwwc</code></a>` made their first contribution in <a href="https://redirect.github.com/hyperium/hyper/pull/3119">hyperium/hyper#3119</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/hyperium/hyper/blob/v0.14.25/CHANGELOG.md">hyper's changelog</a>.</em></p>
<blockquote>
<h3>v0.14.25 (2023-03-10)</h3>
<h4>Features</h4>
<ul>
<li><strong>client:</strong>
<ul>
<li>deprecate <code>client::conn</code> types (<a href="https://redirect.github.com/hyperium/hyper/issues/3156">#3156</a>) (<a href="0ced15d3cc">0ced15d3</a>)</li>
<li>add 1.0 compatible client conn API  (<a href="https://redirect.github.com/hyperium/hyper/issues/3155">#3155</a>) (<a href="253cc74d86">253cc74d</a>, closes <a href="https://redirect.github.com/hyperium/hyper/issues/3053">#3053</a>)</li>
<li>add <code>client::connect::capture_connection()</code> (<a href="https://redirect.github.com/hyperium/hyper/issues/3144">#3144</a>) (<a href="c8493399b2">c8493399</a>)</li>
<li>add <code>poison</code> to <code>Connected</code> (<a href="https://redirect.github.com/hyperium/hyper/issues/3145">#3145</a>) (<a href="37ed5a2e3c">37ed5a2e</a>)</li>
</ul>
</li>
<li><strong>server:</strong>
<ul>
<li>deprecate server conn structs (<a href="https://redirect.github.com/hyperium/hyper/issues/3161">#3161</a>) (<a href="02fe20f232">02fe20f2</a>)</li>
<li>backport the split server conn modules from 1.0 (<a href="https://redirect.github.com/hyperium/hyper/issues/3102">#3102</a>) (<a href="84881c9e51">84881c9e</a>, closes <a href="https://redirect.github.com/hyperium/hyper/issues/3079">#3079</a>)</li>
<li>remove some <code>Unpin</code> and <code>'static</code> constraints (<a href="https://redirect.github.com/hyperium/hyper/issues/3119">#3119</a>) (<a href="0368a41a6c">0368a41a</a>)</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="a9d4e8321c"><code>a9d4e83</code></a> v0.14.25</li>
<li><a href="645db19125"><code>645db19</code></a> docs(lib): document backport and deprecated features (<a href="https://redirect.github.com/hyperium/hyper/issues/3166">#3166</a>)</li>
<li><a href="fc111eb332"><code>fc111eb</code></a> chore(ci): test deprecations in CI (<a href="https://redirect.github.com/hyperium/hyper/issues/3162">#3162</a>)</li>
<li><a href="86bc7505c8"><code>86bc750</code></a> refactor(server): allow deprecated in the server module (<a href="https://redirect.github.com/hyperium/hyper/issues/3165">#3165</a>)</li>
<li><a href="02fe20f232"><code>02fe20f</code></a> feat(server): deprecate server conn structs (<a href="https://redirect.github.com/hyperium/hyper/issues/3161">#3161</a>)</li>
<li><a href="84881c9e51"><code>84881c9</code></a> feat(server): backport the split server conn modules from 1.0 (<a href="https://redirect.github.com/hyperium/hyper/issues/3102">#3102</a>)</li>
<li><a href="0368a41a6c"><code>0368a41</code></a> feat(server): remove some <code>Unpin</code> and <code>'static</code> constraints (<a href="https://redirect.github.com/hyperium/hyper/issues/3119">#3119</a>)</li>
<li><a href="0ced15d3cc"><code>0ced15d</code></a> feat(client): deprecate <code>client::conn</code> types (<a href="https://redirect.github.com/hyperium/hyper/issues/3156">#3156</a>)</li>
<li><a href="253cc74d86"><code>253cc74</code></a> feat(client): add 1.0 compatible client conn API  (<a href="https://redirect.github.com/hyperium/hyper/issues/3155">#3155</a>)</li>
<li><a href="c8493399b2"><code>c849339</code></a> feat(client): add <code>client::connect::capture_connection()</code> (<a href="https://redirect.github.com/hyperium/hyper/issues/3144">#3144</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/hyperium/hyper/compare/v0.14.24...v0.14.25">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=hyper&package-manager=cargo&previous-version=0.14.24&new-version=0.14.25)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1321: build(deps): bump rust_decimal from 1.28.1 to 1.29.0 r=delta1 a=dependabot[bot]

Bumps [rust_decimal](https://github.com/paupino/rust-decimal) from 1.28.1 to 1.29.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/paupino/rust-decimal/blob/master/CHANGELOG.md">rust_decimal's changelog</a>.</em></p>
<blockquote>
<h2>1.29.0</h2>
<h3>Added</h3>
<ul>
<li>New <code>trunc_with_scale</code> function which allows you to truncate a decimal number whilst retaining a specified precision. (<a href="https://redirect.github.com/paupino/rust-decimal/pull/576">#576</a>), (<a href="https://redirect.github.com/paupino/rust-decimal/pull/578">#578</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fix issue when rouding using a high precision decimal place on zero values. This would previously allow the <code>Decimal</code> number to enter into an invalid state. (<a href="https://redirect.github.com/paupino/rust-decimal/pull/575">#575</a>)</li>
</ul>
<h3>Changed</h3>
<p>There were also a couple of housekeeping tasks, to help pave the way for v2 of Rust Decimal.</p>
<ul>
<li>Clean up features so that they are explicit in the <code>cargo.toml</code> and leverage the new <code>dep:</code> syntax where required. (<a href="https://redirect.github.com/paupino/rust-decimal/pull/579">#579</a>)</li>
<li>Restructure and compartamentalize Makefile. (<a href="https://redirect.github.com/paupino/rust-decimal/pull/580">#580</a>)</li>
</ul>
<h3>Credit</h3>
<p>Thank you <a href="https://github.com/c410-f3r"><code>`@​c410-f3r</code></a>` and <a href="https://github.com/jon-chuang"><code>`@​jon-chuang</code></a>` for your contributions to this release!</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="7b85dea8f7"><code>7b85dea</code></a> Version 1.29 (<a href="https://redirect.github.com/paupino/rust-decimal/issues/581">#581</a>)</li>
<li><a href="571ad60125"><code>571ad60</code></a> Restructure Makefile for easier navigation (<a href="https://redirect.github.com/paupino/rust-decimal/issues/580">#580</a>)</li>
<li><a href="4edfca78c1"><code>4edfca7</code></a> Use explict features and dependencies (<a href="https://redirect.github.com/paupino/rust-decimal/issues/579">#579</a>)</li>
<li><a href="d6e5ad45e7"><code>d6e5ad4</code></a> Refactor truncate to allow for a shared code path (<a href="https://redirect.github.com/paupino/rust-decimal/issues/578">#578</a>)</li>
<li><a href="e4b5c514f2"><code>e4b5c51</code></a> Introduce <code>trunc_with_scale</code> (<a href="https://redirect.github.com/paupino/rust-decimal/issues/576">#576</a>)</li>
<li><a href="c205456643"><code>c205456</code></a> fix: decimal round_dp on zero with too large dp (<a href="https://redirect.github.com/paupino/rust-decimal/issues/575">#575</a>)</li>
<li>See full diff in <a href="https://github.com/paupino/rust-decimal/compare/1.28.1...1.29.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rust_decimal&package-manager=cargo&previous-version=1.28.1&new-version=1.29.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1322: build(deps): bump futures from 0.3.26 to 0.3.27 r=delta1 a=dependabot[bot]

Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.26 to 0.3.27.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/rust-lang/futures-rs/releases">futures's releases</a>.</em></p>
<blockquote>
<h2>0.3.27</h2>
<ul>
<li>Add <code>TryFlattenUnordered</code> (<a href="https://redirect.github.com/rust-lang/futures-rs/issues/2577">#2577</a>, <a href="https://redirect.github.com/rust-lang/futures-rs/issues/2590">#2590</a>, <a href="https://redirect.github.com/rust-lang/futures-rs/issues/2606">#2606</a>, <a href="https://redirect.github.com/rust-lang/futures-rs/issues/2607">#2607</a>)</li>
<li>Add <code>AbortHandle::is_aborted</code> (<a href="https://redirect.github.com/rust-lang/futures-rs/issues/2710">#2710</a>)</li>
<li>Add <code>AbortRegistration::handle</code> (<a href="https://redirect.github.com/rust-lang/futures-rs/issues/2712">#2712</a>)</li>
<li>Make <code>BiLock</code> strict-provenance compatible (<a href="https://redirect.github.com/rust-lang/futures-rs/issues/2716">#2716</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md">futures's changelog</a>.</em></p>
<blockquote>
<h1>0.3.27 - 2023-03-11</h1>
<ul>
<li>Add <code>TryFlattenUnordered</code> (<a href="https://redirect.github.com/rust-lang/futures-rs/issues/2577">#2577</a>, <a href="https://redirect.github.com/rust-lang/futures-rs/issues/2590">#2590</a>, <a href="https://redirect.github.com/rust-lang/futures-rs/issues/2606">#2606</a>, <a href="https://redirect.github.com/rust-lang/futures-rs/issues/2607">#2607</a>)</li>
<li>Add <code>AbortHandle::is_aborted</code> (<a href="https://redirect.github.com/rust-lang/futures-rs/issues/2710">#2710</a>)</li>
<li>Add <code>AbortRegistration::handle</code> (<a href="https://redirect.github.com/rust-lang/futures-rs/issues/2712">#2712</a>)</li>
<li>Make <code>BiLock</code> strict-provenance compatible (<a href="https://redirect.github.com/rust-lang/futures-rs/issues/2716">#2716</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="cfc501c9c7"><code>cfc501c</code></a> Release 0.3.27</li>
<li><a href="335b43173f"><code>335b431</code></a> Automatically cancel outdated CI runs on PR</li>
<li><a href="4b9dddf220"><code>4b9dddf</code></a> Remove dead code</li>
<li><a href="d1acf08852"><code>d1acf08</code></a> tests: restore disabled tests and benches for BiLock (<a href="https://redirect.github.com/rust-lang/futures-rs/issues/2715">#2715</a>)</li>
<li><a href="0ffaaa0859"><code>0ffaaa0</code></a> Make BiLock strict-provenance compatible (<a href="https://redirect.github.com/rust-lang/futures-rs/issues/2716">#2716</a>)</li>
<li><a href="4266221ae0"><code>4266221</code></a> Add AbortRegistration::handle (<a href="https://redirect.github.com/rust-lang/futures-rs/issues/2712">#2712</a>)</li>
<li><a href="9c44e14810"><code>9c44e14</code></a> add AbortHandle::is_aborted() (<a href="https://redirect.github.com/rust-lang/futures-rs/issues/2710">#2710</a>)</li>
<li><a href="5b64af3f38"><code>5b64af3</code></a> Ensure unreachable branch is eliminated (<a href="https://redirect.github.com/rust-lang/futures-rs/issues/2708">#2708</a>)</li>
<li><a href="bc85d233fe"><code>bc85d23</code></a> Simplify Fuse::poll to use a match expression instead of <code>return</code> (<a href="https://redirect.github.com/rust-lang/futures-rs/issues/2694">#2694</a>)</li>
<li><a href="b0d2c56e94"><code>b0d2c56</code></a> Poll <code>Select</code> futures without moving them (<a href="https://redirect.github.com/rust-lang/futures-rs/issues/2704">#2704</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/rust-lang/futures-rs/compare/0.3.26...0.3.27">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=futures&package-manager=cargo&previous-version=0.3.26&new-version=0.3.27)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1323: build(deps): bump rust_decimal_macros from 1.28.1 to 1.29.0 r=delta1 a=dependabot[bot]

Bumps [rust_decimal_macros](https://github.com/paupino/rust-decimal) from 1.28.1 to 1.29.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/paupino/rust-decimal/blob/master/CHANGELOG.md">rust_decimal_macros's changelog</a>.</em></p>
<blockquote>
<h2>1.29.0</h2>
<h3>Added</h3>
<ul>
<li>New <code>trunc_with_scale</code> function which allows you to truncate a decimal number whilst retaining a specified precision. (<a href="https://redirect.github.com/paupino/rust-decimal/pull/576">#576</a>), (<a href="https://redirect.github.com/paupino/rust-decimal/pull/578">#578</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fix issue when rouding using a high precision decimal place on zero values. This would previously allow the <code>Decimal</code> number to enter into an invalid state. (<a href="https://redirect.github.com/paupino/rust-decimal/pull/575">#575</a>)</li>
</ul>
<h3>Changed</h3>
<p>There were also a couple of housekeeping tasks, to help pave the way for v2 of Rust Decimal.</p>
<ul>
<li>Clean up features so that they are explicit in the <code>cargo.toml</code> and leverage the new <code>dep:</code> syntax where required. (<a href="https://redirect.github.com/paupino/rust-decimal/pull/579">#579</a>)</li>
<li>Restructure and compartamentalize Makefile. (<a href="https://redirect.github.com/paupino/rust-decimal/pull/580">#580</a>)</li>
</ul>
<h3>Credit</h3>
<p>Thank you <a href="https://github.com/c410-f3r"><code>`@​c410-f3r</code></a>` and <a href="https://github.com/jon-chuang"><code>`@​jon-chuang</code></a>` for your contributions to this release!</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="7b85dea8f7"><code>7b85dea</code></a> Version 1.29 (<a href="https://redirect.github.com/paupino/rust-decimal/issues/581">#581</a>)</li>
<li><a href="571ad60125"><code>571ad60</code></a> Restructure Makefile for easier navigation (<a href="https://redirect.github.com/paupino/rust-decimal/issues/580">#580</a>)</li>
<li><a href="4edfca78c1"><code>4edfca7</code></a> Use explict features and dependencies (<a href="https://redirect.github.com/paupino/rust-decimal/issues/579">#579</a>)</li>
<li><a href="d6e5ad45e7"><code>d6e5ad4</code></a> Refactor truncate to allow for a shared code path (<a href="https://redirect.github.com/paupino/rust-decimal/issues/578">#578</a>)</li>
<li><a href="e4b5c514f2"><code>e4b5c51</code></a> Introduce <code>trunc_with_scale</code> (<a href="https://redirect.github.com/paupino/rust-decimal/issues/576">#576</a>)</li>
<li><a href="c205456643"><code>c205456</code></a> fix: decimal round_dp on zero with too large dp (<a href="https://redirect.github.com/paupino/rust-decimal/issues/575">#575</a>)</li>
<li>See full diff in <a href="https://github.com/paupino/rust-decimal/compare/1.28.1...1.29.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rust_decimal_macros&package-manager=cargo&previous-version=1.28.1&new-version=1.29.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
bors[bot] d14a444b57
Merge #1325
1325: build(deps): bump serde from 1.0.154 to 1.0.156 r=delta1 a=dependabot[bot]

Bumps [serde](https://github.com/serde-rs/serde) from 1.0.154 to 1.0.156.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/serde/releases">serde's releases</a>.</em></p>
<blockquote>
<h2>v1.0.156</h2>
<ul>
<li>Documentation improvements</li>
</ul>
<h2>v1.0.155</h2>
<ul>
<li>Support <code>Serialize</code> and <code>Deserialize</code> impls for <code>core::ffi::CStr</code> and <code>alloc::ffi::CString</code> without &quot;std&quot; feature (<a href="https://redirect.github.com/serde-rs/serde/issues/2374">#2374</a>, thanks <a href="https://github.com/safarir"><code>`@​safarir</code></a>)</li>`
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="54671259aa"><code>5467125</code></a> Release 1.0.156</li>
<li><a href="994f7c7924"><code>994f7c7</code></a> Format with rustfmt 1.5.2-nightly</li>
<li><a href="7a8e4977e2"><code>7a8e497</code></a> Merge pull request <a href="https://redirect.github.com/serde-rs/serde/issues/2401">#2401</a> from dtolnay/docderive</li>
<li><a href="fb7b6ea7ea"><code>fb7b6ea</code></a> Enable serde derive feature when built by docs.rs</li>
<li><a href="063dd5b93f"><code>063dd5b</code></a> Show derive macros in serde's rustdoc</li>
<li><a href="a38aa31ade"><code>a38aa31</code></a> Merge pull request <a href="https://redirect.github.com/serde-rs/serde/issues/2400">#2400</a> from Nilstrieb/explicit-reexport</li>
<li><a href="f42b2581da"><code>f42b258</code></a> Use explicit re-export of <code>serde_derive</code> to give rustc more info</li>
<li><a href="2ba406726f"><code>2ba4067</code></a> Release 1.0.155</li>
<li><a href="7e9826e17b"><code>7e9826e</code></a> Add link to core CStr stabilization announcement</li>
<li><a href="f4dcc5c918"><code>f4dcc5c</code></a> Merge pull request <a href="https://redirect.github.com/serde-rs/serde/issues/2374">#2374</a> from safarir/master</li>
<li>Additional commits viewable in <a href="https://github.com/serde-rs/serde/compare/v1.0.154...v1.0.156">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde&package-manager=cargo&previous-version=1.0.154&new-version=1.0.156)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] 0d70cd8d02
build(deps): bump rust_decimal_macros from 1.28.1 to 1.29.0
Bumps [rust_decimal_macros](https://github.com/paupino/rust-decimal) from 1.28.1 to 1.29.0.
- [Release notes](https://github.com/paupino/rust-decimal/releases)
- [Changelog](https://github.com/paupino/rust-decimal/blob/master/CHANGELOG.md)
- [Commits](https://github.com/paupino/rust-decimal/compare/1.28.1...1.29.0)

---
updated-dependencies:
- dependency-name: rust_decimal_macros
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] eb2818da57
build(deps): bump futures from 0.3.26 to 0.3.27
Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.26 to 0.3.27.
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.26...0.3.27)

---
updated-dependencies:
- dependency-name: futures
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] c176bef555
build(deps): bump rust_decimal from 1.28.1 to 1.29.0
Bumps [rust_decimal](https://github.com/paupino/rust-decimal) from 1.28.1 to 1.29.0.
- [Release notes](https://github.com/paupino/rust-decimal/releases)
- [Changelog](https://github.com/paupino/rust-decimal/blob/master/CHANGELOG.md)
- [Commits](https://github.com/paupino/rust-decimal/compare/1.28.1...1.29.0)

---
updated-dependencies:
- dependency-name: rust_decimal
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] c788094e4a
build(deps): bump hyper from 0.14.24 to 0.14.25
Bumps [hyper](https://github.com/hyperium/hyper) from 0.14.24 to 0.14.25.
- [Release notes](https://github.com/hyperium/hyper/releases)
- [Changelog](https://github.com/hyperium/hyper/blob/v0.14.25/CHANGELOG.md)
- [Commits](https://github.com/hyperium/hyper/compare/v0.14.24...v0.14.25)

---
updated-dependencies:
- dependency-name: hyper
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] 1723ddf133
build(deps): bump serde from 1.0.154 to 1.0.156
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.154 to 1.0.156.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.154...v1.0.156)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] 4520c1f87c
Merge #1326
1326: chore: fix dprint config and run fmt r=delta1 a=delta1

Recent dprint changes broke the static analysis CI job 

See: https://github.com/dprint/dprint/issues/656

Co-authored-by: Byron Hambly <bhambly@blockstream.com>
1 year ago
Byron Hambly 00cfce57c7
chore: fix dprint config and run fmt 1 year ago
bors[bot] 31914bc1ed
Merge #1318
1318: build(deps): bump serde from 1.0.152 to 1.0.154 r=delta1 a=dependabot[bot]

Bumps [serde](https://github.com/serde-rs/serde) from 1.0.152 to 1.0.154.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/serde/releases">serde's releases</a>.</em></p>
<blockquote>
<h2>v1.0.154</h2>
<ul>
<li>Fix &quot;undeclared lifetime&quot; error in generated code when deriving Deserialize for an enum with both <code>flatten</code> and <code>'static</code> fields (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2383">#2383</a>, thanks <a href="https://github.com/Mingun"><code>`@​Mingun</code></a>)</li>`
</ul>
<h2>v1.0.153</h2>
<ul>
<li>Support <code>serde(alias = &quot;…&quot;)</code> attribute used inside of flattened struct (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2387">#2387</a>, thanks <a href="https://github.com/bebecue"><code>`@​bebecue</code></a>)</li>`
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="6a5da85fcd"><code>6a5da85</code></a> Release 1.0.154</li>
<li><a href="0750eee4ff"><code>0750eee</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2383">#2383</a> from Mingun/fix-flatten+static</li>
<li><a href="ef551a517c"><code>ef551a5</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2389">#2389</a> from dtolnay/trimstart</li>
<li><a href="1c5ea24f76"><code>1c5ea24</code></a> Replace use of deprecated trim_left_matches with trim_start_matches</li>
<li><a href="88d73e5250"><code>88d73e5</code></a> Format PR 2387 with rustfmt</li>
<li><a href="1ff2a972c6"><code>1ff2a97</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2388">#2388</a> from serde-rs/exhaustivepatterns</li>
<li><a href="bb72fe2726"><code>bb72fe2</code></a> Update the comment on simpler exhaustive matching in derive</li>
<li><a href="e50b14afee"><code>e50b14a</code></a> Release 1.0.153</li>
<li><a href="cbd1cbef07"><code>cbd1cbe</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2387">#2387</a> from bebecue/fix-1504</li>
<li><a href="01da3f79c9"><code>01da3f7</code></a> Add tests for <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2387">#2387</a></li>
<li>Additional commits viewable in <a href="https://github.com/serde-rs/serde/compare/v1.0.152...v1.0.154">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde&package-manager=cargo&previous-version=1.0.152&new-version=1.0.154)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] e75f589915
build(deps): bump serde from 1.0.152 to 1.0.154
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.152 to 1.0.154.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.152...v1.0.154)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] 5eccc3b7fc
Merge #1312 #1315 #1316
1312: build(deps): bump async-trait from 0.1.64 to 0.1.66 r=delta1 a=dependabot[bot]

Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.64 to 0.1.66.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/async-trait/releases">async-trait's releases</a>.</em></p>
<blockquote>
<h2>0.1.66</h2>
<ul>
<li>Set html_root_url attribute</li>
</ul>
<h2>0.1.65</h2>
<ul>
<li>Fix interaction with rustc's single_use_lifetimes lint (<a href="https://github-redirect.dependabot.com/dtolnay/async-trait/issues/238">#238</a>, <a href="https://github-redirect.dependabot.com/dtolnay/async-trait/issues/239">#239</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="9a9b322287"><code>9a9b322</code></a> Release 0.1.66</li>
<li><a href="4cd54b867e"><code>4cd54b8</code></a> Set html_root_url</li>
<li><a href="ccb55b8a15"><code>ccb55b8</code></a> Release 0.1.65</li>
<li><a href="7eea88ba23"><code>7eea88b</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/async-trait/issues/239">#239</a> from dtolnay/singleuse</li>
<li><a href="5883ac897e"><code>5883ac8</code></a> Delete replacement of elided lifetimes in impl heading</li>
<li><a href="f81548d926"><code>f81548d</code></a> Add regression test for issue 238</li>
<li><a href="7937a8900b"><code>7937a89</code></a> Ignore let_underscore_untyped pedantic clippy lint</li>
<li><a href="04e818c2e0"><code>04e818c</code></a> Update ui test suite to nightly-2023-02-25</li>
<li><a href="0bb013ea50"><code>0bb013e</code></a> Show enabling of nightly tests as a CI step</li>
<li><a href="dd45be18fe"><code>dd45be1</code></a> Enable type layout randomization in CI on nightly</li>
<li>Additional commits viewable in <a href="https://github.com/dtolnay/async-trait/compare/0.1.64...0.1.66">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=async-trait&package-manager=cargo&previous-version=0.1.64&new-version=0.1.66)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1315: build(deps): bump serde_json from 1.0.93 to 1.0.94 r=delta1 a=dependabot[bot]

Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.93 to 1.0.94.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p>
<blockquote>
<h2>v1.0.94</h2>
<ul>
<li>Fix message duplication between serde_json::Error's <code>Display</code> and <code>source()</code> (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/991">#991</a>, <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/992">#992</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="a15bd09686"><code>a15bd09</code></a> Release 1.0.94</li>
<li><a href="3e418b13be"><code>3e418b1</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/992">#992</a> from dtolnay/errorsource</li>
<li><a href="7eeb169f9b"><code>7eeb169</code></a> Fix message duplication between error Display and source()</li>
<li><a href="d9447c30eb"><code>d9447c3</code></a> Ignore let_underscore_untyped pedantic clippy lint</li>
<li>See full diff in <a href="https://github.com/serde-rs/json/compare/v1.0.93...v1.0.94">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_json&package-manager=cargo&previous-version=1.0.93&new-version=1.0.94)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1316: build(deps): bump thiserror from 1.0.38 to 1.0.39 r=delta1 a=dependabot[bot]

Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.38 to 1.0.39.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/thiserror/releases">thiserror's releases</a>.</em></p>
<blockquote>
<h2>1.0.39</h2>
<ul>
<li>Set html_root_url attribute</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="f729af95d1"><code>f729af9</code></a> Release 1.0.39</li>
<li><a href="391ec2bc1b"><code>391ec2b</code></a> Set html_root_url</li>
<li><a href="a2d1ed1ccf"><code>a2d1ed1</code></a> Enable type layout randomization in CI on nightly</li>
<li><a href="7aaa03d94a"><code>7aaa03d</code></a> Show enabling of nightly tests as a CI step</li>
<li><a href="0010b0fd96"><code>0010b0f</code></a> Support a manual trigger on CI workflow</li>
<li><a href="920ad73295"><code>920ad73</code></a> Ignore extra_unused_type_parameters clippy lint in test</li>
<li><a href="0d23ebc77a"><code>0d23ebc</code></a> Prevent actions duplication on noop merge commits</li>
<li><a href="c5ce7250fa"><code>c5ce725</code></a> Sync license text with rust-lang repos</li>
<li>See full diff in <a href="https://github.com/dtolnay/thiserror/compare/1.0.38...1.0.39">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=thiserror&package-manager=cargo&previous-version=1.0.38&new-version=1.0.39)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] c5067dc8d7
build(deps): bump thiserror from 1.0.38 to 1.0.39
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.38 to 1.0.39.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.38...1.0.39)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] f5567ebfd7
build(deps): bump serde_json from 1.0.93 to 1.0.94
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.93 to 1.0.94.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.93...v1.0.94)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] 4c59117a00
build(deps): bump async-trait from 0.1.64 to 0.1.66
Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.64 to 0.1.66.
- [Release notes](https://github.com/dtolnay/async-trait/releases)
- [Commits](https://github.com/dtolnay/async-trait/compare/0.1.64...0.1.66)

---
updated-dependencies:
- dependency-name: async-trait
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] f678f43a24
Merge #1309
1309: build(deps): bump tempfile from 3.3.0 to 3.4.0 r=delta1 a=dependabot[bot]

Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.3.0 to 3.4.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/Stebalien/tempfile/blob/master/NEWS">tempfile's changelog</a>.</em></p>
<blockquote>
<h1>3.4.0</h1>
<p>SECURITY: Prior <code>tempfile</code> releases depended on <code>remove_dir_all</code> version 0.5.0 which was vulnerabiel to a <a href="https://github.com/XAMPPRocky/remove_dir_all/security/advisories/GHSA-mc8h-8q98-g5hr">TOCTOU race</a>. This same race is present in rust versions prior to 1.58.1.</p>
<p>Features:</p>
<ul>
<li>Generalized temporary files: <code>NamedTempFile</code> can now abstract over different kinds of files (e.g.,
unix domain sockets, pipes, etc.):
<ul>
<li>Add <code>Builder::make</code> and <code>Builder::make_in</code> for generalized temp file
creation.</li>
<li>Add <code>NamedTempFile::from_parts</code> to complement <code>NamedTempFile::into_parts</code>.</li>
<li>Add generic parameter to <code>NamedTempFile</code> to support wrapping non-File types.</li>
</ul>
</li>
</ul>
<p>Bug Fixes/Improvements:</p>
<ul>
<li>Don't try to create a temporary file multiple times if the file path has been fully specified by
the user (no random characters).</li>
<li><code>NamedTempFile::persist_noclobber</code> is now always atomic on linux when <code>renameat_with</code> is
supported. Previously, it would first link the new path, then unlink the previous path.</li>
<li>Fix compiler warnings on windows.</li>
</ul>
<p>Trivia:</p>
<ul>
<li>Switch from <code>libc</code> to <code>rustix</code> on wasi/unix. This now makes direct syscalls instead of calling
through libc.</li>
<li>Remove <code>remove_dir_all</code> dependency. The rust standard library has optimized their internal version
significantly.</li>
<li>Switch to official windows-sys windows bindings.</li>
</ul>
<p>Breaking:</p>
<ul>
<li>The minimum rust version is now <code>1.48.0</code>.</li>
<li>Mark most functions as <code>must_use</code>.</li>
<li>Uses direct syscalls on linux by default, instead of libc.</li>
<li>The new type parameter in <code>NamedTempFile</code> may lead to type inference issues in some cases.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/Stebalien/tempfile/commits">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tempfile&package-manager=cargo&previous-version=3.3.0&new-version=3.4.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] a23bf2129a
build(deps): bump tempfile from 3.3.0 to 3.4.0
Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.3.0 to 3.4.0.
- [Release notes](https://github.com/Stebalien/tempfile/releases)
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/NEWS)
- [Commits](https://github.com/Stebalien/tempfile/commits)

---
updated-dependencies:
- dependency-name: tempfile
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] c10beaf2d7
Merge #1310
1310: build(deps): bump time from 0.3.19 to 0.3.20 r=delta1 a=dependabot[bot]

Bumps [time](https://github.com/time-rs/time) from 0.3.19 to 0.3.20.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/time-rs/time/releases">time's releases</a>.</em></p>
<blockquote>
<h2>v0.3.20</h2>
<p>See the <a href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">changelog</a> for details.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">time's changelog</a>.</em></p>
<blockquote>
<h2>0.3.20 [2023-02-24]</h2>
<h3>Changed</h3>
<ul>
<li>The minimum supported Rust version is now 1.63.0.</li>
<li>On Unix-based operating systems with known thread-safe environments, functions obtaining the local
offset no longer require a check that the program is single-threaded. This currently includes
MacOS, illumos, and NetBSD.</li>
</ul>
<h3>Added</h3>
<ul>
<li><code>[ignore]</code> component in format descriptions. A <code>count</code> modifier is required, indicating the number
of bytes to ignore when parsing.</li>
<li><code>[unix_timestamp]</code> component in format descriptions. This is currently only usable with
<code>OffsetDateTime</code>. Users can choose between seconds, milliseconds, microseconds, and nanoseconds, and whether the sign is mandatory or optional.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>The API for declaring soundness now uses stricter atomic orderings internally.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="d7c725c422"><code>d7c725c</code></a> v0.3.20 release</li>
<li><a href="91afd54287"><code>91afd54</code></a> Add lock to another test</li>
<li><a href="8dca98c946"><code>8dca98c</code></a> Implement <code>[unix_timestamp]</code> component</li>
<li><a href="d07b394baf"><code>d07b394</code></a> Further split logical and memory offset</li>
<li><a href="0229837518"><code>0229837</code></a> Slightly refactor <code>DateTime</code> internals</li>
<li><a href="1daedfb705"><code>1daedfb</code></a> Add missing test for new error variant</li>
<li><a href="4edf73a035"><code>4edf73a</code></a> Use <code>bug!</code> instead of <code>unreachable!</code></li>
<li><a href="0e82474728"><code>0e82474</code></a> Use <code>explicit_generic_args_with_impl_trait</code></li>
<li><a href="3b6d77f1dc"><code>3b6d77f</code></a> Bump MSRV to 1.63</li>
<li><a href="eb7b60e74e"><code>eb7b60e</code></a> Always test local offset</li>
<li>Additional commits viewable in <a href="https://github.com/time-rs/time/compare/v0.3.19...v0.3.20">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=time&package-manager=cargo&previous-version=0.3.19&new-version=0.3.20)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
bors[bot] 8957f42af3
Merge #1311
1311: readme: fix minor grammar error r=delta1 a=steverusso



Co-authored-by: Steve Russo <steverusso@pm.me>
1 year ago
Steve Russo 4458e00e94 readme: fix minor grammar error 1 year ago
dependabot[bot] 485f6d4a12
build(deps): bump time from 0.3.19 to 0.3.20
Bumps [time](https://github.com/time-rs/time) from 0.3.19 to 0.3.20.
- [Release notes](https://github.com/time-rs/time/releases)
- [Changelog](https://github.com/time-rs/time/blob/main/CHANGELOG.md)
- [Commits](https://github.com/time-rs/time/compare/v0.3.19...v0.3.20)

---
updated-dependencies:
- dependency-name: time
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] f2d2be8572
Merge #1308
1308: build(deps): bump Swatinem/rust-cache from 2.2.0 to 2.2.1 r=delta1 a=dependabot[bot]

Bumps [Swatinem/rust-cache](https://github.com/Swatinem/rust-cache) from 2.2.0 to 2.2.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/Swatinem/rust-cache/releases">Swatinem/rust-cache's releases</a>.</em></p>
<blockquote>
<h2>v2.2.1</h2>
<ul>
<li>Update <code>`@actions/cache</code>` dependency to fix usage of <code>zstd</code> compression.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/Swatinem/rust-cache/blob/master/CHANGELOG.md">Swatinem/rust-cache's changelog</a>.</em></p>
<blockquote>
<h2>2.2.1</h2>
<ul>
<li>Update <code>`@actions/cache</code>` dependency to fix usage of <code>zstd</code> compression.</li>
</ul>
<h2>2.2.0</h2>
<ul>
<li>Add new <code>save-if</code> option to always restore, but only conditionally save the cache.</li>
</ul>
<h2>2.1.0</h2>
<ul>
<li>Only hash <code>Cargo.{lock,toml}</code> files in the configured workspace directories.</li>
</ul>
<h2>2.0.2</h2>
<ul>
<li>Avoid calling <code>cargo metadata</code> on pre-cleanup.</li>
<li>Added <code>prefix-key</code>, <code>cache-directories</code> and <code>cache-targets</code> options.</li>
</ul>
<h2>2.0.1</h2>
<ul>
<li>Primarily just updating dependencies to fix GitHub deprecation notices.</li>
</ul>
<h2>2.0.0</h2>
<ul>
<li>The action code was refactored to allow for caching multiple workspaces and
different <code>target</code> directory layouts.</li>
<li>The <code>working-directory</code> and <code>target-dir</code> input options were replaced by a
single <code>workspaces</code> option that has the form of <code>$workspace -&gt; $target</code>.</li>
<li>Support for considering <code>env-vars</code> as part of the cache key.</li>
<li>The <code>sharedKey</code> input option was renamed to <code>shared-key</code> for consistency.</li>
</ul>
<h2>1.4.0</h2>
<ul>
<li>Clean both <code>debug</code> and <code>release</code> target directories.</li>
</ul>
<h2>1.3.0</h2>
<ul>
<li>Use Rust toolchain file as additional cache key.</li>
<li>Allow for a configurable target-dir.</li>
</ul>
<h2>1.2.0</h2>
<ul>
<li>Cache <code>~/.cargo/bin</code>.</li>
<li>Support for custom <code>$CARGO_HOME</code>.</li>
<li>Add a <code>cache-hit</code> output.</li>
<li>Add a new <code>sharedKey</code> option that overrides the automatic job-name based key.</li>
</ul>
<h2>1.1.0</h2>
<ul>
<li>Add a new <code>working-directory</code> input.</li>
<li>Support caching git dependencies.</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="6fd3edff69"><code>6fd3edf</code></a> 2.2.1</li>
<li><a href="a1c019f71a"><code>a1c019f</code></a> update dependencies and rebuild</li>
<li><a href="664ce0090f"><code>664ce00</code></a> chore: Create check-dist.yml (<a href="https://github-redirect.dependabot.com/Swatinem/rust-cache/issues/96">#96</a>)</li>
<li>See full diff in <a href="https://github.com/Swatinem/rust-cache/compare/v2.2.0...v2.2.1">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Swatinem/rust-cache&package-manager=github_actions&previous-version=2.2.0&new-version=2.2.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] 9b07c4e0b6
build(deps): bump Swatinem/rust-cache from 2.2.0 to 2.2.1
Bumps [Swatinem/rust-cache](https://github.com/Swatinem/rust-cache) from 2.2.0 to 2.2.1.
- [Release notes](https://github.com/Swatinem/rust-cache/releases)
- [Changelog](https://github.com/Swatinem/rust-cache/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Swatinem/rust-cache/compare/v2.2.0...v2.2.1)

---
updated-dependencies:
- dependency-name: Swatinem/rust-cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] e166ca1160
Merge #1307
1307: build(deps): bump bdk from 0.27.0 to 0.27.1 r=delta1 a=dependabot[bot]

Bumps [bdk](https://github.com/bitcoindevkit/bdk) from 0.27.0 to 0.27.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/bitcoindevkit/bdk/releases">bdk's releases</a>.</em></p>
<blockquote>
<h2>Release 0.27.1</h2>
<h3>Summary</h3>
<p>Fixes <a href="https://rustsec.org/advisories/RUSTSEC-2022-0090">RUSTSEC-2022-0090</a>, this issue is only applicable if you are using the optional sqlite database feature.</p>
<h3>Changelog</h3>
<p>Changed</p>
<ul>
<li>Update optional sqlite dependency from 0.27.0 to 0.28.0. <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/issues/867">#867</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/bitcoindevkit/bdk/compare/v0.27.0...v0.27.1">https://github.com/bitcoindevkit/bdk/compare/v0.27.0...v0.27.1</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/bitcoindevkit/bdk/blob/master/CHANGELOG.md">bdk's changelog</a>.</em></p>
<blockquote>
<h2>[v0.27.1]</h2>
<h3>Summary</h3>
<p>Fixes <a href="https://rustsec.org/advisories/RUSTSEC-2022-0090">RUSTSEC-2022-0090</a>, this issue is only applicable if you are using the optional sqlite database feature.</p>
<h3>Changed</h3>
<ul>
<li>Update optional sqlite dependency from 0.27.0 to 0.28.0. <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/issues/867">#867</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="7a8e6609b1"><code>7a8e660</code></a> Bump version to 0.27.1</li>
<li><a href="4ec6f3272e"><code>4ec6f32</code></a> Update rusqlite from 0.27.0 to 0.28.0</li>
<li>See full diff in <a href="https://github.com/bitcoindevkit/bdk/compare/v0.27.0...v0.27.1">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=bdk&package-manager=cargo&previous-version=0.27.0&new-version=0.27.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] 99d847da51
build(deps): bump bdk from 0.27.0 to 0.27.1
Bumps [bdk](https://github.com/bitcoindevkit/bdk) from 0.27.0 to 0.27.1.
- [Release notes](https://github.com/bitcoindevkit/bdk/releases)
- [Changelog](https://github.com/bitcoindevkit/bdk/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bitcoindevkit/bdk/compare/v0.27.0...v0.27.1)

---
updated-dependencies:
- dependency-name: bdk
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] e8ba97bb0d
Merge #1306
1306: build(deps): bump time from 0.3.18 to 0.3.19 r=delta1 a=dependabot[bot]

Bumps [time](https://github.com/time-rs/time) from 0.3.18 to 0.3.19.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/time-rs/time/releases">time's releases</a>.</em></p>
<blockquote>
<h2>v0.3.19</h2>
<p>See the <a href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">changelog</a> for details.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">time's changelog</a>.</em></p>
<blockquote>
<h2>0.3.19 [2022-02-016]</h2>
<h3>Fixed</h3>
<p>This includes the update to the <code>format_description!</code> macro, which was supposed to be included in
0.3.18.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="6afe656a8f"><code>6afe656</code></a> 0.3.19 release</li>
<li>See full diff in <a href="https://github.com/time-rs/time/compare/v0.3.18...v0.3.19">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=time&package-manager=cargo&previous-version=0.3.18&new-version=0.3.19)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] c1f0998b0d
build(deps): bump time from 0.3.18 to 0.3.19
Bumps [time](https://github.com/time-rs/time) from 0.3.18 to 0.3.19.
- [Release notes](https://github.com/time-rs/time/releases)
- [Changelog](https://github.com/time-rs/time/blob/main/CHANGELOG.md)
- [Commits](https://github.com/time-rs/time/compare/v0.3.18...v0.3.19)

---
updated-dependencies:
- dependency-name: time
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] 5cc289abe4
Merge #1305
1305: build(deps): bump time from 0.3.17 to 0.3.18 r=delta1 a=dependabot[bot]

Bumps [time](https://github.com/time-rs/time) from 0.3.17 to 0.3.18.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/time-rs/time/releases">time's releases</a>.</em></p>
<blockquote>
<h2>v0.3.18</h2>
<p>See the <a href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">changelog</a> for details.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">time's changelog</a>.</em></p>
<blockquote>
<h2>0.3.18 [2022-02-16]</h2>
<h3>Changed</h3>
<ul>
<li>The minimum supported Rust version is now 1.62.0.</li>
</ul>
<h3>Added</h3>
<ul>
<li><code>[first]</code> and <code>[optional]</code> items can now be included in format descriptions. To parse this at
runtime, you must use the <code>format_description::parse_owned</code> method.</li>
<li><code>format_description::parse_borrowed</code></li>
<li>An API has been added to opt out of soundness checks for obtaining the local offset. This replaces
the previous, officially unsupported <code>RUSTFLAGS=&quot;--cfg unsound_local_offset&quot;</code>. End users may call
<code>time::util::local_offset::set_soundness(time::util::local_offset::Soundness::Unsound)</code>. This
method is <code>unsafe</code> because it enables undefined behavior if its safety requirements are not
upheld. Note that libraries <strong>must not</strong> set this to <code>Unsound</code>, as it is impossible for a library
to guarantee end users uphold the required invariants.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Correctly parse offset sign when hour is zero. The parse was previously unconditionally positive,
even if the sign indicated otherwise.</li>
<li>Compilation is fixed for WebAssembly.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="3df1120719"><code>3df1120</code></a> 0.3.18 release</li>
<li><a href="9615d56883"><code>9615d56</code></a> Require user to provide version to methods</li>
<li><a href="c45264ca4d"><code>c45264c</code></a> <code>#[derive(Default)]</code> on enums, bump MSRV to 1.62</li>
<li><a href="43862d2945"><code>43862d2</code></a> Run CI on ubuntu-latest</li>
<li><a href="b5c4bc1a5d"><code>b5c4bc1</code></a> Let user invoke UB if they choose</li>
<li><a href="8dfc955c46"><code>8dfc955</code></a> Lints for Rust 1.66</li>
<li><a href="2ef301fb7a"><code>2ef301f</code></a> Fix build status badge (<a href="https://github-redirect.dependabot.com/time-rs/time/issues/534">#534</a>)</li>
<li><a href="09818dae68"><code>09818da</code></a> Silence warning about unused method</li>
<li><a href="beac001c9e"><code>beac001</code></a> Change to <code>version=X</code>, implement for serde helper</li>
<li><a href="581c44a378"><code>581c44a</code></a> Make offset kind uninhabited</li>
<li>Additional commits viewable in <a href="https://github.com/time-rs/time/compare/v0.3.17...v0.3.18">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=time&package-manager=cargo&previous-version=0.3.17&new-version=0.3.18)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] 35cd7ddd4d
build(deps): bump time from 0.3.17 to 0.3.18
Bumps [time](https://github.com/time-rs/time) from 0.3.17 to 0.3.18.
- [Release notes](https://github.com/time-rs/time/releases)
- [Changelog](https://github.com/time-rs/time/blob/main/CHANGELOG.md)
- [Commits](https://github.com/time-rs/time/compare/v0.3.17...v0.3.18)

---
updated-dependencies:
- dependency-name: time
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] dd78ead675
Merge #1304
1304: build(deps): bump bdk from 0.26.0 to 0.27.0 r=delta1 a=dependabot[bot]

Bumps [bdk](https://github.com/bitcoindevkit/bdk) from 0.26.0 to 0.27.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/bitcoindevkit/bdk/releases">bdk's releases</a>.</em></p>
<blockquote>
<h2>Release 0.27.0</h2>
<h3>Summary</h3>
<p>A maintenance release with a bump in project MSRV to 1.57.0, updated dependence and a few developer oriented improvements. Improvements include  better error formatting, don't default to async/await for wasm32 and adding derived PartialEq and Eq on SyncTime.</p>
<h3>Changelog</h3>
<p>Changed</p>
<ul>
<li>Improve display error formatting <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/issues/814">#814</a></li>
<li>Don't default to use async/await on wasm32 <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/issues/831">#831</a></li>
<li>Project MSRV changed from 1.56.1 to 1.57.0 <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/issues/842">#842</a></li>
<li>Update rust-miniscript dependency to latest bug fix release 9.0 <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/issues/844">#844</a></li>
</ul>
<p>Added</p>
<ul>
<li>Derive PartialEq, Eq on SyncTime <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/issues/837">#837</a></li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>Update esplora-client by <a href="https://github.com/rajarshimaitra"><code>`@​rajarshimaitra</code></a>` in <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/pull/830">bitcoindevkit/bdk#830</a></li>
<li>Bump CI Rust stable version to 1.65.0  by <a href="https://github.com/yukibtc"><code>`@​yukibtc</code></a>` in <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/pull/815">bitcoindevkit/bdk#815</a></li>
<li>Bump project MSRV to 1.57.0 by <a href="https://github.com/notmandatory"><code>`@​notmandatory</code></a>` in <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/pull/842">bitcoindevkit/bdk#842</a></li>
<li>Improve display error formatting by <a href="https://github.com/yukibtc"><code>`@​yukibtc</code></a>` in <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/pull/814">bitcoindevkit/bdk#814</a></li>
<li>Don't default to use <code>async</code>/<code>await</code> on <code>wasm32</code> by <a href="https://github.com/tnull"><code>`@​tnull</code></a>` in <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/pull/831">bitcoindevkit/bdk#831</a></li>
<li>Derive <code>PartialEq</code>, <code>Eq</code> on <code>SyncTime</code> by <a href="https://github.com/MaxFangX"><code>`@​MaxFangX</code></a>` in <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/pull/837">bitcoindevkit/bdk#837</a></li>
<li>Document return type of <code>sign</code> method. by <a href="https://github.com/Tibo-lg"><code>`@​Tibo-lg</code></a>` in <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/pull/834">bitcoindevkit/bdk#834</a></li>
<li>Update CHANGELOG and release process by <a href="https://github.com/notmandatory"><code>`@​notmandatory</code></a>` in <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/pull/846">bitcoindevkit/bdk#846</a></li>
<li>Add small clarification to docs by <a href="https://github.com/thunderbiscuit"><code>`@​thunderbiscuit</code></a>` in <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/pull/838">bitcoindevkit/bdk#838</a></li>
<li>Update rust-miniscript to 9.0 by <a href="https://github.com/notmandatory"><code>`@​notmandatory</code></a>` in <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/pull/844">bitcoindevkit/bdk#844</a></li>
<li>Update electrsd to version 0.22 by <a href="https://github.com/notmandatory"><code>`@​notmandatory</code></a>` in <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/pull/847">bitcoindevkit/bdk#847</a></li>
<li>Bump version to 0.27.0 by <a href="https://github.com/notmandatory"><code>`@​notmandatory</code></a>` in <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/pull/852">bitcoindevkit/bdk#852</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/MaxFangX"><code>`@​MaxFangX</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/pull/837">bitcoindevkit/bdk#837</a></li>
<li><a href="https://github.com/Tibo-lg"><code>`@​Tibo-lg</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/pull/834">bitcoindevkit/bdk#834</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/bitcoindevkit/bdk/compare/v0.26.0...v0.27.0">https://github.com/bitcoindevkit/bdk/compare/v0.26.0...v0.27.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/bitcoindevkit/bdk/blob/master/CHANGELOG.md">bdk's changelog</a>.</em></p>
<blockquote>
<h2>[v0.27.0]</h2>
<h3>Summary</h3>
<p>A maintenance release with a bump in project MSRV to 1.57.0, updated dependence and a few developer oriented improvements. Improvements include  better error formatting, don't default to async/await for wasm32 and adding derived PartialEq and Eq on SyncTime.</p>
<h3>Changed</h3>
<ul>
<li>Improve display error formatting <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/issues/814">#814</a></li>
<li>Don't default to use async/await on wasm32 <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/issues/831">#831</a></li>
<li>Project MSRV changed from 1.56.1 to 1.57.0 <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/issues/842">#842</a></li>
<li>Update rust-miniscript dependency to latest bug fix release 9.0 <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/issues/844">#844</a></li>
</ul>
<h3>Added</h3>
<ul>
<li>Derive PartialEq, Eq on SyncTime <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/issues/837">#837</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="553df318ff"><code>553df31</code></a> Bump version to 0.27.0</li>
<li><a href="9e2e6411f2"><code>9e2e641</code></a> Fix ci Dockerfile.ledger</li>
<li><a href="5d48e37926"><code>5d48e37</code></a> Bump version to 0.27.0-rc.1</li>
<li><a href="c2a42493fd"><code>c2a4249</code></a> Merge <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/issues/852">bitcoindevkit/bdk#852</a>: Bump version to 0.27.0</li>
<li><a href="0c2570ae07"><code>0c2570a</code></a> Pin dev-dependency zip to 0.6.3</li>
<li><a href="e83bb7c4dc"><code>e83bb7c</code></a> Bump version to 0.27.0</li>
<li><a href="46273fe72f"><code>46273fe</code></a> Merge <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/issues/847">bitcoindevkit/bdk#847</a>: Update electrsd to version 0.22</li>
<li><a href="0b26fa75dc"><code>0b26fa7</code></a> Merge <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/issues/844">bitcoindevkit/bdk#844</a>: Update rust-miniscript to 9.0</li>
<li><a href="35bbe2beef"><code>35bbe2b</code></a> Merge <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/issues/838">bitcoindevkit/bdk#838</a>: Add small clarification to docs</li>
<li><a href="9e7bad8afa"><code>9e7bad8</code></a> Merge <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/issues/846">bitcoindevkit/bdk#846</a>: Update CHANGELOG and release process</li>
<li>Additional commits viewable in <a href="https://github.com/bitcoindevkit/bdk/compare/v0.26.0...v0.27.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=bdk&package-manager=cargo&previous-version=0.26.0&new-version=0.27.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] 5b40fe30bb
build(deps): bump bdk from 0.26.0 to 0.27.0
Bumps [bdk](https://github.com/bitcoindevkit/bdk) from 0.26.0 to 0.27.0.
- [Release notes](https://github.com/bitcoindevkit/bdk/releases)
- [Changelog](https://github.com/bitcoindevkit/bdk/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bitcoindevkit/bdk/compare/v0.26.0...v0.27.0)

---
updated-dependencies:
- dependency-name: bdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] 927a1810b4
Merge #1300
1300: build(deps): bump vergen from 7.5.0 to 7.5.1 r=delta1 a=dependabot[bot]

Bumps [vergen](https://github.com/rustyhorde/vergen) from 7.5.0 to 7.5.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/rustyhorde/vergen/releases">vergen's releases</a>.</em></p>
<blockquote>
<h2>v7.5.1</h2>
<ul>
<li>Dependency update for <code>git2</code> to pick up security updates.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="b20c9e93ba"><code>b20c9e9</code></a> version bump for next release</li>
<li><a href="242ef6194f"><code>242ef61</code></a> remove unaligned_references lint</li>
<li><a href="4b42868b8e"><code>4b42868</code></a> Updated to trigger on legacy branch</li>
<li><a href="33e2cf2fe5"><code>33e2cf2</code></a> Updated git2 to catch security updates</li>
<li>See full diff in <a href="https://github.com/rustyhorde/vergen/compare/7.5.0...7.5.1">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=vergen&package-manager=cargo&previous-version=7.5.0&new-version=7.5.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
bors[bot] 45a18c55fc
Merge #1301
1301: build(deps): bump serde_json from 1.0.92 to 1.0.93 r=delta1 a=dependabot[bot]

Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.92 to 1.0.93.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p>
<blockquote>
<h2>v1.0.93</h2>
<ul>
<li>Support 128-bit integers in serde_json::to_value (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/982">#982</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="0ebeede28a"><code>0ebeede</code></a> Release 1.0.93</li>
<li><a href="4fd48503de"><code>4fd4850</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/982">#982</a> from serde-rs/integer128tovalue</li>
<li><a href="e3d13cd61a"><code>e3d13cd</code></a> Support 128-bit integers in to_value</li>
<li><a href="f77ad4750f"><code>f77ad47</code></a> Add test of integer128 to_value</li>
<li>See full diff in <a href="https://github.com/serde-rs/json/compare/v1.0.92...v1.0.93">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_json&package-manager=cargo&previous-version=1.0.92&new-version=1.0.93)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] 1496c656b5
build(deps): bump serde_json from 1.0.92 to 1.0.93
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.92 to 1.0.93.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.92...v1.0.93)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] fca5402cc5
build(deps): bump vergen from 7.5.0 to 7.5.1
Bumps [vergen](https://github.com/rustyhorde/vergen) from 7.5.0 to 7.5.1.
- [Release notes](https://github.com/rustyhorde/vergen/releases)
- [Commits](https://github.com/rustyhorde/vergen/compare/7.5.0...7.5.1)

---
updated-dependencies:
- dependency-name: vergen
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] 7a890c5e4c
Merge #1295
1295: build(deps): bump serde_json from 1.0.91 to 1.0.92 r=delta1 a=dependabot[bot]

Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.91 to 1.0.92.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p>
<blockquote>
<h2>v1.0.92</h2>
<ul>
<li>Documentation improvements</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="a9c984f13e"><code>a9c984f</code></a> Release 1.0.92</li>
<li><a href="c42b724c14"><code>c42b724</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/980">#980</a> from serde-rs/docrepr</li>
<li><a href="eaa287cb3a"><code>eaa287c</code></a> Hide repr attribute from documentation</li>
<li><a href="7bc6c86310"><code>7bc6c86</code></a> RawValue -&gt; repr(transparent)</li>
<li><a href="e41ee42d92"><code>e41ee42</code></a> Update indoc dev-dependency to version 2</li>
<li><a href="8cebe89500"><code>8cebe89</code></a> Speed up cargo fuzz CI job</li>
<li><a href="74f510e56d"><code>74f510e</code></a> Sync license text with rust-lang repos</li>
<li><a href="557f45c404"><code>557f45c</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/964">#964</a> from dtolnay/docsrs</li>
<li><a href="9edf7fa9b3"><code>9edf7fa</code></a> Replace docs.serde.rs links with intra-rustdoc links</li>
<li><a href="9947ae606e"><code>9947ae6</code></a> Point documentation links to docs.rs instead of docs.serde.rs</li>
<li>See full diff in <a href="https://github.com/serde-rs/json/compare/v1.0.91...v1.0.92">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_json&package-manager=cargo&previous-version=1.0.91&new-version=1.0.92)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
bors[bot] 6f189b3ecd
Merge #1294
1294: build(deps): bump proptest from 1.0.0 to 1.1.0 r=delta1 a=dependabot[bot]

Bumps [proptest](https://github.com/proptest-rs/proptest) from 1.0.0 to 1.1.0.
<details>
<summary>Commits</summary>
<ul>
<li><a href="75c749ee50"><code>75c749e</code></a> bump version to 1.1.0</li>
<li><a href="a7c75a1bcb"><code>a7c75a1</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/proptest-rs/proptest/issues/295">#295</a> from proptest-rs/replays-dont-count-cases</li>
<li><a href="a854d2ed7a"><code>a854d2e</code></a> [replays-dont-count-cases] persisted failures are not counted against success...</li>
<li><a href="f8eff50603"><code>f8eff50</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/proptest-rs/proptest/issues/291">#291</a> from schuelermine/fix/prop_assert_ne!</li>
<li><a href="d38268304c"><code>d382683</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/proptest-rs/proptest/issues/294">#294</a> from proptest-rs/fix-ci</li>
<li><a href="ad0a4d311c"><code>ad0a4d3</code></a> [fix-ci] changed the line for where the error occurs</li>
<li><a href="00f29af8e8"><code>00f29af</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/proptest-rs/proptest/issues/288">#288</a> from proptest-rs/const-generic-arbitrary</li>
<li><a href="a16853f4fc"><code>a16853f</code></a> Fix prop_assert_ne! requiring import of prop_assert!</li>
<li><a href="b513a32c72"><code>b513a32</code></a> Config : support disabling failure persistence via env var (<a href="https://github-redirect.dependabot.com/proptest-rs/proptest/issues/287">#287</a>)</li>
<li><a href="7a94e16589"><code>7a94e16</code></a> note that PROPTEST_CASES and other env var requires the std feature (<a href="https://github-redirect.dependabot.com/proptest-rs/proptest/issues/262">#262</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/proptest-rs/proptest/compare/1.0.0...v1.1.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=proptest&package-manager=cargo&previous-version=1.0.0&new-version=1.1.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
bors[bot] fd5775db40
Merge #1296 #1297 #1298
1296: build(deps): bump rust_decimal_macros from 1.28.0 to 1.28.1 r=delta1 a=dependabot[bot]

Bumps [rust_decimal_macros](https://github.com/paupino/rust-decimal) from 1.28.0 to 1.28.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/paupino/rust-decimal/blob/master/CHANGELOG.md">rust_decimal_macros's changelog</a>.</em></p>
<blockquote>
<h2>1.28.1</h2>
<h3>Fixed</h3>
<ul>
<li>Bumped <code>borsh</code> and <code>criterion</code> dependencies to the latest versions. (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/pull/568">#568</a>)</li>
<li>Removed erroneous debug statements in <code>serde-with-str</code> feature. (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/pull/571">#571</a>)</li>
</ul>
<p>Thanks <a href="https://github.com/attila-lin"><code>`@​attila-lin</code></a>` for your help bumping dependencies.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="84f59436b0"><code>84f5943</code></a> Version 1.28.1 (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/572">#572</a>)</li>
<li><a href="7935895faf"><code>7935895</code></a> Remove debug statements and add lint (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/571">#571</a>)</li>
<li><a href="7675f6df94"><code>7675f6d</code></a> chore: bump <code>borsh</code> and <code>criterion</code> (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/568">#568</a>)</li>
<li>See full diff in <a href="https://github.com/paupino/rust-decimal/compare/1.28.0...1.28.1">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rust_decimal_macros&package-manager=cargo&previous-version=1.28.0&new-version=1.28.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1297: build(deps): bump anyhow from 1.0.68 to 1.0.69 r=delta1 a=dependabot[bot]

Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.68 to 1.0.69.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/anyhow/releases">anyhow's releases</a>.</em></p>
<blockquote>
<h2>1.0.69</h2>
<ul>
<li>Documentation improvements</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="58377abfea"><code>58377ab</code></a> Release 1.0.69</li>
<li><a href="f65b087b52"><code>f65b087</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/anyhow/issues/295">#295</a> from dtolnay/docrepr</li>
<li><a href="10370e94a1"><code>10370e9</code></a> Hide repr attribute from documentation</li>
<li><a href="cf2adb47a1"><code>cf2adb4</code></a> Raise minimum toolchain for the backtrace feature to 1.60</li>
<li><a href="0a45d7665c"><code>0a45d76</code></a> Prevent actions duplication on noop merge commits</li>
<li><a href="3d91f13dcd"><code>3d91f13</code></a> Sync license text with rust-lang repos</li>
<li><a href="ed1327fbab"><code>ed1327f</code></a> Ignore redundant_clone lint on test testing clone</li>
<li>See full diff in <a href="https://github.com/dtolnay/anyhow/compare/1.0.68...1.0.69">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=anyhow&package-manager=cargo&previous-version=1.0.68&new-version=1.0.69)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1298: build(deps): bump rust_decimal from 1.28.0 to 1.28.1 r=delta1 a=dependabot[bot]

Bumps [rust_decimal](https://github.com/paupino/rust-decimal) from 1.28.0 to 1.28.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/paupino/rust-decimal/blob/master/CHANGELOG.md">rust_decimal's changelog</a>.</em></p>
<blockquote>
<h2>1.28.1</h2>
<h3>Fixed</h3>
<ul>
<li>Bumped <code>borsh</code> and <code>criterion</code> dependencies to the latest versions. (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/pull/568">#568</a>)</li>
<li>Removed erroneous debug statements in <code>serde-with-str</code> feature. (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/pull/571">#571</a>)</li>
</ul>
<p>Thanks <a href="https://github.com/attila-lin"><code>`@​attila-lin</code></a>` for your help bumping dependencies.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="84f59436b0"><code>84f5943</code></a> Version 1.28.1 (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/572">#572</a>)</li>
<li><a href="7935895faf"><code>7935895</code></a> Remove debug statements and add lint (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/571">#571</a>)</li>
<li><a href="7675f6df94"><code>7675f6d</code></a> chore: bump <code>borsh</code> and <code>criterion</code> (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/568">#568</a>)</li>
<li>See full diff in <a href="https://github.com/paupino/rust-decimal/compare/1.28.0...1.28.1">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rust_decimal&package-manager=cargo&previous-version=1.28.0&new-version=1.28.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] 912a5b4826
build(deps): bump rust_decimal from 1.28.0 to 1.28.1
Bumps [rust_decimal](https://github.com/paupino/rust-decimal) from 1.28.0 to 1.28.1.
- [Release notes](https://github.com/paupino/rust-decimal/releases)
- [Changelog](https://github.com/paupino/rust-decimal/blob/master/CHANGELOG.md)
- [Commits](https://github.com/paupino/rust-decimal/compare/1.28.0...1.28.1)

---
updated-dependencies:
- dependency-name: rust_decimal
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] 76c5b3efa3
build(deps): bump anyhow from 1.0.68 to 1.0.69
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.68 to 1.0.69.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.68...1.0.69)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] 9ffcf16917
build(deps): bump rust_decimal_macros from 1.28.0 to 1.28.1
Bumps [rust_decimal_macros](https://github.com/paupino/rust-decimal) from 1.28.0 to 1.28.1.
- [Release notes](https://github.com/paupino/rust-decimal/releases)
- [Changelog](https://github.com/paupino/rust-decimal/blob/master/CHANGELOG.md)
- [Commits](https://github.com/paupino/rust-decimal/compare/1.28.0...1.28.1)

---
updated-dependencies:
- dependency-name: rust_decimal_macros
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] 20d8c9225a
build(deps): bump serde_json from 1.0.91 to 1.0.92
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.91 to 1.0.92.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.91...v1.0.92)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] 5477dd9f04
build(deps): bump proptest from 1.0.0 to 1.1.0
Bumps [proptest](https://github.com/proptest-rs/proptest) from 1.0.0 to 1.1.0.
- [Release notes](https://github.com/proptest-rs/proptest/releases)
- [Changelog](https://github.com/proptest-rs/proptest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/proptest-rs/proptest/compare/1.0.0...v1.1.0)

---
updated-dependencies:
- dependency-name: proptest
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] 08e88332b6
Merge #1293
1293: build(deps): bump hyper from 0.14.23 to 0.14.24 r=delta1 a=dependabot[bot]

Bumps [hyper](https://github.com/hyperium/hyper) from 0.14.23 to 0.14.24.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/hyperium/hyper/releases">hyper's releases</a>.</em></p>
<blockquote>
<h2>v0.14.24</h2>
<h2>Bug Fixes</h2>
<ul>
<li><strong>body:</strong> set an internal max to reserve in <code>to_bytes</code> (<a href="4d89adce61">4d89adce</a>)</li>
<li><strong>server:</strong> prevent sending 100-continue if user drops request body (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/3138">#3138</a>) (<a href="92443d7ef5">92443d7e</a>)</li>
</ul>
<h2>Features</h2>
<ul>
<li><strong>http2:</strong> add <code>http2_max_header_list_size</code> to <code>hyper::server::Builder</code> (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/3006">#3006</a>) (<a href="031425f087">031425f0</a>)</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/jiahaoliang"><code>`@​jiahaoliang</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/hyperium/hyper/pull/3006">hyperium/hyper#3006</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/hyperium/hyper/blob/v0.14.24/CHANGELOG.md">hyper's changelog</a>.</em></p>
<blockquote>
<h3>v0.14.24 (2023-02-02)</h3>
<h4>Bug Fixes</h4>
<ul>
<li><strong>body:</strong> set an internal max to reserve in <code>to_bytes</code> (<a href="4d89adce61">4d89adce</a>)</li>
<li><strong>server:</strong> prevent sending 100-continue if user drops request body (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/3138">#3138</a>) (<a href="92443d7ef5">92443d7e</a>)</li>
</ul>
<h4>Features</h4>
<ul>
<li><strong>http2:</strong> add <code>http2_max_header_list_size</code> to <code>hyper::server::Builder</code> (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/3006">#3006</a>) (<a href="031425f087">031425f0</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="40c01dfb4f"><code>40c01df</code></a> v0.14.24</li>
<li><a href="92443d7ef5"><code>92443d7</code></a> fix(server): prevent sending 100-continue if user drops request body (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/3138">#3138</a>)</li>
<li><a href="4d89adce61"><code>4d89adc</code></a> fix(body): set an internal max to reserve in <code>to_bytes</code></li>
<li><a href="031425f087"><code>031425f</code></a> feat(http2): add <code>http2_max_header_list_size</code> to <code>hyper::server::Builder</code> (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/3">#3</a>...</li>
<li>See full diff in <a href="https://github.com/hyperium/hyper/compare/v0.14.23...v0.14.24">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=hyper&package-manager=cargo&previous-version=0.14.23&new-version=0.14.24)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] 63d6204bd7
build(deps): bump hyper from 0.14.23 to 0.14.24
Bumps [hyper](https://github.com/hyperium/hyper) from 0.14.23 to 0.14.24.
- [Release notes](https://github.com/hyperium/hyper/releases)
- [Changelog](https://github.com/hyperium/hyper/blob/v0.14.24/CHANGELOG.md)
- [Commits](https://github.com/hyperium/hyper/compare/v0.14.23...v0.14.24)

---
updated-dependencies:
- dependency-name: hyper
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] 45c13b2e57
Merge #1292
1292: build(deps): bump uuid from 1.2.2 to 1.3.0 r=delta1 a=dependabot[bot]

Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.2.2 to 1.3.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/uuid-rs/uuid/releases">uuid's releases</a>.</em></p>
<blockquote>
<h2>1.3.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix error message. by <a href="https://github.com/basbossink-ds"><code>`@​basbossink-ds</code></a>` in <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/pull/656">uuid-rs/uuid#656</a></li>
<li>implement Arbitrary::size_hint by <a href="https://github.com/Ekleog"><code>`@​Ekleog</code></a>` in <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/pull/657">uuid-rs/uuid#657</a></li>
<li>Always use hyphenated format regardless of flags by <a href="https://github.com/KodrAus"><code>`@​KodrAus</code></a>` in <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/pull/658">uuid-rs/uuid#658</a></li>
<li>Update windows-sys requirement from 0.42.0 to 0.45.0 by <a href="https://github.com/dependabot"><code>`@​dependabot</code></a>` in <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/pull/654">uuid-rs/uuid#654</a></li>
<li>Prepare for 1.3.0 release by <a href="https://github.com/KodrAus"><code>`@​KodrAus</code></a>` in <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/pull/659">uuid-rs/uuid#659</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/basbossink-ds"><code>`@​basbossink-ds</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/pull/656">uuid-rs/uuid#656</a></li>
<li><a href="https://github.com/Ekleog"><code>`@​Ekleog</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/pull/657">uuid-rs/uuid#657</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/uuid-rs/uuid/compare/1.2.2...1.3.0">https://github.com/uuid-rs/uuid/compare/1.2.2...1.3.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="573362627c"><code>5733626</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/659">#659</a> from uuid-rs/cargo/1.3.0</li>
<li><a href="59ac047014"><code>59ac047</code></a> prepare for 1.3.0 release</li>
<li><a href="e010787850"><code>e010787</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/654">#654</a> from uuid-rs/dependabot/cargo/windows-sys-0.45.0</li>
<li><a href="b90b820603"><code>b90b820</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/658">#658</a> from uuid-rs/fix/alternate-format</li>
<li><a href="1af8269957"><code>1af8269</code></a> fix up tests around alternative format</li>
<li><a href="e7eaf5b4a2"><code>e7eaf5b</code></a> always use hyphenated format regardless of flags</li>
<li><a href="52197cd275"><code>52197cd</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/657">#657</a> from Ekleog/arbitrary-size-hint</li>
<li><a href="b362542ee2"><code>b362542</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/656">#656</a> from basbossink-ds/fix/655-deserialize-error-msg</li>
<li><a href="212b902277"><code>212b902</code></a> implement Arbitrary::size_hint</li>
<li><a href="40d8711f11"><code>40d8711</code></a> Also fix the doc comment</li>
<li>Additional commits viewable in <a href="https://github.com/uuid-rs/uuid/compare/1.2.2...1.3.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=uuid&package-manager=cargo&previous-version=1.2.2&new-version=1.3.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] a02d84e2b4
build(deps): bump uuid from 1.2.2 to 1.3.0
Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.2.2 to 1.3.0.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/1.2.2...1.3.0)

---
updated-dependencies:
- dependency-name: uuid
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] 884df2ff29
Merge #1290
1290: build(deps): bump async-trait from 0.1.63 to 0.1.64 r=delta1 a=dependabot[bot]

Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.63 to 0.1.64.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/async-trait/releases">async-trait's releases</a>.</em></p>
<blockquote>
<h2>0.1.64</h2>
<ul>
<li>Suppress async_yields_async clippy correctness lint in generated code (<a href="https://github-redirect.dependabot.com/dtolnay/async-trait/issues/236">#236</a>, <a href="https://github-redirect.dependabot.com/dtolnay/async-trait/issues/237">#237</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="6a13fce882"><code>6a13fce</code></a> Release 0.1.64</li>
<li><a href="ea573a3823"><code>ea573a3</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/async-trait/issues/237">#237</a> from dtolnay/asyncyieldsasync</li>
<li><a href="54cc1ce438"><code>54cc1ce</code></a> Suppress async_yields_async clippy correctness lint in generated code</li>
<li><a href="e6e736f8df"><code>e6e736f</code></a> Add regression test for issue 236</li>
<li>See full diff in <a href="https://github.com/dtolnay/async-trait/compare/0.1.63...0.1.64">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=async-trait&package-manager=cargo&previous-version=0.1.63&new-version=0.1.64)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
bors[bot] 51b7c999c0
Merge #1291
1291: build(deps): bump futures from 0.3.25 to 0.3.26 r=delta1 a=dependabot[bot]

Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.25 to 0.3.26.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/rust-lang/futures-rs/releases">futures's releases</a>.</em></p>
<blockquote>
<h2>0.3.26</h2>
<ul>
<li>Add <code>Either::as_pin_mut</code> and <code>Either::as_pin_ref</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2691">#2691</a>)</li>
<li>Add <code>Shared::ptr_eq</code> and <code>Shared::ptr_hash</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2691">#2691</a>)</li>
<li>Implement <code>FusedStream</code> for <code>Buffered</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2676">#2676</a>)</li>
<li>Implement <code>FusedStream</code> for all streams in <code>ReadyChunks</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2693">#2693</a>)</li>
<li>Fix bug in <code>FuturesOrdered::push_front</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2664">#2664</a>)</li>
<li>Remove <code>Fut::Output: Clone</code> bounds from some <code>Shared</code> methods (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2662">#2662</a>)</li>
<li>Remove <code>T: Debug</code> bounds from <code>Debug</code> implementations of <code>mpsc</code> and <code>oneshot</code> types (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2666">#2666</a>, <a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2667">#2667</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md">futures's changelog</a>.</em></p>
<blockquote>
<h1>0.3.26 - 2023-01-30</h1>
<ul>
<li>Add <code>Either::as_pin_mut</code> and <code>Either::as_pin_ref</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2691">#2691</a>)</li>
<li>Add <code>Shared::ptr_eq</code> and <code>Shared::ptr_hash</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2691">#2691</a>)</li>
<li>Implement <code>FusedStream</code> for <code>Buffered</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2676">#2676</a>)</li>
<li>Implement <code>FusedStream</code> for all streams in <code>ReadyChunks</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2693">#2693</a>)</li>
<li>Fix bug in <code>FuturesOrdered::push_front</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2664">#2664</a>)</li>
<li>Remove <code>Fut::Output: Clone</code> bounds from some <code>Shared</code> methods (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2662">#2662</a>)</li>
<li>Remove <code>T: Debug</code> bounds from <code>Debug</code> implementations of <code>mpsc</code> and <code>oneshot</code> types (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2666">#2666</a>, <a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2667">#2667</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="5e3693a350"><code>5e3693a</code></a> Release 0.3.26</li>
<li><a href="cbba4e0485"><code>cbba4e0</code></a> Update no_atomic_cas.rs</li>
<li><a href="c88ad9b9dc"><code>c88ad9b</code></a> Add <code>Either::as_pin_mut</code> and <code>Either::as_pin_ref</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2691">#2691</a>)</li>
<li><a href="bf3504bbd9"><code>bf3504b</code></a> Implement <code>FusedStream</code> for all streams in <code>ReadyChunks</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2693">#2693</a>)</li>
<li><a href="f5733c93cd"><code>f5733c9</code></a> Update portable-atomic to 1.0 (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2688">#2688</a>)</li>
<li><a href="03edb0f7b3"><code>03edb0f</code></a> Fix bug in FuturesOrdered::push_front (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2664">#2664</a>)</li>
<li><a href="1340b16e71"><code>1340b16</code></a> Remove incorrect error behavior from <code>ready_chunks</code> docs (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2687">#2687</a>)</li>
<li><a href="71f7b78db3"><code>71f7b78</code></a> fix panic when Unfold sink return an error (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2686">#2686</a>)</li>
<li><a href="eb680703f2"><code>eb68070</code></a> Update no_atomic_cas.rs</li>
<li><a href="d8beb28d04"><code>d8beb28</code></a> Set to <code>None</code> only if necessary (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2683">#2683</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/rust-lang/futures-rs/compare/0.3.25...0.3.26">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=futures&package-manager=cargo&previous-version=0.3.25&new-version=0.3.26)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] a42380830d
build(deps): bump futures from 0.3.25 to 0.3.26
Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.25 to 0.3.26.
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.25...0.3.26)

---
updated-dependencies:
- dependency-name: futures
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] 0f31a612e4
build(deps): bump async-trait from 0.1.63 to 0.1.64
Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.63 to 0.1.64.
- [Release notes](https://github.com/dtolnay/async-trait/releases)
- [Commits](https://github.com/dtolnay/async-trait/compare/0.1.63...0.1.64)

---
updated-dependencies:
- dependency-name: async-trait
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] 6f7956c8eb
Merge #1289
1289: build(deps): bump dprint/check from 2.1 to 2.2 r=delta1 a=dependabot[bot]

Bumps [dprint/check](https://github.com/dprint/check) from 2.1 to 2.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dprint/check/releases">dprint/check's releases</a>.</em></p>
<blockquote>
<h2>v2.2</h2>
<h2>What's Changed</h2>
<ul>
<li>feat: add input for specifiable config by <a href="https://github.com/kachick"><code>`@​kachick</code></a>` in <a href="https://github-redirect.dependabot.com/dprint/check/pull/9">dprint/check#9</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/kachick"><code>`@​kachick</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/dprint/check/pull/9">dprint/check#9</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/dprint/check/compare/v2.1...v2.2">https://github.com/dprint/check/compare/v2.1...v2.2</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="2f1cf31537"><code>2f1cf31</code></a> v2.2</li>
<li><a href="58958abb76"><code>58958ab</code></a> chore: remove dprint-another.json</li>
<li><a href="23e4f056b9"><code>23e4f05</code></a> feat: add inputs for specifiable config (<a href="https://github-redirect.dependabot.com/dprint/check/issues/9">#9</a>)</li>
<li><a href="c0ea92f185"><code>c0ea92f</code></a> docs: slightly simplify</li>
<li>See full diff in <a href="https://github.com/dprint/check/compare/v2.1...v2.2">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=dprint/check&package-manager=github_actions&previous-version=2.1&new-version=2.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] ada5df740f
build(deps): bump dprint/check from 2.1 to 2.2
Bumps [dprint/check](https://github.com/dprint/check) from 2.1 to 2.2.
- [Release notes](https://github.com/dprint/check/releases)
- [Commits](https://github.com/dprint/check/compare/v2.1...v2.2)

---
updated-dependencies:
- dependency-name: dprint/check
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] 58dae512e7
Merge #1286 #1287 #1288
1286: build(deps): bump rust_decimal_macros from 1.27.0 to 1.28.0 r=delta1 a=dependabot[bot]

Bumps [rust_decimal_macros](https://github.com/paupino/rust-decimal) from 1.27.0 to 1.28.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/paupino/rust-decimal/blob/master/CHANGELOG.md">rust_decimal_macros's changelog</a>.</em></p>
<blockquote>
<h2>1.28.0</h2>
<h3>Added</h3>
<ul>
<li>Implement <code>TryFrom&lt;&amp;str&gt;</code> for <code>Decimal</code> (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/pull/560">#560</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Explicit string deserialize for <code>Option&lt;Decimal&gt;</code> when using <code>serde-with-str</code> (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/pull/565">#565</a>)</li>
<li>Fix for <code>rescale</code> preventing <code>Decimal::ZERO</code> to be rescaled to an invalid precision (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/pull/566">#566</a>)</li>
</ul>
<h3>Credit</h3>
<p>Thank you to <a href="https://github.com/c410-f3r"><code>`@​c410-f3r</code></a>` for your diligent help adding features to this library!</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="d62fe61025"><code>d62fe61</code></a> Version 1.28.0 (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/567">#567</a>)</li>
<li><a href="bc8b53a7ca"><code>bc8b53a</code></a> Fixes rescale internal allowing zeros to scale greater than the maximum possi...</li>
<li><a href="2da7a0d134"><code>2da7a0d</code></a> Explicit string (de)serialize for optional serde-with-str values (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/565">#565</a>)</li>
<li><a href="69c1e7f067"><code>69c1e7f</code></a> Implement <code>TryFrom\&lt;&amp;str&gt;</code> for <code>Decimal</code> (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/560">#560</a>)</li>
<li>See full diff in <a href="https://github.com/paupino/rust-decimal/compare/1.27.0...1.28.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rust_decimal_macros&package-manager=cargo&previous-version=1.27.0&new-version=1.28.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1287: build(deps): bump rust_decimal from 1.27.0 to 1.28.0 r=delta1 a=dependabot[bot]

Bumps [rust_decimal](https://github.com/paupino/rust-decimal) from 1.27.0 to 1.28.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/paupino/rust-decimal/blob/master/CHANGELOG.md">rust_decimal's changelog</a>.</em></p>
<blockquote>
<h2>1.28.0</h2>
<h3>Added</h3>
<ul>
<li>Implement <code>TryFrom&lt;&amp;str&gt;</code> for <code>Decimal</code> (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/pull/560">#560</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Explicit string deserialize for <code>Option&lt;Decimal&gt;</code> when using <code>serde-with-str</code> (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/pull/565">#565</a>)</li>
<li>Fix for <code>rescale</code> preventing <code>Decimal::ZERO</code> to be rescaled to an invalid precision (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/pull/566">#566</a>)</li>
</ul>
<h3>Credit</h3>
<p>Thank you to <a href="https://github.com/c410-f3r"><code>`@​c410-f3r</code></a>` for your diligent help adding features to this library!</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="d62fe61025"><code>d62fe61</code></a> Version 1.28.0 (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/567">#567</a>)</li>
<li><a href="bc8b53a7ca"><code>bc8b53a</code></a> Fixes rescale internal allowing zeros to scale greater than the maximum possi...</li>
<li><a href="2da7a0d134"><code>2da7a0d</code></a> Explicit string (de)serialize for optional serde-with-str values (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/565">#565</a>)</li>
<li><a href="69c1e7f067"><code>69c1e7f</code></a> Implement <code>TryFrom\&lt;&amp;str&gt;</code> for <code>Decimal</code> (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/560">#560</a>)</li>
<li>See full diff in <a href="https://github.com/paupino/rust-decimal/compare/1.27.0...1.28.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rust_decimal&package-manager=cargo&previous-version=1.27.0&new-version=1.28.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1288: build(deps): bump async-trait from 0.1.62 to 0.1.63 r=delta1 a=dependabot[bot]

Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.62 to 0.1.63.
<details>
<summary>Commits</summary>
<ul>
<li><a href="36bcff4c0d"><code>36bcff4</code></a> Release 0.1.63</li>
<li><a href="f88c287dff"><code>f88c287</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/async-trait/issues/235">#235</a> from dtolnay/patterns</li>
<li><a href="1c2e90a984"><code>1c2e90a</code></a> Make expansion of nested _ and .. patterns edition independent</li>
<li><a href="80a9c2c8af"><code>80a9c2c</code></a> Add regression test for issue 234</li>
<li><a href="125917ffe0"><code>125917f</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/async-trait/issues/233">#233</a> from dtolnay/reference</li>
<li><a href="ba930258fa"><code>ba93025</code></a> Bypass Sync bound implied by non-existent drop of reference</li>
<li><a href="70bf4b0243"><code>70bf4b0</code></a> Add regression test for issue 232</li>
<li>See full diff in <a href="https://github.com/dtolnay/async-trait/compare/0.1.62...0.1.63">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=async-trait&package-manager=cargo&previous-version=0.1.62&new-version=0.1.63)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] 4d44fab0dd
build(deps): bump async-trait from 0.1.62 to 0.1.63
Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.62 to 0.1.63.
- [Release notes](https://github.com/dtolnay/async-trait/releases)
- [Commits](https://github.com/dtolnay/async-trait/compare/0.1.62...0.1.63)

---
updated-dependencies:
- dependency-name: async-trait
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] 921bac0af8
build(deps): bump rust_decimal from 1.27.0 to 1.28.0
Bumps [rust_decimal](https://github.com/paupino/rust-decimal) from 1.27.0 to 1.28.0.
- [Release notes](https://github.com/paupino/rust-decimal/releases)
- [Changelog](https://github.com/paupino/rust-decimal/blob/master/CHANGELOG.md)
- [Commits](https://github.com/paupino/rust-decimal/compare/1.27.0...1.28.0)

---
updated-dependencies:
- dependency-name: rust_decimal
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] 53abde3f88
build(deps): bump rust_decimal_macros from 1.27.0 to 1.28.0
Bumps [rust_decimal_macros](https://github.com/paupino/rust-decimal) from 1.27.0 to 1.28.0.
- [Release notes](https://github.com/paupino/rust-decimal/releases)
- [Changelog](https://github.com/paupino/rust-decimal/blob/master/CHANGELOG.md)
- [Commits](https://github.com/paupino/rust-decimal/compare/1.27.0...1.28.0)

---
updated-dependencies:
- dependency-name: rust_decimal_macros
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] ee6c8a8034
Merge #1282
1282: build(deps): bump serial_test from 0.10.0 to 1.0.0 r=delta1 a=dependabot[bot]

Bumps [serial_test](https://github.com/palfrey/serial_test) from 0.10.0 to 1.0.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/palfrey/serial_test/releases">serial_test's releases</a>.</em></p>
<blockquote>
<h2>v1.0.0</h2>
<p>Nothing since 0.10.0. Well, <a href="https://github-redirect.dependabot.com/palfrey/serial_test/pull/87">a test dependency upgrade on <code>tokio</code></a>, but nothing in the published library. This is mainly just as a &quot;1.0!&quot; release.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="47d09d04ef"><code>47d09d0</code></a> 1.0.0</li>
<li><a href="13c3d6123e"><code>13c3d61</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/palfrey/serial_test/issues/87">#87</a> from palfrey/dependabot/cargo/tokio-1.18.4</li>
<li><a href="125a3f6c7d"><code>125a3f6</code></a> Bump tokio from 1.17.0 to 1.18.4</li>
<li>See full diff in <a href="https://github.com/palfrey/serial_test/compare/v0.10.0...v1.0.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serial_test&package-manager=cargo&previous-version=0.10.0&new-version=1.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
bors[bot] edae3482be
Merge #1283 #1284 #1285
1283: build(deps): bump async-trait from 0.1.61 to 0.1.62 r=delta1 a=dependabot[bot]

Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.61 to 0.1.62.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/async-trait/releases">async-trait's releases</a>.</em></p>
<blockquote>
<h2>0.1.62</h2>
<ul>
<li>Improve error message involving elided lifetimes (<a href="https://github-redirect.dependabot.com/dtolnay/async-trait/issues/229">#229</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="d71c74de7b"><code>d71c74d</code></a> Release 0.1.62</li>
<li><a href="861b6bc57f"><code>861b6bc</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/async-trait/issues/230">#230</a> from dtolnay/definedhere</li>
<li><a href="b4c19da340"><code>b4c19da</code></a> Improve spans of named lifetimes generated from elided lifetimes</li>
<li><a href="8206008ede"><code>8206008</code></a> Add regression test for issue 229</li>
<li>See full diff in <a href="https://github.com/dtolnay/async-trait/compare/0.1.61...0.1.62">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=async-trait&package-manager=cargo&previous-version=0.1.61&new-version=0.1.62)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1284: build(deps): bump reqwest from 0.11.13 to 0.11.14 r=delta1 a=dependabot[bot]

Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.11.13 to 0.11.14.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/seanmonstar/reqwest/releases">reqwest's releases</a>.</em></p>
<blockquote>
<h2>v0.11.14</h2>
<h2>What's Changed</h2>
<ul>
<li>Adds <code>Proxy::no_proxy(url)</code> that works like the NO_PROXY environment variable.</li>
<li>Adds <code>multipart::Part::headers(headers)</code> method to add custom headers.</li>
<li>(wasm) Add <code>Response::bytes_stream()</code>.</li>
<li>Perf: several internal optimizations reducing copies and memory allocations.</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/Austaras"><code>`@​Austaras</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/pull/1699">seanmonstar/reqwest#1699</a></li>
<li><a href="https://github.com/BlackDex"><code>`@​BlackDex</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/pull/1701">seanmonstar/reqwest#1701</a></li>
<li><a href="https://github.com/Khoulaiz"><code>`@​Khoulaiz</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/pull/1694">seanmonstar/reqwest#1694</a></li>
<li><a href="https://github.com/beeb"><code>`@​beeb</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/pull/1687">seanmonstar/reqwest#1687</a></li>
<li><a href="https://github.com/link2xt"><code>`@​link2xt</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/pull/1710">seanmonstar/reqwest#1710</a></li>
<li><a href="https://github.com/dmeijboom"><code>`@​dmeijboom</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/pull/1713">seanmonstar/reqwest#1713</a></li>
<li><a href="https://github.com/lstrojny"><code>`@​lstrojny</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/pull/1730">seanmonstar/reqwest#1730</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md">reqwest's changelog</a>.</em></p>
<blockquote>
<h2>v0.11.14</h2>
<ul>
<li>Adds <code>Proxy::no_proxy(url)</code> that works like the NO_PROXY environment variable.</li>
<li>Adds <code>multipart::Part::headers(headers)</code> method to add custom headers.</li>
<li>(wasm) Add <code>Response::bytes_stream()</code>.</li>
<li>Perf: several internal optimizations reducing copies and memory allocations.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="3459b89488"><code>3459b89</code></a> v0.11.14</li>
<li><a href="fac510365d"><code>fac5103</code></a> Use SPDX license identifier (<a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/issues/1730">#1730</a>)</li>
<li><a href="cda9c348bb"><code>cda9c34</code></a> Optimize the <code>NO_PROXY</code> domain matcher (<a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/issues/1728">#1728</a>)</li>
<li><a href="6f714f438a"><code>6f714f4</code></a> Unify basic-auth header generation (<a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/issues/1726">#1726</a>)</li>
<li><a href="6df88587ce"><code>6df8858</code></a> Update <code>base64</code> to 0.21 (<a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/issues/1725">#1725</a>)</li>
<li><a href="1d904968f1"><code>1d90496</code></a> Reduce string allocation during multipart header encoding (<a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/issues/1724">#1724</a>)</li>
<li><a href="4d96adfca5"><code>4d96adf</code></a> Implement bytes_stream() for wasm. (<a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/issues/1713">#1713</a>)</li>
<li><a href="c2a1870a3e"><code>c2a1870</code></a> Documentation fix: it's <code>TCP_NODELAY</code>, not <code>SO_NODELAY</code> (<a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/issues/1710">#1710</a>)</li>
<li><a href="b16ea79e28"><code>b16ea79</code></a> Add public interface to Multipart's Part <code>headers</code> (<a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/issues/1687">#1687</a>)</li>
<li><a href="cdbf84feb1"><code>cdbf84f</code></a> Adds <code>Proxy::no_proxy(url)</code> (<a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/issues/1694">#1694</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/seanmonstar/reqwest/compare/v0.11.13...v0.11.14">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=reqwest&package-manager=cargo&previous-version=0.11.13&new-version=0.11.14)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1285: build(deps): bump toml from 0.5.10 to 0.5.11 r=delta1 a=dependabot[bot]

Bumps [toml](https://github.com/toml-rs/toml) from 0.5.10 to 0.5.11.
<details>
<summary>Commits</summary>
<ul>
<li><a href="0c2004aaa5"><code>0c2004a</code></a> chore: Release</li>
<li><a href="22660a5279"><code>22660a5</code></a> docs: Update changelog</li>
<li><a href="8395fd159b"><code>8395fd1</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/toml-rs/toml/issues/476">#476</a> from epage/deprecated</li>
<li><a href="d8dfb1cffe"><code>d8dfb1c</code></a> fix(toml): Deprecate 'Deserializer::end'</li>
<li><a href="266fa47a2e"><code>266fa47</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/toml-rs/toml/issues/393">#393</a> from epage/compat</li>
<li><a href="8ad0d37d2c"><code>8ad0d37</code></a> fix(toml): Deprecate compat hacks</li>
<li>See full diff in <a href="https://github.com/toml-rs/toml/compare/toml-v0.5.10...toml-v0.5.11">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=toml&package-manager=cargo&previous-version=0.5.10&new-version=0.5.11)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] 1b52804abc
build(deps): bump toml from 0.5.10 to 0.5.11
Bumps [toml](https://github.com/toml-rs/toml) from 0.5.10 to 0.5.11.
- [Release notes](https://github.com/toml-rs/toml/releases)
- [Commits](https://github.com/toml-rs/toml/compare/toml-v0.5.10...toml-v0.5.11)

---
updated-dependencies:
- dependency-name: toml
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] 533807aa0b
build(deps): bump reqwest from 0.11.13 to 0.11.14
Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.11.13 to 0.11.14.
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.11.13...v0.11.14)

---
updated-dependencies:
- dependency-name: reqwest
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] 27a8e2aee6
build(deps): bump async-trait from 0.1.61 to 0.1.62
Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.61 to 0.1.62.
- [Release notes](https://github.com/dtolnay/async-trait/releases)
- [Commits](https://github.com/dtolnay/async-trait/compare/0.1.61...0.1.62)

---
updated-dependencies:
- dependency-name: async-trait
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] 633027dd66
build(deps): bump serial_test from 0.10.0 to 1.0.0
Bumps [serial_test](https://github.com/palfrey/serial_test) from 0.10.0 to 1.0.0.
- [Release notes](https://github.com/palfrey/serial_test/releases)
- [Commits](https://github.com/palfrey/serial_test/compare/v0.10.0...v1.0.0)

---
updated-dependencies:
- dependency-name: serial_test
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] 095fc6687f
Merge #1281
1281: build(deps): bump dialoguer from 0.10.2 to 0.10.3 r=delta1 a=dependabot[bot]

Bumps [dialoguer](https://github.com/mitsuhiko/dialoguer) from 0.10.2 to 0.10.3.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/console-rs/dialoguer/blob/master/CHANGELOG.md">dialoguer's changelog</a>.</em></p>
<blockquote>
<h2>0.10.3</h2>
<h3>Enhancements</h3>
<ul>
<li>Fix various issues with fuzzy select</li>
<li>Enable customization of number of rows for fuzzy select</li>
<li>Added post completion text for input</li>
<li>Various cursor movement improvements</li>
<li>Correctly ignore unknown keys.</li>
<li>Reset prompt height in <code>TermThemeRenderer::clear</code>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="d54c4289ca"><code>d54c428</code></a> 0.10.3</li>
<li><a href="e89804117a"><code>e898041</code></a> Added .vscode config</li>
<li><a href="63bdd0624c"><code>63bdd06</code></a> Update changelog</li>
<li><a href="565d64faad"><code>565d64f</code></a> fix: also reset self.prompt_height in TermThemeRenderer::clear. (<a href="https://github-redirect.dependabot.com/mitsuhiko/dialoguer/issues/191">#191</a>)</li>
<li><a href="8d39d79915"><code>8d39d79</code></a> Update readme</li>
<li><a href="a6659ce042"><code>a6659ce</code></a> Return Err on Confirm's read_key when not a terminal (<a href="https://github-redirect.dependabot.com/mitsuhiko/dialoguer/issues/229">#229</a>)</li>
<li><a href="1a7f1203bf"><code>1a7f120</code></a> Fix long lines in select failing size calcuations (<a href="https://github-redirect.dependabot.com/mitsuhiko/dialoguer/issues/239">#239</a>)</li>
<li><a href="9bc846e08b"><code>9bc846e</code></a> Make clippy happy</li>
<li><a href="7d5488e400"><code>7d5488e</code></a> Fixed CI workflow for macos and added makefile</li>
<li><a href="d35b5dee8b"><code>d35b5de</code></a> Ignore Unknown keys (<a href="https://github-redirect.dependabot.com/mitsuhiko/dialoguer/issues/192">#192</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/mitsuhiko/dialoguer/compare/v0.10.2...0.10.3">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=dialoguer&package-manager=cargo&previous-version=0.10.2&new-version=0.10.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] c5151e1ad4
build(deps): bump dialoguer from 0.10.2 to 0.10.3
Bumps [dialoguer](https://github.com/mitsuhiko/dialoguer) from 0.10.2 to 0.10.3.
- [Release notes](https://github.com/mitsuhiko/dialoguer/releases)
- [Changelog](https://github.com/console-rs/dialoguer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mitsuhiko/dialoguer/compare/v0.10.2...0.10.3)

---
updated-dependencies:
- dependency-name: dialoguer
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] 7eebfc3c18
Merge #1279
1279: build(deps): bump pem from 1.1.0 to 1.1.1 r=delta1 a=dependabot[bot]

Bumps [pem](https://github.com/jcreekmore/pem-rs) from 1.1.0 to 1.1.1.
<details>
<summary>Commits</summary>
<ul>
<li><a href="a4179f9ee1"><code>a4179f9</code></a> (cargo-release) version 1.1.1</li>
<li><a href="8543e87b50"><code>8543e87</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/jcreekmore/pem-rs/issues/37">#37</a> from jcreekmore/headers</li>
<li><a href="83d911477f"><code>83d9114</code></a> allow parsing of PEM files that contain headers</li>
<li><a href="8a743103ea"><code>8a74310</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/jcreekmore/pem-rs/issues/35">#35</a> from devtomio/patch-1</li>
<li><a href="7260710b06"><code>7260710</code></a> readme: add missing <code>&quot;;</code></li>
<li><a href="9373e99baf"><code>9373e99</code></a> (cargo-release) start next development iteration 1.1.1-alpha.0</li>
<li>See full diff in <a href="https://github.com/jcreekmore/pem-rs/compare/v1.1.0...v1.1.1">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pem&package-manager=cargo&previous-version=1.1.0&new-version=1.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] ce22531287
build(deps): bump pem from 1.1.0 to 1.1.1
Bumps [pem](https://github.com/jcreekmore/pem-rs) from 1.1.0 to 1.1.1.
- [Release notes](https://github.com/jcreekmore/pem-rs/releases)
- [Changelog](https://github.com/jcreekmore/pem-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jcreekmore/pem-rs/compare/v1.1.0...v1.1.1)

---
updated-dependencies:
- dependency-name: pem
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] 27b0ffa939
Merge #1278
1278: upgrade base64, vergen, bdk r=delta1 a=delta1

Upgrades dependencies, base64 had a breaking change but is only used in a test 

- #1271
- #1266 
- #1264  

Co-authored-by: Byron Hambly <bhambly@blockstream.com>
1 year ago
Byron Hambly 7aa6227cbe
build(deps): bump bdk to 0.26
closes #1264
1 year ago
Byron Hambly 30fbb0cdb2
build(deps): bump vergen to 7.5
closes #1266
1 year ago
Byron Hambly 43f06f0705
build(deps): bump base64 to 0.21
closes #1271
1 year ago
bors[bot] 20a27f1eb0
Merge #1275
1275: ci: update msrv and github actions toolchains r=delta1 a=delta1

The change in github actions to use dtolnay/rust-toolchain action was defaulting to the latest stable and was not overridden by the rust-toolchain.toml file. 

This updates the MSRV and relevant CI.  

Co-authored-by: Byron Hambly <bhambly@blockstream.com>
1 year ago
Byron Hambly 4ca1f8da5e
ci: update msrv and github actions toolchains 1 year ago
bors[bot] ab5d4a1ed5
Merge #1274
1274: fix: add debug log for opening monero wallet error r=delta1 a=delta1

see issue #1273 

Co-authored-by: Byron Hambly <bhambly@blockstream.com>
1 year ago
Byron Hambly 9346cb7baf
fix: add debug log for opening monero wallet error 1 year ago
bors[bot] b75b3e64a9
Merge #1272
1272: Release version 0.12.1 r=binarybaron a=comit-botty-mc-botface

Hi `@binarybaron!`

This PR was created in response to a manual trigger of the release workflow here: https://github.com/comit-network/xmr-btc-swap/actions/runs/3873992235.
I've updated the changelog and bumped the versions in the manifest files in this commit: d0d3629bec.

Merging this PR will create a GitHub release and upload any assets that are created as part of the release build.

Co-authored-by: COMIT Botty McBotface <botty@coblox.tech>
1 year ago
COMIT Botty McBotface d0d3629bec Prepare release 0.12.1 1 year ago
bors[bot] 7d76ef6c6d
Merge #1270
1270: build(deps): bump async-trait from 0.1.60 to 0.1.61 r=delta1 a=dependabot[bot]

Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.60 to 0.1.61.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/async-trait/releases">async-trait's releases</a>.</em></p>
<blockquote>
<h2>0.1.61</h2>
<ul>
<li>Fix async function signatures that involve #[cfg(...)] attributes on parameters (<a href="https://github-redirect.dependabot.com/dtolnay/async-trait/issues/227">#227</a>, thanks <a href="https://github.com/azriel91"><code>`@​azriel91</code></a>)</li>`
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="f0136520a1"><code>f013652</code></a> Release 0.1.61</li>
<li><a href="5f88265330"><code>5f88265</code></a> Revert &quot;Temporarily suppress where_clauses_object_safety due to regression&quot;</li>
<li><a href="15d7e008cb"><code>15d7e00</code></a> Touch up PR 227</li>
<li><a href="f0f9309e40"><code>f0f9309</code></a> Move function argument cfg tests to issue-specific regression test</li>
<li><a href="2866cb9a29"><code>2866cb9</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/async-trait/issues/227">#227</a> from azriel91/bugfix/226/forward-param-attributes</li>
<li><a href="6cf682f3a2"><code>6cf682f</code></a> Forward attributes on <code>impl</code> function parameters to variable declaration.</li>
<li><a href="6050c94ca7"><code>6050c94</code></a> Prevent actions duplication on noop merge commits</li>
<li><a href="3d682aa540"><code>3d682aa</code></a> Sync license text with rust-lang repos</li>
<li><a href="922699ea5f"><code>922699e</code></a> Temporarily suppress where_clauses_object_safety due to regression</li>
<li>See full diff in <a href="https://github.com/dtolnay/async-trait/compare/0.1.60...0.1.61">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=async-trait&package-manager=cargo&previous-version=0.1.60&new-version=0.1.61)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] 342d3fb736
build(deps): bump async-trait from 0.1.60 to 0.1.61
Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.60 to 0.1.61.
- [Release notes](https://github.com/dtolnay/async-trait/releases)
- [Commits](https://github.com/dtolnay/async-trait/compare/0.1.60...0.1.61)

---
updated-dependencies:
- dependency-name: async-trait
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] cd6bc20e02
Merge #1263
1263: feat(swap): merge cancel/refund commands into one command r=binarybaron a=delta1

Merges the `cancel`/`refund` commands in the swap cli into one `cancel-and-refund` command

closes #1020  



Co-authored-by: Byron Hambly <bhambly@blockstream.com>
1 year ago
Byron Hambly f39e1de964
feat(swap): merge cancel/refund commands into one command 1 year ago
bors[bot] 6f9d1c911a
Merge #1265
1265: build(deps): bump actions/checkout from 3.2.0 to 3.3.0 r=delta1 a=dependabot[bot]

Bumps [actions/checkout](https://github.com/actions/checkout) from 3.2.0 to 3.3.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/actions/checkout/releases">actions/checkout's releases</a>.</em></p>
<blockquote>
<h2>v3.3.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Implement branch list using callbacks from exec function by <a href="https://github.com/cory-miller"><code>`@​cory-miller</code></a>` in <a href="https://github-redirect.dependabot.com/actions/checkout/pull/1045">actions/checkout#1045</a></li>
<li>Add in explicit reference to private checkout options by <a href="https://github.com/vanZeben"><code>`@​vanZeben</code></a>` in <a href="https://github-redirect.dependabot.com/actions/checkout/pull/1050">actions/checkout#1050</a></li>
<li>Fix comment typos (that got added in <a href="https://github-redirect.dependabot.com/actions/checkout/issues/770">#770</a>) by <a href="https://github.com/lurch"><code>`@​lurch</code></a>` in <a href="https://github-redirect.dependabot.com/actions/checkout/pull/1057">actions/checkout#1057</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/vanZeben"><code>`@​vanZeben</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/actions/checkout/pull/1050">actions/checkout#1050</a></li>
<li><a href="https://github.com/lurch"><code>`@​lurch</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/actions/checkout/pull/1057">actions/checkout#1057</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v3.2.0...v3.3.0">https://github.com/actions/checkout/compare/v3.2.0...v3.3.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="ac59398561"><code>ac59398</code></a> Fix comment typos (that got added in <a href="https://github-redirect.dependabot.com/actions/checkout/issues/770">#770</a>) (<a href="https://github-redirect.dependabot.com/actions/checkout/issues/1057">#1057</a>)</li>
<li><a href="3ba5ee6fac"><code>3ba5ee6</code></a> Add in explicit reference to private checkout options (<a href="https://github-redirect.dependabot.com/actions/checkout/issues/1050">#1050</a>)</li>
<li><a href="8856415920"><code>8856415</code></a> Implement branch list using callbacks from exec function (<a href="https://github-redirect.dependabot.com/actions/checkout/issues/1045">#1045</a>)</li>
<li>See full diff in <a href="https://github.com/actions/checkout/compare/v3.2.0...v3.3.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/checkout&package-manager=github_actions&previous-version=3.2.0&new-version=3.3.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] 66ed431fd4
build(deps): bump actions/checkout from 3.2.0 to 3.3.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.2.0...v3.3.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] 4e7ba9517b
Merge #1251
1251: build(deps): bump serde_json from 1.0.89 to 1.0.91 r=delta1 a=dependabot[bot]

Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.89 to 1.0.91.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p>
<blockquote>
<h2>v1.0.90</h2>
<ul>
<li>Documentation improvements</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="26f147fde7"><code>26f147f</code></a> Release 1.0.91</li>
<li><a href="d9cdb98f2e"><code>d9cdb98</code></a> Opt out -Zrustdoc-scrape-examples on docs.rs</li>
<li><a href="331511d73d"><code>331511d</code></a> Release 1.0.90</li>
<li><a href="87538296f7"><code>8753829</code></a> Replace ancient CI service provider in readme</li>
<li><a href="0a43394ef6"><code>0a43394</code></a> Update build status badge</li>
<li><a href="8794844eee"><code>8794844</code></a> Prevent build.rs rerunning unnecessarily on all source changes</li>
<li><a href="0b548714d8"><code>0b54871</code></a> Time out workflows after 45 minutes</li>
<li><a href="ecad462c8e"><code>ecad462</code></a> Fix renamed let_underscore_drop lint</li>
<li><a href="9295c96c8e"><code>9295c96</code></a> Resolve needless_borrowed_reference clippy lints</li>
<li>See full diff in <a href="https://github.com/serde-rs/json/compare/v1.0.89...v1.0.91">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_json&package-manager=cargo&previous-version=1.0.89&new-version=1.0.91)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
bors[bot] d078790102
Merge #1249 #1261 #1262
1249: build(deps): bump anyhow from 1.0.66 to 1.0.68 r=delta1 a=dependabot[bot]

Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.66 to 1.0.68.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/anyhow/releases">anyhow's releases</a>.</em></p>
<blockquote>
<h2>1.0.67</h2>
<ul>
<li>Improve the backtrace captured when <code>context()</code> is used on an <code>Option</code> (<a href="https://github-redirect.dependabot.com/dtolnay/anyhow/issues/280">#280</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="867763b8fc"><code>867763b</code></a> Release 1.0.68</li>
<li><a href="c0a87d0a1f"><code>c0a87d0</code></a> Opt out -Zrustdoc-scrape-examples on docs.rs</li>
<li><a href="1cc707b6f8"><code>1cc707b</code></a> Release 1.0.67</li>
<li><a href="613b26115c"><code>613b261</code></a> Update build status badge</li>
<li><a href="0f922d7c51"><code>0f922d7</code></a> Disable backtrace CI on Rust 1.50</li>
<li><a href="acecd9bd35"><code>acecd9b</code></a> Update ui test suite to nightly-2022-12-15</li>
<li><a href="0bac51f19b"><code>0bac51f</code></a> Time out workflows after 45 minutes</li>
<li><a href="60e88002dc"><code>60e8800</code></a> Fix renamed let_underscore_drop lint</li>
<li><a href="8d1c734b81"><code>8d1c734</code></a> Update ui test suite to nightly-2022-11-16</li>
<li><a href="451651b2ba"><code>451651b</code></a> Update ui test suite to nightly-2022-11-11</li>
<li>Additional commits viewable in <a href="https://github.com/dtolnay/anyhow/compare/1.0.66...1.0.68">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=anyhow&package-manager=cargo&previous-version=1.0.66&new-version=1.0.68)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1261: build(deps): bump comfy-table from 6.1.3 to 6.1.4 r=delta1 a=dependabot[bot]

Bumps [comfy-table](https://github.com/nukesor/comfy-table) from 6.1.3 to 6.1.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/nukesor/comfy-table/releases">comfy-table's releases</a>.</em></p>
<blockquote>
<h2>v6.1.4</h2>
<h2>[6.1.4] - 2022-12-31</h2>
<h3>Added</h3>
<ul>
<li>New preset <code>ASCII_FULL_CONDENSED</code> <a href="https://github-redirect.dependabot.com/Nukesor/comfy-table/pull/97">#97</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/Nukesor/comfy-table/blob/main/CHANGELOG.md">comfy-table's changelog</a>.</em></p>
<blockquote>
<h2>[6.1.4] - 2022-12-31</h2>
<h3>Added</h3>
<ul>
<li>New preset <code>ASCII_FULL_CONDENSED</code> <a href="https://github-redirect.dependabot.com/Nukesor/comfy-table/pull/97">#97</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="7966fbdfe7"><code>7966fbd</code></a> chore: Release comfy-table version 6.1.4</li>
<li><a href="bae38bc691"><code>bae38bc</code></a> chore: Bump rstest</li>
<li><a href="eb4ad25585"><code>eb4ad25</code></a> docs: Add v6.1.4 Changelog</li>
<li><a href="b4204fb22e"><code>b4204fb</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/nukesor/comfy-table/issues/97">#97</a> from alexander-beedie/ascii-condensed-preset</li>
<li><a href="b735bf89fd"><code>b735bf8</code></a> fix 'iter_kv_map' clippy lint</li>
<li><a href="307dc1dc51"><code>307dc1d</code></a> new preset &quot;ASCII_FULL_CONDENSED&quot;</li>
<li>See full diff in <a href="https://github.com/nukesor/comfy-table/compare/v6.1.3...v6.1.4">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=comfy-table&package-manager=cargo&previous-version=6.1.3&new-version=6.1.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1262: build(deps): bump vergen from 7.4.3 to 7.4.4 r=delta1 a=dependabot[bot]

Bumps [vergen](https://github.com/rustyhorde/vergen) from 7.4.3 to 7.4.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/rustyhorde/vergen/releases">vergen's releases</a>.</em></p>
<blockquote>
<h2>v7.4.4</h2>
<ul>
<li>Dependency updates</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="3c1ffca906"><code>3c1ffca</code></a> version bump for next release</li>
<li><a href="235dcc13a9"><code>235dcc1</code></a> Bump libgit2 dependency to latest upstream (<a href="https://github-redirect.dependabot.com/rustyhorde/vergen/issues/145">#145</a>)</li>
<li><a href="4367de6124"><code>4367de6</code></a> Update serial_test requirement from 0.9.0 to 0.10.0 (<a href="https://github-redirect.dependabot.com/rustyhorde/vergen/issues/144">#144</a>)</li>
<li><a href="79679b1b18"><code>79679b1</code></a> Update sysinfo requirement from 0.26.0 to 0.27.0 (<a href="https://github-redirect.dependabot.com/rustyhorde/vergen/issues/143">#143</a>)</li>
<li>See full diff in <a href="https://github.com/rustyhorde/vergen/compare/7.4.3...7.4.4">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=vergen&package-manager=cargo&previous-version=7.4.3&new-version=7.4.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
bors[bot] 06256a84b1
Merge #1247 #1248
1247: build(deps): bump thiserror from 1.0.37 to 1.0.38 r=delta1 a=dependabot[bot]

Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.37 to 1.0.38.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/thiserror/releases">thiserror's releases</a>.</em></p>
<blockquote>
<h2>1.0.38</h2>
<ul>
<li>Documentation improvements</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="74bfe75eb2"><code>74bfe75</code></a> Release 1.0.38</li>
<li><a href="cfc7d8c959"><code>cfc7d8c</code></a> Update build status badge</li>
<li><a href="db78fa2cd8"><code>db78fa2</code></a> Update ui test suite to nightly-2022-12-15</li>
<li><a href="c25a710813"><code>c25a710</code></a> Time out workflows after 45 minutes</li>
<li><a href="464e2e798e"><code>464e2e7</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/thiserror/issues/200">#200</a> from dtolnay/displayattr</li>
<li><a href="4b06a3e263"><code>4b06a3e</code></a> Add test of Display impl nested inside display attribute</li>
<li><a href="29ee95ef47"><code>29ee95e</code></a> Ui test changes for trybuild 1.0.66</li>
<li>See full diff in <a href="https://github.com/dtolnay/thiserror/compare/1.0.37...1.0.38">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=thiserror&package-manager=cargo&previous-version=1.0.37&new-version=1.0.38)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1248: build(deps): bump async-trait from 0.1.59 to 0.1.60 r=delta1 a=dependabot[bot]

Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.59 to 0.1.60.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/async-trait/releases">async-trait's releases</a>.</em></p>
<blockquote>
<h2>0.1.60</h2>
<ul>
<li>Documentation improvements</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="226521bf23"><code>226521b</code></a> Release 0.1.60</li>
<li><a href="288930d514"><code>288930d</code></a> Update build status badge</li>
<li><a href="2d472d380a"><code>2d472d3</code></a> Prevent build.rs rerunning unnecessarily on all source changes</li>
<li>See full diff in <a href="https://github.com/dtolnay/async-trait/compare/0.1.59...0.1.60">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=async-trait&package-manager=cargo&previous-version=0.1.59&new-version=0.1.60)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] 7f9b4acb97
build(deps): bump vergen from 7.4.3 to 7.4.4
Bumps [vergen](https://github.com/rustyhorde/vergen) from 7.4.3 to 7.4.4.
- [Release notes](https://github.com/rustyhorde/vergen/releases)
- [Commits](https://github.com/rustyhorde/vergen/compare/7.4.3...7.4.4)

---
updated-dependencies:
- dependency-name: vergen
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] e0b10f2179
build(deps): bump comfy-table from 6.1.3 to 6.1.4
Bumps [comfy-table](https://github.com/nukesor/comfy-table) from 6.1.3 to 6.1.4.
- [Release notes](https://github.com/nukesor/comfy-table/releases)
- [Changelog](https://github.com/Nukesor/comfy-table/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nukesor/comfy-table/compare/v6.1.3...v6.1.4)

---
updated-dependencies:
- dependency-name: comfy-table
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] bfb220984c
Merge #1250
1250: build(deps): bump serial_test from 0.9.0 to 0.10.0 r=delta1 a=dependabot[bot]

Bumps [serial_test](https://github.com/palfrey/serial_test) from 0.9.0 to 0.10.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/palfrey/serial_test/releases">serial_test's releases</a>.</em></p>
<blockquote>
<h2>v0.10.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Pass the function's visibilty to the generated function by <a href="https://github.com/bl-ue"><code>`@​bl-ue</code></a>` in <a href="https://github-redirect.dependabot.com/palfrey/serial_test/pull/81">palfrey/serial_test#81</a></li>
<li>Remove timeout_ms by <a href="https://github.com/palfrey"><code>`@​palfrey</code></a>` in <a href="https://github-redirect.dependabot.com/palfrey/serial_test/pull/83">palfrey/serial_test#83</a></li>
<li>Actually properly support async by <a href="https://github.com/palfrey"><code>`@​palfrey</code></a>` in <a href="https://github-redirect.dependabot.com/palfrey/serial_test/pull/82">palfrey/serial_test#82</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/bl-ue"><code>`@​bl-ue</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/palfrey/serial_test/pull/81">palfrey/serial_test#81</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/palfrey/serial_test/compare/v0.9.0...v0.10.0">https://github.com/palfrey/serial_test/compare/v0.9.0...v0.10.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="d72deb04dc"><code>d72deb0</code></a> 0.10.0</li>
<li><a href="f96580428a"><code>f965804</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/palfrey/serial_test/issues/85">#85</a> from palfrey/1.51-security</li>
<li><a href="44256fd605"><code>44256fd</code></a> Update regex and remove thread_local to fix security issues</li>
<li><a href="29b6e742e3"><code>29b6e74</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/palfrey/serial_test/issues/84">#84</a> from palfrey/1.51.0</li>
<li><a href="f4e3cb5f50"><code>f4e3cb5</code></a> Downgrade a bunch of stuff for 1.51.0 compat</li>
<li><a href="4330da408f"><code>4330da4</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/palfrey/serial_test/issues/82">#82</a> from palfrey/actual-async</li>
<li><a href="177a4f3d24"><code>177a4f3</code></a> Merge branch 'main' into actual-async</li>
<li><a href="cb516b95fb"><code>cb516b9</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/palfrey/serial_test/issues/83">#83</a> from palfrey/remove-timeout</li>
<li><a href="34529be55b"><code>34529be</code></a> Fix use of start only in logging</li>
<li><a href="dbd39cf652"><code>dbd39cf</code></a> Remove timeout_ms</li>
<li>Additional commits viewable in <a href="https://github.com/palfrey/serial_test/compare/v0.9.0...v0.10.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serial_test&package-manager=cargo&previous-version=0.9.0&new-version=0.10.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] 82cf166a8b
build(deps): bump serde_json from 1.0.89 to 1.0.91
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.89 to 1.0.91.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.89...v1.0.91)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] d85f9ef63d
build(deps): bump thiserror from 1.0.37 to 1.0.38
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.37 to 1.0.38.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.37...1.0.38)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] 26e4440083
Merge #1260
1260: Release version 0.12.0 r=binarybaron a=comit-botty-mc-botface

Hi `@binarybaron!`

This PR was created in response to a manual trigger of the release workflow here: https://github.com/comit-network/xmr-btc-swap/actions/runs/3810048887.
I've updated the changelog and bumped the versions in the manifest files in this commit: d7104c6976.

Merging this PR will create a GitHub release and upload any assets that are created as part of the release build.

Co-authored-by: COMIT Botty McBotface <botty@coblox.tech>
1 year ago
bors[bot] 19f3d32d17
Merge #1255
1255: update CI and bump serde r=binarybaron a=delta1

#1254 failed to install `cross` in CI 

It appears that actions-rs is not actively maintained, so this migrates the toolchain actions to dtolnay 

Co-authored-by: Byron Hambly <bhambly@blockstream.com>
1 year ago
COMIT Botty McBotface d7104c6976 Prepare release 0.12.0 1 year ago
bors[bot] 4950167b60
Merge #1259
1259: Allow asb to set a bitcoin address that is controlled by the asb itself to redeem/punish Bitcoin to r=binarybaron a=binarybaron



Co-authored-by: binarybaron <86064887+binarybaron@users.noreply.github.com>
1 year ago
binarybaron 1d96e7385c
Merge branch 'master' into external_bitcoin_redeem_address 1 year ago
bors[bot] e5f52b1fbd
Merge #1257
1257: Update CHANGELOG.md for 0.12.0 Release r=binarybaron a=binarybaron



Co-authored-by: binarybaron <86064887+binarybaron@users.noreply.github.com>
1 year ago
binarybaron b6201192c2 Allow asb to set a bitcoin address that is controlled by the asb itself to redeem/punish Bitcoin to 1 year ago
binarybaron dd0e4df18b
Merge branch 'master' into binarybaron-patch-1 1 year ago
bors[bot] b1fe7b0d2f
Merge #1195
1195: fix(asb): use unlocked monero balance for quotes r=binarybaron a=delta1

Related issue #1192 

- changes the ASB to use the unlocked (spendable) Monero balance when providing a quote
- upgrades monero docker images and downloads to v0.18.1.2 
- includes "immediately fetch transaction status upon subscription" from 0.11.x branch #1188  

This will also be backported to [0.11.x](https://github.com/comit-network/xmr-btc-swap/tree/0.11.x) branch for a new release 

Co-authored-by: Byron Hambly <bhambly@blockstream.com>
Co-authored-by: binarybaron <86064887+binarybaron@users.noreply.github.com>
1 year ago
binarybaron 96a3f8bb6e
Update CHANGELOG.md 1 year ago
binarybaron 39895a176f
Merge branch 'master' into monero-unlocked-balance 1 year ago
Byron Hambly 743cf4a4d5
ci: migrate to dtolnay/rust-toolchain 1 year ago
Byron Hambly 656c8df676
build(deps): bump serde to 1.0.52 1 year ago
dependabot[bot] c59e638834
build(deps): bump serial_test from 0.9.0 to 0.10.0
Bumps [serial_test](https://github.com/palfrey/serial_test) from 0.9.0 to 0.10.0.
- [Release notes](https://github.com/palfrey/serial_test/releases)
- [Commits](https://github.com/palfrey/serial_test/compare/v0.9.0...v0.10.0)

---
updated-dependencies:
- dependency-name: serial_test
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] aadf6356a6
build(deps): bump anyhow from 1.0.66 to 1.0.68
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.66 to 1.0.68.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.66...1.0.68)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
dependabot[bot] b4f96ba00d
build(deps): bump async-trait from 0.1.59 to 0.1.60
Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.59 to 0.1.60.
- [Release notes](https://github.com/dtolnay/async-trait/releases)
- [Commits](https://github.com/dtolnay/async-trait/compare/0.1.59...0.1.60)

---
updated-dependencies:
- dependency-name: async-trait
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
1 year ago
bors[bot] 5cb368a3f1
Merge #1244
1244: build(deps): bump toml from 0.5.9 to 0.5.10 r=delta1 a=dependabot[bot]

Bumps [toml](https://github.com/toml-rs/toml) from 0.5.9 to 0.5.10.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/toml-rs/toml/commits/toml-v0.5.10">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=toml&package-manager=cargo&previous-version=0.5.9&new-version=0.5.10)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] f74d785dca
build(deps): bump toml from 0.5.9 to 0.5.10
Bumps [toml](https://github.com/toml-rs/toml) from 0.5.9 to 0.5.10.
- [Release notes](https://github.com/toml-rs/toml/releases)
- [Commits](https://github.com/toml-rs/toml/commits/toml-v0.5.10)

---
updated-dependencies:
- dependency-name: toml
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] d841a86d64
Merge #1241
1241: build(deps): bump actions/checkout from 3.1.0 to 3.2.0 r=delta1 a=dependabot[bot]

Bumps [actions/checkout](https://github.com/actions/checkout) from 3.1.0 to 3.2.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/actions/checkout/releases">actions/checkout's releases</a>.</em></p>
<blockquote>
<h2>v3.2.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Add GitHub Action to perform release by <a href="https://github.com/rentziass"><code>`@​rentziass</code></a>` in <a href="https://github-redirect.dependabot.com/actions/checkout/pull/942">actions/checkout#942</a></li>
<li>Fix status badge by <a href="https://github.com/ScottBrenner"><code>`@​ScottBrenner</code></a>` in <a href="https://github-redirect.dependabot.com/actions/checkout/pull/967">actions/checkout#967</a></li>
<li>Replace datadog/squid with ubuntu/squid Docker image by <a href="https://github.com/cory-miller"><code>`@​cory-miller</code></a>` in <a href="https://github-redirect.dependabot.com/actions/checkout/pull/1002">actions/checkout#1002</a></li>
<li>Wrap pipeline commands for submoduleForeach in quotes by <a href="https://github.com/jokreliable"><code>`@​jokreliable</code></a>` in <a href="https://github-redirect.dependabot.com/actions/checkout/pull/964">actions/checkout#964</a></li>
<li>Update <code>`@​actions/io</code>` to 1.1.2 by <a href="https://github.com/cory-miller"><code>`@​cory-miller</code></a>` in <a href="https://github-redirect.dependabot.com/actions/checkout/pull/1029">actions/checkout#1029</a></li>
<li>Upgrading version to 3.2.0 by <a href="https://github.com/vmjoseph"><code>`@​vmjoseph</code></a>` in <a href="https://github-redirect.dependabot.com/actions/checkout/pull/1039">actions/checkout#1039</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/ScottBrenner"><code>`@​ScottBrenner</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/actions/checkout/pull/967">actions/checkout#967</a></li>
<li><a href="https://github.com/cory-miller"><code>`@​cory-miller</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/actions/checkout/pull/1002">actions/checkout#1002</a></li>
<li><a href="https://github.com/jokreliable"><code>`@​jokreliable</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/actions/checkout/pull/964">actions/checkout#964</a></li>
<li><a href="https://github.com/vmjoseph"><code>`@​vmjoseph</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/actions/checkout/pull/1039">actions/checkout#1039</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v3...v3.2.0">https://github.com/actions/checkout/compare/v3...v3.2.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="755da8c3cf"><code>755da8c</code></a> 3.2.0 (<a href="https://github-redirect.dependabot.com/actions/checkout/issues/1039">#1039</a>)</li>
<li><a href="26d48e8ea1"><code>26d48e8</code></a> Update <code>`@​actions/io</code>` to 1.1.2 (<a href="https://github-redirect.dependabot.com/actions/checkout/issues/1029">#1029</a>)</li>
<li><a href="bf085276ce"><code>bf08527</code></a> wrap pipeline commands for submoduleForeach in quotes (<a href="https://github-redirect.dependabot.com/actions/checkout/issues/964">#964</a>)</li>
<li><a href="5c3ccc22eb"><code>5c3ccc2</code></a> Replace datadog/squid with ubuntu/squid Docker image (<a href="https://github-redirect.dependabot.com/actions/checkout/issues/1002">#1002</a>)</li>
<li><a href="1f9a0c22da"><code>1f9a0c2</code></a> README - fix status badge (<a href="https://github-redirect.dependabot.com/actions/checkout/issues/967">#967</a>)</li>
<li><a href="8230315d06"><code>8230315</code></a> Add workflow to update a main version (<a href="https://github-redirect.dependabot.com/actions/checkout/issues/942">#942</a>)</li>
<li>See full diff in <a href="https://github.com/actions/checkout/compare/v3.1.0...v3.2.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/checkout&package-manager=github_actions&previous-version=3.1.0&new-version=3.2.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] c528756fb1
build(deps): bump actions/checkout from 3.1.0 to 3.2.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.1.0 to 3.2.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.1.0...v3.2.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] 84dc53527c
Merge #1236 #1237
1236: build(deps): bump thomaseizinger/create-pull-request from 1.2.2 to 1.3.0 r=delta1 a=dependabot[bot]

Bumps [thomaseizinger/create-pull-request](https://github.com/thomaseizinger/create-pull-request) from 1.2.2 to 1.3.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/thomaseizinger/create-pull-request/blob/master/CHANGELOG.md">thomaseizinger/create-pull-request's changelog</a>.</em></p>
<blockquote>
<h2><a href="https://github.com/thomaseizinger/create-pull-request/compare/1.2.0...1.3.0">1.3.0</a> - 2022-12-12</h2>
<h3>Added</h3>
<ul>
<li>Support for adding team reviewers by setting <code>team_reviewers</code></li>
<li>Support for adding assignees by setting <code>assignees</code></li>
</ul>
<h3>Changed</h3>
<ul>
<li>Execute action using <code>node16</code> instead of <code>node12</code> which is now deprecated.</li>
</ul>
<h2><a href="https://github.com/thomaseizinger/create-pull-request/compare/1.1.0...1.2.0">1.2.0</a> - 2021-07-26</h2>
<h3>Added</h3>
<ul>
<li>Support for adding labels by setting <code>labels</code></li>
<li>Check for existing pull request and <code>created</code> action output</li>
</ul>
<h2><a href="https://github.com/thomaseizinger/create-pull-request/compare/1.0.0...1.1.0">1.1.0</a> - 2021-06-16</h2>
<h3>Added</h3>
<ul>
<li>Git hook to make sure we always run <code>yarn build</code> before committing any Typescript changes. This should prevent dist/index.js from getting out of date.</li>
<li>Support for setting a proxy using the <code>HTTPS_PROXY</code> environment variable</li>
<li>Support for GitHub Enterprise by reading <code>process.env.GITHUB_REPOSITORY</code></li>
</ul>
<h3>Fixed</h3>
<ul>
<li>action.yml suggested to use <code>github-token</code> as the input where as in reality, we are looking for an input <code>github_token</code> (note the underscore!)</li>
</ul>
<h2><a href="92284b92af...1.0.0">1.0.0</a> - 2020-02-15</h2>
<h3>Added</h3>
<ul>
<li>Initial release!</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="e3972219c8"><code>e397221</code></a> Bump nodejs to 16</li>
<li><a href="321712c2c7"><code>321712c</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/thomaseizinger/create-pull-request/issues/235">#235</a> from thomaseizinger/dependabot/npm_and_yarn/minimatch...</li>
<li><a href="030f6ac7d7"><code>030f6ac</code></a> Update changelog</li>
<li><a href="7cc0778300"><code>7cc0778</code></a> Rebuild action</li>
<li><a href="41ea577b44"><code>41ea577</code></a> Bump minimatch from 3.0.4 to 3.1.2</li>
<li><a href="335eb12d9a"><code>335eb12</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/thomaseizinger/create-pull-request/issues/223">#223</a> from thomaseizinger/dependabot/npm_and_yarn/decode-ur...</li>
<li><a href="32a080bb02"><code>32a080b</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/thomaseizinger/create-pull-request/issues/224">#224</a> from thomaseizinger/dependabot/npm_and_yarn/qs-6.5.3</li>
<li><a href="16cf6123c4"><code>16cf612</code></a> Bump qs from 6.5.2 to 6.5.3</li>
<li><a href="5f467bf29d"><code>5f467bf</code></a> Bump decode-uri-component from 0.2.0 to 0.2.2</li>
<li><a href="08c462ea5f"><code>08c462e</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/thomaseizinger/create-pull-request/issues/215">#215</a> from thomaseizinger/dependabot/npm_and_yarn/actions/c...</li>
<li>Additional commits viewable in <a href="https://github.com/thomaseizinger/create-pull-request/compare/1.2.2...1.3.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=thomaseizinger/create-pull-request&package-manager=github_actions&previous-version=1.2.2&new-version=1.3.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1237: build(deps): bump serde from 1.0.149 to 1.0.150 r=delta1 a=dependabot[bot]

Bumps [serde](https://github.com/serde-rs/serde) from 1.0.149 to 1.0.150.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/serde/releases">serde's releases</a>.</em></p>
<blockquote>
<h2>v1.0.150</h2>
<ul>
<li>Relax some trait bounds from the <code>Serialize</code> impl of <code>HashMap</code> and <code>BTreeMap</code> (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2334">#2334</a>)</li>
<li>Enable <code>Serialize</code> and <code>Deserialize</code> impls of <code>std::sync::atomic</code> types on more platforms (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2337">#2337</a>, thanks <a href="https://github.com/badboy"><code>`@​badboy</code></a>)</li>`
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="d493649f52"><code>d493649</code></a> Release 1.0.150</li>
<li><a href="0e947e6c3b"><code>0e947e6</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2338">#2338</a> from serde-rs/atomic</li>
<li><a href="9249dab54c"><code>9249dab</code></a> Deduplicate atomic_impl macro calls</li>
<li><a href="7440e56c53"><code>7440e56</code></a> Deduplicate atomic_impl macro implementations</li>
<li><a href="0d79306285"><code>0d79306</code></a> Update atomic_impl macros to have same input syntax in all cfgs</li>
<li><a href="37faaf295e"><code>37faaf2</code></a> Mention target_has_atomic stabilization</li>
<li><a href="650358fa00"><code>650358f</code></a> Replace obsolete comment about target_has_atomic support</li>
<li><a href="6159ead404"><code>6159ead</code></a> Invert use_target_has_atomic cfg</li>
<li><a href="692ac99c69"><code>692ac99</code></a> Format PR 2337 with rustfmt</li>
<li><a href="86161ce15f"><code>86161ce</code></a> Adjust spacing in some macro matchers</li>
<li>Additional commits viewable in <a href="https://github.com/serde-rs/serde/compare/v1.0.149...v1.0.150">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde&package-manager=cargo&previous-version=1.0.149&new-version=1.0.150)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
bors[bot] 0c506815e5
Merge #1238 #1239 #1240
1238: build(deps): bump ecdsa_fun from `da6ffd2` to `9657d8c` r=delta1 a=dependabot[bot]

Bumps [ecdsa_fun](https://github.com/LLFourn/secp256kfun) from `da6ffd2` to `9657d8c`.
<details>
<summary>Commits</summary>
<ul>
<li><a href="9657d8c12f"><code>9657d8c</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/LLFourn/secp256kfun/issues/134">#134</a> from LLFourn/simplify_tags</li>
<li><a href="fe25e967e7"><code>fe25e96</code></a> Fix some doc link that fell through the cracks</li>
<li><a href="250b6e83a3"><code>250b6e8</code></a> Add NonceRng implementations for RefCell and Mutex</li>
<li><a href="53aad8a044"><code>53aad8a</code></a> Simplify hash/nonce_gen tagging</li>
<li><a href="1ec357b831"><code>1ec357b</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/LLFourn/secp256kfun/issues/135">#135</a> from LLFourn/alloc-serde-fixups</li>
<li><a href="fa1eebcf7c"><code>fa1eebc</code></a> [frost] Fix features = alloc but not serde</li>
<li>See full diff in <a href="da6ffd2ef4...9657d8c12f">compare view</a></li>
</ul>
</details>
<br />


You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1239: build(deps): bump sigma_fun from `da6ffd2` to `9657d8c` r=delta1 a=dependabot[bot]

Bumps [sigma_fun](https://github.com/LLFourn/secp256kfun) from `da6ffd2` to `9657d8c`.
<details>
<summary>Commits</summary>
<ul>
<li><a href="9657d8c12f"><code>9657d8c</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/LLFourn/secp256kfun/issues/134">#134</a> from LLFourn/simplify_tags</li>
<li><a href="fe25e967e7"><code>fe25e96</code></a> Fix some doc link that fell through the cracks</li>
<li><a href="250b6e83a3"><code>250b6e8</code></a> Add NonceRng implementations for RefCell and Mutex</li>
<li><a href="53aad8a044"><code>53aad8a</code></a> Simplify hash/nonce_gen tagging</li>
<li><a href="1ec357b831"><code>1ec357b</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/LLFourn/secp256kfun/issues/135">#135</a> from LLFourn/alloc-serde-fixups</li>
<li><a href="fa1eebcf7c"><code>fa1eebc</code></a> [frost] Fix features = alloc but not serde</li>
<li>See full diff in <a href="da6ffd2ef4...9657d8c12f">compare view</a></li>
</ul>
</details>
<br />


You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1240: build(deps): bump base64 from 0.13.1 to 0.20.0 r=delta1 a=dependabot[bot]

Bumps [base64](https://github.com/marshallpierce/rust-base64) from 0.13.1 to 0.20.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/marshallpierce/rust-base64/blob/master/RELEASE-NOTES.md">base64's changelog</a>.</em></p>
<blockquote>
<h1>0.20.0</h1>
<h3>Breaking changes</h3>
<ul>
<li>Update MSRV to 1.57.0</li>
<li>Decoding can now either ignore padding, require correct padding, or require no padding. The default is to require correct padding.
<ul>
<li>The <code>NO_PAD</code> config now requires that padding be absent when decoding.</li>
</ul>
</li>
</ul>
<h2>0.20.0-alpha.1</h2>
<h3>Breaking changes</h3>
<ul>
<li>Extended the <code>Config</code> concept into the <code>Engine</code> abstraction, allowing the user to pick different encoding / decoding implementations.
<ul>
<li>What was formerly the only algorithm is now the <code>FastPortable</code> engine, so named because it's portable (works on any CPU) and relatively fast.</li>
<li>This opens the door to a portable constant-time implementation (<a href="https://github-redirect.dependabot.com/marshallpierce/rust-base64/pull/153">#153</a>, presumably <code>ConstantTimePortable</code>?) for security-sensitive applications that need side-channel resistance, and CPU-specific SIMD implementations for  more speed.</li>
<li>Standard base64 per the RFC is available via <code>DEFAULT_ENGINE</code>. To use different alphabets or other settings (padding, etc), create your own engine instance.</li>
</ul>
</li>
<li><code>CharacterSet</code> is now <code>Alphabet</code> (per the RFC), and allows creating custom alphabets. The corresponding tables that were previously code-generated are now built dynamically.</li>
<li>Since there are already multiple breaking changes, various functions are renamed to be more consistent and discoverable.</li>
<li>MSRV is now 1.47.0 to allow various things to use <code>const fn</code>.</li>
<li><code>DecoderReader</code> now owns its inner reader, and can expose it via <code>into_inner()</code>. For symmetry, <code>EncoderWriter</code> can do the same with its writer.</li>
<li><code>encoded_len</code> is now public so you can size encode buffers precisely.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="9fcde482cd"><code>9fcde48</code></a> v0.20.0</li>
<li><a href="68919aed81"><code>68919ae</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/marshallpierce/rust-base64/issues/202">#202</a> from marshallpierce/mp/edition-2021</li>
<li><a href="f58f441689"><code>f58f441</code></a> Also updated fuzzers</li>
<li><a href="d86e8c8683"><code>d86e8c8</code></a> Update to edition 2021</li>
<li><a href="766fbc979f"><code>766fbc9</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/marshallpierce/rust-base64/issues/198">#198</a> from marshallpierce/mp/invalid-padding</li>
<li><a href="250323c852"><code>250323c</code></a> More fuzzer fixes</li>
<li><a href="bcbc6699cc"><code>bcbc669</code></a> Minor cleanup</li>
<li><a href="604a3caeb5"><code>604a3ca</code></a> fix fuzzers</li>
<li><a href="0996b81391"><code>0996b81</code></a> Merge branch 'master' into mp/invalid-padding</li>
<li><a href="442a8097d5"><code>442a809</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/marshallpierce/rust-base64/issues/197">#197</a> from marshallpierce/mp/update-msrv</li>
<li>Additional commits viewable in <a href="https://github.com/marshallpierce/rust-base64/compare/v0.13.1...v0.20.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=base64&package-manager=cargo&previous-version=0.13.1&new-version=0.20.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] 6e619a1ae1
build(deps): bump base64 from 0.13.1 to 0.20.0
Bumps [base64](https://github.com/marshallpierce/rust-base64) from 0.13.1 to 0.20.0.
- [Release notes](https://github.com/marshallpierce/rust-base64/releases)
- [Changelog](https://github.com/marshallpierce/rust-base64/blob/master/RELEASE-NOTES.md)
- [Commits](https://github.com/marshallpierce/rust-base64/compare/v0.13.1...v0.20.0)

---
updated-dependencies:
- dependency-name: base64
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] c13b47451a
build(deps): bump sigma_fun from `da6ffd2` to `9657d8c`
Bumps [sigma_fun](https://github.com/LLFourn/secp256kfun) from `da6ffd2` to `9657d8c`.
- [Release notes](https://github.com/LLFourn/secp256kfun/releases)
- [Commits](da6ffd2ef4...9657d8c12f)

---
updated-dependencies:
- dependency-name: sigma_fun
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] 29696d2d57
build(deps): bump ecdsa_fun from `da6ffd2` to `9657d8c`
Bumps [ecdsa_fun](https://github.com/LLFourn/secp256kfun) from `da6ffd2` to `9657d8c`.
- [Release notes](https://github.com/LLFourn/secp256kfun/releases)
- [Commits](da6ffd2ef4...9657d8c12f)

---
updated-dependencies:
- dependency-name: ecdsa_fun
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] 79cf2fa2d0
build(deps): bump serde from 1.0.149 to 1.0.150
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.149 to 1.0.150.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.149...v1.0.150)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] f72e41e8bc
build(deps): bump thomaseizinger/create-pull-request from 1.2.2 to 1.3.0
Bumps [thomaseizinger/create-pull-request](https://github.com/thomaseizinger/create-pull-request) from 1.2.2 to 1.3.0.
- [Release notes](https://github.com/thomaseizinger/create-pull-request/releases)
- [Changelog](https://github.com/thomaseizinger/create-pull-request/blob/master/CHANGELOG.md)
- [Commits](https://github.com/thomaseizinger/create-pull-request/compare/1.2.2...1.3.0)

---
updated-dependencies:
- dependency-name: thomaseizinger/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] ee4273d2d5
Merge #1231
1231:  feat(asb): allow config overrides from env vars r=delta1 a=delta1

- upgrades config crate to 0.13.2 #1087
- adds environment source for config overrides 

This change allows the ASB config to be overridden by env vars starting with `ASB__`. 
Adds a test to check this, and updates the de/serialization of the network `listen` and `external_addresses` fields to be a comma separated string from the environment. The `separator` is a pair of underscores, which is necessary since some of the fields already have underscores in their names. 

Example env var: `ASB__NETWORK__EXTERNAL_ADDRESSES="/dns4/example.org/tcp/9939,/ip4/1.2.3.4/tcp/9940"` 

This particular change will help when running the ASB as a docker container (wip), allowing the config to be set in the env for docker-compose etc. 

Co-authored-by: Byron Hambly <bhambly@blockstream.com>
2 years ago
bors[bot] 27cd39227e
Merge #1234
1234: build(deps): bump bdk from 0.24.0 to 0.25.0 r=delta1 a=dependabot[bot]

Bumps [bdk](https://github.com/bitcoindevkit/bdk) from 0.24.0 to 0.25.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/bitcoindevkit/bdk/releases">bdk's releases</a>.</em></p>
<blockquote>
<h2>Release 0.25.0</h2>
<h3>Summary</h3>
<p>This release fixes slow sync time and big script_pubkeys table with SQLite, the wallet rescan height for the FullyNodedExport and setting the network for keys in the KeyMap when using descriptor templates. Also added are new blockchain and mnemonic examples.</p>
<h3>Changelog</h3>
<h4>Fixed</h4>
<ul>
<li>Slow sync time and big script_pubkeys table with SQLite.</li>
<li>Wallet rescan height for the FullyNodedExport.</li>
<li>Setting the network for keys in the KeyMap when using descriptor templates.</li>
</ul>
<h4>Added</h4>
<ul>
<li>Examples for connecting to Esplora, Electrum Server, Neutrino and Bitcoin Core.</li>
<li>Example for using a mnemonic in a descriptors.</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>Fix wallet export rescan height by <a href="https://github.com/LLFourn"><code>`@​LLFourn</code></a>` in <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/pull/785">bitcoindevkit/bdk#785</a></li>
<li>Add code example for each supported backend by <a href="https://github.com/w0xlt"><code>`@​w0xlt</code></a>` in <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/pull/526">bitcoindevkit/bdk#526</a></li>
<li>fix: ensure the key network is updated in the KeyMap as well by <a href="https://github.com/afilini"><code>`@​afilini</code></a>` in <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/pull/800">bitcoindevkit/bdk#800</a></li>
<li>Add mnemonic_to_descriptors example by <a href="https://github.com/vladimirfomene"><code>`@​vladimirfomene</code></a>` in <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/pull/746">bitcoindevkit/bdk#746</a></li>
<li>Bump version to 0.25.0 by <a href="https://github.com/notmandatory"><code>`@​notmandatory</code></a>` in <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/pull/803">bitcoindevkit/bdk#803</a></li>
<li>Ensure there are no duplicated script_pubkeys in sqlite by <a href="https://github.com/afilini"><code>`@​afilini</code></a>` in <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/pull/806">bitcoindevkit/bdk#806</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/bitcoindevkit/bdk/compare/v0.24.0...v0.25.0">https://github.com/bitcoindevkit/bdk/compare/v0.24.0...v0.25.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="d288cbbbbc"><code>d288cbb</code></a> Bump version to 0.25.0</li>
<li><a href="005447c81e"><code>005447c</code></a> Downgrade ubuntu to 20.04 for test_hardware_wallet CI job</li>
<li><a href="5168d41a93"><code>5168d41</code></a> Bump version to 0.25.0-rc.1</li>
<li><a href="4c5ceaff14"><code>4c5ceaf</code></a> Merge <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/issues/806">bitcoindevkit/bdk#806</a>: Ensure there are no duplicated script_pubkeys in...</li>
<li><a href="b5fcddcf1a"><code>b5fcddc</code></a> Add sqlite migration to drop duplicated script_pubkeys rows</li>
<li><a href="d570ff2c65"><code>d570ff2</code></a> Merge <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/issues/803">bitcoindevkit/bdk#803</a>: Bump version to 0.25.0</li>
<li><a href="21c96c9c81"><code>21c96c9</code></a> Add test for issue <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/issues/801">#801</a></li>
<li><a href="c51d544932"><code>c51d544</code></a> [wip] Ensure there are no duplicated script_pubkeys in sqlite</li>
<li><a href="5e56c3b3c1"><code>5e56c3b</code></a> Bump version to 0.25.0</li>
<li><a href="235961a934"><code>235961a</code></a> Merge <a href="https://github-redirect.dependabot.com/bitcoindevkit/bdk/issues/746">bitcoindevkit/bdk#746</a>: Add mnemonic_to_descriptors example</li>
<li>Additional commits viewable in <a href="https://github.com/bitcoindevkit/bdk/compare/v0.24.0...v0.25.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=bdk&package-manager=cargo&previous-version=0.24.0&new-version=0.25.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
bors[bot] 6cbd258950
Merge #1235
1235: build(deps): bump data-encoding from 2.3.2 to 2.3.3 r=delta1 a=dependabot[bot]

Bumps [data-encoding](https://github.com/ia0/data-encoding) from 2.3.2 to 2.3.3.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/ia0/data-encoding/commits">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=data-encoding&package-manager=cargo&previous-version=2.3.2&new-version=2.3.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] 1198cd7fcd
build(deps): bump data-encoding from 2.3.2 to 2.3.3
Bumps [data-encoding](https://github.com/ia0/data-encoding) from 2.3.2 to 2.3.3.
- [Release notes](https://github.com/ia0/data-encoding/releases)
- [Commits](https://github.com/ia0/data-encoding/commits)

---
updated-dependencies:
- dependency-name: data-encoding
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] 2401c2f38f
build(deps): bump bdk from 0.24.0 to 0.25.0
Bumps [bdk](https://github.com/bitcoindevkit/bdk) from 0.24.0 to 0.25.0.
- [Release notes](https://github.com/bitcoindevkit/bdk/releases)
- [Changelog](https://github.com/bitcoindevkit/bdk/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bitcoindevkit/bdk/compare/v0.24.0...v0.25.0)

---
updated-dependencies:
- dependency-name: bdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] b033b48861
Merge #1233
1233: build(deps): bump serde from 1.0.148 to 1.0.149 r=delta1 a=dependabot[bot]

Bumps [serde](https://github.com/serde-rs/serde) from 1.0.148 to 1.0.149.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/serde/releases">serde's releases</a>.</em></p>
<blockquote>
<h2>v1.0.149</h2>
<ul>
<li>Relax some trait bounds from the <code>Serialize</code> impl of <code>BinaryHeap</code>, <code>BTreeSet</code>, and <code>HashSet</code> (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2333">#2333</a>, thanks <a href="https://github.com/jonasbb"><code>`@​jonasbb</code></a>)</li>`
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="0353354d61"><code>0353354</code></a> Release 1.0.149</li>
<li><a href="34ae0422f4"><code>34ae042</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2333">#2333</a> from jonasbb/remove-trait-bounds</li>
<li><a href="cc128feb4c"><code>cc128fe</code></a> Remove some Serialize trait bounds</li>
<li>See full diff in <a href="https://github.com/serde-rs/serde/compare/v1.0.148...v1.0.149">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde&package-manager=cargo&previous-version=1.0.148&new-version=1.0.149)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
Byron Hambly 6848f64385
build(deps): bump config to 0.13.3 2 years ago
dependabot[bot] 6f8f381500
build(deps): bump serde from 1.0.148 to 1.0.149
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.148 to 1.0.149.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.148...v1.0.149)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
Byron Hambly 98296d8fa6
feat(asb): allow config overrides from env vars
- upgrades config crate to 0.13.2 #1087
- adds environment source for config overrides
2 years ago
Byron Hambly 55e7d3f425
Merge branch 'master' into monero-unlocked-balance 2 years ago
bors[bot] e279b20629
Merge #1230
1230: docs: update sqlx script and add ci r=delta1 a=delta1

- upgrades sqlx to 0.6
- fixes `sqlite_dev_setup.sh` script
- adds ci to test the script

Co-authored-by: Byron Hambly <bhambly@blockstream.com>
2 years ago
Byron Hambly f0e059c814
docs: update sqlx script and add ci
- upgrades sqlx to 0.6
- fixes sqlite_dev_setup.sh script
- adds ci to test the script
2 years ago
bors[bot] 96398b1db4
Merge #1229
1229: build(deps): bump vergen from 7.0.0 to 7.4.3 r=delta1 a=dependabot[bot]

Bumps [vergen](https://github.com/rustyhorde/vergen) from 7.0.0 to 7.4.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/rustyhorde/vergen/releases">vergen's releases</a>.</em></p>
<blockquote>
<h2>v7.4.3</h2>
<ul>
<li>Documentation update</li>
<li>Fix for <code>sysinfo</code> memory reporting for machine with large amounts of memory</li>
</ul>
<h2>v7.4.2</h2>
<ul>
<li>Added support for <code>SOURCE_DATE_EPOCH</code> timestamps from <a href="https://reproducible-builds.org/docs/source-date-epoch/">https://reproducible-builds.org/docs/source-date-epoch/</a></li>
</ul>
<h2>v7.4.1</h2>
<ul>
<li>Pined <code>enum-iterator</code> dependency to <code>1.1.3</code> to avoid issue caused by more recent versions using unstable features causing builds to fail.</li>
</ul>
<h2>v7.4.0</h2>
<ul>
<li>Pinned all dependencies.</li>
<li>Added the ability to ignore errors to continue processing other enabled environment variables.</li>
</ul>
<h2>v7.3.2</h2>
<ul>
<li>Pinned git dependency to &quot;0.14&quot;.   Version 0.15 was causing issues within docker builds (can't determine 'safe.directory').  Pinning to the last usable version for now until I can determine the underlying cause of that issue.</li>
</ul>
<h2>v7.3.1</h2>
<ul>
<li>Updated <code>enum-iterator</code> to latest</li>
<li>Updated <code>sysinfo</code> to latest</li>
<li>MSRV to 1.62.0</li>
</ul>
<h2>v7.2.1</h2>
<ul>
<li>Added support for git commit message output</li>
</ul>
<h2>v7.2.0</h2>
<ul>
<li>Added the ability to generate the git author and git email independently.</li>
</ul>
<h2>v7.1.0</h2>
<ul>
<li>Added support for git commit count</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="198027cf0e"><code>198027c</code></a> version bump for next release</li>
<li><a href="8f28441e3f"><code>8f28441</code></a> Updated let else as the feature is unstable with</li>
<li><a href="1fa8357c07"><code>1fa8357</code></a> lint</li>
<li><a href="8b0aa4fd84"><code>8b0aa4f</code></a> Fix memory reporting with sysinfo 0.16 (<a href="https://github-redirect.dependabot.com/rustyhorde/vergen/issues/142">#142</a>)</li>
<li><a href="a157623087"><code>a157623</code></a> Fix documentation for <code>SOURCE_DATE_EPOCH</code> variable (<a href="https://github-redirect.dependabot.com/rustyhorde/vergen/issues/139">#139</a>)</li>
<li><a href="fad821d4de"><code>fad821d</code></a> removed lint</li>
<li><a href="3e9e68f102"><code>3e9e68f</code></a> format lints</li>
<li><a href="dad72cd131"><code>dad72cd</code></a> removed unstable lints</li>
<li><a href="bc8030ef0c"><code>bc8030e</code></a> lints</li>
<li><a href="8f6c8a2f74"><code>8f6c8a2</code></a> version bump for next release</li>
<li>Additional commits viewable in <a href="https://github.com/rustyhorde/vergen/compare/7.0.0...7.4.3">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=vergen&package-manager=cargo&previous-version=7.0.0&new-version=7.4.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] fa38208ffa
build(deps): bump vergen from 7.0.0 to 7.4.3
Bumps [vergen](https://github.com/rustyhorde/vergen) from 7.0.0 to 7.4.3.
- [Release notes](https://github.com/rustyhorde/vergen/releases)
- [Commits](https://github.com/rustyhorde/vergen/compare/7.0.0...7.4.3)

---
updated-dependencies:
- dependency-name: vergen
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] f0e28b1bc6
Merge #1228
1228: build(deps): bump async-trait from 0.1.58 to 0.1.59 r=delta1 a=dependabot[bot]

Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.58 to 0.1.59.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/async-trait/releases">async-trait's releases</a>.</em></p>
<blockquote>
<h2>0.1.59</h2>
<ul>
<li>Support <code>self: Arc&lt;Self&gt;</code> async methods that have a default implementation provided by the trait (<a href="https://github-redirect.dependabot.com/dtolnay/async-trait/issues/210">#210</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="c1fba00e2e"><code>c1fba00</code></a> Release 0.1.59</li>
<li><a href="b0466bb302"><code>b0466bb</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/async-trait/issues/223">#223</a> from dtolnay/arc</li>
<li><a href="066f06ec0d"><code>066f06e</code></a> Match specifically Arc&lt;Self&gt;, not any other Arc</li>
<li><a href="d1a4a23e97"><code>d1a4a23</code></a> Infer Sync+Send bound for Arc&lt;Self&gt; methods with default body</li>
<li><a href="e5828bf9e1"><code>e5828bf</code></a> Add regression test for issue 210</li>
<li><a href="9ed6489ee0"><code>9ed6489</code></a> Format with rustfmt 1.5.1-nightly</li>
<li><a href="b100ace3bc"><code>b100ace</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/async-trait/issues/222">#222</a> from dtolnay/bound</li>
<li><a href="643c07c0d1"><code>643c07c</code></a> Generalize support for inferred multiple bounds</li>
<li><a href="6c13d6fb80"><code>6c13d6f</code></a> Move absolute path of bound into InferredBound</li>
<li><a href="cfa9c10f53"><code>cfa9c10</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/async-trait/issues/221">#221</a> from dtolnay/bound</li>
<li>Additional commits viewable in <a href="https://github.com/dtolnay/async-trait/compare/0.1.58...0.1.59">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=async-trait&package-manager=cargo&previous-version=0.1.58&new-version=0.1.59)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
Byron Hambly 08426d8171
fixup! fix(asb): use unlocked monero balance for quotes 2 years ago
dependabot[bot] 27dd595dfa
build(deps): bump async-trait from 0.1.58 to 0.1.59
Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.58 to 0.1.59.
- [Release notes](https://github.com/dtolnay/async-trait/releases)
- [Commits](https://github.com/dtolnay/async-trait/compare/0.1.58...0.1.59)

---
updated-dependencies:
- dependency-name: async-trait
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] a6c5f42aea
Merge #1227
1227: build(deps): bump serde from 1.0.147 to 1.0.148 r=delta1 a=dependabot[bot]

Bumps [serde](https://github.com/serde-rs/serde) from 1.0.147 to 1.0.148.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/serde/releases">serde's releases</a>.</em></p>
<blockquote>
<h2>v1.0.148</h2>
<ul>
<li>Support <code>remote</code> derive for generic types that have private fields (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2327">#2327</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="7766103174"><code>7766103</code></a> Release 1.0.148</li>
<li><a href="30f7c7110d"><code>30f7c71</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2331">#2331</a> from dtolnay/remote</li>
<li><a href="50354c2d0b"><code>50354c2</code></a> Improve error message on remote derive duplicate generics</li>
<li><a href="c4f67e679f"><code>c4f67e6</code></a> Add ui test of duplicate generics in remote derive</li>
<li><a href="0daafe423f"><code>0daafe4</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2330">#2330</a> from dtolnay/remote</li>
<li><a href="37021910c9"><code>3702191</code></a> Fix Into conversion involving generic remote derive with getter</li>
<li><a href="7328b34810"><code>7328b34</code></a> Add test of generic remote derive with getter</li>
<li><a href="fabbd2b097"><code>fabbd2b</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2329">#2329</a> from dtolnay/safety</li>
<li><a href="6814f978d7"><code>6814f97</code></a> Revert Buf::as_str safety change from PR 2319</li>
<li><a href="4ea403c54a"><code>4ea403c</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2328">#2328</a> from dtolnay/remote</li>
<li>Additional commits viewable in <a href="https://github.com/serde-rs/serde/compare/v1.0.147...v1.0.148">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde&package-manager=cargo&previous-version=1.0.147&new-version=1.0.148)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] ec44077b61
build(deps): bump serde from 1.0.147 to 1.0.148
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.147 to 1.0.148.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.147...v1.0.148)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] ee06b2a0e4
Merge #1226
1226: ci: use cargo cross for binary builds r=delta1 a=delta1

related to #1218

see: https://github.com/comit-network/xmr-btc-swap/pull/1225#issuecomment-1327637918 

Co-authored-by: Byron Hambly <bhambly@blockstream.com>
2 years ago
Byron Hambly 206040d9d6
ci: use cargo cross for binary builds
related to #1218
2 years ago
bors[bot] e5e7de757e
Merge #1225
1225: fix(cli, asb): print update warning correctly formatted r=delta1 a=binarybaron



Co-authored-by: binarybaron <86064887+binarybaron@users.noreply.github.com>
2 years ago
bors[bot] 54875bb30b
Merge #1224
1224: build(deps): bump rust_decimal_macros from 1.26.1 to 1.27.0 r=delta1 a=dependabot[bot]

Bumps [rust_decimal_macros](https://github.com/paupino/rust-decimal) from 1.26.1 to 1.27.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/paupino/rust-decimal/blob/master/CHANGELOG.md">rust_decimal_macros's changelog</a>.</em></p>
<blockquote>
<h2>1.27.0</h2>
<h3>Added</h3>
<ul>
<li>Added <code>Copy</code>/<code>Clone</code> traits for <code>rkvy::Archive</code> (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/pull/539">#539</a>)</li>
<li>Support precision for scientific notation formatting (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/pull/555">#555</a>, <a href="https://github-redirect.dependabot.com/paupino/rust-decimal/pull/557">#557</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed edge case parsing of strings whereby it would incorrectly error instead of round (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/pull/541">#541</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Update diesel feature to use release version (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/pull/546">#546</a>)</li>
<li>Updated documentation to include <code>cargo-edit</code> instructions (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/pull/538">#538</a>)</li>
<li>Start using new feature resolver for cargo dependencies (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/pull/551">#551</a>)</li>
<li>Optional serde deserialization avoids using <code>deserialize_any</code> except in explicit use cases (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/pull/558">#558</a>)</li>
</ul>
<h3>Credit</h3>
<p>This release wouldn't have been possible without the help of the community. Special call out and thank you to <a href="https://github.com/icy-ux"><code>`@​icy-ux</code></a>,` <a href="https://github.com/CAD97"><code>`@​CAD97</code></a>,` <a href="https://github.com/nicksenger"><code>`@​nicksenger</code></a>,`
<a href="https://github.com/c410-f3r"><code>`@​c410-f3r</code></a>` and <a href="https://github.com/yongqli"><code>`@​yongqli</code></a>.</p>`
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/paupino/rust-decimal/commits">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rust_decimal_macros&package-manager=cargo&previous-version=1.26.1&new-version=1.27.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
binarybaron 52871c9fc8 Print update warning correctly formatted 2 years ago
bors[bot] 5344e6d66c
Merge #1223
1223: build(deps): bump sigma_fun from `7f1ae3d` to `da6ffd2` r=delta1 a=dependabot[bot]

Bumps [sigma_fun](https://github.com/LLFourn/secp256kfun) from `7f1ae3d` to `da6ffd2`.
<details>
<summary>Commits</summary>
<ul>
<li><a href="da6ffd2ef4"><code>da6ffd2</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/LLFourn/secp256kfun/issues/132">#132</a> from LLFourn/clean_up_feature_falgs</li>
<li><a href="147896ac92"><code>147896a</code></a> Add feature flag docs</li>
<li><a href="5c01ec45ec"><code>5c01ec4</code></a> Use v1.60 cargo features to clean up dependencies</li>
<li><a href="026aaa8e24"><code>026aaa8</code></a> Clean up feature flags</li>
<li><a href="e041ac0811"><code>e041ac0</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/LLFourn/secp256kfun/issues/133">#133</a> from delta1/secp256k1-0.24</li>
<li><a href="b666877ce0"><code>b666877</code></a> build(deps): update to secp256k1 0.24</li>
<li>See full diff in <a href="7f1ae3db39...da6ffd2ef4">compare view</a></li>
</ul>
</details>
<br />


You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
bors[bot] 814177dcb7
Merge #1222
1222: build(deps): bump ecdsa_fun from `7f1ae3d` to `da6ffd2` r=delta1 a=dependabot[bot]

Bumps [ecdsa_fun](https://github.com/LLFourn/secp256kfun) from `7f1ae3d` to `da6ffd2`.
<details>
<summary>Commits</summary>
<ul>
<li><a href="da6ffd2ef4"><code>da6ffd2</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/LLFourn/secp256kfun/issues/132">#132</a> from LLFourn/clean_up_feature_falgs</li>
<li><a href="147896ac92"><code>147896a</code></a> Add feature flag docs</li>
<li><a href="5c01ec45ec"><code>5c01ec4</code></a> Use v1.60 cargo features to clean up dependencies</li>
<li><a href="026aaa8e24"><code>026aaa8</code></a> Clean up feature flags</li>
<li><a href="e041ac0811"><code>e041ac0</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/LLFourn/secp256kfun/issues/133">#133</a> from delta1/secp256k1-0.24</li>
<li><a href="b666877ce0"><code>b666877</code></a> build(deps): update to secp256k1 0.24</li>
<li>See full diff in <a href="7f1ae3db39...da6ffd2ef4">compare view</a></li>
</ul>
</details>
<br />


You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
bors[bot] 6f87e69530
Merge #1216 #1217
1216: build(deps): bump comfy-table from 6.1.2 to 6.1.3 r=delta1 a=dependabot[bot]

Bumps [comfy-table](https://github.com/nukesor/comfy-table) from 6.1.2 to 6.1.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/nukesor/comfy-table/releases">comfy-table's releases</a>.</em></p>
<blockquote>
<h2>v6.1.3</h2>
<h3>Fixed</h3>
<ul>
<li>Disable unneded crossterm <code>bracketed-paste</code> feature.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/Nukesor/comfy-table/blob/main/CHANGELOG.md">comfy-table's changelog</a>.</em></p>
<blockquote>
<h2>[6.1.3] - 2022-11-21</h2>
<h3>Fixed</h3>
<ul>
<li>Disable unneded crossterm <code>bracketed-paste</code> feature.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="2c018c3bd9"><code>2c018c3</code></a> chore: Release comfy-table version 6.1.3</li>
<li><a href="c237599001"><code>c237599</code></a> fix: Remove unneded crossterm feature</li>
<li><a href="e42e800183"><code>e42e800</code></a> chore: Sort Cargo.toml</li>
<li>See full diff in <a href="https://github.com/nukesor/comfy-table/compare/v6.1.2...v6.1.3">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=comfy-table&package-manager=cargo&previous-version=6.1.2&new-version=6.1.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1217: build(deps): bump serde_json from 1.0.87 to 1.0.89 r=delta1 a=dependabot[bot]

Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.87 to 1.0.89.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p>
<blockquote>
<h2>v1.0.89</h2>
<ul>
<li>Fix invalid JSON incorrectly accepted when a large number has no digits after decimal point (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/953">#953</a>)</li>
</ul>
<h2>v1.0.88</h2>
<ul>
<li>Optimize serde_json::Map's implementation of <code>append</code> and <code>clone_from</code> (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/952">#952</a>, thanks <a href="https://github.com/Lucretiel"><code>`@​Lucretiel</code></a>)</li>`
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="d2f936855d"><code>d2f9368</code></a> Release 1.0.89</li>
<li><a href="0b898369f9"><code>0b89836</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/956">#956</a> from dtolnay/decimal</li>
<li><a href="9d94e920ef"><code>9d94e92</code></a> Require at least one digit after decimal point</li>
<li><a href="c27b02334b"><code>c27b023</code></a> Add regression test for issue 953</li>
<li><a href="586fefb5a1"><code>586fefb</code></a> Resolve semicolon_if_nothing_returned pedantic clippy lint</li>
<li><a href="9eb66da7e0"><code>9eb66da</code></a> Release 1.0.88</li>
<li><a href="057957ccf4"><code>057957c</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/952">#952</a> from Lucretiel/map-traits</li>
<li><a href="3347248d82"><code>3347248</code></a> Add <code>clone_from</code> to <code>Map</code>; <code>Map::append</code> now uses <code>IndexMap::extend</code></li>
<li><a href="ca41bdd563"><code>ca41bdd</code></a> Update ui test suite to nightly-2022-11-16</li>
<li><a href="4f194c9141"><code>4f194c9</code></a> Resolve needless_borrow pedantic clippy lint in test</li>
<li>See full diff in <a href="https://github.com/serde-rs/json/compare/v1.0.87...v1.0.89">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_json&package-manager=cargo&previous-version=1.0.87&new-version=1.0.89)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] f123802619
build(deps): bump comfy-table from 6.1.2 to 6.1.3
Bumps [comfy-table](https://github.com/nukesor/comfy-table) from 6.1.2 to 6.1.3.
- [Release notes](https://github.com/nukesor/comfy-table/releases)
- [Changelog](https://github.com/Nukesor/comfy-table/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nukesor/comfy-table/compare/v6.1.2...v6.1.3)

---
updated-dependencies:
- dependency-name: comfy-table
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] 42b090a66f
build(deps): bump ecdsa_fun from `7f1ae3d` to `da6ffd2`
Bumps [ecdsa_fun](https://github.com/LLFourn/secp256kfun) from `7f1ae3d` to `da6ffd2`.
- [Release notes](https://github.com/LLFourn/secp256kfun/releases)
- [Commits](7f1ae3db39...da6ffd2ef4)

---
updated-dependencies:
- dependency-name: ecdsa_fun
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] bb1e17c65b
build(deps): bump serde_json from 1.0.87 to 1.0.89
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.87 to 1.0.89.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.87...v1.0.89)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] d604ad8b92
build(deps): bump sigma_fun from `7f1ae3d` to `da6ffd2`
Bumps [sigma_fun](https://github.com/LLFourn/secp256kfun) from `7f1ae3d` to `da6ffd2`.
- [Release notes](https://github.com/LLFourn/secp256kfun/releases)
- [Commits](7f1ae3db39...da6ffd2ef4)

---
updated-dependencies:
- dependency-name: sigma_fun
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] ecfc4ac324
build(deps): bump rust_decimal_macros from 1.26.1 to 1.27.0
Bumps [rust_decimal_macros](https://github.com/paupino/rust-decimal) from 1.26.1 to 1.27.0.
- [Release notes](https://github.com/paupino/rust-decimal/releases)
- [Changelog](https://github.com/paupino/rust-decimal/blob/master/CHANGELOG.md)
- [Commits](https://github.com/paupino/rust-decimal/commits)

---
updated-dependencies:
- dependency-name: rust_decimal_macros
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] dcd8abd34e
Merge #1219
1219: feat: add wallet database migration from older bdk r=delta1 a=delta1

- 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


Co-authored-by: Byron Hambly <bhambly@blockstream.com>
2 years ago
Byron Hambly dee51dc069
Merge branch 'master' into bdk-0.24 2 years ago
bors[bot] 0e242110bd
Merge #1218
1218: ci: use cargo cross for armv7 build r=delta1 a=delta1

armv7 builds have started failing, presumably due to some change in the CI runners. 

this change updates the CI to use `cargo cross` for more reliable cross compilation 

example failure: https://github.com/comit-network/xmr-btc-swap/actions/runs/3496339850/jobs/5855083680 

```
error: failed to run custom build command for `ring v0.16.20`

Caused by:
  process didn't exit successfully: `/home/runner/work/xmr-btc-swap/xmr-btc-swap/target/debug/build/ring-3b88841cfec2d8d7/build-script-build` (exit status: 101)
  --- stdout
  OPT_LEVEL = Some("0")
  TARGET = Some("armv7-unknown-linux-gnueabihf")
  HOST = Some("x86_64-unknown-linux-gnu")
  CC_armv7-unknown-linux-gnueabihf = None
  CC_armv7_unknown_linux_gnueabihf = None
  TARGET_CC = None
  CC = None
  CROSS_COMPILE = None
  CFLAGS_armv7-unknown-linux-gnueabihf = None
  CFLAGS_armv7_unknown_linux_gnueabihf = None
  TARGET_CFLAGS = None
  CFLAGS = None
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some("true")
  CARGO_CFG_TARGET_FEATURE = None

  --- stderr
  running "arm-linux-gnueabihf-gcc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-march=armv7-a" "-I" "include" "-Wall" "-Wextra" "-pedantic" "-pedantic-errors" "-Wall" "-Wextra" "-Wcast-align" "-Wcast-qual" "-Wconversion" "-Wenum-compare" "-Wfloat-equal" "-Wformat=2" "-Winline" "-Winvalid-pch" "-Wmissing-field-initializers" "-Wmissing-include-dirs" "-Wredundant-decls" "-Wshadow" "-Wsign-compare" "-Wsign-conversion" "-Wundef" "-Wuninitialized" "-Wwrite-strings" "-fno-strict-aliasing" "-fvisibility=hidden" "-fstack-protector" "-g3" "-DNDEBUG" "-c" "-o/home/runner/work/xmr-btc-swap/xmr-btc-swap/target/armv7-unknown-linux-gnueabihf/debug/build/ring-34b63fa28ccdbd48/out/aesv8-armx-linux32.o" "/home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesv8-armx-linux32.S"
  cc1: error: ‘-mfloat-abi=hard’: selected architecture lacks an FPU
  thread 'main' panicked at 'execution failed', /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/build.rs:656:9
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
Error: Process completed with exit code 101.
```

Co-authored-by: Byron Hambly <bhambly@blockstream.com>
2 years ago
Byron Hambly 4c16367d9e
ci: use cargo cross for armv7 build 2 years ago
Byron Hambly cd3ba4905a
feat: add wallet database migration from older bdk
- 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
2 years ago
bors[bot] 496482d302
Merge #1212
1212: build(deps): bump reqwest from 0.11.12 to 0.11.13 r=delta1 a=dependabot[bot]

Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.11.12 to 0.11.13.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/seanmonstar/reqwest/releases">reqwest's releases</a>.</em></p>
<blockquote>
<h2>v0.11.13</h2>
<h2>What's Changed</h2>
<ul>
<li>Add <code>ClientBuilder::dns_resolver()</code> option for custom DNS resolvers.</li>
<li>Add <code>ClientBuilder::tls_sni(bool)</code> option to enable or disable TLS Server Name Indication.</li>
<li>Add <code>Identity::from_pkcs8_pem()</code> constructor when using <code>native-tls</code>.</li>
<li>Fix <code>redirect::Policy::limited(0)</code> from following any redirects.</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/NobodyXu"><code>`@​NobodyXu</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/pull/1647">seanmonstar/reqwest#1647</a></li>
<li><a href="https://github.com/anhcuky"><code>`@​anhcuky</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/pull/1645">seanmonstar/reqwest#1645</a></li>
<li><a href="https://github.com/mirecl"><code>`@​mirecl</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/pull/1655">seanmonstar/reqwest#1655</a></li>
<li><a href="https://github.com/irrelevelephant"><code>`@​irrelevelephant</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/pull/1653">seanmonstar/reqwest#1653</a></li>
<li><a href="https://github.com/Alvenix"><code>`@​Alvenix</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/pull/1669">seanmonstar/reqwest#1669</a></li>
<li><a href="https://github.com/kianmeng"><code>`@​kianmeng</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/pull/1562">seanmonstar/reqwest#1562</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md">reqwest's changelog</a>.</em></p>
<blockquote>
<h2>v0.11.13</h2>
<ul>
<li>Add <code>ClientBuilder::dns_resolver()</code> option for custom DNS resolvers.</li>
<li>Add <code>ClientBuilder::tls_sni(bool)</code> option to enable or disable TLS Server Name Indication.</li>
<li>Add <code>Identity::from_pkcs8_pem()</code> constructor when using <code>native-tls</code>.</li>
<li>Fix <code>redirect::Policy::limited(0)</code> from following any redirects.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="3c39260cf7"><code>3c39260</code></a> v0.11.13</li>
<li><a href="81fc85a689"><code>81fc85a</code></a> docs: fix some typos (<a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/issues/1562">#1562</a>)</li>
<li><a href="e302f75b60"><code>e302f75</code></a> Add option to configure TLS server name indication (SNI) (<a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/issues/1669">#1669</a>)</li>
<li><a href="f11e958433"><code>f11e958</code></a> Add support for custom DNS resolution (<a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/issues/1653">#1653</a>)</li>
<li><a href="231b18f835"><code>231b18f</code></a> native-tls: add Identiy::from_pkcs8_pem (<a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/issues/1655">#1655</a>)</li>
<li><a href="110c3aee33"><code>110c3ae</code></a> Fix redirect limited(0) should not follow redirects (<a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/issues/1645">#1645</a>)</li>
<li><a href="4c377661bb"><code>4c37766</code></a> Bump dep trust-dns-resolver to v0.22 (<a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/issues/1647">#1647</a>)</li>
<li>See full diff in <a href="https://github.com/seanmonstar/reqwest/compare/v0.11.12...v0.11.13">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=reqwest&package-manager=cargo&previous-version=0.11.12&new-version=0.11.13)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] b757022b39
build(deps): bump reqwest from 0.11.12 to 0.11.13
Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.11.12 to 0.11.13.
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.11.12...v0.11.13)

---
updated-dependencies:
- dependency-name: reqwest
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] 2ff8f096a1
Merge #1211
1211: build(deps): bump uuid from 1.2.1 to 1.2.2 r=delta1 a=dependabot[bot]

Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.2.1 to 1.2.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/uuid-rs/uuid/releases">uuid's releases</a>.</em></p>
<blockquote>
<h2>1.2.2</h2>
<h2>What's Changed</h2>
<ul>
<li>CI Cleanups by <a href="https://github.com/KodrAus"><code>`@​KodrAus</code></a>` in <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/pull/640">uuid-rs/uuid#640</a></li>
<li>Remove extern crate alloc by <a href="https://github.com/KodrAus"><code>`@​KodrAus</code></a>` in <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/pull/645">uuid-rs/uuid#645</a></li>
<li>Prepare for 1.2.2 release by <a href="https://github.com/KodrAus"><code>`@​KodrAus</code></a>` in <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/pull/646">uuid-rs/uuid#646</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/uuid-rs/uuid/compare/1.2.1...1.2.2">https://github.com/uuid-rs/uuid/compare/1.2.1...1.2.2</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="60ca9af4c1"><code>60ca9af</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/646">#646</a> from uuid-rs/cargo/1.2.2</li>
<li><a href="d413ed6e63"><code>d413ed6</code></a> prepare for 1.2.2 release</li>
<li><a href="ce445a23c0"><code>ce445a2</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/645">#645</a> from uuid-rs/fix/extern-alloc</li>
<li><a href="b7c845fa67"><code>b7c845f</code></a> remove extern crate alloc</li>
<li><a href="f5a29cf3d1"><code>f5a29cf</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/640">#640</a> from uuid-rs/ci/cleanups</li>
<li><a href="876e466f1d"><code>876e466</code></a> remove missing moniker from job names</li>
<li><a href="6944c0d3f0"><code>6944c0d</code></a> simplify CI and unpin arbitrary</li>
<li>See full diff in <a href="https://github.com/uuid-rs/uuid/compare/1.2.1...1.2.2">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=uuid&package-manager=cargo&previous-version=1.2.1&new-version=1.2.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] 857dcbcf48
build(deps): bump uuid from 1.2.1 to 1.2.2
Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.2.1 to 1.2.2.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/1.2.1...1.2.2)

---
updated-dependencies:
- dependency-name: uuid
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] b2e1c84bd6
Merge #1201 #1203
1201: build(deps): bump tokio-util from 0.7.2 to 0.7.3 r=delta1 a=dependabot[bot]

Bumps [tokio-util](https://github.com/tokio-rs/tokio) from 0.7.2 to 0.7.3.
<details>
<summary>Commits</summary>
<ul>
<li><a href="14c77bc434"><code>14c77bc</code></a> chore: prepare tokio-util 0.7.3 (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4744">#4744</a>)</li>
<li><a href="0241f1c54d"><code>0241f1c</code></a> chore: fix changelog typo (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4740">#4740</a>)</li>
<li><a href="674d77d4ef"><code>674d77d</code></a> chore: prepare Tokio v1.19.0 (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4738">#4738</a>)</li>
<li><a href="42b4c27b88"><code>42b4c27</code></a> net: add <code>take_error</code> to <code>TcpSocket</code> and <code>TcpStream</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4739">#4739</a>)</li>
<li><a href="0d4d3c34f1"><code>0d4d3c3</code></a> sync: replace non-binding <code>if let</code> statements (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4735">#4735</a>)</li>
<li><a href="4941fbf7c4"><code>4941fbf</code></a> tokio: add 1.18.x as LTS release (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4733">#4733</a>)</li>
<li><a href="cc6c2f40cb"><code>cc6c2f4</code></a> tokio: check page capacity before obtaining base pointer (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4731">#4731</a>)</li>
<li><a href="925314ba43"><code>925314b</code></a> doc: clarify semantics of tasks outliving block_on (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4729">#4729</a>)</li>
<li><a href="f948cd7b33"><code>f948cd7</code></a> chore: fix clippy warnings (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4727">#4727</a>)</li>
<li><a href="83d0e7f8b3"><code>83d0e7f</code></a> runtime: add <code>is_finished</code> method for <code>JoinHandle</code> and <code>AbortHandle</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4709">#4709</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/tokio-rs/tokio/compare/tokio-util-0.7.2...tokio-util-0.7.3">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tokio-util&package-manager=cargo&previous-version=0.7.2&new-version=0.7.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1203: build(deps): bump tokio from 1.16.1 to 1.19.2 r=delta1 a=dependabot[bot]

Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.16.1 to 1.19.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/tokio-rs/tokio/releases">tokio's releases</a>.</em></p>
<blockquote>
<h2>Tokio v1.19.2</h2>
<h1>1.19.2 (June 6, 2022)</h1>
<p>This release fixes another bug in <code>Notified::enable</code>. (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4751">#4751</a>)</p>
<p><a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4751">#4751</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tokio/pull/4751">tokio-rs/tokio#4751</a></p>
<h2>Tokio v1.19.1</h2>
<h1>1.19.1 (June 5, 2022)</h1>
<p>This release fixes a bug in <code>Notified::enable</code>. (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4747">#4747</a>)</p>
<p><a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4747">#4747</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tokio/pull/4747">tokio-rs/tokio#4747</a></p>
<h2>Tokio v1.19.0</h2>
<h1>1.19.0 (June 3, 2022)</h1>
<h3>Added</h3>
<ul>
<li>runtime: add <code>is_finished</code> method for <code>JoinHandle</code> and <code>AbortHandle</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4709">#4709</a>)</li>
<li>runtime: make global queue and event polling intervals configurable (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4671">#4671</a>)</li>
<li>sync: add <code>Notified::enable</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4705">#4705</a>)</li>
<li>sync: add <code>watch::Sender::send_if_modified</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4591">#4591</a>)</li>
<li>sync: add resubscribe method to broadcast::Receiver (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4607">#4607</a>)</li>
<li>net: add <code>take_error</code> to <code>TcpSocket</code> and <code>TcpStream</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4739">#4739</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>io: refactor out usage of Weak in the io handle (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4656">#4656</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>macros: avoid starvation in <code>join!</code> and <code>try_join!</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4624">#4624</a>)</li>
</ul>
<h3>Documented</h3>
<ul>
<li>runtime: clarify semantics of tasks outliving <code>block_on</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4729">#4729</a>)</li>
<li>time: fix example for <code>MissedTickBehavior::Burst</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4713">#4713</a>)</li>
</ul>
<h3>Unstable</h3>
<ul>
<li>metrics: correctly update atomics in <code>IoDriverMetrics</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4725">#4725</a>)</li>
<li>metrics: fix compilation with unstable, process, and rt, but without net (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4682">#4682</a>)</li>
<li>task: add <code>#[track_caller]</code> to <code>JoinSet</code>/<code>JoinMap</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4697">#4697</a>)</li>
<li>task: add <code>Builder::{spawn_on, spawn_local_on, spawn_blocking_on}</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4683">#4683</a>)</li>
<li>task: add <code>consume_budget</code> for cooperative scheduling (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4498">#4498</a>)</li>
<li>task: add <code>join_set::Builder</code> for configuring <code>JoinSet</code> tasks (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4687">#4687</a>)</li>
<li>task: update return value of <code>JoinSet::join_one</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4726">#4726</a>)</li>
</ul>
<p><a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4498">#4498</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tokio/pull/4498">tokio-rs/tokio#4498</a>
<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4591">#4591</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tokio/pull/4591">tokio-rs/tokio#4591</a>
<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4607">#4607</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tokio/pull/4607">tokio-rs/tokio#4607</a>
<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4624">#4624</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tokio/pull/4624">tokio-rs/tokio#4624</a>
<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4656">#4656</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tokio/pull/4656">tokio-rs/tokio#4656</a>
<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4671">#4671</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tokio/pull/4671">tokio-rs/tokio#4671</a>
<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4682">#4682</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tokio/pull/4682">tokio-rs/tokio#4682</a>
<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4683">#4683</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tokio/pull/4683">tokio-rs/tokio#4683</a>
<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4687">#4687</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tokio/pull/4687">tokio-rs/tokio#4687</a></p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="340c4dc3b2"><code>340c4dc</code></a> chore: prepare Tokio v1.19.2 (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4754">#4754</a>)</li>
<li><a href="7011a68343"><code>7011a68</code></a> time: add <code>StreamExt::chunks_timeout</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4695">#4695</a>)</li>
<li><a href="c7280167db"><code>c728016</code></a> sync: fix <code>will_wake</code> usage in <code>Notify</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4751">#4751</a>)</li>
<li><a href="bac7984417"><code>bac7984</code></a> chore: prepare Tokio v1.19.1 (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4750">#4750</a>)</li>
<li><a href="a7e7eca893"><code>a7e7eca</code></a> sync: fix panic in <code>Notified::enable</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4747">#4747</a>)</li>
<li><a href="89ccf2ad2b"><code>89ccf2a</code></a> chore: prepare tokio-stream 0.1.9 (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4743">#4743</a>)</li>
<li><a href="3f8a690c01"><code>3f8a690</code></a> chore: prepare tokio-macros 1.8.0 (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4742">#4742</a>)</li>
<li><a href="14c77bc434"><code>14c77bc</code></a> chore: prepare tokio-util 0.7.3 (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4744">#4744</a>)</li>
<li><a href="0241f1c54d"><code>0241f1c</code></a> chore: fix changelog typo (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4740">#4740</a>)</li>
<li><a href="674d77d4ef"><code>674d77d</code></a> chore: prepare Tokio v1.19.0 (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4738">#4738</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/tokio-rs/tokio/compare/tokio-1.16.1...tokio-1.19.2">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tokio&package-manager=cargo&previous-version=1.16.1&new-version=1.19.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
bors[bot] 68796ef59f
Merge #1207
1207: Add monero-wallet-rpc `DOWNLOAD_URL` for M1, M2 Mac r=delta1 a=binarybaron



Co-authored-by: binarybaron <86064887+binarybaron@users.noreply.github.com>
2 years ago
binarybaron 4f89b3d768 Add monero-wallet-rpc `DOWNLOAD_URL` for M1, M2 Mac 2 years ago
bors[bot] 7d5a604384
Merge #1206
1206: build(deps): bump Swatinem/rust-cache from 2.0.2 to 2.2.0 r=delta1 a=dependabot[bot]

Bumps [Swatinem/rust-cache](https://github.com/Swatinem/rust-cache) from 2.0.2 to 2.2.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/Swatinem/rust-cache/releases">Swatinem/rust-cache's releases</a>.</em></p>
<blockquote>
<h2>v2.2.0</h2>
<ul>
<li>Add new <code>save-if</code> option to always restore, but only conditionally save the cache.</li>
</ul>
<h2>v2.1.0</h2>
<ul>
<li>Only hash <code>Cargo.{lock,toml}</code> files in the configured workspace directories.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/Swatinem/rust-cache/blob/master/CHANGELOG.md">Swatinem/rust-cache's changelog</a>.</em></p>
<blockquote>
<h2>2.2.0</h2>
<ul>
<li>Add new <code>save-if</code> option to always restore, but only conditionally save the cache.</li>
</ul>
<h2>2.1.0</h2>
<ul>
<li>Only hash <code>Cargo.{lock,toml}</code> files in the configured workspace directories.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="359a70e43a"><code>359a70e</code></a> 2.2.0</li>
<li><a href="ecee04e7b3"><code>ecee04e</code></a> feat: add save-if option, closes <a href="https://github-redirect.dependabot.com/Swatinem/rust-cache/issues/66">#66</a> (<a href="https://github-redirect.dependabot.com/Swatinem/rust-cache/issues/91">#91</a>)</li>
<li><a href="b894d59a8d"><code>b894d59</code></a> 2.1.0</li>
<li><a href="e78327dd9e"><code>e78327d</code></a> small code style improvements, README and CHANGELOG updates</li>
<li><a href="ccdddcc049"><code>ccdddcc</code></a> only hash Cargo.toml/Cargo.lock that belong to a configured workspace (<a href="https://github-redirect.dependabot.com/Swatinem/rust-cache/issues/90">#90</a>)</li>
<li>See full diff in <a href="https://github.com/Swatinem/rust-cache/compare/v2.0.2...v2.2.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Swatinem/rust-cache&package-manager=github_actions&previous-version=2.0.2&new-version=2.2.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] 6ff0e1f4db
build(deps): bump Swatinem/rust-cache from 2.0.2 to 2.2.0
Bumps [Swatinem/rust-cache](https://github.com/Swatinem/rust-cache) from 2.0.2 to 2.2.0.
- [Release notes](https://github.com/Swatinem/rust-cache/releases)
- [Changelog](https://github.com/Swatinem/rust-cache/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Swatinem/rust-cache/compare/v2.0.2...v2.2.0)

---
updated-dependencies:
- dependency-name: Swatinem/rust-cache
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] b90774a12d
build(deps): bump tokio from 1.16.1 to 1.19.2
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.16.1 to 1.19.2.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.16.1...tokio-1.19.2)

---
updated-dependencies:
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] 303c25f486
build(deps): bump tokio-util from 0.7.2 to 0.7.3
Bumps [tokio-util](https://github.com/tokio-rs/tokio) from 0.7.2 to 0.7.3.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-util-0.7.2...tokio-util-0.7.3)

---
updated-dependencies:
- dependency-name: tokio-util
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] 90ff605469
Merge #1200
1200: build(deps): bump hyper from 0.14.22 to 0.14.23 r=delta1 a=dependabot[bot]

Bumps [hyper](https://github.com/hyperium/hyper) from 0.14.22 to 0.14.23.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/hyperium/hyper/releases">hyper's releases</a>.</em></p>
<blockquote>
<h2>v0.14.23</h2>
<h2>Bug Fixes</h2>
<ul>
<li><strong>http2:</strong> Fix race condition in client dispatcher (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/3041">#3041</a>) (<a href="2f1c0b720d">2f1c0b72</a>, closes <a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2419">#2419</a>)</li>
<li><strong>dependencies</strong>: Really fix compile-time feature for <code>socket2</code> dependency.</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/jfourie1"><code>`@​jfourie1</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/hyperium/hyper/pull/3041">hyperium/hyper#3041</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/hyperium/hyper/blob/v0.14.23/CHANGELOG.md">hyper's changelog</a>.</em></p>
<blockquote>
<h3>v0.14.23 (2022-11-07)</h3>
<h4>Bug Fixes</h4>
<ul>
<li><strong>http2:</strong> Fix race condition in client dispatcher (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/3041">#3041</a>) (<a href="2f1c0b720d">2f1c0b72</a>, closes <a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2419">#2419</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="d32beb3843"><code>d32beb3</code></a> v0.14.23</li>
<li><a href="4912c6dbca"><code>4912c6d</code></a> chore(dependencies): enable socket2 'all' feature (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/3047">#3047</a>)</li>
<li><a href="2f1c0b720d"><code>2f1c0b7</code></a> fix(http2): Fix race condition in client dispatcher (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/3041">#3041</a>)</li>
<li>See full diff in <a href="https://github.com/hyperium/hyper/compare/v0.14.22...v0.14.23">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=hyper&package-manager=cargo&previous-version=0.14.22&new-version=0.14.23)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
bors[bot] 0e47d5fe66
Merge #1199
1199: build(deps): bump time from 0.3.16 to 0.3.17 r=delta1 a=dependabot[bot]

Bumps [time](https://github.com/time-rs/time) from 0.3.16 to 0.3.17.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/time-rs/time/releases">time's releases</a>.</em></p>
<blockquote>
<h2>v0.3.17</h2>
<p>See the <a href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">changelog</a> for details.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">time's changelog</a>.</em></p>
<blockquote>
<h2>0.3.17 [2022-11-06]</h2>
<h3>Changed</h3>
<ul>
<li>The amount of code generated by <code>time::serde::format_description!</code> is reduced if not all feature
flags are active.</li>
<li><code>cargo test --tests</code> works with any configuration of feature flags. This occurs by spawning a
subprocess that passes <code>--all-features</code>. <code>cargo test --doc</code> works with most combinations of
feature flags, including the default. The combination of these changes means that crater will now
run on <code>time</code>.</li>
<li><code>libc</code> and <code>num_threads</code> are only included as dependencies when needed. They were previously
unconditionally included.</li>
</ul>
<h3>Added</h3>
<ul>
<li><code>time::format_description::parse_owned</code>, which returns an <code>OwnedFormatItem</code>. This avoids &quot;lifetime
hell&quot;, where all your structs now need a lifetime because a single field has one. Note that when
possible, the borrowed format item (just called <code>FormatItem</code>) is still preferred, as it has
significantly fewer allocations. The new <code>OwnedFormatItem</code> is usable for both formatting and
parsing, as you would expect.</li>
</ul>
<h3>Compatibility</h3>
<ul>
<li>The parser for runtime format descriptions has been rewritten. A side effect of this is that some
errors have slightly changed. No existing API has been altered, so this is not a breaking change.
However, you may notice different errors, which are hopefully better! The parser for compile-time
format descriptions has not yet been swapped out. If you notice any bugs, please file an issue.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="d97594b9f5"><code>d97594b</code></a> 0.3.17 release</li>
<li><a href="88f5c134f3"><code>88f5c13</code></a> Fix concurrency for GitHub actions</li>
<li><a href="e5e2a60188"><code>e5e2a60</code></a> Update lints</li>
<li><a href="27ea0d44f4"><code>27ea0d4</code></a> Use <code>parse_owned</code> in tests</li>
<li><a href="4887aa7c43"><code>4887aa7</code></a> Add <code>format_description::parse_owned</code></li>
<li><a href="2ba92f67b1"><code>2ba92f6</code></a> Configure codecov</li>
<li><a href="2cba2ef2f5"><code>2cba2ef</code></a> Add tests for <code>OwnedFormatItem</code></li>
<li><a href="4d18c08d8e"><code>4d18c08</code></a> Implement owned format descriptions</li>
<li><a href="139aba1460"><code>139aba1</code></a> Move <code>FormatItem</code> definition to its own module</li>
<li><a href="e4b40add3f"><code>e4b40ad</code></a> Remove extraneous debug call</li>
<li>Additional commits viewable in <a href="https://github.com/time-rs/time/compare/v0.3.16...v0.3.17">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=time&package-manager=cargo&previous-version=0.3.16&new-version=0.3.17)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] 2a3a8db6bb
build(deps): bump hyper from 0.14.22 to 0.14.23
Bumps [hyper](https://github.com/hyperium/hyper) from 0.14.22 to 0.14.23.
- [Release notes](https://github.com/hyperium/hyper/releases)
- [Changelog](https://github.com/hyperium/hyper/blob/v0.14.23/CHANGELOG.md)
- [Commits](https://github.com/hyperium/hyper/compare/v0.14.22...v0.14.23)

---
updated-dependencies:
- dependency-name: hyper
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] 0f1d0b2745
build(deps): bump time from 0.3.16 to 0.3.17
Bumps [time](https://github.com/time-rs/time) from 0.3.16 to 0.3.17.
- [Release notes](https://github.com/time-rs/time/releases)
- [Changelog](https://github.com/time-rs/time/blob/main/CHANGELOG.md)
- [Commits](https://github.com/time-rs/time/compare/v0.3.16...v0.3.17)

---
updated-dependencies:
- dependency-name: time
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
binarybaron f09b237e15
Immediately fetch transaction status upon subscription
Immediately fetch transaction status upon subscription instead of waiting 1 minute

(cherry picked from commit 5662f7fe81)
2 years ago
Byron Hambly 3d12631d69
feat: upgrade monero images to v0.18.1.2 2 years ago
Byron Hambly f224c49584
fix(asb): use unlocked monero balance for quotes 2 years ago
bors[bot] c8f3fcebe7
Merge #1194
1194: build(deps): bump Swatinem/rust-cache from 2.0.1 to 2.0.2 r=delta1 a=dependabot[bot]

Bumps [Swatinem/rust-cache](https://github.com/Swatinem/rust-cache) from 2.0.1 to 2.0.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/Swatinem/rust-cache/releases">Swatinem/rust-cache's releases</a>.</em></p>
<blockquote>
<h2>v2.0.2</h2>
<ul>
<li>Avoid calling cargo metadata on pre-cleanup.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/Swatinem/rust-cache/blob/master/CHANGELOG.md">Swatinem/rust-cache's changelog</a>.</em></p>
<blockquote>
<h2>2.0.2</h2>
<ul>
<li>Avoid calling <code>cargo metadata</code> on pre-cleanup.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="b5ec9edd91"><code>b5ec9ed</code></a> 2.0.2</li>
<li><a href="3f2513fdf4"><code>3f2513f</code></a> avoid calling cargo metadata on pre-cleanup</li>
<li><a href="19c46583c5"><code>19c4658</code></a> update dependencies</li>
<li><a href="b8e72aae83"><code>b8e72aa</code></a> Added <code>prefix-key</code> <code>cache-directories</code> and <code>cache-targets</code> options (<a href="https://github-redirect.dependabot.com/Swatinem/rust-cache/issues/85">#85</a>)</li>
<li>See full diff in <a href="https://github.com/Swatinem/rust-cache/compare/v2.0.1...v2.0.2">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Swatinem/rust-cache&package-manager=github_actions&previous-version=2.0.1&new-version=2.0.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] 0ad522f648
build(deps): bump Swatinem/rust-cache from 2.0.1 to 2.0.2
Bumps [Swatinem/rust-cache](https://github.com/Swatinem/rust-cache) from 2.0.1 to 2.0.2.
- [Release notes](https://github.com/Swatinem/rust-cache/releases)
- [Changelog](https://github.com/Swatinem/rust-cache/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Swatinem/rust-cache/compare/v2.0.1...v2.0.2)

---
updated-dependencies:
- dependency-name: Swatinem/rust-cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] 16ab8367b1
Merge #1193
1193: build(deps): bump hyper from 0.14.20 to 0.14.22 r=delta1 a=dependabot[bot]

Bumps [hyper](https://github.com/hyperium/hyper) from 0.14.20 to 0.14.22.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/hyperium/hyper/releases">hyper's releases</a>.</em></p>
<blockquote>
<h2>v0.14.22</h2>
<h2>Bug Fixes</h2>
<ul>
<li><strong>server:</strong> fix compile-time cfgs for TCP keepalive options (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/3039">#3039</a>) (<a href="e8765e0feb">e8765e0f</a>, closes <a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/3038">#3038</a>)</li>
</ul>
<h2>v0.14.21</h2>
<h2>Bug Fixes</h2>
<ul>
<li><strong>client:</strong> send an error back to client when dispatch misbehaves () (<a href="9fa363829c">9fa36382</a>, closes <a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2649">#2649</a>)</li>
<li><strong>http1:</strong> fix <code>http1_header_read_timeout</code> to use same future (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2891">#2891</a>) (<a href="c5a14e7c08">c5a14e7c</a>)</li>
</ul>
<h2>Features</h2>
<ul>
<li><strong>http1:</strong> allow ignoring invalid header lines in requests (<a href="73dd474652">73dd4746</a>)</li>
<li><strong>server:</strong> add <code>Server::tcp_keepalive_interval</code> and <code>Server::tcp_keepalive_retries</code> (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2991">#2991</a>) (<a href="287d712483">287d7124</a>)</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/hansonchar"><code>`@​hansonchar</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/hyperium/hyper/pull/2991">hyperium/hyper#2991</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/hyperium/hyper/blob/v0.14.22/CHANGELOG.md">hyper's changelog</a>.</em></p>
<blockquote>
<h3>v0.14.22 (2022-10-31)</h3>
<h4>Bug Fixes</h4>
<ul>
<li><strong>server:</strong> fix compile-time cfgs for TCP keepalive options (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/3039">#3039</a>) (<a href="e8765e0feb">e8765e0f</a>, closes <a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/3038">#3038</a>)</li>
</ul>
<h3>v0.14.21 (2022-10-31)</h3>
<h4>Bug Fixes</h4>
<ul>
<li><strong>client:</strong> send an error back to client when dispatch misbehaves () (<a href="9fa363829c">9fa36382</a>, closes <a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2649">#2649</a>)</li>
<li><strong>http1:</strong> fix <code>http1_header_read_timeout</code> to use same future (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2891">#2891</a>) (<a href="c5a14e7c08">c5a14e7c</a>)</li>
</ul>
<h4>Features</h4>
<ul>
<li><strong>http1:</strong> allow ignoring invalid header lines in requests (<a href="73dd474652">73dd4746</a>)</li>
<li><strong>server:</strong> add <code>Server::tcp_keepalive_interval</code> and <code>Server::tcp_keepalive_retries</code> (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2991">#2991</a>) (<a href="287d712483">287d7124</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="04d637ec66"><code>04d637e</code></a> v0.14.22</li>
<li><a href="e8765e0feb"><code>e8765e0</code></a> fix(server): fix compile-time cfgs for TCP keepalive options (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/3039">#3039</a>)</li>
<li><a href="9ad4055fbf"><code>9ad4055</code></a> v0.14.21</li>
<li><a href="9fa363829c"><code>9fa3638</code></a> fix(client): send an error back to client when dispatch misbehaves (fixes <a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2649">#2649</a>)</li>
<li><a href="78e2c580cf"><code>78e2c58</code></a> chore(http2): add a server feature-gate on some server-only method</li>
<li><a href="73dd474652"><code>73dd474</code></a> feat(h1): allow ignoring invalid header lines in requests</li>
<li><a href="287d712483"><code>287d712</code></a> feat(server): add <code>Server::tcp_keepalive_interval</code> and `Server::tcp_keepalive...</li>
<li>See full diff in <a href="https://github.com/hyperium/hyper/compare/v0.14.20...v0.14.22">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=hyper&package-manager=cargo&previous-version=0.14.20&new-version=0.14.22)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] 6d46e48d9f
build(deps): bump hyper from 0.14.20 to 0.14.22
Bumps [hyper](https://github.com/hyperium/hyper) from 0.14.20 to 0.14.22.
- [Release notes](https://github.com/hyperium/hyper/releases)
- [Changelog](https://github.com/hyperium/hyper/blob/v0.14.22/CHANGELOG.md)
- [Commits](https://github.com/hyperium/hyper/compare/v0.14.20...v0.14.22)

---
updated-dependencies:
- dependency-name: hyper
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] dbc4b60c98
Merge #1190 #1191
1190: build(deps): bump sigma_fun from `b511ab5` to `7f1ae3d` r=delta1 a=dependabot[bot]

Bumps [sigma_fun](https://github.com/LLFourn/secp256kfun) from `b511ab5` to `7f1ae3d`.
<details>
<summary>Commits</summary>
<ul>
<li><a href="7f1ae3db39"><code>7f1ae3d</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/LLFourn/secp256kfun/issues/131">#131</a> from nickfarrow/frost-musig-types</li>
<li><a href="501d8f177c"><code>501d8f1</code></a> fixup! FrostKey and AggKey type parameter</li>
<li><a href="87b90b9e19"><code>87b90b9</code></a> FrostKey and AggKey type parameter</li>
<li><a href="615bae2a71"><code>615bae2</code></a> add Frost::gen_nonce_rng and use in gen_nonce</li>
<li>See full diff in <a href="b511ab5f83...7f1ae3db39">compare view</a></li>
</ul>
</details>
<br />


You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1191: build(deps): bump ecdsa_fun from `b511ab5` to `7f1ae3d` r=delta1 a=dependabot[bot]

Bumps [ecdsa_fun](https://github.com/LLFourn/secp256kfun) from `b511ab5` to `7f1ae3d`.
<details>
<summary>Commits</summary>
<ul>
<li><a href="7f1ae3db39"><code>7f1ae3d</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/LLFourn/secp256kfun/issues/131">#131</a> from nickfarrow/frost-musig-types</li>
<li><a href="501d8f177c"><code>501d8f1</code></a> fixup! FrostKey and AggKey type parameter</li>
<li><a href="87b90b9e19"><code>87b90b9</code></a> FrostKey and AggKey type parameter</li>
<li><a href="615bae2a71"><code>615bae2</code></a> add Frost::gen_nonce_rng and use in gen_nonce</li>
<li>See full diff in <a href="b511ab5f83...7f1ae3db39">compare view</a></li>
</ul>
</details>
<br />


You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] 80d26c9253
build(deps): bump ecdsa_fun from `b511ab5` to `7f1ae3d`
Bumps [ecdsa_fun](https://github.com/LLFourn/secp256kfun) from `b511ab5` to `7f1ae3d`.
- [Release notes](https://github.com/LLFourn/secp256kfun/releases)
- [Commits](b511ab5f83...7f1ae3db39)

---
updated-dependencies:
- dependency-name: ecdsa_fun
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] d880b43ee3
build(deps): bump sigma_fun from `b511ab5` to `7f1ae3d`
Bumps [sigma_fun](https://github.com/LLFourn/secp256kfun) from `b511ab5` to `7f1ae3d`.
- [Release notes](https://github.com/LLFourn/secp256kfun/releases)
- [Commits](b511ab5f83...7f1ae3db39)

---
updated-dependencies:
- dependency-name: sigma_fun
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] dce62ff6bd
Merge #1181 #1186
1181: build(deps): bump time from 0.3.15 to 0.3.16 r=delta1 a=dependabot[bot]

Bumps [time](https://github.com/time-rs/time) from 0.3.15 to 0.3.16.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/time-rs/time/releases">time's releases</a>.</em></p>
<blockquote>
<h2>v0.3.16</h2>
<p>See the <a href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">changelog</a> for details.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">time's changelog</a>.</em></p>
<blockquote>
<h2>0.3.16 [2022-10-24]</h2>
<h3>Changed</h3>
<ul>
<li>The minimum supported Rust version is now 1.60.0.</li>
<li>The <code>serde-well-known</code> feature flag is deprecated. The necessary features for an item to be
enabled are indicated in documentation.</li>
<li>Feature gates have been loosened for well-known formats.</li>
</ul>
<h3>Added</h3>
<ul>
<li>
<p><code>const</code>s can now be provided as the format description for <code>time::serde::format_description!</code>. The
<code>const</code> must be of type <code>&amp;[FormatItem&lt;'_&gt;]</code>, which is what is returned by the
<code>time::macros::format_description!</code> macro.</p>
<pre lang="rust"><code>const TIME_FORMAT_ALT: &amp;[FormatItem&lt;'_&gt;] = time::macros::format_description!(&quot;[hour]:[minute]&quot;);
time::serde::format_description!(time_format_alt, Time, TIME_FORMAT_ALT);
</code></pre>
</li>
</ul>
<h3>Compatibility</h3>
<ul>
<li>Some feature flags have been removed. None of these have ever been documented as flags, so any use
was unsupported. These flags are:
<ul>
<li><code>js-sys</code></li>
<li><code>quickcheck-dep</code></li>
<li><code>itoa</code></li>
<li><code>time-macros</code></li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="05bdab8a70"><code>05bdab8</code></a> 0.3.16 release</li>
<li><a href="ad3ce25dd8"><code>ad3ce25</code></a> Support passing <code>&amp;[FormatItem\&lt;'_&gt;]</code> to macro</li>
<li><a href="da719aa20f"><code>da719aa</code></a> Fix powerset</li>
<li><a href="c22e000b7d"><code>c22e000</code></a> Document dependencies in CI</li>
<li><a href="084e32dcb3"><code>084e32d</code></a> Fix powerset build</li>
<li><a href="e4c884704c"><code>e4c8847</code></a> Move some utility functions to <code>time-core</code></li>
<li><a href="f7a3e55108"><code>f7a3e55</code></a> Initialize <code>time-core</code> crate</li>
<li><a href="e7d132aeee"><code>e7d132a</code></a> Enable feature flags directly</li>
<li><a href="9b1c7550af"><code>9b1c755</code></a> Add miri test to CI</li>
<li><a href="fcbad1dfd0"><code>fcbad1d</code></a> Restructure repository</li>
<li>Additional commits viewable in <a href="https://github.com/time-rs/time/compare/v0.3.15...v0.3.16">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=time&package-manager=cargo&previous-version=0.3.15&new-version=0.3.16)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1186: build(deps): bump comfy-table from 6.1.1 to 6.1.2 r=delta1 a=dependabot[bot]

Bumps [comfy-table](https://github.com/nukesor/comfy-table) from 6.1.1 to 6.1.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/Nukesor/comfy-table/blob/main/CHANGELOG.md">comfy-table's changelog</a>.</em></p>
<blockquote>
<h2>[6.1.2] - 2022-10-27</h2>
<h3>Fixed</h3>
<ul>
<li><code>Table::row_iter</code> no longer requires a <code>&amp;mut self</code>, but only <code>&amp;self</code>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="84c23147eb"><code>84c2314</code></a> chore: Release comfy-table version 6.1.2</li>
<li><a href="8327236e4b"><code>8327236</code></a> docs: Update changelog</li>
<li><a href="3a80c8050e"><code>3a80c80</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/nukesor/comfy-table/issues/95">#95</a> from abhizer/main</li>
<li><a href="109510eaab"><code>109510e</code></a> row_iter: Remove unnecessary &amp;mut self</li>
<li><a href="4c6a9a1928"><code>4c6a9a1</code></a> docs: Update v6.1.1 release date in changelog</li>
<li>See full diff in <a href="https://github.com/nukesor/comfy-table/compare/v6.1.1...v6.1.2">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=comfy-table&package-manager=cargo&previous-version=6.1.1&new-version=6.1.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] cbe051a244
build(deps): bump comfy-table from 6.1.1 to 6.1.2
Bumps [comfy-table](https://github.com/nukesor/comfy-table) from 6.1.1 to 6.1.2.
- [Release notes](https://github.com/nukesor/comfy-table/releases)
- [Changelog](https://github.com/Nukesor/comfy-table/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nukesor/comfy-table/compare/v6.1.1...v6.1.2)

---
updated-dependencies:
- dependency-name: comfy-table
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] 75d71e53a6
build(deps): bump time from 0.3.15 to 0.3.16
Bumps [time](https://github.com/time-rs/time) from 0.3.15 to 0.3.16.
- [Release notes](https://github.com/time-rs/time/releases)
- [Changelog](https://github.com/time-rs/time/blob/main/CHANGELOG.md)
- [Commits](https://github.com/time-rs/time/compare/v0.3.15...v0.3.16)

---
updated-dependencies:
- dependency-name: time
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] 40d0a26315
Merge #1180
1180: build(deps): bump serde from 1.0.146 to 1.0.147 r=delta1 a=dependabot[bot]

Bumps [serde](https://github.com/serde-rs/serde) from 1.0.146 to 1.0.147.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/serde/releases">serde's releases</a>.</em></p>
<blockquote>
<h2>v1.0.147</h2>
<ul>
<li>Add <code>serde:🇩🇪:value::EnumAccessDeserializer</code> which transforms an <code>EnumAccess</code> into a <code>Deserializer</code> (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2305">#2305</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="f41509261e"><code>f415092</code></a> Release 1.0.147</li>
<li><a href="6d009711a2"><code>6d00971</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2305">#2305</a> from serde-rs/enumaccessdeserializer</li>
<li><a href="354b48fd40"><code>354b48f</code></a> Add EnumAccessDeserializer to turn EnumAccess into a Deserializer</li>
<li>See full diff in <a href="https://github.com/serde-rs/serde/compare/v1.0.146...v1.0.147">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde&package-manager=cargo&previous-version=1.0.146&new-version=1.0.147)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] fbc71b254e
build(deps): bump serde from 1.0.146 to 1.0.147
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.146 to 1.0.147.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.146...v1.0.147)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] 49c688cb98
Merge #1179
1179: build(deps): bump base64 from 0.13.0 to 0.13.1 r=delta1 a=dependabot[bot]

Bumps [base64](https://github.com/marshallpierce/rust-base64) from 0.13.0 to 0.13.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/marshallpierce/rust-base64/blob/v0.13.1/RELEASE-NOTES.md">base64's changelog</a>.</em></p>
<blockquote>
<h1>0.13.1</h1>
<ul>
<li>More precise decode buffer sizing, avoiding unnecessary allocation in <code>decode_config</code>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="efb0b531c7"><code>efb0b53</code></a> Don't allocate an unnecessarily large buffer in decode_config</li>
<li>See full diff in <a href="https://github.com/marshallpierce/rust-base64/compare/v0.13.0...v0.13.1">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=base64&package-manager=cargo&previous-version=0.13.0&new-version=0.13.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] f3cbb8f302
build(deps): bump base64 from 0.13.0 to 0.13.1
Bumps [base64](https://github.com/marshallpierce/rust-base64) from 0.13.0 to 0.13.1.
- [Release notes](https://github.com/marshallpierce/rust-base64/releases)
- [Changelog](https://github.com/marshallpierce/rust-base64/blob/v0.13.1/RELEASE-NOTES.md)
- [Commits](https://github.com/marshallpierce/rust-base64/compare/v0.13.0...v0.13.1)

---
updated-dependencies:
- dependency-name: base64
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] 95d20c3d09
Merge #1178
1178: build(deps): bump serde from 1.0.145 to 1.0.146 r=delta1 a=dependabot[bot]

Bumps [serde](https://github.com/serde-rs/serde) from 1.0.145 to 1.0.146.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/serde/releases">serde's releases</a>.</em></p>
<blockquote>
<h2>v1.0.146</h2>
<ul>
<li>Allow internally tagged newtype variant to contain unit (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2303">#2303</a>, thanks <a href="https://github.com/tage64"><code>`@​tage64</code></a>)</li>`
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="3fd8e52f0c"><code>3fd8e52</code></a> Release 1.0.146</li>
<li><a href="142dce0d3d"><code>142dce0</code></a> Touch up PR 2303</li>
<li><a href="6aed101630"><code>6aed101</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2303">#2303</a> from tage64/master</li>
<li><a href="e2ccfd9ea7"><code>e2ccfd9</code></a> Remove bad deserialization from sequence to internally tagged newtype variant...</li>
<li><a href="a07d794f74"><code>a07d794</code></a> Update test_suite/tests/test_annotations.rs</li>
<li><a href="90d28fc314"><code>90d28fc</code></a> Serialize and deserialize a tagged newtype variant over unit () as if it was ...</li>
<li><a href="55cf0ac51a"><code>55cf0ac</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2297">#2297</a> from serde-rs/output</li>
<li><a href="07696c1674"><code>07696c1</code></a> Switch from set-output to $GITHUB_OUTPUT</li>
<li><a href="f803b290f3"><code>f803b29</code></a> Ignore uninlined_format_args pedantic clippy lint false positive</li>
<li><a href="d96e181150"><code>d96e181</code></a> Resolve uninlined_format_args pedantic clippy lint in test suite</li>
<li>Additional commits viewable in <a href="https://github.com/serde-rs/serde/compare/v1.0.145...v1.0.146">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde&package-manager=cargo&previous-version=1.0.145&new-version=1.0.146)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
bors[bot] 9beee04a43
Merge #1177
1177: build(deps): bump anyhow from 1.0.65 to 1.0.66 r=delta1 a=dependabot[bot]

Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.65 to 1.0.66.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/anyhow/releases">anyhow's releases</a>.</em></p>
<blockquote>
<h2>1.0.66</h2>
<ul>
<li>Reduce unhelpful backtrace frames in backtraces captured during a <code>context</code> call (<a href="https://github-redirect.dependabot.com/dtolnay/anyhow/issues/279">#279</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="8de29aafd4"><code>8de29aa</code></a> Release 1.0.66</li>
<li><a href="54fc812209"><code>54fc812</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/anyhow/issues/279">#279</a> from dtolnay/contextbacktrace</li>
<li><a href="131249b11c"><code>131249b</code></a> Remove 2 frames of noise from 'context' backtraces</li>
<li><a href="f2123ab51b"><code>f2123ab</code></a> Ui test changes for trybuild 1.0.66</li>
<li><a href="9bd74a1540"><code>9bd74a1</code></a> Restore pre-nightly-2022-10-05 behavior of test_path PhantomData tests</li>
<li><a href="77c4fa4566"><code>77c4fa4</code></a> Update test suite to nightly-2022-10-05</li>
<li><a href="7b171d651d"><code>7b171d6</code></a> Ignore bool_to_int_with_if clippy lint in test suite</li>
<li><a href="94ae34b0d5"><code>94ae34b</code></a> Raise minimum tested toolchain to rust 1.56</li>
<li><a href="94f6f4df66"><code>94f6f4d</code></a> Remove default package.readme metadata from Cargo.toml</li>
<li>See full diff in <a href="https://github.com/dtolnay/anyhow/compare/1.0.65...1.0.66">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=anyhow&package-manager=cargo&previous-version=1.0.65&new-version=1.0.66)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] 12ada81163
build(deps): bump serde from 1.0.145 to 1.0.146
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.145 to 1.0.146.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.145...v1.0.146)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] f79b2192d9
build(deps): bump anyhow from 1.0.65 to 1.0.66
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.65 to 1.0.66.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.65...1.0.66)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] 117a5be5af
Merge #1176
1176: build(deps): bump serde_json and futures r=delta1 a=delta1

- serde_json to 1.0.87 #1174
- futures to 0.3.25 #1175 

Co-authored-by: Byron Hambly <bhambly@blockstream.com>
2 years ago
Byron Hambly 139a9d8ce1
build(deps): bump futures to 0.3.25
#1175
2 years ago
Byron Hambly dddf2ad05f
build(deps): bump serde_json to 1.0.87
#1174
2 years ago
bors[bot] 14c1635b72
Merge #1173
1173: build(deps): bump comfy-table to 6.1.1 r=delta1 a=delta1

Supersedes #1172 because it requires Rust 1.62 

Co-authored-by: Byron Hambly <bhambly@blockstream.com>
2 years ago
bors[bot] 7beb97cc84
Merge #1171
1171: build(deps): bump async-trait from 0.1.57 to 0.1.58 r=delta1 a=dependabot[bot]

Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.57 to 0.1.58.
<details>
<summary>Commits</summary>
<ul>
<li><a href="65a5c9d52b"><code>65a5c9d</code></a> Release 0.1.58</li>
<li><a href="a7ea43d254"><code>a7ea43d</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/async-trait/issues/218">#218</a> from dtolnay/spans</li>
<li><a href="d3c0a423d3"><code>d3c0a42</code></a> Tweak some spans to try for meaningful click-through on method names</li>
<li><a href="3b9e32e8c1"><code>3b9e32e</code></a> Update ui test suite to nightly-2022-10-02</li>
<li><a href="74cb3274d0"><code>74cb327</code></a> Raise minimum tested toolchain to rust 1.56</li>
<li><a href="ccfce18e4e"><code>ccfce18</code></a> Remove default package.readme metadata from Cargo.toml</li>
<li><a href="0dc4f285f0"><code>0dc4f28</code></a> Update ui test suite to nightly-2022-09-14</li>
<li><a href="05dc92a3b0"><code>05dc92a</code></a> GitHub Workflows security hardening</li>
<li><a href="415a62da87"><code>415a62d</code></a> Revert &quot;Avoid cargo 1.45–1.50 in GitHub Actions&quot;</li>
<li><a href="1af42cc80d"><code>1af42cc</code></a> Avoid cargo 1.45–1.50 in GitHub Actions</li>
<li>See full diff in <a href="https://github.com/dtolnay/async-trait/compare/0.1.57...0.1.58">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=async-trait&package-manager=cargo&previous-version=0.1.57&new-version=0.1.58)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
Byron Hambly fb30872f8b
build(deps): bump comfy-table to 6.1.1 2 years ago
Byron Hambly fb42ca13cc
chore: clippy fix 2 years ago
Byron Hambly 2a0fc3f278
chore: bump rust toolchain to 1.62 2 years ago
dependabot[bot] eba3d18983
build(deps): bump async-trait from 0.1.57 to 0.1.58
Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.57 to 0.1.58.
- [Release notes](https://github.com/dtolnay/async-trait/releases)
- [Commits](https://github.com/dtolnay/async-trait/compare/0.1.57...0.1.58)

---
updated-dependencies:
- dependency-name: async-trait
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] 451b4722a4
Merge #1169
1169: build(deps): bump ecdsa_fun from `9e5e193` to `b511ab5` r=delta1 a=dependabot[bot]

Bumps [ecdsa_fun](https://github.com/LLFourn/secp256kfun) from `9e5e193` to `b511ab5`.
<details>
<summary>Commits</summary>
<ul>
<li><a href="b511ab5f83"><code>b511ab5</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/LLFourn/secp256kfun/issues/127">#127</a> from LLFourn/poly</li>
<li><a href="830773e6c1"><code>830773e</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/LLFourn/secp256kfun/issues/129">#129</a> from LLFourn/derive_nonce_rng_fixed_length</li>
<li><a href="f145d900fe"><code>f145d90</code></a> Remove .borrow from derive_nonce_rng</li>
<li><a href="91e9a58d26"><code>91e9a58</code></a> [frost] Documentation improvements</li>
<li><a href="bf68577be4"><code>bf68577</code></a> [frost] Fix revert to G on zero agg nonce mechanism</li>
<li><a href="16255bb0bc"><code>16255bb</code></a> Allow HashInto for Zero points</li>
<li><a href="3971cedb06"><code>3971ced</code></a> [frost] Move proptest into /tests</li>
<li><a href="70c77e06b4"><code>70c77e0</code></a> [frost] Add simulate_keygen</li>
<li><a href="c03eaf1c76"><code>c03eaf1</code></a> Remove *Poly types</li>
<li><a href="bf3bb56c07"><code>bf3bb56</code></a> Relax type contraints for *::zero *::one</li>
<li>Additional commits viewable in <a href="9e5e193347...b511ab5f83">compare view</a></li>
</ul>
</details>
<br />


You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
bors[bot] 58c1a7bb1d
Merge #1170
1170: build(deps): bump sigma_fun from `9e5e193` to `b511ab5` r=delta1 a=dependabot[bot]

Bumps [sigma_fun](https://github.com/LLFourn/secp256kfun) from `9e5e193` to `b511ab5`.
<details>
<summary>Commits</summary>
<ul>
<li><a href="b511ab5f83"><code>b511ab5</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/LLFourn/secp256kfun/issues/127">#127</a> from LLFourn/poly</li>
<li><a href="830773e6c1"><code>830773e</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/LLFourn/secp256kfun/issues/129">#129</a> from LLFourn/derive_nonce_rng_fixed_length</li>
<li><a href="f145d900fe"><code>f145d90</code></a> Remove .borrow from derive_nonce_rng</li>
<li><a href="91e9a58d26"><code>91e9a58</code></a> [frost] Documentation improvements</li>
<li><a href="bf68577be4"><code>bf68577</code></a> [frost] Fix revert to G on zero agg nonce mechanism</li>
<li><a href="16255bb0bc"><code>16255bb</code></a> Allow HashInto for Zero points</li>
<li><a href="3971cedb06"><code>3971ced</code></a> [frost] Move proptest into /tests</li>
<li><a href="70c77e06b4"><code>70c77e0</code></a> [frost] Add simulate_keygen</li>
<li><a href="c03eaf1c76"><code>c03eaf1</code></a> Remove *Poly types</li>
<li><a href="bf3bb56c07"><code>bf3bb56</code></a> Relax type contraints for *::zero *::one</li>
<li>Additional commits viewable in <a href="9e5e193347...b511ab5f83">compare view</a></li>
</ul>
</details>
<br />


You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
bors[bot] b19c261e99
Merge #1168
1168: build(deps): bump Swatinem/rust-cache from 2.0.0 to 2.0.1 r=delta1 a=dependabot[bot]

Bumps [Swatinem/rust-cache](https://github.com/Swatinem/rust-cache) from 2.0.0 to 2.0.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/Swatinem/rust-cache/releases">Swatinem/rust-cache's releases</a>.</em></p>
<blockquote>
<h2>v2.0.1</h2>
<ul>
<li>Primarily just updating dependencies to fix GitHub deprecation notices.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/Swatinem/rust-cache/blob/master/CHANGELOG.md">Swatinem/rust-cache's changelog</a>.</em></p>
<blockquote>
<h2>2.0.1</h2>
<ul>
<li>Primarily just updating dependencies to fix GitHub deprecation notices.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="22c9328bcb"><code>22c9328</code></a> 2.0.1</li>
<li><a href="d4d463bd9b"><code>d4d463b</code></a> bump deps and rebuild</li>
<li><a href="c4652c677c"><code>c4652c6</code></a> Update <code>`@actions/core</code>` (<a href="https://github-redirect.dependabot.com/Swatinem/rust-cache/issues/83">#83</a>)</li>
<li><a href="76686c56f2"><code>76686c5</code></a> docs: Fix github workflows directory (<a href="https://github-redirect.dependabot.com/Swatinem/rust-cache/issues/79">#79</a>)</li>
<li><a href="1b43d2f2c3"><code>1b43d2f</code></a> remove outdated versioning note</li>
<li><a href="20b9201e8a"><code>20b9201</code></a> bump cargo hash</li>
<li><a href="0d72e5f9a0"><code>0d72e5f</code></a> revert explicit dir close</li>
<li><a href="86531941c2"><code>8653194</code></a> Merge branch 'master' of <a href="https://github.com/Swatinem/rust-cache">https://github.com/Swatinem/rust-cache</a></li>
<li><a href="be4be3720d"><code>be4be37</code></a> explicitly close dir handles, add more logging, cleanups</li>
<li><a href="213334cd98"><code>213334c</code></a> cargo update</li>
<li>Additional commits viewable in <a href="https://github.com/Swatinem/rust-cache/compare/v2.0.0...v2.0.1">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Swatinem/rust-cache&package-manager=github_actions&previous-version=2.0.0&new-version=2.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] 5a56b2d71c
build(deps): bump sigma_fun from `9e5e193` to `b511ab5`
Bumps [sigma_fun](https://github.com/LLFourn/secp256kfun) from `9e5e193` to `b511ab5`.
- [Release notes](https://github.com/LLFourn/secp256kfun/releases)
- [Commits](9e5e193347...b511ab5f83)

---
updated-dependencies:
- dependency-name: sigma_fun
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] 8400e0ccab
build(deps): bump ecdsa_fun from `9e5e193` to `b511ab5`
Bumps [ecdsa_fun](https://github.com/LLFourn/secp256kfun) from `9e5e193` to `b511ab5`.
- [Release notes](https://github.com/LLFourn/secp256kfun/releases)
- [Commits](9e5e193347...b511ab5f83)

---
updated-dependencies:
- dependency-name: ecdsa_fun
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] 835fe513b1
build(deps): bump Swatinem/rust-cache from 2.0.0 to 2.0.1
Bumps [Swatinem/rust-cache](https://github.com/Swatinem/rust-cache) from 2.0.0 to 2.0.1.
- [Release notes](https://github.com/Swatinem/rust-cache/releases)
- [Changelog](https://github.com/Swatinem/rust-cache/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Swatinem/rust-cache/compare/v2.0.0...v2.0.1)

---
updated-dependencies:
- dependency-name: Swatinem/rust-cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] e36276f84f
Merge #1167
1167: build(deps): bump uuid from 1.2.0 to 1.2.1 r=delta1 a=dependabot[bot]

Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.2.0 to 1.2.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/uuid-rs/uuid/releases">uuid's releases</a>.</em></p>
<blockquote>
<h2>1.2.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix up lost re-export of v1 Timestamp by <a href="https://github.com/KodrAus"><code>`@​KodrAus</code></a>` in <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/pull/636">uuid-rs/uuid#636</a></li>
<li>Prepare for 1.2.1 release by <a href="https://github.com/KodrAus"><code>`@​KodrAus</code></a>` in <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/pull/637">uuid-rs/uuid#637</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/uuid-rs/uuid/compare/1.2.0...1.2.1">https://github.com/uuid-rs/uuid/compare/1.2.0...1.2.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="b87760df5b"><code>b87760d</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/637">#637</a> from KodrAus/cargo/1.2.1</li>
<li><a href="b21f0cb88f"><code>b21f0cb</code></a> prepare for 1.2.1 release</li>
<li><a href="cac99f55a7"><code>cac99f5</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/636">#636</a> from KodrAus/fix/v1-breakage</li>
<li><a href="9f823feab9"><code>9f823fe</code></a> fix some links in the docs</li>
<li><a href="8c17f330cd"><code>8c17f33</code></a> fix up lost re-export of v1 Timestamp</li>
<li>See full diff in <a href="https://github.com/uuid-rs/uuid/compare/1.2.0...1.2.1">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=uuid&package-manager=cargo&previous-version=1.2.0&new-version=1.2.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
bors[bot] fbea1cfb28
Merge #1166
1166: build(deps): bump serde_json from 1.0.85 to 1.0.86 r=delta1 a=dependabot[bot]

Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.85 to 1.0.86.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p>
<blockquote>
<h2>v1.0.86</h2>
<ul>
<li>Support <code>arbitrary_precision</code> feature even in no-std mode (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/928">#928</a>, thanks <a href="https://github.com/kvinwang"><code>`@​kvinwang</code></a>)</li>`
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="4217e8e788"><code>4217e8e</code></a> Release 1.0.86</li>
<li><a href="99d6164d55"><code>99d6164</code></a> Reorganize number.rs imports</li>
<li><a href="8ab65c58ea"><code>8ab65c5</code></a> Add a CI build for arbitrary precision without std</li>
<li><a href="54f9685a57"><code>54f9685</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/928">#928</a> from kvinwang/nostd-arbp</li>
<li><a href="94019a31c6"><code>94019a3</code></a> Remove default package.readme metadata from Cargo.toml</li>
<li><a href="ec72b2764f"><code>ec72b27</code></a> arbitrary_precision without std</li>
<li><a href="d64ffdc92a"><code>d64ffdc</code></a> GitHub Workflows security hardening</li>
<li><a href="9af851709f"><code>9af8517</code></a> Resolve manual_string_new pedantic clippy lint in test</li>
<li><a href="7af05a9ba7"><code>7af05a9</code></a> Resolve needless_borrow clippy lints</li>
<li><a href="5f801ea312"><code>5f801ea</code></a> Ignore using destructuring assignment to wildcard pattern</li>
<li>See full diff in <a href="https://github.com/serde-rs/json/compare/v1.0.85...v1.0.86">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_json&package-manager=cargo&previous-version=1.0.85&new-version=1.0.86)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] 65dcf1b842
build(deps): bump uuid from 1.2.0 to 1.2.1
Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.2.0 to 1.2.1.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/1.2.0...1.2.1)

---
updated-dependencies:
- dependency-name: uuid
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] 472c8b84c6
build(deps): bump serde_json from 1.0.85 to 1.0.86
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.85 to 1.0.86.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.85...v1.0.86)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] 26a08876e7
Merge #1165
1165: build(deps): bump async-compression from 0.3.14 to 0.3.15 r=delta1 a=dependabot[bot]

Bumps [async-compression](https://github.com/Nemo157/async-compression) from 0.3.14 to 0.3.15.
<details>
<summary>Commits</summary>
<ul>
<li><a href="9d6c415891"><code>9d6c415</code></a> Merge <a href="https://github-redirect.dependabot.com/Nemo157/async-compression/issues/177">#177</a></li>
<li><a href="886288e561"><code>886288e</code></a> Bump version to 0.3.15</li>
<li><a href="435258cbdb"><code>435258c</code></a> Merge <a href="https://github-redirect.dependabot.com/Nemo157/async-compression/issues/176">#176</a></li>
<li><a href="7118845518"><code>7118845</code></a> Fix endianness when reading the <code>extra</code> field of a gzip header</li>
<li><a href="79326077ae"><code>7932607</code></a> Merge <a href="https://github-redirect.dependabot.com/Nemo157/async-compression/issues/173">#173</a></li>
<li><a href="1700bcfd04"><code>1700bcf</code></a> Box the <code>BrotliState</code> value because it is very large</li>
<li><a href="09f84b86d2"><code>09f84b8</code></a> Merge <a href="https://github-redirect.dependabot.com/Nemo157/async-compression/issues/169">#169</a></li>
<li><a href="12d0f5f935"><code>12d0f5f</code></a> Bump ntest from 0.7.5 to 0.8.1</li>
<li><a href="da27355cba"><code>da27355</code></a> Merge <a href="https://github-redirect.dependabot.com/Nemo157/async-compression/issues/159">#159</a></li>
<li><a href="39f1f9e2e9"><code>39f1f9e</code></a> Merge <a href="https://github-redirect.dependabot.com/Nemo157/async-compression/issues/160">#160</a></li>
<li>Additional commits viewable in <a href="https://github.com/Nemo157/async-compression/compare/0.3.14...0.3.15">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=async-compression&package-manager=cargo&previous-version=0.3.14&new-version=0.3.15)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] a589514fb3
build(deps): bump async-compression from 0.3.14 to 0.3.15
Bumps [async-compression](https://github.com/Nemo157/async-compression) from 0.3.14 to 0.3.15.
- [Release notes](https://github.com/Nemo157/async-compression/releases)
- [Commits](https://github.com/Nemo157/async-compression/compare/0.3.14...0.3.15)

---
updated-dependencies:
- dependency-name: async-compression
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] e496b1c047
Merge #1164
1164: build(deps): bump uuid from 1.1.2 to 1.2.0 r=delta1 a=dependabot[bot]

Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.1.2 to 1.2.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/uuid-rs/uuid/releases">uuid's releases</a>.</em></p>
<blockquote>
<h2>1.2.0</h2>
<h2>What's Changed</h2>
<ul>
<li>formatting changes by <a href="https://github.com/pintariching"><code>`@​pintariching</code></a>` in <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/pull/610">uuid-rs/uuid#610</a></li>
<li>Remove outdated Travis CI reference by <a href="https://github.com/atouchet"><code>`@​atouchet</code></a>` in <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/pull/616">uuid-rs/uuid#616</a></li>
<li>refactors Timestamp, Context and ClockSequence, and adds UUIDS v6, v7, v8 by <a href="https://github.com/rrichardson"><code>`@​rrichardson</code></a>` in <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/pull/611">uuid-rs/uuid#611</a></li>
<li>migrate from winapi to windows_sys in examples by <a href="https://github.com/sn99"><code>`@​sn99</code></a>` in <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/pull/626">uuid-rs/uuid#626</a></li>
<li>Update windows-sys requirement from 0.36.1 to 0.42.0 by <a href="https://github.com/dependabot"><code>`@​dependabot</code></a>` in <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/pull/628">uuid-rs/uuid#628</a></li>
<li>Some work on the new version features by <a href="https://github.com/KodrAus"><code>`@​KodrAus</code></a>` in <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/pull/625">uuid-rs/uuid#625</a></li>
<li>Implement now in wasm by <a href="https://github.com/KodrAus"><code>`@​KodrAus</code></a>` in <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/pull/630">uuid-rs/uuid#630</a></li>
<li>More work on docs by <a href="https://github.com/KodrAus"><code>`@​KodrAus</code></a>` in <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/pull/631">uuid-rs/uuid#631</a></li>
<li>hide draft versions behind the unstable cfg by <a href="https://github.com/KodrAus"><code>`@​KodrAus</code></a>` in <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/pull/633">uuid-rs/uuid#633</a></li>
<li>Prepare for 1.2.0 release by <a href="https://github.com/KodrAus"><code>`@​KodrAus</code></a>` in <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/pull/634">uuid-rs/uuid#634</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/pintariching"><code>`@​pintariching</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/pull/610">uuid-rs/uuid#610</a></li>
<li><a href="https://github.com/atouchet"><code>`@​atouchet</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/pull/616">uuid-rs/uuid#616</a></li>
<li><a href="https://github.com/sn99"><code>`@​sn99</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/pull/626">uuid-rs/uuid#626</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/uuid-rs/uuid/compare/1.1.2...1.2.0">https://github.com/uuid-rs/uuid/compare/1.1.2...1.2.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="399e87870f"><code>399e878</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/634">#634</a> from KodrAus/cargo/1.2.0</li>
<li><a href="2db1a64796"><code>2db1a64</code></a> ensure docs.rs includes unstable APIs</li>
<li><a href="406617def4"><code>406617d</code></a> prepare for 1.2.0 release</li>
<li><a href="2e3245f0f1"><code>2e3245f</code></a> add a test for sorting</li>
<li><a href="8df6494c86"><code>8df6494</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/633">#633</a> from KodrAus/feat/unstable-versions</li>
<li><a href="694da5285b"><code>694da52</code></a> hide draft versions behind the unstable cfg</li>
<li><a href="d626fd5874"><code>d626fd5</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/631">#631</a> from KodrAus/feat/docs-hash</li>
<li><a href="527cd3f2e9"><code>527cd3f</code></a> add a special case version for the max uuid</li>
<li><a href="4808a9bd55"><code>4808a9b</code></a> more work on docs</li>
<li><a href="9fcb760b6a"><code>9fcb760</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/630">#630</a> from KodrAus/feat/now-wasm</li>
<li>Additional commits viewable in <a href="https://github.com/uuid-rs/uuid/compare/1.1.2...1.2.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=uuid&package-manager=cargo&previous-version=1.1.2&new-version=1.2.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] 17067579bb
build(deps): bump uuid from 1.1.2 to 1.2.0
Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.1.2 to 1.2.0.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/1.1.2...1.2.0)

---
updated-dependencies:
- dependency-name: uuid
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] f643afd4d0
Merge #1163
1163: build(deps): bump bdk to 0.23 r=delta1 a=delta1

bumps bdk to 0.23

Co-authored-by: Byron Hambly <bhambly@blockstream.com>
2 years ago
Byron Hambly ef7922f898
build(deps): bump bdk to 0.23 2 years ago
bors[bot] b64da86acd
Merge #1162
1162: build(deps): bump tracing from 0.1.36 to 0.1.37 r=delta1 a=dependabot[bot]

Bumps [tracing](https://github.com/tokio-rs/tracing) from 0.1.36 to 0.1.37.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/tokio-rs/tracing/releases">tracing's releases</a>.</em></p>
<blockquote>
<h2>tracing 0.1.37</h2>
<p>This release of <code>tracing</code> incorporates changes from <code>tracing-core</code>
<a href="https://github.com/tokio-rs/tracing/releases/tag/tracing-core-0.1.30">v0.1.30</a> and <code>tracing-attributes</code> <a href="https://github.com/tokio-rs/tracing/releases/tag/tracing-attributes-0.1.23">v0.1.23</a>,
including the new <code>Subscriber::on_register_dispatch</code> method for performing late
initialization after a <code>Subscriber</code> is registered as a <code>Dispatch</code>, and bugfixes
for the <code>#[instrument]</code> attribute. Additionally, it fixes instances of the
<code>bare_trait_objects</code> lint, which is now a warning on <code>tracing</code>'s MSRV and will
become an error in the next edition.</p>
<h3>Fixed</h3>
<ul>
<li><strong>attributes</strong>: Incorrect handling of inner attributes in <code>#[instrument]</code>ed
functions (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2307">#2307</a>)</li>
<li><strong>attributes</strong>: Incorrect location of compiler diagnostic spans generated for
type errors in <code>#[instrument]</code>ed <code>async fn</code>s (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2270">#2270</a>)</li>
<li><strong>attributes</strong>: Updated <code>syn</code> dependency to fix compilation with <code>-Z minimal-versions</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2246">#2246</a>)</li>
<li><code>bare_trait_objects</code> warning in <code>valueset!</code> macro expansion (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2308">#2308</a>)</li>
</ul>
<h3>Added</h3>
<ul>
<li><strong>core</strong>: <code>Subscriber::on_register_dispatch</code> method (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2269">#2269</a>)</li>
<li><strong>core</strong>: <code>WeakDispatch</code> type and <code>Dispatch::downgrade()</code> function (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2293">#2293</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li><code>tracing-core</code>: updated to <a href="https://github.com/tokio-rs/tracing/releases/tag/tracing-core-0.1.30">0.1.30</a></li>
<li><code>tracing-attributes</code>: updated to <a href="https://github.com/tokio-rs/tracing/releases/tag/tracing-attributes-0.1.23">0.1.23</a></li>
</ul>
<h3>Documented</h3>
<ul>
<li>Added <a href="https://crates.io/crates/tracing-web/"><code>tracing-web</code></a> and <a href="https://crates.io/crates/reqwest-tracing/"><code>reqwest-tracing</code></a> to related crates (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2283">#2283</a>,
<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2331">#2331</a>)</li>
</ul>
<p>Thanks to new contributors <a href="https://github.com/compiler-errors"><code>`@​compiler-errors</code></a>,` <a href="https://github.com/e-nomem"><code>`@​e-nomem</code></a>,` <a href="https://github.com/WorldSEnder"><code>`@​WorldSEnder</code></a>,` <a href="https://github.com/Xiami2012"><code>`@​Xiami2012</code></a>,`
and <a href="https://github.com/tl-rodrigo-gryzinski"><code>`@​tl-rodrigo-gryzinski</code></a>,` as well as <a href="https://github.com/jswrenn"><code>`@​jswrenn</code></a>` and <a href="https://github.com/CAD97"><code>`@​CAD97</code></a>,` for contributing to
this release!</p>
<p><a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2246">#2246</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tracing/pull/2246">tokio-rs/tracing#2246</a>
<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2269">#2269</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tracing/pull/2269">tokio-rs/tracing#2269</a>
<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2283">#2283</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tracing/pull/2283">tokio-rs/tracing#2283</a>
<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2270">#2270</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tracing/pull/2270">tokio-rs/tracing#2270</a>
<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2293">#2293</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tracing/pull/2293">tokio-rs/tracing#2293</a>
<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2307">#2307</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tracing/pull/2307">tokio-rs/tracing#2307</a>
<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2308">#2308</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tracing/pull/2308">tokio-rs/tracing#2308</a>
<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2331">#2331</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tracing/pull/2331">tokio-rs/tracing#2331</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="8e35927d7e"><code>8e35927</code></a> tracing: prepare to release v0.1.37 (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2341">#2341</a>)</li>
<li><a href="64b221dc64"><code>64b221d</code></a> attributes: prepare to release v0.1.23 (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2340">#2340</a>)</li>
<li><a href="92cb2f0300"><code>92cb2f0</code></a> attributes: fix handling of inner attributes (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2307">#2307</a>)</li>
<li><a href="8b01ea9b9c"><code>8b01ea9</code></a> core: prepare to release v0.1.30 (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2339">#2339</a>)</li>
<li><a href="d7372d76b1"><code>d7372d7</code></a> tracing: add <code>reqwest-tracing</code> to related crates in README (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2331">#2331</a>)</li>
<li><a href="257f86f092"><code>257f86f</code></a> opentelemetry: fix metrics docs using <code>value.</code> instead of <code>histogram.</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2326">#2326</a>)</li>
<li><a href="130c499b7c"><code>130c499</code></a> subscriber: fix <code>None</code> layers setting the max level to <code>OFF</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2321">#2321</a>)</li>
<li><a href="c542120055"><code>c542120</code></a> appender: add option to automatically delete old log files (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2323">#2323</a>)</li>
<li><a href="37c2434f21"><code>37c2434</code></a> core: add <code>Dispatch::downgrade()</code> and <code>WeakDispatch</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2293">#2293</a>)</li>
<li><a href="b740179fc6"><code>b740179</code></a> attributes: suppress dead code warnings for compile tests (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2322">#2322</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/tokio-rs/tracing/compare/tracing-0.1.36...tracing-0.1.37">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tracing&package-manager=cargo&previous-version=0.1.36&new-version=0.1.37)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] 688ddb3d31
build(deps): bump tracing from 0.1.36 to 0.1.37
Bumps [tracing](https://github.com/tokio-rs/tracing) from 0.1.36 to 0.1.37.
- [Release notes](https://github.com/tokio-rs/tracing/releases)
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-0.1.36...tracing-0.1.37)

---
updated-dependencies:
- dependency-name: tracing
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] b761fba089
Merge #1161
1161: build(deps): bump sigma_fun from `8b2f301` to `9e5e193` r=delta1 a=dependabot[bot]

Bumps [sigma_fun](https://github.com/LLFourn/secp256kfun) from `8b2f301` to `9e5e193`.
<details>
<summary>Commits</summary>
<ul>
<li><a href="9e5e193347"><code>9e5e193</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/LLFourn/secp256kfun/issues/126">#126</a> from LLFourn/actions-faster</li>
<li><a href="fba95f753a"><code>fba95f7</code></a> Try and speed up actions a bit</li>
<li><a href="9602872f19"><code>9602872</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/LLFourn/secp256kfun/issues/122">#122</a> from LLFourn/llfourn-frost</li>
<li><a href="f0cb2d0fbe"><code>f0cb2d0</code></a> Frost reuse message in test and some docs grammar (<a href="https://github-redirect.dependabot.com/LLFourn/secp256kfun/issues/123">#123</a>)</li>
<li><a href="5826a0906f"><code>5826a09</code></a> [frost] <a href="https://github.com/llfourn"><code>`@​llfourn</code></a>` first pass</li>
<li><a href="88f301bc90"><code>88f301b</code></a> Make all Public points Copy</li>
<li><a href="f972dd473f"><code>f972dd4</code></a> Make <code>From\&lt;u32&gt;</code> work for <code>Scalar</code> regardless of secrecy</li>
<li><a href="0ef28db36a"><code>0ef28db</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/LLFourn/secp256kfun/issues/120">#120</a> from LLFourn/assign_ops</li>
<li><a href="0ddb1b8848"><code>0ddb1b8</code></a> Add assignment operators</li>
<li><a href="1f4dab2b5b"><code>1f4dab2</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/LLFourn/secp256kfun/issues/118">#118</a> from LLFourn/vendor-k256</li>
<li>Additional commits viewable in <a href="8b2f3012e1...9e5e193347">compare view</a></li>
</ul>
</details>
<br />


You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
bors[bot] 0d7629fe33
Merge #1160
1160: build(deps): bump ecdsa_fun from `8b2f301` to `9e5e193` r=delta1 a=dependabot[bot]

Bumps [ecdsa_fun](https://github.com/LLFourn/secp256kfun) from `8b2f301` to `9e5e193`.
<details>
<summary>Commits</summary>
<ul>
<li><a href="9e5e193347"><code>9e5e193</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/LLFourn/secp256kfun/issues/126">#126</a> from LLFourn/actions-faster</li>
<li><a href="fba95f753a"><code>fba95f7</code></a> Try and speed up actions a bit</li>
<li><a href="9602872f19"><code>9602872</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/LLFourn/secp256kfun/issues/122">#122</a> from LLFourn/llfourn-frost</li>
<li><a href="f0cb2d0fbe"><code>f0cb2d0</code></a> Frost reuse message in test and some docs grammar (<a href="https://github-redirect.dependabot.com/LLFourn/secp256kfun/issues/123">#123</a>)</li>
<li><a href="5826a0906f"><code>5826a09</code></a> [frost] <a href="https://github.com/llfourn"><code>`@​llfourn</code></a>` first pass</li>
<li><a href="88f301bc90"><code>88f301b</code></a> Make all Public points Copy</li>
<li><a href="f972dd473f"><code>f972dd4</code></a> Make <code>From\&lt;u32&gt;</code> work for <code>Scalar</code> regardless of secrecy</li>
<li><a href="0ef28db36a"><code>0ef28db</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/LLFourn/secp256kfun/issues/120">#120</a> from LLFourn/assign_ops</li>
<li><a href="0ddb1b8848"><code>0ddb1b8</code></a> Add assignment operators</li>
<li><a href="1f4dab2b5b"><code>1f4dab2</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/LLFourn/secp256kfun/issues/118">#118</a> from LLFourn/vendor-k256</li>
<li>Additional commits viewable in <a href="8b2f3012e1...9e5e193347">compare view</a></li>
</ul>
</details>
<br />


You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] 03e23affdd
build(deps): bump sigma_fun from `8b2f301` to `9e5e193`
Bumps [sigma_fun](https://github.com/LLFourn/secp256kfun) from `8b2f301` to `9e5e193`.
- [Release notes](https://github.com/LLFourn/secp256kfun/releases)
- [Commits](8b2f3012e1...9e5e193347)

---
updated-dependencies:
- dependency-name: sigma_fun
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] 67eab1b65a
build(deps): bump ecdsa_fun from `8b2f301` to `9e5e193`
Bumps [ecdsa_fun](https://github.com/LLFourn/secp256kfun) from `8b2f301` to `9e5e193`.
- [Release notes](https://github.com/LLFourn/secp256kfun/releases)
- [Commits](8b2f3012e1...9e5e193347)

---
updated-dependencies:
- dependency-name: ecdsa_fun
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] 96da6a8c03
Merge #1159
1159: build(deps): bump time from 0.3.14 to 0.3.15 r=delta1 a=dependabot[bot]

Bumps [time](https://github.com/time-rs/time) from 0.3.14 to 0.3.15.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/time-rs/time/releases">time's releases</a>.</em></p>
<blockquote>
<h2>v0.3.15</h2>
<p>See the <a href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">changelog</a> for details.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">time's changelog</a>.</em></p>
<blockquote>
<h2>0.3.15 [2022-10-03]</h2>
<h3>Changed</h3>
<ul>
<li>Better gating for <code>tm_gmtoff</code> extension. This should eliminate build failures on some untested
platforms.</li>
<li><code>Debug</code> output for types are now human-readable. While this should not be relied upon, it is
currently the same as the output with <code>Display</code>.</li>
<li>Eliminate overflows in the constructors for `Duration. When there is an overflow, the methods now
panic. This was previously only the case in debug mode.</li>
<li>Panic if <code>NaN</code> is passed to <code>Duration::from_secs_f32</code> or <code>Duration::from_secs_f64</code>.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fix error when deserializing data types from bytes. This affects formats such as JSON.</li>
<li>Eliminate a panic in an edge case when converting <code>OffsetDateTime</code> to another <code>UtcOffset</code>. This
occurred due to an old assumption in code that was no longer the case.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="a71691ddd1"><code>a71691d</code></a> v0.3.15 release</li>
<li><a href="60177321d2"><code>6017732</code></a> Fix CI permissions, update release action</li>
<li><a href="9295603ccb"><code>9295603</code></a> Fix potential panic in edge case</li>
<li><a href="44382c30f4"><code>44382c3</code></a> Remove use of <code>doc_cfg</code> feature</li>
<li><a href="64c84b0ec8"><code>64c84b0</code></a> Fix powerset check</li>
<li><a href="145f90df1a"><code>145f90d</code></a> Use nicer Debug implementations (<a href="https://github-redirect.dependabot.com/time-rs/time/issues/509">#509</a>)</li>
<li><a href="684e82db2f"><code>684e82d</code></a> Bump codecov version in CI</li>
<li><a href="950c958fae"><code>950c958</code></a> Remove Patreon reference</li>
<li><a href="36feb8defc"><code>36feb8d</code></a> Revamp CI</li>
<li><a href="9516a7e32b"><code>9516a7e</code></a> Panic if NaN is passed to <code>Duration</code> constructors</li>
<li>Additional commits viewable in <a href="https://github.com/time-rs/time/compare/v0.3.14...v0.3.15">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=time&package-manager=cargo&previous-version=0.3.14&new-version=0.3.15)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
bors[bot] 7caae3761e
Merge #1158
1158: build(deps): bump actions/checkout from 3.0.2 to 3.1.0 r=delta1 a=dependabot[bot]

Bumps [actions/checkout](https://github.com/actions/checkout) from 3.0.2 to 3.1.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/actions/checkout/releases">actions/checkout's releases</a>.</em></p>
<blockquote>
<h2>v3.1.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Inject GitHub host to be able to clone from another GitHub instance by <a href="https://github.com/peter-murray"><code>`@​peter-murray</code></a>` in <a href="https://github-redirect.dependabot.com/actions/checkout/pull/922">actions/checkout#922</a></li>
<li>Bump <code>`@​actions/core</code>` to 1.10.0 by <a href="https://github.com/rentziass"><code>`@​rentziass</code></a>` in <a href="https://github-redirect.dependabot.com/actions/checkout/pull/939">actions/checkout#939</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/peter-murray"><code>`@​peter-murray</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/actions/checkout/pull/922">actions/checkout#922</a></li>
<li><a href="https://github.com/rentziass"><code>`@​rentziass</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/actions/checkout/pull/939">actions/checkout#939</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v3.0.2...v3.1.0">https://github.com/actions/checkout/compare/v3.0.2...v3.1.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's changelog</a>.</em></p>
<blockquote>
<h2>v3.1.0</h2>
<ul>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/939">Use <code>`@​actions/core</code>` <code>saveState</code> and <code>getState</code></a></li>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/922">Add <code>github-server-url</code> input</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="93ea575cb5"><code>93ea575</code></a> Prepare release v3.1.0 (<a href="https://github-redirect.dependabot.com/actions/checkout/issues/940">#940</a>)</li>
<li><a href="6a84743051"><code>6a84743</code></a> Bump <code>`@​actions/core</code>` to 1.10.0 (<a href="https://github-redirect.dependabot.com/actions/checkout/issues/939">#939</a>)</li>
<li><a href="e6d535c99c"><code>e6d535c</code></a> Inject GitHub host to be able to clone from another GitHub instance (<a href="https://github-redirect.dependabot.com/actions/checkout/issues/922">#922</a>)</li>
<li>See full diff in <a href="https://github.com/actions/checkout/compare/v3.0.2...v3.1.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/checkout&package-manager=github_actions&previous-version=3.0.2&new-version=3.1.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] e7c1699491
build(deps): bump time from 0.3.14 to 0.3.15
Bumps [time](https://github.com/time-rs/time) from 0.3.14 to 0.3.15.
- [Release notes](https://github.com/time-rs/time/releases)
- [Changelog](https://github.com/time-rs/time/blob/main/CHANGELOG.md)
- [Commits](https://github.com/time-rs/time/compare/v0.3.14...v0.3.15)

---
updated-dependencies:
- dependency-name: time
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] 5716f8f2ea
build(deps): bump actions/checkout from 3.0.2 to 3.1.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.0.2 to 3.1.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.0.2...v3.1.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] 2953963c92
Merge #1157
1157: build(deps): bump thiserror from 1.0.36 to 1.0.37 r=delta1 a=dependabot[bot]

Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.36 to 1.0.37.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/thiserror/releases">thiserror's releases</a>.</em></p>
<blockquote>
<h2>1.0.37</h2>
<ul>
<li>Documentation improvements</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="8a996a5bfd"><code>8a996a5</code></a> Release 1.0.37</li>
<li><a href="3a0bac2bcc"><code>3a0bac2</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/thiserror/issues/197">#197</a> from dtolnay/backtracedoc</li>
<li><a href="c2759ce82e"><code>c2759ce</code></a> Fix documentation mentioning 'backtrace()' method</li>
<li>See full diff in <a href="https://github.com/dtolnay/thiserror/compare/1.0.36...1.0.37">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=thiserror&package-manager=cargo&previous-version=1.0.36&new-version=1.0.37)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] f24dda64ee
build(deps): bump thiserror from 1.0.36 to 1.0.37
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.36 to 1.0.37.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.36...1.0.37)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] a65ffe96cf
Merge #1156
1156: build(deps): bump thiserror from 1.0.35 to 1.0.36 r=delta1 a=dependabot[bot]

Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.35 to 1.0.36.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/thiserror/releases">thiserror's releases</a>.</em></p>
<blockquote>
<h2>1.0.36</h2>
<ul>
<li>Documentation improvements (<a href="https://github-redirect.dependabot.com/dtolnay/thiserror/issues/195">#195</a>, thanks <a href="https://github.com/matklad"><code>`@​matklad</code></a>)</li>`
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="7b226e33c7"><code>7b226e3</code></a> Release 1.0.36</li>
<li><a href="f062061cf1"><code>f062061</code></a> Copy docs on struct error(transparent) into readme</li>
<li><a href="5271eb374d"><code>5271eb3</code></a> Touch up PR 195</li>
<li><a href="8e8e41db1e"><code>8e8e41d</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/thiserror/issues/195">#195</a> from matklad/error-transparent</li>
<li><a href="c79b023ce1"><code>c79b023</code></a> Update ui test suite to nightly-2022-09-25</li>
<li><a href="765cd2a44c"><code>765cd2a</code></a> document that <code>error(transparent)</code> works with structs</li>
<li><a href="b37dc365b6"><code>b37dc36</code></a> Raise minimum tested toolchain to rust 1.56</li>
<li><a href="31dfd4cb6e"><code>31dfd4c</code></a> Remove default package.readme metadata from Cargo.toml</li>
<li>See full diff in <a href="https://github.com/dtolnay/thiserror/compare/1.0.35...1.0.36">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=thiserror&package-manager=cargo&previous-version=1.0.35&new-version=1.0.36)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] 653e836425
build(deps): bump thiserror from 1.0.35 to 1.0.36
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.35 to 1.0.36.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.35...1.0.36)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] a1e1eb4eba
Merge #1155
1155: build(deps): bump serde from 1.0.144 to 1.0.145 r=delta1 a=dependabot[bot]

Bumps [serde](https://github.com/serde-rs/serde) from 1.0.144 to 1.0.145.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/serde/releases">serde's releases</a>.</em></p>
<blockquote>
<h2>v1.0.145</h2>
<ul>
<li>Allow RefCell&lt;T&gt;, Mutex&lt;T&gt;, and RwLock&lt;T&gt; to be serialized regardless of whether T is <code>Sized</code> (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2282">#2282</a>, thanks <a href="https://github.com/ChayimFriedman2"><code>`@​ChayimFriedman2</code></a>)</li>`
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="8c036ee5a3"><code>8c036ee</code></a> Release 1.0.145</li>
<li><a href="d99009f3c6"><code>d99009f</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2282">#2282</a> from ChayimFriedman2/sized-mutex-refcell-rwlock</li>
<li><a href="be3c37eb8b"><code>be3c37e</code></a> Serialize unsized <code>RefCell</code>, <code>Mutex</code> and <code>RwLock</code></li>
<li><a href="f0346ae054"><code>f0346ae</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2281">#2281</a> from dtolnay/try</li>
<li><a href="fa6ce42056"><code>fa6ce42</code></a> Redefine 'try' macro to omit From::from error conversion</li>
<li><a href="a9320db6f9"><code>a9320db</code></a> Consistently avoid '?' throughout serde crate</li>
<li><a href="d208762c81"><code>d208762</code></a> Command-line ignore let_underscore_drop clippy lint</li>
<li><a href="5386897d24"><code>5386897</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2273">#2273</a> from sashashura/patch-1</li>
<li><a href="68eb59df0c"><code>68eb59d</code></a> Update ci.yml</li>
<li><a href="a7f4551669"><code>a7f4551</code></a> Add dev-dependencies keyword for serde_test</li>
<li>See full diff in <a href="https://github.com/serde-rs/serde/compare/v1.0.144...v1.0.145">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde&package-manager=cargo&previous-version=1.0.144&new-version=1.0.145)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] 6fb228a136
build(deps): bump serde from 1.0.144 to 1.0.145
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.144 to 1.0.145.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.144...v1.0.145)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] 972f6a272e
Merge #1153
1153: build(deps): bump itertools from 0.10.4 to 0.10.5 r=delta1 a=dependabot[bot]

Bumps [itertools](https://github.com/rust-itertools/itertools) from 0.10.4 to 0.10.5.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md">itertools's changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/rust-itertools/itertools/commits">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=itertools&package-manager=cargo&previous-version=0.10.4&new-version=0.10.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
bors[bot] c0694fc31b
Merge #1154
1154: build(deps): bump reqwest from 0.11.11 to 0.11.12 r=delta1 a=dependabot[bot]

Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.11.11 to 0.11.12.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/seanmonstar/reqwest/releases">reqwest's releases</a>.</em></p>
<blockquote>
<h2>v0.11.12</h2>
<h2>What's Changed</h2>
<ul>
<li>Add <code>ClientBuilder::resolve_to_addrs()</code> which allows a slice of IP addresses to be specified for a single host.</li>
<li>Add <code>Response::upgrade()</code> to await whether the server agrees to an HTTP upgrade.</li>
</ul>
<h2>New Contributors ❤️</h2>
<ul>
<li><a href="https://github.com/futursolo"><code>`@​futursolo</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/pull/1565">seanmonstar/reqwest#1565</a></li>
<li><a href="https://github.com/kckeiks"><code>`@​kckeiks</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/pull/1583">seanmonstar/reqwest#1583</a></li>
<li><a href="https://github.com/vidhanio"><code>`@​vidhanio</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/pull/1584">seanmonstar/reqwest#1584</a></li>
<li><a href="https://github.com/luqmana"><code>`@​luqmana</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/pull/1376">seanmonstar/reqwest#1376</a></li>
<li><a href="https://github.com/lpraneis"><code>`@​lpraneis</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/pull/1622">seanmonstar/reqwest#1622</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md">reqwest's changelog</a>.</em></p>
<blockquote>
<h2>v0.11.12</h2>
<ul>
<li>Add <code>ClientBuilder::resolve_to_addrs()</code> which allows a slice of IP addresses to be specified for a single host.</li>
<li>Add <code>Response::upgrade()</code> to await whether the server agrees to an HTTP upgrade.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="a0a7db0113"><code>a0a7db0</code></a> v0.11.12</li>
<li><a href="ae2d521664"><code>ae2d521</code></a> Add ability to specify multiple IP addresses for resolver overrides (<a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/issues/1622">#1622</a>)</li>
<li><a href="6ceb23958c"><code>6ceb239</code></a> Export Upgraded type. (<a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/issues/1618">#1618</a>)</li>
<li><a href="61474f422c"><code>61474f4</code></a> Add HTTP Upgrade support to Response. (<a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/issues/1376">#1376</a>)</li>
<li><a href="e9ba0a9dc7"><code>e9ba0a9</code></a> docs: fix broken doc comment example. (<a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/issues/1584">#1584</a>)</li>
<li><a href="3b2eecce6e"><code>3b2eecc</code></a> Remove debug log of status and URL (<a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/issues/1583">#1583</a>)</li>
<li><a href="74e70627be"><code>74e7062</code></a> Migrate to once_cell. (<a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/issues/1565">#1565</a>)</li>
<li><a href="b72a385ae7"><code>b72a385</code></a> Bump MSRV to 1.56 (<a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/issues/1582">#1582</a>)</li>
<li>See full diff in <a href="https://github.com/seanmonstar/reqwest/compare/v0.11.11...v0.11.12">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=reqwest&package-manager=cargo&previous-version=0.11.11&new-version=0.11.12)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] 9308ad2908
build(deps): bump reqwest from 0.11.11 to 0.11.12
Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.11.11 to 0.11.12.
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.11.11...v0.11.12)

---
updated-dependencies:
- dependency-name: reqwest
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] 25a810840a
build(deps): bump itertools from 0.10.4 to 0.10.5
Bumps [itertools](https://github.com/rust-itertools/itertools) from 0.10.4 to 0.10.5.
- [Release notes](https://github.com/rust-itertools/itertools/releases)
- [Changelog](https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-itertools/itertools/commits)

---
updated-dependencies:
- dependency-name: itertools
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] 6d1778b45f
Merge #1148
1148: build(deps): bump sha2 from 0.10.5 to 0.10.6 r=delta1 a=dependabot[bot]

Bumps [sha2](https://github.com/RustCrypto/hashes) from 0.10.5 to 0.10.6.
<details>
<summary>Commits</summary>
<ul>
<li><a href="1731ced4a1"><code>1731ced</code></a> Add OID support (<a href="https://github-redirect.dependabot.com/RustCrypto/hashes/issues/405">#405</a>)</li>
<li><a href="cc523733e5"><code>cc52373</code></a> build(deps): bump cpufeatures from 0.2.4 to 0.2.5 (<a href="https://github-redirect.dependabot.com/RustCrypto/hashes/issues/403">#403</a>)</li>
<li><a href="52def11cfe"><code>52def11</code></a> Fix MSRV issues by re-releasing gost94 and fsb (<a href="https://github-redirect.dependabot.com/RustCrypto/hashes/issues/402">#402</a>)</li>
<li>See full diff in <a href="https://github.com/RustCrypto/hashes/compare/sha2-v0.10.5...sha2-v0.10.6">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=sha2&package-manager=cargo&previous-version=0.10.5&new-version=0.10.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] 6cb614cf65
build(deps): bump sha2 from 0.10.5 to 0.10.6
Bumps [sha2](https://github.com/RustCrypto/hashes) from 0.10.5 to 0.10.6.
- [Release notes](https://github.com/RustCrypto/hashes/releases)
- [Commits](https://github.com/RustCrypto/hashes/compare/sha2-v0.10.5...sha2-v0.10.6)

---
updated-dependencies:
- dependency-name: sha2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] b83da617c2
Merge #1117
1117: build(deps): bump comfy-table from 5.0.1 to 6.1.0 r=delta1 a=dependabot[bot]

Bumps [comfy-table](https://github.com/nukesor/comfy-table) from 5.0.1 to 6.1.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/Nukesor/comfy-table/blob/main/CHANGELOG.md">comfy-table's changelog</a>.</em></p>
<blockquote>
<h2>[6.1.0] - 2022-08-28</h2>
<h3>Added</h3>
<ul>
<li>Add <code>Table::add_rows</code> to add multiple rows at the same time.</li>
</ul>
<h3>Misc</h3>
<ul>
<li>Update crossterm to <code>v0.24</code></li>
</ul>
<h2>[6.0.0] - 2022-05-31</h2>
<h3>Added</h3>
<ul>
<li>Add <code>Table::style_text_only()</code>, which prevents non-delimiter whitespaces in cells to be styled.</li>
<li>Add the <code>Table::discover_columns</code> function and add info on when to use it to <code>Row::add_cell</code>.</li>
</ul>
<h3>Breaking Changes</h3>
<ul>
<li>Renaming of several functions to be Rust idiomatic:
<ul>
<li><code>Cell::get_content</code> -&gt; <code>Cell::content</code></li>
<li><code>Column::get_padding_width</code> -&gt; <code>Column::padding_width</code></li>
<li><code>Column::get_constraint</code> -&gt; <code>Column::constraint</code></li>
<li><code>Table::get_header</code> -&gt; <code>Table::header</code></li>
<li><code>Table::get_table_width</code> -&gt; <code>Table::width</code></li>
<li><code>Table::set_table_width</code> -&gt; <code>Table::set_width</code></li>
<li><code>Table::set_style</code> -&gt; <code>Table::style</code></li>
<li><code>Table::get_column</code> -&gt; <code>Table::column</code></li>
<li><code>Table::get_column_mut</code> -&gt; <code>Table::column_mut</code></li>
<li><code>Table::get_row</code> -&gt; <code>Table::row</code></li>
<li><code>Table::get_row_mut</code> -&gt; <code>Table::row_mut</code></li>
</ul>
</li>
<li><code>Column::get_max_width</code> and <code>Column::get_max_content_width</code> have been removed as we cannot guarantee that these numbers are always correct.
Use <code>Table::column_max_content_widths</code> instead</li>
</ul>
<h3>Changed</h3>
<ul>
<li><code>Table::column_max_content_widths</code> now performs a full scan of the table's content when called.</li>
<li>Don't include <code>Table::is_tty</code>, <code>Table::force_no_tty</code> and <code>Table::should_style</code> if <code>tty</code> feature isn't enabled.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="a8f9ded43a"><code>a8f9ded</code></a> (cargo-release) version 6.1.0</li>
<li><a href="f4e6b9f4d0"><code>f4e6b9f</code></a> add: Table::add_rows()</li>
<li><a href="5bc56966fa"><code>5bc5696</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/nukesor/comfy-table/issues/83">#83</a> from Nukesor/dependabot/cargo/crossterm-0.25</li>
<li><a href="7ef0bc49cb"><code>7ef0bc4</code></a> build(deps): update crossterm requirement from 0.24 to 0.25</li>
<li><a href="832dbda172"><code>832dbda</code></a> chore: Fix v1.63 clippy issues</li>
<li><a href="0562ceab88"><code>0562cea</code></a> fix: Proofread some docs</li>
<li><a href="58b8824238"><code>58b8824</code></a> change: Don't use crossterm's style if not needed</li>
<li><a href="bf486c6d90"><code>bf486c6</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/nukesor/comfy-table/issues/81">#81</a> from Nukesor/dependabot/cargo/crossterm-0.24</li>
<li><a href="debfd2cfa3"><code>debfd2c</code></a> build(deps): update crossterm requirement from 0.23 to 0.24</li>
<li><a href="17c7b66e3b"><code>17c7b66</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/nukesor/comfy-table/issues/80">#80</a> from Nukesor/dependabot/github_actions/codecov/codecov...</li>
<li>Additional commits viewable in <a href="https://github.com/nukesor/comfy-table/compare/v5.0.1...v6.1.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=comfy-table&package-manager=cargo&previous-version=5.0.1&new-version=6.1.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] 160e454f9e
build(deps): bump comfy-table from 5.0.1 to 6.1.0
Bumps [comfy-table](https://github.com/nukesor/comfy-table) from 5.0.1 to 6.1.0.
- [Release notes](https://github.com/nukesor/comfy-table/releases)
- [Changelog](https://github.com/Nukesor/comfy-table/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nukesor/comfy-table/compare/v5.0.1...v6.1.0)

---
updated-dependencies:
- dependency-name: comfy-table
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] d483651ef4
Merge #1144 #1145
1144: build(deps): bump anyhow from 1.0.64 to 1.0.65 r=delta1 a=dependabot[bot]

Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.64 to 1.0.65.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/anyhow/releases">anyhow's releases</a>.</em></p>
<blockquote>
<h2>1.0.65</h2>
<ul>
<li><!-- raw HTML omitted -->impl <!-- raw HTML omitted -->Provider<!-- raw HTML omitted --> for anyhow::Error<!-- raw HTML omitted --></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="4de2068f71"><code>4de2068</code></a> Release 1.0.65</li>
<li><a href="07acdacfea"><code>07acdac</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/anyhow/issues/271">#271</a> from dtolnay/provider</li>
<li><a href="ee49ec0d49"><code>ee49ec0</code></a> Add impl Provider in build.rs probe</li>
<li><a href="b7448d3ad6"><code>b7448d3</code></a> impl std::any::Provider for anyhow::Error</li>
<li>See full diff in <a href="https://github.com/dtolnay/anyhow/compare/1.0.64...1.0.65">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=anyhow&package-manager=cargo&previous-version=1.0.64&new-version=1.0.65)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1145: build(deps): bump thiserror from 1.0.34 to 1.0.35 r=delta1 a=dependabot[bot]

Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.34 to 1.0.35.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/thiserror/releases">thiserror's releases</a>.</em></p>
<blockquote>
<h2>1.0.35</h2>
<ul>
<li>More work on integrating <a href="https://doc.rust-lang.org/std/any/trait.Provider.html">std::any::Provider</a> for backtrace support</li>
<li>Fix <em>&quot;Multiple applicable <code>provide</code> methods in scope&quot;</em> error when the caller has both std::error::Error and std::any::Provide traits in scope (<a href="https://github-redirect.dependabot.com/dtolnay/thiserror/issues/185">#185</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="10ffe03817"><code>10ffe03</code></a> Release 1.0.35</li>
<li><a href="9be0f4121e"><code>9be0f41</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/thiserror/issues/191">#191</a> from dtolnay/anyhowprovider</li>
<li><a href="1a90b77165"><code>1a90b77</code></a> Pull in Provider impl from anyhow 1.0.65</li>
<li><a href="2ca76edd6e"><code>2ca76ed</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/thiserror/issues/190">#190</a> from dtolnay/provider</li>
<li><a href="01e7c18310"><code>01e7c18</code></a> Temporarily disable AnyhowBacktrace test</li>
<li><a href="aaf8449dcb"><code>aaf8449</code></a> Use ThiserrorProvide to disambiguate 'provide' method calls</li>
<li><a href="460396e8f3"><code>460396e</code></a> Add trait with method that won't collide between Provider and Error</li>
<li><a href="293b127bc8"><code>293b127</code></a> Add build script to detect Provider support</li>
<li><a href="3bcad5957d"><code>3bcad59</code></a> Revert &quot;Directly call source.provide instead of going through dyn error&quot;</li>
<li><a href="21198c9c0a"><code>21198c9</code></a> Move multiple-provide test into test_backtrace</li>
<li>Additional commits viewable in <a href="https://github.com/dtolnay/thiserror/compare/1.0.34...1.0.35">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=thiserror&package-manager=cargo&previous-version=1.0.34&new-version=1.0.35)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] 62e521a943
build(deps): bump thiserror from 1.0.34 to 1.0.35
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.34 to 1.0.35.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.34...1.0.35)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] 82a1298dc3
build(deps): bump anyhow from 1.0.64 to 1.0.65
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.64 to 1.0.65.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.64...1.0.65)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] f3b3216a80
Merge #1143
1143: build(deps): bump itertools from 0.10.3 to 0.10.4 r=delta1 a=dependabot[bot]

Bumps [itertools](https://github.com/rust-itertools/itertools) from 0.10.3 to 0.10.4.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md">itertools's changelog</a>.</em></p>
<blockquote>
<h2>0.10.4</h2>
<ul>
<li>Add <code>EitherOrBoth::or</code> and <code>EitherOrBoth::or_else</code> (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/593">#593</a>)</li>
<li>Add <code>min_set</code>, <code>max_set</code> et al. (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/613">#613</a>, <a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/323">#323</a>)</li>
<li>Use <code>either/use_std</code> (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/628">#628</a>)</li>
<li>Documentation fixes (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/612">#612</a>, <a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/625">#625</a>, <a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/632">#632</a>, <a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/633">#633</a>, <a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/634">#634</a>, <a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/638">#638</a>)</li>
<li>Code maintenance (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/623">#623</a>, <a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/624">#624</a>, <a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/627">#627</a>, <a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/630">#630</a>)</li>
</ul>
<h2>0.10.2</h2>
<ul>
<li>Add <code>Itertools::multiunzip</code> (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/362">#362</a>, <a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/565">#565</a>)</li>
<li>Add <code>intersperse</code> and <code>intersperse_with</code> free functions (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/555">#555</a>)</li>
<li>Add <code>Itertools::sorted_by_cached_key</code> (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/424">#424</a>, <a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/575">#575</a>)</li>
<li>Specialize <code>ProcessResults::fold</code> (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/563">#563</a>)</li>
<li>Fix subtraction overflow in <code>DuplicatesBy::size_hint</code> (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/552">#552</a>)</li>
<li>Fix specialization tests (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/574">#574</a>)</li>
<li>More <code>Debug</code> impls (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/573">#573</a>)</li>
<li>Deprecate <code>fold1</code> (use <code>reduce</code> instead) (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/580">#580</a>)</li>
<li>Documentation fixes (<code>HomogenousTuple</code>, <code>into_group_map</code>, <code>into_group_map_by</code>, <code>MultiPeek::peek</code>) (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/543">#543</a> et al.)</li>
</ul>
<h2>0.10.1</h2>
<ul>
<li>Add <code>Itertools::contains</code> (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/514">#514</a>)</li>
<li>Add <code>Itertools::counts_by</code> (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/515">#515</a>)</li>
<li>Add <code>Itertools::partition_result</code> (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/511">#511</a>)</li>
<li>Add <code>Itertools::all_unique</code> (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/241">#241</a>)</li>
<li>Add <code>Itertools::duplicates</code> and <code>Itertools::duplicates_by</code> (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/502">#502</a>)</li>
<li>Add <code>chain!</code> (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/525">#525</a>)</li>
<li>Add <code>Itertools::at_most_one</code> (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/523">#523</a>)</li>
<li>Add <code>Itertools::flatten_ok</code> (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/527">#527</a>)</li>
<li>Add <code>EitherOrBoth::or_default</code> (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/583">#583</a>)</li>
<li>Add <code>Itertools::find_or_last</code> and <code>Itertools::find_or_first</code> (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/535">#535</a>)</li>
<li>Implement <code>FusedIterator</code> for <code>FilterOk</code>, <code>FilterMapOk</code>, <code>InterleaveShortest</code>, <code>KMergeBy</code>, <code>MergeBy</code>, <code>PadUsing</code>, <code>Positions</code>, <code>Product</code> , <code>RcIter</code>, <code>TupleWindows</code>, <code>Unique</code>, <code>UniqueBy</code>,  <code>Update</code>, <code>WhileSome</code>, <code>Combinations</code>, <code>CombinationsWithReplacement</code>, <code>Powerset</code>, <code>RepeatN</code>, and <code>WithPosition</code> (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/550">#550</a>)</li>
<li>Implement <code>FusedIterator</code> for <code>Interleave</code>, <code>IntersperseWith</code>, and <code>ZipLongest</code> (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/548">#548</a>)</li>
</ul>
<h2>0.10.0</h2>
<ul>
<li><strong>Increase minimum supported Rust version to 1.32.0</strong></li>
<li>Improve macro hygiene (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/507">#507</a>)</li>
<li>Add <code>Itertools::powerset</code> (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/335">#335</a>)</li>
<li>Add <code>Itertools::sorted_unstable</code>, <code>Itertools::sorted_unstable_by</code>, and <code>Itertools::sorted_unstable_by_key</code> (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/494">#494</a>)</li>
<li>Implement <code>Error</code> for <code>ExactlyOneError</code> (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/484">#484</a>)</li>
<li>Undeprecate <code>Itertools::fold_while</code> (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/476">#476</a>)</li>
<li>Tuple-related adapters work for tuples of arity up to 12 (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/475">#475</a>)</li>
<li><code>use_alloc</code> feature for users who have <code>alloc</code>, but not <code>std</code> (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/474">#474</a>)</li>
<li>Add <code>Itertools::k_smallest</code> (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/473">#473</a>)</li>
<li>Add <code>Itertools::into_grouping_map</code> and <code>GroupingMap</code> (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/465">#465</a>)</li>
<li>Add <code>Itertools::into_grouping_map_by</code> and <code>GroupingMapBy</code> (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/465">#465</a>)</li>
<li>Add <code>Itertools::counts</code> (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/468">#468</a>)</li>
<li>Add implementation of <code>DoubleEndedIterator</code> for <code>Unique</code> (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/442">#442</a>)</li>
<li>Add implementation of <code>DoubleEndedIterator</code> for <code>UniqueBy</code> (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/442">#442</a>)</li>
<li>Add implementation of <code>DoubleEndedIterator</code> for <code>Zip</code> (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/346">#346</a>)</li>
<li>Add <code>Itertools::multipeek</code> (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/435">#435</a>)</li>
<li>Add <code>Itertools::dedup_with_count</code> and <code>DedupWithCount</code> (<a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/423">#423</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="8d362f2336"><code>8d362f2</code></a> Prepare 0.10.4</li>
<li><a href="7883f59c78"><code>7883f59</code></a> Merge <a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/633">#633</a></li>
<li><a href="42764765d2"><code>4276476</code></a> Docstring improvement: Added explanation of function</li>
<li><a href="5ae7bb5df6"><code>5ae7bb5</code></a> Merge <a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/634">#634</a></li>
<li><a href="520765c0b2"><code>520765c</code></a> Improved chain docstrings</li>
<li><a href="4c0609aa56"><code>4c0609a</code></a> Merge <a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/638">#638</a></li>
<li><a href="677900a0dd"><code>677900a</code></a> Apply suggestions from code review</li>
<li><a href="2b5e83f150"><code>2b5e83f</code></a> Chore: update tree_fold1 doc to remove reference to deprecated fold1</li>
<li><a href="7a274080e0"><code>7a27408</code></a> Merge <a href="https://github-redirect.dependabot.com/rust-itertools/itertools/issues/632">#632</a></li>
<li><a href="9150cab998"><code>9150cab</code></a> Reverted formatting</li>
<li>Additional commits viewable in <a href="https://github.com/rust-itertools/itertools/compare/v0.10.3...v0.10.4">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=itertools&package-manager=cargo&previous-version=0.10.3&new-version=0.10.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] 6ffd7f871d
build(deps): bump itertools from 0.10.3 to 0.10.4
Bumps [itertools](https://github.com/rust-itertools/itertools) from 0.10.3 to 0.10.4.
- [Release notes](https://github.com/rust-itertools/itertools/releases)
- [Changelog](https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-itertools/itertools/compare/v0.10.3...v0.10.4)

---
updated-dependencies:
- dependency-name: itertools
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] d588f9dcdd
Merge #1142
1142: deps(build): upgrade ecdsa_fun and sigma_fun r=delta1 a=delta1

- #1139
- #1140

Co-authored-by: Byron Hambly <bhambly@blockstream.com>
2 years ago
bors[bot] 9189c62a5c
Merge #1141
1141: build(deps): bump tokio from 1.14.1 to 1.16.1 r=delta1 a=dependabot[bot]

Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.14.1 to 1.16.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/tokio-rs/tokio/releases">tokio's releases</a>.</em></p>
<blockquote>
<h2>Tokio v1.16.1</h2>
<h1>1.16.1 (January 28, 2022)</h1>
<p>This release fixes a bug in <a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4428">#4428</a> with the change <a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4437">#4437</a>.</p>
<p><a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4428">#4428</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tokio/pull/4428">tokio-rs/tokio#4428</a>
<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4437">#4437</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tokio/pull/4437">tokio-rs/tokio#4437</a></p>
<h2>Tokio v1.16.0</h2>
<p>Fixes a soundness bug in <code>io::Take</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4428">#4428</a>). The unsoundness is exposed when
leaking memory in the given <code>AsyncRead</code> implementation and then overwriting the
supplied buffer:</p>
<pre lang="rust"><code>impl AsyncRead for Buggy {
    fn poll_read(
        self: Pin&lt;&amp;mut Self&gt;,
        cx: &amp;mut Context&lt;'_&gt;,
        buf: &amp;mut ReadBuf&lt;'_&gt;
    ) -&gt; Poll&lt;Result&lt;()&gt;&gt; {
      let new_buf = vec![0; 5].leak();
      *buf = ReadBuf::new(new_buf);
      buf.put_slice(b&quot;hello&quot;);
      Poll::Ready(Ok(()))
    }
}
</code></pre>
<p>Also, this release includes improvements to the multi-threaded scheduler that
can increase throughput by up to 20% in some cases (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4383">#4383</a>).</p>
<h3>Fixed</h3>
<ul>
<li>io: <strong>soundness</strong> don't expose uninitialized memory when using <code>io::Take</code> in edge case (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4428">#4428</a>)</li>
<li>fs: ensure <code>File::write</code> results in a <code>write</code> syscall when the runtime shuts down (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4316">#4316</a>)</li>
<li>process: drop pipe after child exits in <code>wait_with_output</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4315">#4315</a>)</li>
<li>rt: improve error message when spawning a thread fails (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4398">#4398</a>)</li>
<li>rt: reduce false-positive thread wakups in the multi-threaded scheduler (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4383">#4383</a>)</li>
<li>sync: don't inherit <code>Send</code> from <code>parking_lot::*Guard</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4359">#4359</a>)</li>
</ul>
<h3>Added</h3>
<ul>
<li>net: <code>TcpSocket::linger()</code> and <code>set_linger()</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4324">#4324</a>)</li>
<li>net: impl <code>UnwindSafe</code> for socket types (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4384">#4384</a>)</li>
<li>rt: impl <code>UnwindSafe</code> for <code>JoinHandle</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4418">#4418</a>)</li>
<li>sync: <code>watch::Receiver::has_changed()</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4342">#4342</a>)</li>
<li>sync: <code>oneshot::Receiver::blocking_recv()</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4334">#4334</a>)</li>
<li>sync: <code>RwLock</code> blocking operations (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4425">#4425</a>)</li>
</ul>
<h3>Unstable</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="91b9850505"><code>91b9850</code></a> chore: prepare Tokio v1.16.1 release (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4438">#4438</a>)</li>
<li><a href="3c467056e9"><code>3c46705</code></a> io: fix take pointer check (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4437">#4437</a>)</li>
<li><a href="afd2189eec"><code>afd2189</code></a> chore: prepare Tokio v1.16 release (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4431">#4431</a>)</li>
<li><a href="986b88b3f1"><code>986b88b</code></a> chore: update year in LICENSE files (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4429">#4429</a>)</li>
<li><a href="257053e40b"><code>257053e</code></a> util: add <code>spawn_pinned</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/3370">#3370</a>)</li>
<li><a href="5af9e0db2b"><code>5af9e0d</code></a> sync: add blocking lock methods to <code>RwLock</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4425">#4425</a>)</li>
<li><a href="8f77ee8609"><code>8f77ee8</code></a> net: add generic trait to combine UnixListener and TcpListener (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4385">#4385</a>)</li>
<li><a href="2747043f6f"><code>2747043</code></a> tests: enable running wasm32-unknown-unknown tests (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4421">#4421</a>)</li>
<li><a href="2a5071fc2d"><code>2a5071f</code></a> feat: implement <code>Framed::map_codec</code>  (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4427">#4427</a>)</li>
<li><a href="621790e165"><code>621790e</code></a> io: fix <code>take</code> when using evil reader (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4428">#4428</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/tokio-rs/tokio/compare/tokio-1.14.1...tokio-1.16.1">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tokio&package-manager=cargo&previous-version=1.14.1&new-version=1.16.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
Byron Hambly 2c2fb7f350
deps(build): upgrade ecdsa_fun and sigma_fun
- #1139
- #1140
2 years ago
dependabot[bot] 28d346c651
build(deps): bump tokio from 1.14.1 to 1.16.1
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.14.1 to 1.16.1.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.14.1...tokio-1.16.1)

---
updated-dependencies:
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] 4cfd829cc4
Merge #1137
1137: build(deps): bump url from 2.3.0 to 2.3.1 r=delta1 a=dependabot[bot]

Bumps [url](https://github.com/servo/rust-url) from 2.3.0 to 2.3.1.
<details>
<summary>Commits</summary>
<ul>
<li><a href="359bc90a4f"><code>359bc90</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/servo/rust-url/issues/792">#792</a> from servo/version_bump_2.3.1</li>
<li><a href="ad8911ae54"><code>ad8911a</code></a> Bump url version to 2.3.1 and bump minor for dependencies</li>
<li>See full diff in <a href="https://github.com/servo/rust-url/compare/v2.3.0...v2.3.1">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=url&package-manager=cargo&previous-version=2.3.0&new-version=2.3.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] e86ff95f78
build(deps): bump url from 2.3.0 to 2.3.1
Bumps [url](https://github.com/servo/rust-url) from 2.3.0 to 2.3.1.
- [Release notes](https://github.com/servo/rust-url/releases)
- [Commits](https://github.com/servo/rust-url/compare/v2.3.0...v2.3.1)

---
updated-dependencies:
- dependency-name: url
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] 6a7336aff4
Merge #1136
1136: build(deps): bump url from 2.2.2 to 2.3.0 r=delta1 a=dependabot[bot]

Bumps [url](https://github.com/servo/rust-url) from 2.2.2 to 2.3.0.
<details>
<summary>Commits</summary>
<ul>
<li><a href="35abc325ba"><code>35abc32</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/servo/rust-url/issues/791">#791</a> from servo/ver_2.3.0</li>
<li><a href="25266fcc36"><code>25266fc</code></a> Bump url version to 2.3.0</li>
<li><a href="587e9628a9"><code>587e962</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/servo/rust-url/issues/790">#790</a> from crowlKats/remove_idna</li>
<li><a href="eaa23e556f"><code>eaa23e5</code></a> remove IDNA feature</li>
<li><a href="a3df36528a"><code>a3df365</code></a> feat(url): add <code>quirks::internal_components</code> (<a href="https://github-redirect.dependabot.com/servo/rust-url/issues/788">#788</a>)</li>
<li><a href="868719da3f"><code>868719d</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/servo/rust-url/issues/734">#734</a> from andrewbanchich/fix-set-host</li>
<li><a href="eb3f20d7e4"><code>eb3f20d</code></a> Fix setting file hosts to None</li>
<li><a href="6e5df8fe3b"><code>6e5df8f</code></a> perf(idna): fast-path simple/ascii domains (<a href="https://github-redirect.dependabot.com/servo/rust-url/issues/761">#761</a>)</li>
<li><a href="1d307ae51a"><code>1d307ae</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/servo/rust-url/issues/787">#787</a> from jiftoo/query-pairs-patch</li>
<li><a href="4c5e4ee826"><code>4c5e4ee</code></a> fix unclosed doctest</li>
<li>Additional commits viewable in <a href="https://github.com/servo/rust-url/compare/v2.2.2...v2.3.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=url&package-manager=cargo&previous-version=2.2.2&new-version=2.3.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Byron Hambly <bhambly@blockstream.com>
2 years ago
Byron Hambly 2af3b0a72d
Merge branch 'master' into dependabot/cargo/url-2.3.0 2 years ago
bors[bot] fdb31d1e81
Merge #1133
1133: build(deps): bump anyhow from 1.0.62 to 1.0.64 r=delta1 a=dependabot[bot]

Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.62 to 1.0.64.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/anyhow/releases">anyhow's releases</a>.</em></p>
<blockquote>
<h2>1.0.64</h2>
<ul>
<li>Correctly propagate Backtrace when using <code>#[source] anyhow::Error</code> with <a href="https://github.com/dtolnay/thiserror">thiserror</a> crate (<a href="https://github-redirect.dependabot.com/dtolnay/anyhow/issues/231">#231</a>)</li>
</ul>
<h2>1.0.63</h2>
<ul>
<li>Expose backtraces via the new &quot;generic member access&quot; API on the Error trait (<a href="https://github-redirect.dependabot.com/rust-lang/rust/issues/99301">rust-lang/rust#99301</a>, <a href="https://github-redirect.dependabot.com/rust-lang/rust/issues/96024">rust-lang/rust#96024</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="916e22bf36"><code>916e22b</code></a> Release 1.0.64</li>
<li><a href="480e480412"><code>480e480</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/anyhow/issues/268">#268</a> from dtolnay/provide</li>
<li><a href="b30f5c594b"><code>b30f5c5</code></a> Include outer backtrace when called as source.provide</li>
<li><a href="4b8df91794"><code>4b8df91</code></a> GitHub Workflows security hardening</li>
<li><a href="007c69c3c5"><code>007c69c</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/anyhow/issues/267">#267</a> from dtolnay/demand</li>
<li><a href="1b298fe981"><code>1b298fe</code></a> Rename &amp;mut Demand arguments to 'demand'</li>
<li><a href="2c8f71bda4"><code>2c8f71b</code></a> Revert &quot;Disable backtrace test until converted to provider API&quot;</li>
<li><a href="036c5f8ae5"><code>036c5f8</code></a> Release 1.0.63</li>
<li><a href="546342c3bd"><code>546342c</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/anyhow/issues/266">#266</a> from dtolnay/provider</li>
<li><a href="46d3d2c9f5"><code>46d3d2c</code></a> Use backtrace via generic member access</li>
<li>Additional commits viewable in <a href="https://github.com/dtolnay/anyhow/compare/1.0.62...1.0.64">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=anyhow&package-manager=cargo&previous-version=1.0.62&new-version=1.0.64)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
bors[bot] 7792ea1461
Merge #1132
1132: build(deps): bump thiserror from 1.0.32 to 1.0.34 r=delta1 a=dependabot[bot]

Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.32 to 1.0.34.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/thiserror/releases">thiserror's releases</a>.</em></p>
<blockquote>
<h2>1.0.34</h2>
<ul>
<li>Tweak &quot;generic member access&quot; based Backtrace implementation (<a href="https://github-redirect.dependabot.com/dtolnay/thiserror/issues/184">#184</a>)</li>
</ul>
<h2>1.0.33</h2>
<ul>
<li>Expose backtraces via the new &quot;generic member access&quot; API on the Error trait (<a href="https://github-redirect.dependabot.com/rust-lang/rust/issues/99301">rust-lang/rust#99301</a>, <a href="https://github-redirect.dependabot.com/rust-lang/rust/issues/96024">rust-lang/rust#96024</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="48f697af3d"><code>48f697a</code></a> Release 1.0.34</li>
<li><a href="76c5568135"><code>76c5568</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/thiserror/issues/184">#184</a> from dtolnay/provide</li>
<li><a href="f924c251ec"><code>f924c25</code></a> Directly call source.provide instead of going through dyn error</li>
<li><a href="2f093b5fbc"><code>2f093b5</code></a> GitHub Workflows security hardening</li>
<li><a href="63420ea04e"><code>63420ea</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/thiserror/issues/183">#183</a> from dtolnay/deprecated</li>
<li><a href="8adf113f0a"><code>8adf113</code></a> Revert &quot;Delete broken #[deprecated] test&quot;</li>
<li><a href="fdb266af29"><code>fdb266a</code></a> Release 1.0.33</li>
<li><a href="905680eee0"><code>905680e</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/thiserror/issues/182">#182</a> from dtolnay/provider</li>
<li><a href="e11c97babf"><code>e11c97b</code></a> Update backtrace test to provider API</li>
<li><a href="986e106172"><code>986e106</code></a> Revert &quot;Disable nightly backtrace testing until converted to provider API&quot;</li>
<li>Additional commits viewable in <a href="https://github.com/dtolnay/thiserror/compare/1.0.32...1.0.34">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=thiserror&package-manager=cargo&previous-version=1.0.32&new-version=1.0.34)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] 8966bb8a78
build(deps): bump anyhow from 1.0.62 to 1.0.64
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.62 to 1.0.64.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.62...1.0.64)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] af1a9fdd4e
build(deps): bump thiserror from 1.0.32 to 1.0.34
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.32 to 1.0.34.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.32...1.0.34)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] 21e1a61af8
Merge #1135
1135: build(deps): bump time from 0.3.13 to 0.3.14 r=delta1 a=dependabot[bot]

Bumps [time](https://github.com/time-rs/time) from 0.3.13 to 0.3.14.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/time-rs/time/releases">time's releases</a>.</em></p>
<blockquote>
<h2>v0.3.14</h2>
<p>See the <a href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">changelog</a> for details.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">time's changelog</a>.</em></p>
<blockquote>
<h2>0.3.14 [2022-08-24]</h2>
<h3>Changed</h3>
<ul>
<li>The minimum supported Rust version is now 1.59.0.</li>
<li><code>Duration::unsigned_abs</code> is now <code>const fn</code>.</li>
<li>The const parameter for <code>time::format_description::well_known::Iso8601</code> now has a default. This
means <code>Iso8601</code> is the same as <code>Iso8601::DEFAULT</code>.</li>
<li>The <code>Parsed</code> struct has been reduced in size from 56 to 32 bytes (a 43% reduction).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="2297a4e0ae"><code>2297a4e</code></a> v0.3.14 release</li>
<li><a href="d358131045"><code>d358131</code></a> Use byte string literals where possible</li>
<li><a href="d385f05c4b"><code>d385f05</code></a> Allow unsafe code, but deny undocumented blocks</li>
<li><a href="a99ec40404"><code>a99ec40</code></a> Bump MSRV to 1.59</li>
<li><a href="9b9e560a33"><code>9b9e560</code></a> Reduce size of <code>Parsed</code> by bit-packing flags</li>
<li><a href="c0ae430d23"><code>c0ae430</code></a> Use const generic defaults</li>
<li><a href="e920d0a2fa"><code>e920d0a</code></a> Use duration consts 2</li>
<li><a href="08e21369be"><code>08e2136</code></a> Use format args capture</li>
<li>See full diff in <a href="https://github.com/time-rs/time/compare/v0.3.13...v0.3.14">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=time&package-manager=cargo&previous-version=0.3.13&new-version=0.3.14)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] 90a8095361
build(deps): bump time from 0.3.13 to 0.3.14
Bumps [time](https://github.com/time-rs/time) from 0.3.13 to 0.3.14.
- [Release notes](https://github.com/time-rs/time/releases)
- [Changelog](https://github.com/time-rs/time/blob/main/CHANGELOG.md)
- [Commits](https://github.com/time-rs/time/compare/v0.3.13...v0.3.14)

---
updated-dependencies:
- dependency-name: time
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] 6f49e5aa51
Merge #1131
1131: build(deps): bump futures from 0.3.23 to 0.3.24 r=delta1 a=dependabot[bot]

Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.23 to 0.3.24.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/rust-lang/futures-rs/releases">futures's releases</a>.</em></p>
<blockquote>
<h2>0.3.24</h2>
<ul>
<li>Fix incorrect termination of <code>select_with_strategy</code> streams (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2635">#2635</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md">futures's changelog</a>.</em></p>
<blockquote>
<h1>0.3.24 - 2022-08-29</h1>
<ul>
<li>Fix incorrect termination of <code>select_with_strategy</code> streams (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2635">#2635</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="174cb01d5b"><code>174cb01</code></a> Release 0.3.24</li>
<li><a href="ce6bee08c7"><code>ce6bee0</code></a> Update no_atomic_cas.rs</li>
<li><a href="9ae19f8932"><code>9ae19f8</code></a> Fix incorrect termination of <code>select_with_strategy</code> streams (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2635">#2635</a>)</li>
<li>See full diff in <a href="https://github.com/rust-lang/futures-rs/compare/0.3.23...0.3.24">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=futures&package-manager=cargo&previous-version=0.3.23&new-version=0.3.24)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] 375a72d918
build(deps): bump url from 2.2.2 to 2.3.0
Bumps [url](https://github.com/servo/rust-url) from 2.2.2 to 2.3.0.
- [Release notes](https://github.com/servo/rust-url/releases)
- [Commits](https://github.com/servo/rust-url/compare/v2.2.2...v2.3.0)

---
updated-dependencies:
- dependency-name: url
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] caf74ac287
Merge #1134
1134: build(deps): bump serde_json from 1.0.83 to 1.0.85 r=delta1 a=dependabot[bot]

Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.83 to 1.0.85.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p>
<blockquote>
<h2>v1.0.85</h2>
<ul>
<li>Make <code>Display</code> for <code>Number</code> produce the same representation as serializing (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/919">#919</a>)</li>
</ul>
<h2>v1.0.84</h2>
<ul>
<li>Make <code>Debug</code> impl of <code>serde_json::Value</code> more compact (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/918">#918</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="44d9c53e25"><code>44d9c53</code></a> Release 1.0.85</li>
<li><a href="2c8e2b08af"><code>2c8e2b0</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/919">#919</a> from serde-rs/displaynum</li>
<li><a href="cb2515ba44"><code>cb2515b</code></a> Make Display for Number produce the same representation as serializing</li>
<li><a href="8ba854166d"><code>8ba8541</code></a> Preserve '.0' when Displaying Number</li>
<li><a href="de251c8198"><code>de251c8</code></a> Add test of Display for Number containing float</li>
<li><a href="6b8b07365e"><code>6b8b073</code></a> Release 1.0.84</li>
<li><a href="9e9b2b72fb"><code>9e9b2b7</code></a> Revert &quot;Avoid cargo 1.45–1.50 in GitHub Actions&quot;</li>
<li><a href="a685113765"><code>a685113</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/918">#918</a> from serde-rs/debug</li>
<li><a href="dd6a86db07"><code>dd6a86d</code></a> Reduce unneeded parens and newlines in Debug for Value</li>
<li><a href="de62e3e406"><code>de62e3e</code></a> Make Debug test compatible with preserve_order</li>
<li>Additional commits viewable in <a href="https://github.com/serde-rs/json/compare/v1.0.83...v1.0.85">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_json&package-manager=cargo&previous-version=1.0.83&new-version=1.0.85)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] 0f9292fd41
build(deps): bump serde_json from 1.0.83 to 1.0.85
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.83 to 1.0.85.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.83...v1.0.85)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] d20cb0da96
build(deps): bump futures from 0.3.23 to 0.3.24
Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.23 to 0.3.24.
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.23...0.3.24)

---
updated-dependencies:
- dependency-name: futures
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] a7fafc7a58
Merge #1129
1129: build(deps): bump sha2 from 0.10.2 to 0.10.5 r=delta1 a=dependabot[bot]

Bumps [sha2](https://github.com/RustCrypto/hashes) from 0.10.2 to 0.10.5.
<details>
<summary>Commits</summary>
<ul>
<li><a href="b1c5032fbc"><code>b1c5032</code></a> Fix MSRV issues by re-releasing sha1, sha2, sha3, md5, and whirlpool. Take 2....</li>
<li><a href="db5af59cd4"><code>db5af59</code></a> Fix MSRV issues by re-releasing sha1, sha2, sha3, md5, and whirlpool (<a href="https://github-redirect.dependabot.com/RustCrypto/hashes/issues/399">#399</a>)</li>
<li><a href="b74be34693"><code>b74be34</code></a> Remove html_root_url (<a href="https://github-redirect.dependabot.com/RustCrypto/hashes/issues/393">#393</a>)</li>
<li><a href="38ea35559c"><code>38ea355</code></a> Release md5 v0.10.2, sha1 v0.10.2, sha2 v0.10.3, whirlpool v0.10.2 (<a href="https://github-redirect.dependabot.com/RustCrypto/hashes/issues/392">#392</a>)</li>
<li><a href="4c7a3fa240"><code>4c7a3fa</code></a> build(deps): bump cpufeatures from 0.2.3 to 0.2.4 (<a href="https://github-redirect.dependabot.com/RustCrypto/hashes/issues/389">#389</a>)</li>
<li><a href="e5ad181cdb"><code>e5ad181</code></a> Ignore <code>asm</code> feature on unsupported targets (<a href="https://github-redirect.dependabot.com/RustCrypto/hashes/issues/388">#388</a>)</li>
<li><a href="79af27adf5"><code>79af27a</code></a> Expand on DynDigest example in README (<a href="https://github-redirect.dependabot.com/RustCrypto/hashes/issues/390">#390</a>)</li>
<li><a href="e5d9356243"><code>e5d9356</code></a> Update Cargo.lock</li>
<li><a href="457061f19b"><code>457061f</code></a> sha3 v0.10.2 (<a href="https://github-redirect.dependabot.com/RustCrypto/hashes/issues/384">#384</a>)</li>
<li><a href="53d9671baf"><code>53d9671</code></a> Release fsb v0.1.2 (<a href="https://github-redirect.dependabot.com/RustCrypto/hashes/issues/382">#382</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/RustCrypto/hashes/compare/sha2-v0.10.2...sha2-v0.10.5">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=sha2&package-manager=cargo&previous-version=0.10.2&new-version=0.10.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] 66bbf6c2fc
build(deps): bump sha2 from 0.10.2 to 0.10.5
Bumps [sha2](https://github.com/RustCrypto/hashes) from 0.10.2 to 0.10.5.
- [Release notes](https://github.com/RustCrypto/hashes/releases)
- [Commits](https://github.com/RustCrypto/hashes/compare/sha2-v0.10.2...sha2-v0.10.5)

---
updated-dependencies:
- dependency-name: sha2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] fdb83ad7cc
Merge #1116
1116: build(deps): upgrade bdk, ecdsa_fun, sigma_fun, bitcoin-harness, sha2, serde r=delta1 a=delta1

upgrades the following dependencies 

- 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 was upgraded https://github.com/coblox/bitcoin-harness-rs/pull/25
- revert 11eb1737ce "ci: specify previous dprint version until fixed"
   

Co-authored-by: Byron Hambly <bhambly@blockstream.com>
2 years ago
Byron Hambly 6e7e39eea4
build(deps): upgrade bdk, ecdsa_fun, sigma_fun, sha2, bitcoin-harness, serde
- 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 11eb1737ce.
2 years ago
bors[bot] 1947e441dc
Merge #1118
1118: ci: specify previous dprint version  r=delta1 a=delta1

The dprint check is failing since the new release, so this commit fixes our CI to the previous working version. 

https://github.com/dprint/check/issues/8

Co-authored-by: Byron Hambly <bhambly@blockstream.com>
2 years ago
Byron Hambly 11eb1737ce
ci: specify previous dprint version until fixed 2 years ago
bors[bot] 9021e83952
Merge #1114
1114: build(deps): bump anyhow from 1.0.61 to 1.0.62 r=delta1 a=dependabot[bot]

Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.61 to 1.0.62.
<details>
<summary>Commits</summary>
<ul>
<li><a href="b73a04a68d"><code>b73a04a</code></a> Release 1.0.62</li>
<li><a href="b916fa9641"><code>b916fa9</code></a> Revert &quot;Work around RA's RUSTC_WRAPPER poisoning all subsequent command-line ...</li>
<li><a href="b88a699b84"><code>b88a699</code></a> Make private module more clearly private</li>
<li><a href="6be2da9898"><code>6be2da9</code></a> Bump clippy.toml msrv to match rust-version in Cargo.toml</li>
<li><a href="a752fd9cdc"><code>a752fd9</code></a> Resolve renamed_and_removed_lints warning on logic_bug</li>
<li><a href="180b96cc7a"><code>180b96c</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/anyhow/issues/258">#258</a> from dtolnay/cargopr</li>
<li><a href="b3dcb920cf"><code>b3dcb92</code></a> Add link to Cargo RUSTC_WRAPPER PR</li>
<li>See full diff in <a href="https://github.com/dtolnay/anyhow/compare/1.0.61...1.0.62">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=anyhow&package-manager=cargo&previous-version=1.0.61&new-version=1.0.62)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] 0107672b67
build(deps): bump anyhow from 1.0.61 to 1.0.62
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.61 to 1.0.62.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.61...1.0.62)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] d2d8a9c785
Merge #1110
1110: build(deps): bump futures from 0.3.21 to 0.3.23 r=delta1 a=dependabot[bot]

Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.21 to 0.3.23.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/rust-lang/futures-rs/releases">futures's releases</a>.</em></p>
<blockquote>
<h2>0.3.23</h2>
<ul>
<li>Work around MSRV increase due to a cargo bug.</li>
</ul>
<h2>0.3.22</h2>
<ul>
<li>Fix <code>Sync</code> impl of <code>BiLockGuard</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2570">#2570</a>)</li>
<li>Fix partial iteration in <code>FuturesUnordered</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2574">#2574</a>)</li>
<li>Fix false detection of inner panics in <code>Shared</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2576">#2576</a>)</li>
<li>Add <code>Mutex::lock_owned</code> and <code>Mutex::try_lock_owned</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2571">#2571</a>)</li>
<li>Add <code>io::copy_buf_abortable</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2507">#2507</a>)</li>
<li>Remove <code>Unpin</code> bound from <code>TryStreamExt::into_async_read</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2599">#2599</a>)</li>
<li>Make <code>run_until_stalled</code> handle self-waking futures (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2593">#2593</a>)</li>
<li>Use <code>FuturesOrdered</code> in <code>try_join_all</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2556">#2556</a>)</li>
<li>Fix orderings in <code>LocalPool</code> waker (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2608">#2608</a>)</li>
<li>Fix <code>stream::Chunk</code> adapters size hints (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2611">#2611</a>)</li>
<li>Add <code>push_front</code> and <code>push_back</code> to <code>FuturesOrdered</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2591">#2591</a>)</li>
<li>Deprecate <code>FuturesOrdered::push</code> in favor of <code>FuturesOrdered::push_back</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2591">#2591</a>)</li>
<li>Performance improvements (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2583">#2583</a>, <a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2626">#2626</a>)</li>
<li>Documentation improvements (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2579">#2579</a>, <a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2604">#2604</a>, <a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2613">#2613</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md">futures's changelog</a>.</em></p>
<blockquote>
<h1>0.3.23 - 2022-08-14</h1>
<ul>
<li>Work around MSRV increase due to a cargo bug.</li>
</ul>
<h1>0.3.22 - 2022-08-14</h1>
<ul>
<li>Fix <code>Sync</code> impl of <code>BiLockGuard</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2570">#2570</a>)</li>
<li>Fix partial iteration in <code>FuturesUnordered</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2574">#2574</a>)</li>
<li>Fix false detection of inner panics in <code>Shared</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2576">#2576</a>)</li>
<li>Add <code>Mutex::lock_owned</code> and <code>Mutex::try_lock_owned</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2571">#2571</a>)</li>
<li>Add <code>io::copy_buf_abortable</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2507">#2507</a>)</li>
<li>Remove <code>Unpin</code> bound from <code>TryStreamExt::into_async_read</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2599">#2599</a>)</li>
<li>Make <code>run_until_stalled</code> handle self-waking futures (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2593">#2593</a>)</li>
<li>Use <code>FuturesOrdered</code> in <code>try_join_all</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2556">#2556</a>)</li>
<li>Fix orderings in <code>LocalPool</code> waker (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2608">#2608</a>)</li>
<li>Fix <code>stream::Chunk</code> adapters size hints (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2611">#2611</a>)</li>
<li>Add <code>push_front</code> and <code>push_back</code> to <code>FuturesOrdered</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2591">#2591</a>)</li>
<li>Deprecate <code>FuturesOrdered::push</code> in favor of <code>FuturesOrdered::push_back</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2591">#2591</a>)</li>
<li>Performance improvements (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2583">#2583</a>, <a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2626">#2626</a>)</li>
<li>Documentation improvements (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2579">#2579</a>, <a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2604">#2604</a>, <a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2613">#2613</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="7bff2be5d3"><code>7bff2be</code></a> Release 0.3.23</li>
<li><a href="a1030cf2be"><code>a1030cf</code></a> Update changelog</li>
<li><a href="8db8ead5b3"><code>8db8ead</code></a> Use stable toolchain to publish</li>
<li><a href="ccc2a24b89"><code>ccc2a24</code></a> Release 0.3.22</li>
<li><a href="1d1c1c539d"><code>1d1c1c5</code></a> Update changelog</li>
<li><a href="4b15910590"><code>4b15910</code></a> Relax ordering in local_pool.rs</li>
<li><a href="4d0a2e6867"><code>4d0a2e6</code></a> Remove build from release workflow</li>
<li><a href="367dbefd9a"><code>367dbef</code></a> Update actions/checkout action to v3</li>
<li><a href="74b1e34638"><code>74b1e34</code></a> Fix CI failure on 1.45</li>
<li><a href="4145d5936e"><code>4145d59</code></a> Inline WakerRef functions (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2626">#2626</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/rust-lang/futures-rs/compare/0.3.21...0.3.23">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=futures&package-manager=cargo&previous-version=0.3.21&new-version=0.3.23)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] f652bc2ea5
build(deps): bump futures from 0.3.21 to 0.3.23
Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.21 to 0.3.23.
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.21...0.3.23)

---
updated-dependencies:
- dependency-name: futures
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] b2095128ae
Merge #1104
1104: build(deps): bump anyhow from 1.0.60 to 1.0.61 r=delta1 a=dependabot[bot]

Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.60 to 1.0.61.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/anyhow/releases">anyhow's releases</a>.</em></p>
<blockquote>
<h2>1.0.61</h2>
<ul>
<li>Work around rust-analyzer builds poisoning all subsequent command-line cargo builds (<a href="https://github-redirect.dependabot.com/dtolnay/anyhow/issues/252">#252</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="d2c83e20a3"><code>d2c83e2</code></a> Release 1.0.61</li>
<li><a href="6e6af39e02"><code>6e6af39</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/anyhow/issues/252">#252</a> from dtolnay/rerun</li>
<li><a href="77317b50c8"><code>77317b5</code></a> Work around RA's RUSTC_WRAPPER poisoning all subsequent command-line builds</li>
<li><a href="e55761e27b"><code>e55761e</code></a> Disable backtrace test until converted to provider API</li>
<li>See full diff in <a href="https://github.com/dtolnay/anyhow/compare/1.0.60...1.0.61">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=anyhow&package-manager=cargo&previous-version=1.0.60&new-version=1.0.61)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] 5ff5651fad
build(deps): bump anyhow from 1.0.60 to 1.0.61
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.60 to 1.0.61.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.60...1.0.61)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] 9c688cf778
Merge #1105
1105: Release version 0.11.0 r=delta1 a=comit-botty-mc-botface

Hi `@delta1!`

This PR was created in response to a manual trigger of the release workflow here: https://github.com/comit-network/xmr-btc-swap/actions/runs/2839839412.
I've updated the changelog and bumped the versions in the manifest files in this commit: c093ae315d.

Merging this PR will create a GitHub release and upload any assets that are created as part of the release build.

Co-authored-by: COMIT Botty McBotface <botty@coblox.tech>
2 years ago
COMIT Botty McBotface c093ae315d Prepare release 0.11.0 2 years ago
bors[bot] fab87d9daf
Merge #1100
1100: feat: upgrade to monero 0.18 r=delta1 a=delta1

Updates the docker images and wallet-rpc downloads to 0.18.0

closes #1081 
fixes #1061 

Co-authored-by: Byron Hambly <bhambly@blockstream.com>
2 years ago
Byron Hambly bf23eee0cb
docs: add gpg key readme and delta1.asc 2 years ago
Byron Hambly 249e97826f
feat: check swap cli wallet rpc version and remove if not fluorine fermi
- 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
2 years ago
Byron Hambly 0a7a27327e
feat: upgrade to monero 0.18 2 years ago
bors[bot] 0d794a13d0
Merge #1008
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>
2 years ago
bors[bot] 7c2fda3650
Merge #1102
1102: build(deps): bump serde from 1.0.142 to 1.0.143 r=delta1 a=dependabot[bot]

Bumps [serde](https://github.com/serde-rs/serde) from 1.0.142 to 1.0.143.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/serde/releases">serde's releases</a>.</em></p>
<blockquote>
<h2>v1.0.143</h2>
<ul>
<li>Invert build.rs cfgs in serde_test to produce the most modern configuration in the default case (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2253">#2253</a>, thanks <a href="https://github.com/taiki-e"><code>`@​taiki-e</code></a>)</li>`
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="3d0251666e"><code>3d02516</code></a> Release 1.0.143</li>
<li><a href="7770da4929"><code>7770da4</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2253">#2253</a> from taiki-e/test-cfg</li>
<li><a href="a5fd85a9ef"><code>a5fd85a</code></a> Invert build.rs cfgs in serde_test</li>
<li>See full diff in <a href="https://github.com/serde-rs/serde/compare/v1.0.142...v1.0.143">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde&package-manager=cargo&previous-version=1.0.142&new-version=1.0.143)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] c160a022e7
build(deps): bump serde from 1.0.142 to 1.0.143
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.142 to 1.0.143.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.142...v1.0.143)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] 2f60ebfc83
Merge #1099 #1101
1099: build(deps): bump anyhow from 1.0.59 to 1.0.60 r=delta1 a=dependabot[bot]

Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.59 to 1.0.60.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/anyhow/releases">anyhow's releases</a>.</em></p>
<blockquote>
<h2>1.0.60</h2>
<ul>
<li>Propagate <code>--target</code> to rustc invocation when deciding about backtrace support (<a href="https://github-redirect.dependabot.com/dtolnay/anyhow/issues/249">#249</a>, thanks <a href="https://github.com/RalfJung"><code>`@​RalfJung</code></a>)</li>`
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="08f801238a"><code>08f8012</code></a> Release 1.0.60</li>
<li><a href="29c72c589c"><code>29c72c5</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/anyhow/issues/249">#249</a> from RalfJung/rustc-target</li>
<li><a href="da28e88245"><code>da28e88</code></a> fix RUSTC_WRAPPER env var</li>
<li><a href="822a4edbfd"><code>822a4ed</code></a> propagate --target to rustc invocation</li>
<li><a href="db32585e16"><code>db32585</code></a> Update keywords in crates.io metadata</li>
<li>See full diff in <a href="https://github.com/dtolnay/anyhow/compare/1.0.59...1.0.60">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=anyhow&package-manager=cargo&previous-version=1.0.59&new-version=1.0.60)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1101: build(deps): bump time from 0.3.11 to 0.3.13 r=delta1 a=dependabot[bot]

Bumps [time](https://github.com/time-rs/time) from 0.3.11 to 0.3.13.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/time-rs/time/releases">time's releases</a>.</em></p>
<blockquote>
<h2>v0.3.13</h2>
<p>See the <a href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">changelog</a> for details.</p>
<h2>v0.3.12</h2>
<p>See the <a href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">changelog</a> for details.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">time's changelog</a>.</em></p>
<blockquote>
<h2>0.3.13 [2022-08-09]</h2>
<h3>Fixed</h3>
<ul>
<li>wasm builds other than those using <code>wasm-bindgen</code> work again.</li>
</ul>
<h2>0.3.12 [2022-08-01]</h2>
<h3>Added</h3>
<ul>
<li><code>js-sys</code> now supports obtaining the system's local UTC offset.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Performance of many <code>Date</code> operations has improved when using the <code>large-dates</code> feature.</li>
<li>While an internal change, <code>OffsetDateTime</code> now stores the value in the attached <code>UtcOffset</code>, not
UTC. This leads to significant performance gains on nearly all <code>OffsetDateTime</code> methods.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Subtracting two <code>Time</code>s can no longer panic. This previously occurred in some situations where the
result was invalid.</li>
<li>ISO 8601 parsing rounds the subseconds to avoid incorrectly truncating the value.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="7e52d3ac96"><code>7e52d3a</code></a> Update changelog, 0.3.13 release</li>
<li><a href="1ebdfb32ca"><code>1ebdfb3</code></a> Update CI</li>
<li><a href="1d9d4c41f6"><code>1d9d4c4</code></a> Gate js-sys dependency behind 'wasm-bindgen' feature (<a href="https://github-redirect.dependabot.com/time-rs/time/issues/499">#499</a>)</li>
<li><a href="c0090387ff"><code>c009038</code></a> Add error for wrong call to tests/benches</li>
<li><a href="ea2d1040f1"><code>ea2d104</code></a> Update changelog, 0.3.12 release</li>
<li><a href="33afe9d86d"><code>33afe9d</code></a> Simplify float rounding for use case</li>
<li><a href="cfaf7f947c"><code>cfaf7f9</code></a> Remove references to Codestream and VSLS</li>
<li><a href="7be38dc28c"><code>7be38dc</code></a> Change <code>OffsetDateTime</code> to store local datetime</li>
<li><a href="ab17a667e5"><code>ab17a66</code></a> WASM support (<a href="https://github-redirect.dependabot.com/time-rs/time/issues/491">#491</a>)</li>
<li><a href="eb70b0eb52"><code>eb70b0e</code></a> Fix clippy lints</li>
<li>Additional commits viewable in <a href="https://github.com/time-rs/time/compare/v0.3.11...v0.3.13">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=time&package-manager=cargo&previous-version=0.3.11&new-version=0.3.13)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] bef2255666
build(deps): bump time from 0.3.11 to 0.3.13
Bumps [time](https://github.com/time-rs/time) from 0.3.11 to 0.3.13.
- [Release notes](https://github.com/time-rs/time/releases)
- [Changelog](https://github.com/time-rs/time/blob/main/CHANGELOG.md)
- [Commits](https://github.com/time-rs/time/compare/v0.3.11...v0.3.13)

---
updated-dependencies:
- dependency-name: time
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] 74e7c1e4c5
Merge #989
989: Check if binary is latest version r=delta1 a=lescuer97

Needs to be decided if this is going to be used for the ASB too and where in the code base the function should be put. 

I'll wait for comments ;)

Fixes #988 

Co-authored-by: leonardo <leoescuer@protonmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Byron Hambly <bhambly@blockstream.com>
2 years ago
dependabot[bot] 0cb0fb62a4
build(deps): bump anyhow from 1.0.59 to 1.0.60
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.59 to 1.0.60.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.59...1.0.60)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] d196ecc90a
Merge #1097 #1098
1097: build(deps): bump rust_decimal_macros from 1.26.0 to 1.26.1 r=delta1 a=dependabot[bot]

Bumps [rust_decimal_macros](https://github.com/paupino/rust-decimal) from 1.26.0 to 1.26.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/paupino/rust-decimal/blob/master/CHANGELOG.md">rust_decimal_macros's changelog</a>.</em></p>
<blockquote>
<h2>1.26.1</h2>
<h3>Fixed</h3>
<ul>
<li>Fixes <code>docs.rs</code> <a href="https://docs.rs/crate/rust_decimal/1.26.0/builds/605522">failing to compile</a> due to mutually exclusive <code>diesel1</code> and <code>diesel2</code> features. The previous <code>compile_error!</code>
was in fact an <a href="https://doc.rust-lang.org/cargo/reference/features.html#mutually-exclusive-features">anti-pattern</a>. Consequently,
if both <code>diesel1</code> and <code>diesel2</code> features are specified then it will favor <code>diesel2</code>. This helps prevent any conflict scenarios
and ultimately resolves the downstream <code>docs.rs</code> issue.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="850d15df53"><code>850d15d</code></a> Version 1.26.1 (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/537">#537</a>)</li>
<li><a href="8cf7d401c6"><code>8cf7d40</code></a> Fixes feature compilation for docs.rs by favoring diesel2 if feature specifie...</li>
<li>See full diff in <a href="https://github.com/paupino/rust-decimal/compare/1.26.0...1.26.1">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rust_decimal_macros&package-manager=cargo&previous-version=1.26.0&new-version=1.26.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1098: build(deps): bump rust_decimal from 1.26.0 to 1.26.1 r=delta1 a=dependabot[bot]

Bumps [rust_decimal](https://github.com/paupino/rust-decimal) from 1.26.0 to 1.26.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/paupino/rust-decimal/blob/master/CHANGELOG.md">rust_decimal's changelog</a>.</em></p>
<blockquote>
<h2>1.26.1</h2>
<h3>Fixed</h3>
<ul>
<li>Fixes <code>docs.rs</code> <a href="https://docs.rs/crate/rust_decimal/1.26.0/builds/605522">failing to compile</a> due to mutually exclusive <code>diesel1</code> and <code>diesel2</code> features. The previous <code>compile_error!</code>
was in fact an <a href="https://doc.rust-lang.org/cargo/reference/features.html#mutually-exclusive-features">anti-pattern</a>. Consequently,
if both <code>diesel1</code> and <code>diesel2</code> features are specified then it will favor <code>diesel2</code>. This helps prevent any conflict scenarios
and ultimately resolves the downstream <code>docs.rs</code> issue.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="850d15df53"><code>850d15d</code></a> Version 1.26.1 (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/537">#537</a>)</li>
<li><a href="8cf7d401c6"><code>8cf7d40</code></a> Fixes feature compilation for docs.rs by favoring diesel2 if feature specifie...</li>
<li>See full diff in <a href="https://github.com/paupino/rust-decimal/compare/1.26.0...1.26.1">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rust_decimal&package-manager=cargo&previous-version=1.26.0&new-version=1.26.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
Byron Hambly 4b09ffd4df
refactor: check for latest release
DRYs up the code for checking latest release from github.
2 years ago
dependabot[bot] 5df54d8486
build(deps): bump rust_decimal from 1.26.0 to 1.26.1
Bumps [rust_decimal](https://github.com/paupino/rust-decimal) from 1.26.0 to 1.26.1.
- [Release notes](https://github.com/paupino/rust-decimal/releases)
- [Changelog](https://github.com/paupino/rust-decimal/blob/master/CHANGELOG.md)
- [Commits](https://github.com/paupino/rust-decimal/compare/1.26.0...1.26.1)

---
updated-dependencies:
- dependency-name: rust_decimal
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] decf432ee8
build(deps): bump rust_decimal_macros from 1.26.0 to 1.26.1
Bumps [rust_decimal_macros](https://github.com/paupino/rust-decimal) from 1.26.0 to 1.26.1.
- [Release notes](https://github.com/paupino/rust-decimal/releases)
- [Changelog](https://github.com/paupino/rust-decimal/blob/master/CHANGELOG.md)
- [Commits](https://github.com/paupino/rust-decimal/compare/1.26.0...1.26.1)

---
updated-dependencies:
- dependency-name: rust_decimal_macros
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
Byron Hambly 493324ce1b
Merge remote-tracking branch 'upstream/master' into latest_version_check 2 years ago
bors[bot] a62d266d2c
Merge #1094 #1095
1094: build(deps): bump rust_decimal_macros from 1.25.0 to 1.26.0 r=delta1 a=dependabot[bot]

Bumps [rust_decimal_macros](https://github.com/paupino/rust-decimal) from 1.25.0 to 1.26.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/paupino/rust-decimal/blob/master/CHANGELOG.md">rust_decimal_macros's changelog</a>.</em></p>
<blockquote>
<h2>1.26.0</h2>
<h3>Added</h3>
<ul>
<li><code>serde-with-*</code> features now support <code>Option&lt;T&gt;</code> variants (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/pull/524">#524</a>).</li>
<li>Implementation support for <code>core::iter::Product</code> (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/pull/525">#525</a>).</li>
<li>Diesel <code>2.0.0-rc.1</code> support via <code>db-diesel2-mysql</code> and <code>db-diesel2-postgres</code> features. (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/pull/533">#533</a> and (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/pull/532">#532</a>)).</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixes a silent overflow in <code>from_str</code> when parsing <code>Decimal::MAX</code> with a fractional portion. (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/pull/530">#530</a>).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="08a9ecebec"><code>08a9ece</code></a> Version 1.26.0 (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/534">#534</a>)</li>
<li><a href="8ea8b07864"><code>8ea8b07</code></a> Diesel 2 feature support (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/533">#533</a>)</li>
<li><a href="6f1c6eef69"><code>6f1c6ee</code></a> Cleanup of database module (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/532">#532</a>)</li>
<li><a href="afd41f7c3f"><code>afd41f7</code></a> Fixes silent overflow when parsing Decimal::MAX with a fractional component (...</li>
<li><a href="aff1b9f345"><code>aff1b9f</code></a> Implement <code>Product</code> (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/525">#525</a>)</li>
<li><a href="941351a50b"><code>941351a</code></a> Support Option&lt;T&gt; serialization/deserialization using serde-with-* (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/524">#524</a>)</li>
<li>See full diff in <a href="https://github.com/paupino/rust-decimal/compare/1.25.0...1.26.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rust_decimal_macros&package-manager=cargo&previous-version=1.25.0&new-version=1.26.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1095: build(deps): bump rust_decimal from 1.25.0 to 1.26.0 r=delta1 a=dependabot[bot]

Bumps [rust_decimal](https://github.com/paupino/rust-decimal) from 1.25.0 to 1.26.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/paupino/rust-decimal/blob/master/CHANGELOG.md">rust_decimal's changelog</a>.</em></p>
<blockquote>
<h2>1.26.0</h2>
<h3>Added</h3>
<ul>
<li><code>serde-with-*</code> features now support <code>Option&lt;T&gt;</code> variants (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/pull/524">#524</a>).</li>
<li>Implementation support for <code>core::iter::Product</code> (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/pull/525">#525</a>).</li>
<li>Diesel <code>2.0.0-rc.1</code> support via <code>db-diesel2-mysql</code> and <code>db-diesel2-postgres</code> features. (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/pull/533">#533</a> and (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/pull/532">#532</a>)).</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixes a silent overflow in <code>from_str</code> when parsing <code>Decimal::MAX</code> with a fractional portion. (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/pull/530">#530</a>).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="08a9ecebec"><code>08a9ece</code></a> Version 1.26.0 (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/534">#534</a>)</li>
<li><a href="8ea8b07864"><code>8ea8b07</code></a> Diesel 2 feature support (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/533">#533</a>)</li>
<li><a href="6f1c6eef69"><code>6f1c6ee</code></a> Cleanup of database module (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/532">#532</a>)</li>
<li><a href="afd41f7c3f"><code>afd41f7</code></a> Fixes silent overflow when parsing Decimal::MAX with a fractional component (...</li>
<li><a href="aff1b9f345"><code>aff1b9f</code></a> Implement <code>Product</code> (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/525">#525</a>)</li>
<li><a href="941351a50b"><code>941351a</code></a> Support Option&lt;T&gt; serialization/deserialization using serde-with-* (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/524">#524</a>)</li>
<li>See full diff in <a href="https://github.com/paupino/rust-decimal/compare/1.25.0...1.26.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rust_decimal&package-manager=cargo&previous-version=1.25.0&new-version=1.26.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] b956ea4496
build(deps): bump rust_decimal from 1.25.0 to 1.26.0
Bumps [rust_decimal](https://github.com/paupino/rust-decimal) from 1.25.0 to 1.26.0.
- [Release notes](https://github.com/paupino/rust-decimal/releases)
- [Changelog](https://github.com/paupino/rust-decimal/blob/master/CHANGELOG.md)
- [Commits](https://github.com/paupino/rust-decimal/compare/1.25.0...1.26.0)

---
updated-dependencies:
- dependency-name: rust_decimal
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] c6d6387438
build(deps): bump rust_decimal_macros from 1.25.0 to 1.26.0
Bumps [rust_decimal_macros](https://github.com/paupino/rust-decimal) from 1.25.0 to 1.26.0.
- [Release notes](https://github.com/paupino/rust-decimal/releases)
- [Changelog](https://github.com/paupino/rust-decimal/blob/master/CHANGELOG.md)
- [Commits](https://github.com/paupino/rust-decimal/compare/1.25.0...1.26.0)

---
updated-dependencies:
- dependency-name: rust_decimal_macros
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] 29445a2078
Merge #1093
1093: build(deps): bump thiserror from 1.0.31 to 1.0.32 r=delta1 a=dependabot[bot]

Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.31 to 1.0.32.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/thiserror/releases">thiserror's releases</a>.</em></p>
<blockquote>
<h2>1.0.32</h2>
<ul>
<li>Add keywords to crates.io metadata</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="8cb98afb74"><code>8cb98af</code></a> Release 1.0.32</li>
<li><a href="c1fb583043"><code>c1fb583</code></a> Disable nightly backtrace testing until converted to provider API</li>
<li><a href="8b23fbb895"><code>8b23fbb</code></a> Update keywords in crates.io metadata</li>
<li><a href="c79f5c9be5"><code>c79f5c9</code></a> Sort package entries in Cargo.toml</li>
<li><a href="24db929a56"><code>24db929</code></a> Update ui test suite to nightly-2022-07-10</li>
<li><a href="f09771ebba"><code>f09771e</code></a> Ignore manual_find clippy lint</li>
<li><a href="b338fe6ac1"><code>b338fe6</code></a> Update ui test suite to nightly-2022-07-02</li>
<li><a href="d2f761f0ea"><code>d2f761f</code></a> Use dtolnay/rust-toolchain's miri toolchain</li>
<li><a href="e82ff362db"><code>e82ff36</code></a> Update ui test suite to nightly-2022-06-26</li>
<li><a href="799b3d33c4"><code>799b3d3</code></a> Use upstreamed docs.rs icon in docs.rs badge</li>
<li>Additional commits viewable in <a href="https://github.com/dtolnay/thiserror/compare/1.0.31...1.0.32">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=thiserror&package-manager=cargo&previous-version=1.0.31&new-version=1.0.32)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] 27d32de482
build(deps): bump thiserror from 1.0.31 to 1.0.32
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.31 to 1.0.32.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.31...1.0.32)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] ea97b4a4de
Merge #1091 #1092
1091: build(deps): bump serde_json from 1.0.82 to 1.0.83 r=delta1 a=dependabot[bot]

Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.82 to 1.0.83.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p>
<blockquote>
<h2>v1.0.83</h2>
<ul>
<li>Add categories to crates.io metadata</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="2b0403f5cd"><code>2b0403f</code></a> Release 1.0.83</li>
<li><a href="db96d72c3f"><code>db96d72</code></a> Add categories to crates.io metadata</li>
<li><a href="25129334eb"><code>2512933</code></a> Add authors to Cargo.toml</li>
<li><a href="22da79711a"><code>22da797</code></a> Sort package entries in Cargo.toml</li>
<li><a href="01ef46e363"><code>01ef46e</code></a> Ignore assertions_on_result_states clippy lint</li>
<li><a href="aac479a70a"><code>aac479a</code></a> Avoid cargo 1.43–1.45 in GitHub Actions</li>
<li><a href="1a433816f6"><code>1a43381</code></a> Convert i/u128 conversion to itoa instead of std::fmt</li>
<li><a href="84c157b41d"><code>84c157b</code></a> Directly install aarch64-unknown-none target support</li>
<li><a href="d1cbbb634a"><code>d1cbbb6</code></a> Update ui test suite to nightly-2022-07-20</li>
<li><a href="5b441a2881"><code>5b441a2</code></a> Ignore explicit_auto_deref clippy lint</li>
<li>Additional commits viewable in <a href="https://github.com/serde-rs/json/compare/v1.0.82...v1.0.83">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_json&package-manager=cargo&previous-version=1.0.82&new-version=1.0.83)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1092: build(deps): bump anyhow from 1.0.58 to 1.0.59 r=delta1 a=dependabot[bot]

Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.58 to 1.0.59.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/anyhow/releases">anyhow's releases</a>.</em></p>
<blockquote>
<h2>1.0.59</h2>
<ul>
<li>Update crates.io metadata to include <code>no-std</code> category</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="fb9fb18436"><code>fb9fb18</code></a> Release 1.0.59</li>
<li><a href="f58e803c49"><code>f58e803</code></a> Add no-std category to crates.io metadata</li>
<li><a href="8f268ac7b1"><code>8f268ac</code></a> Sort package entries in Cargo.toml</li>
<li><a href="c0e78544a6"><code>c0e7854</code></a> Ignore assertions_on_result_states clippy lint</li>
<li><a href="b594668772"><code>b594668</code></a> Update ui test suite to nightly-2022-07-28</li>
<li><a href="13e7a90151"><code>13e7a90</code></a> Revert &quot;Disable backtrace test on miri&quot;</li>
<li><a href="8d25d6b2c9"><code>8d25d6b</code></a> Disable backtrace test on miri</li>
<li><a href="ffb25df68a"><code>ffb25df</code></a> Update ui test suite to nightly-2022-07-20</li>
<li><a href="38c883ba1f"><code>38c883b</code></a> Ignore explicit_auto_deref clippy lint</li>
<li><a href="90545992d8"><code>9054599</code></a> Update ui test suite to nightly-2022-07-02</li>
<li>Additional commits viewable in <a href="https://github.com/dtolnay/anyhow/compare/1.0.58...1.0.59">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=anyhow&package-manager=cargo&previous-version=1.0.58&new-version=1.0.59)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] 2e2531c041
build(deps): bump anyhow from 1.0.58 to 1.0.59
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.58 to 1.0.59.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.58...1.0.59)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] 945876522c
build(deps): bump serde_json from 1.0.82 to 1.0.83
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.82 to 1.0.83.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.82...v1.0.83)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] 74c62ba33f
Merge #1089 #1090
1089: build(deps): bump tracing from 0.1.35 to 0.1.36 r=delta1 a=dependabot[bot]

Bumps [tracing](https://github.com/tokio-rs/tracing) from 0.1.35 to 0.1.36.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/tokio-rs/tracing/releases">tracing's releases</a>.</em></p>
<blockquote>
<h2>tracing 0.1.36</h2>
<p>This release adds support for owned values and fat pointers as arguments to the
<code>Span::record</code> method, as well as updating the minimum <code>tracing-core</code> version
and several documentation improvements.</p>
<h3>Fixed</h3>
<ul>
<li>Incorrect docs in <code>dispatcher::set_default</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2220">#2220</a>)</li>
<li>Compilation with <code>-Z minimal-versions</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2246">#2246</a>)</li>
</ul>
<h3>Added</h3>
<ul>
<li>Support for owned values and fat pointers in <code>Span::record</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2212">#2212</a>)</li>
<li>Documentation improvements (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2208">#2208</a>, <a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2163">#2163</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li><code>tracing-core</code>: updated to <a href="https://github.com/tokio-rs/tracing/releases/tag/tracing-core-0.1.29">0.1.29</a></li>
</ul>
<p>Thanks to <a href="https://github.com/fredr"><code>`@​fredr</code></a>,` <a href="https://github.com/cgbur"><code>`@​cgbur</code></a>,` <a href="https://github.com/jyn514"><code>`@​jyn514</code></a>,` <a href="https://github.com/matklad"><code>`@​matklad</code></a>,` and <a href="https://github.com/CAD97"><code>`@​CAD97</code></a>` for contributing to this
release!</p>
<p><a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2220">#2220</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tracing/pull/2220">tokio-rs/tracing#2220</a>
<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2246">#2246</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tracing/pull/2246">tokio-rs/tracing#2246</a>
<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2212">#2212</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tracing/pull/2212">tokio-rs/tracing#2212</a>
<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2208">#2208</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tracing/pull/2208">tokio-rs/tracing#2208</a>
<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2163">#2163</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tracing/pull/2163">tokio-rs/tracing#2163</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="5a141ea9c1"><code>5a141ea</code></a> tracing: prepare to release v0.1.36 (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2257">#2257</a>)</li>
<li><a href="275ededfc2"><code>275eded</code></a> core: prepare to release v0.1.29 (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2256">#2256</a>)</li>
<li><a href="1462e1f059"><code>1462e1f</code></a> subscriber: clarify <code>filter.not()</code> docs w.r.t. event_enabled (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2251">#2251</a>)</li>
<li><a href="250cb5b3c1"><code>250cb5b</code></a> core: give <code>SetGlobalDefaultError</code> a useful <code>Debug</code> impl (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2250">#2250</a>)</li>
<li><a href="6a0af27816"><code>6a0af27</code></a> subscriber: <code>Not</code> is <code>not</code>, not <code>or</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2249">#2249</a>)</li>
<li><a href="09da422a76"><code>09da422</code></a> subscriber: add <code>Filter::event_enabled</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2245">#2245</a>)</li>
<li><a href="27ffce2e11"><code>27ffce2</code></a> serde: implement <code>AsSerde</code> for <code>FieldSet</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2241">#2241</a>)</li>
<li><a href="a0824d398a"><code>a0824d3</code></a> subscriber: impl <code>LookupSpan</code> for <code>Box\&lt;LS&gt;</code> and <code>Arc\&lt;LS&gt;</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2247">#2247</a>)</li>
<li><a href="d2ad8ab4f2"><code>d2ad8ab</code></a> subscriber: add <code>Targets::default_level</code> method (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2242">#2242</a>)</li>
<li><a href="22d09f62bc"><code>22d09f6</code></a> opentelemetry: feature-flag <code>MetricsLayer</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2234">#2234</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/tokio-rs/tracing/compare/tracing-0.1.35...tracing-0.1.36">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tracing&package-manager=cargo&previous-version=0.1.35&new-version=0.1.36)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1090: build(deps): bump serde from 1.0.140 to 1.0.142 r=delta1 a=dependabot[bot]

Bumps [serde](https://github.com/serde-rs/serde) from 1.0.140 to 1.0.142.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/serde/releases">serde's releases</a>.</em></p>
<blockquote>
<h2>v1.0.142</h2>
<ul>
<li>Add keywords to crates.io metadata</li>
</ul>
<h2>v1.0.141</h2>
<ul>
<li>Add <code>no-std</code> category to crates.io metadata</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="abb2a8494d"><code>abb2a84</code></a> Release 1.0.142</li>
<li><a href="a31d0be191"><code>a31d0be</code></a> Update keywords in crates.io metadata</li>
<li><a href="d786e750d7"><code>d786e75</code></a> Release 1.0.141</li>
<li><a href="10e4839f83"><code>10e4839</code></a> Move Postcard link up to Bincode spot</li>
<li><a href="85e72653c8"><code>85e7265</code></a> Add categories to crates.io metadata</li>
<li><a href="c9cc8a8924"><code>c9cc8a8</code></a> Add authors to Cargo.toml</li>
<li><a href="a925ce4119"><code>a925ce4</code></a> Sort package entries in Cargo.toml</li>
<li>See full diff in <a href="https://github.com/serde-rs/serde/compare/v1.0.140...v1.0.142">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde&package-manager=cargo&previous-version=1.0.140&new-version=1.0.142)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] fd78e3d331
build(deps): bump serde from 1.0.140 to 1.0.142
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.140 to 1.0.142.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.140...v1.0.142)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] 0d31c55fb3
build(deps): bump tracing from 0.1.35 to 0.1.36
Bumps [tracing](https://github.com/tokio-rs/tracing) from 0.1.35 to 0.1.36.
- [Release notes](https://github.com/tokio-rs/tracing/releases)
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-0.1.35...tracing-0.1.36)

---
updated-dependencies:
- dependency-name: tracing
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] 20ff6ade9b
Merge #1071 #1083
1071: Bump pem from 1.0.2 to 1.1.0 r=delta1 a=dependabot[bot]

Bumps [pem](https://github.com/jcreekmore/pem-rs) from 1.0.2 to 1.1.0.
<details>
<summary>Commits</summary>
<ul>
<li><a href="2d83242a3e"><code>2d83242</code></a> (cargo-release) version 1.1.0</li>
<li><a href="0b37bd8925"><code>0b37bd8</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/jcreekmore/pem-rs/issues/34">#34</a> from tmpfs/serde-feature</li>
<li><a href="6381ef4f29"><code>6381ef4</code></a> Update docs.</li>
<li><a href="1f22b5fd0a"><code>1f22b5f</code></a> Update serde implementation to use encode()/parse().</li>
<li><a href="79cf854fca"><code>79cf854</code></a> Support optional serde feature.</li>
<li><a href="2ebf2b1857"><code>2ebf2b1</code></a> (cargo-release) start next development iteration 1.0.3-alpha.0</li>
<li>See full diff in <a href="https://github.com/jcreekmore/pem-rs/compare/v1.0.2...v1.1.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pem&package-manager=cargo&previous-version=1.0.2&new-version=1.1.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1083: build(deps): bump async-trait from 0.1.56 to 0.1.57 r=delta1 a=dependabot[bot]

Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.56 to 0.1.57.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/async-trait/releases">async-trait's releases</a>.</em></p>
<blockquote>
<h2>0.1.57</h2>
<ul>
<li>Add categories to crates.io metadata</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="7aa083ce02"><code>7aa083c</code></a> Release 0.1.57</li>
<li><a href="4124033b58"><code>4124033</code></a> Revert &quot;Temporarily disable clippy on tests due to ICE&quot;</li>
<li><a href="81704b37d0"><code>81704b3</code></a> Add categories to crates.io metadata</li>
<li><a href="f997ace3e9"><code>f997ace</code></a> Sort package entries in Cargo.toml</li>
<li><a href="a386446d3d"><code>a386446</code></a> Avoid cargo 1.43–1.45 in GitHub Actions</li>
<li><a href="2cc3532baf"><code>2cc3532</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/async-trait/issues/209">#209</a> from dtolnay/ice</li>
<li><a href="f1d674605b"><code>f1d6746</code></a> Temporarily disable clippy on tests due to ICE</li>
<li><a href="c93e97c451"><code>c93e97c</code></a> Ignore explicit_auto_deref clippy lint</li>
<li><a href="408e77f5d4"><code>408e77f</code></a> Update ui test suite to nightly-2022-07-02</li>
<li><a href="d0a7da03f5"><code>d0a7da0</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/async-trait/issues/208">#208</a> from dtolnay/oncecell</li>
<li>Additional commits viewable in <a href="https://github.com/dtolnay/async-trait/compare/0.1.56...0.1.57">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=async-trait&package-manager=cargo&previous-version=0.1.56&new-version=0.1.57)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
Byron Hambly 7838442947
fix: review comments from binarybaron 2 years ago
Byron Hambly dc68344b62
chore: formatting in select! macro 2 years ago
Byron Hambly ec169916d6
Merge branch 'master' into libp2p_upgrade 2 years ago
bors[bot] a9d9250af1
Merge #1088
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>
2 years ago
Byron Hambly 7e4af68cba
feat: add debugging info for failed to fetch transaction
Add the jsonrpc error message and data to tracing calls to try debug #1061
"monero-wallet-rpc failed to fetch transaction"
2 years ago
bors[bot] cb7a7f58b2
Merge #1086
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>
2 years ago
bors[bot] b7e2e0805e
Merge #1080
1080: feat(swap): show minimum deposit required for min_quantity + fee  r=delta1 a=delta1

Updates swap cli to calculate and show the minimum BTC deposit required to cover the minimum_quantity + fee for a seller #761

Co-authored-by: Byron Hambly <bhambly@blockstream.com>
2 years ago
Byron Hambly 86d57453cf
fix: fix btc for xmr calculation error
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
2 years ago
dependabot[bot] 6a7686768f
build(deps): bump async-trait from 0.1.56 to 0.1.57
Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.56 to 0.1.57.
- [Release notes](https://github.com/dtolnay/async-trait/releases)
- [Commits](https://github.com/dtolnay/async-trait/compare/0.1.56...0.1.57)

---
updated-dependencies:
- dependency-name: async-trait
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
Byron Hambly dc706c584a
feat(swap): show min deposit required for min_quantity 2 years ago
bors[bot] 293cbb68d6
Merge #1078
1078: build(deps): bump dialoguer from 0.10.1 to 0.10.2 r=delta1 a=dependabot[bot]

Bumps [dialoguer](https://github.com/mitsuhiko/dialoguer) from 0.10.1 to 0.10.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/mitsuhiko/dialoguer/blob/master/CHANGELOG.md">dialoguer's changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="091bc92a74"><code>091bc92</code></a> Release 0.10.2</li>
<li><a href="6a8c08ca2e"><code>6a8c08c</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/mitsuhiko/dialoguer/issues/203">#203</a> from kianmeng/fix-typos</li>
<li><a href="186d6585e7"><code>186d658</code></a> Fix typos</li>
<li><a href="2fd4001874"><code>2fd4001</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/mitsuhiko/dialoguer/issues/196">#196</a> from deg0nz/fix-fuzzy-clear-on-cancel</li>
<li><a href="fa4c119393"><code>fa4c119</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/mitsuhiko/dialoguer/issues/199">#199</a> from deg0nz/fix-fuzzy-select-active-item-colors</li>
<li><a href="5a7c2b00ca"><code>5a7c2b0</code></a> fmt</li>
<li><a href="affa466896"><code>affa466</code></a> Remove unused comment</li>
<li><a href="c891ca1e67"><code>c891ca1</code></a> Apply active style to active item</li>
<li><a href="4a2830137f"><code>4a28301</code></a> Fuzzy: Clear everything on cancel via escape key</li>
<li>See full diff in <a href="https://github.com/mitsuhiko/dialoguer/compare/v0.10.1...v0.10.2">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=dialoguer&package-manager=cargo&previous-version=0.10.1&new-version=0.10.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] db507a79db
build(deps): bump dialoguer from 0.10.1 to 0.10.2
Bumps [dialoguer](https://github.com/mitsuhiko/dialoguer) from 0.10.1 to 0.10.2.
- [Release notes](https://github.com/mitsuhiko/dialoguer/releases)
- [Changelog](https://github.com/mitsuhiko/dialoguer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mitsuhiko/dialoguer/compare/v0.10.1...v0.10.2)

---
updated-dependencies:
- dependency-name: dialoguer
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] ae5800d47f
Merge #1068
1068: fix potential overflow in `max_bitcoin_for_price` r=delta1 a=delta1

In testing, ASB panicked in `max_bitcoin_for_price` when the Monero balance x Bitcoin price was enough to overflow `u64`.

This PR 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 also 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.

Co-authored-by: Byron Hambly <bhambly@blockstream.com>
2 years ago
bors[bot] ec121dc3c6
Merge #1075
1075: Bump anyhow from 1.0.57 to 1.0.58 r=delta1 a=dependabot[bot]

Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.57 to 1.0.58.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/anyhow/releases">anyhow's releases</a>.</em></p>
<blockquote>
<h2>1.0.58</h2>
<ul>
<li>Fix some broken links in documentation</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="8f950ac0d6"><code>8f950ac</code></a> Release 1.0.58</li>
<li><a href="bf23b3b685"><code>bf23b3b</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/anyhow/issues/242">#242</a> from MedzikUser/master</li>
<li><a href="d8c2388c65"><code>d8c2388</code></a> Use upstreamed docs.rs icon in docs.rs badge</li>
<li><a href="db82639510"><code>db82639</code></a> Fix broken doc links to anyhow macro</li>
<li><a href="462212b707"><code>462212b</code></a> Update docs.rs badge</li>
<li><a href="ff37db348d"><code>ff37db3</code></a> Check all crates in workspace for outdated deps</li>
<li><a href="302acadce0"><code>302acad</code></a> Match components in CI to rust-toolchain.toml file</li>
<li><a href="26023f77a8"><code>26023f7</code></a> Run miri in stricter miri-strict-provenance mode</li>
<li><a href="f45065787a"><code>f450657</code></a> Drop unneeded quoting from env variable in workflows yaml</li>
<li><a href="09e4db31da"><code>09e4db3</code></a> Update workflows to actions/checkout@v3</li>
<li>See full diff in <a href="https://github.com/dtolnay/anyhow/compare/1.0.57...1.0.58">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=anyhow&package-manager=cargo&previous-version=1.0.57&new-version=1.0.58)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
bors[bot] 8ceffe4cec
Merge #1074
1074: Bump strum from 0.24.0 to 0.24.1 r=delta1 a=dependabot[bot]

Bumps [strum](https://github.com/Peternator7/strum) from 0.24.0 to 0.24.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/Peternator7/strum/blob/master/CHANGELOG.md">strum's changelog</a>.</em></p>
<blockquote>
<h2><del>0.24.1</del> (Yanked becase <a href="https://github-redirect.dependabot.com/Peternator7/strum/issues/217">#217</a> was more &quot;breaking&quot; than I wanted)</h2>
<ul>
<li><a href="https://github-redirect.dependabot.com/Peternator7/strum/pull/220">#220</a>. Add support for PHF in <code>EnumString</code> (opt-in runtime
performance improvements for large enums as <code>#[strum(use_phf)]</code>, requires <code>phf</code> feature and increases MSRV to <code>1.46</code>)
<ul>
<li><a href="https://github-redirect.dependabot.com/Peternator7/strum/pull/224">#224</a> tweaked the algorithm.</li>
</ul>
</li>
<li><a href="https://github-redirect.dependabot.com/Peternator7/strum/pull/217">#217</a>: Automatically implement <code>TryFrom</code> in <code>FromRepr</code>. This is
technically a breaking change, but the fix is to just remove the manual implementation of TryFrom so it shouldn't
be more than a minor inconvenience.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/Peternator7/strum/commits">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=strum&package-manager=cargo&previous-version=0.24.0&new-version=0.24.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] 60a11fe34b
Bump anyhow from 1.0.57 to 1.0.58
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.57 to 1.0.58.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.57...1.0.58)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] 71bc2cad39
Bump strum from 0.24.0 to 0.24.1
Bumps [strum](https://github.com/Peternator7/strum) from 0.24.0 to 0.24.1.
- [Release notes](https://github.com/Peternator7/strum/releases)
- [Changelog](https://github.com/Peternator7/strum/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Peternator7/strum/commits)

---
updated-dependencies:
- dependency-name: strum
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] cede99a579
Merge #1073
1073: Bump serde_with from 1.13.0 to 1.14.0 r=delta1 a=dependabot[bot]

Bumps [serde_with](https://github.com/jonasbb/serde_with) from 1.13.0 to 1.14.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/jonasbb/serde_with/releases">serde_with's releases</a>.</em></p>
<blockquote>
<h2>serde_with v1.14.0</h2>
<h3>Added</h3>
<ul>
<li>
<p>Add support for <code>time</code> crate v0.3 <a href="https://github-redirect.dependabot.com/jonasbb/serde_with/issues/450">#450</a></p>
<p><code>time::Duration</code> can now be serialized with the <code>DurationSeconds</code> and related converters.</p>
<pre lang="rust"><code>// Rust
#[serde_as(as = &quot;serde_with::DurationSeconds&lt;u64&gt;&quot;)]
value: Duration,
<p>// JSON
&quot;value&quot;: 86400,
</code></pre></p>
<p><code>time::OffsetDateTime</code> and <code>time::PrimitiveDateTime</code> can now be serialized with the <code>TimestampSeconds</code> and related converters.</p>
<pre lang="rust"><code>// Rust
#[serde_as(as = &quot;serde_with::TimestampMicroSecondsWithFrac&lt;String&gt;&quot;)]
value: time::PrimitiveDateTime,
<p>// JSON
&quot;value&quot;: &quot;1000000&quot;,
</code></pre></p>
<p><code>time::OffsetDateTime</code> can be serialized in string format in different well-known formats.
Two formats are supported, <code>time::format_description::well_known::Rfc2822</code> and <code>time::format_description::well_known::Rfc3339</code>.</p>
<pre lang="rust"><code>// Rust
#[serde_as(as = &quot;time::format_description::well_known::Rfc2822&quot;)]
rfc_2822: OffsetDateTime,
#[serde_as(as = &quot;Vec&lt;time::format_description::well_known::Rfc3339&gt;&quot;)]
rfc_3339: Vec&lt;OffsetDateTime&gt;,
<p>// JSON
&quot;rfc_2822&quot;: &quot;Fri, 21 Nov 1997 09:55:06 -0600&quot;,
&quot;rfc_3339&quot;: [&quot;1997-11-21T09:55:06-06:00&quot;],
</code></pre></p>
</li>
<li>
<p>Deserialize <code>bool</code> from integers <a href="https://github-redirect.dependabot.com/jonasbb/serde_with/issues/456">#456</a> 462</p>
<p>Deserialize an integer and convert it into a <code>bool</code>.
<code>BoolFromInt&lt;Strict&gt;</code> (default) deserializes 0 to <code>false</code> and <code>1</code> to <code>true</code>, other numbers are errors.
<code>BoolFromInt&lt;Flexible&gt;</code> deserializes any non-zero as <code>true</code>.
Serialization only emits 0/1.</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="8c59954436"><code>8c59954</code></a> Merge <a href="https://github-redirect.dependabot.com/jonasbb/serde_with/issues/463">#463</a></li>
<li><a href="8773ac1f5a"><code>8773ac1</code></a> Bump serde_with version to 1.14.0</li>
<li><a href="9351c4c4e7"><code>9351c4c</code></a> Bump rmp-serde version since the MSRV is now suitably high</li>
<li><a href="5e63b1f280"><code>5e63b1f</code></a> Fix doc links to alloc items</li>
<li><a href="d3140e1438"><code>d3140e1</code></a> Merge <a href="https://github-redirect.dependabot.com/jonasbb/serde_with/issues/462">#462</a></li>
<li><a href="82bd5b860e"><code>82bd5b8</code></a> Add Changelog and guide entry</li>
<li><a href="299a2ba0c9"><code>299a2ba</code></a> Merge <a href="https://github-redirect.dependabot.com/jonasbb/serde_with/issues/461">#461</a></li>
<li><a href="1e9c5b9303"><code>1e9c5b9</code></a> Bump ossf/scorecard-action from 1.0.4 to 1.1.0</li>
<li><a href="34fbc974bd"><code>34fbc97</code></a> Add BoolFromInt adapter</li>
<li><a href="b3d4156100"><code>b3d4156</code></a> Merge <a href="https://github-redirect.dependabot.com/jonasbb/serde_with/issues/457">#457</a></li>
<li>Additional commits viewable in <a href="https://github.com/jonasbb/serde_with/compare/v1.13.0...v1.14.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_with&package-manager=cargo&previous-version=1.13.0&new-version=1.14.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
bors[bot] 1474b44276
Merge #1072
1072: Bump uuid from 1.0.0 to 1.1.2 r=delta1 a=dependabot[bot]

Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.0.0 to 1.1.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/uuid-rs/uuid/releases">uuid's releases</a>.</em></p>
<blockquote>
<h2>1.1.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix some doc links by <a href="https://github.com/mbrobbel"><code>`@​mbrobbel</code></a>` in <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/pull/606">uuid-rs/uuid#606</a></li>
<li>Prepare for 1.1.2 release by <a href="https://github.com/KodrAus"><code>`@​KodrAus</code></a>` in <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/pull/607">uuid-rs/uuid#607</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/mbrobbel"><code>`@​mbrobbel</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/pull/606">uuid-rs/uuid#606</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/uuid-rs/uuid/compare/1.1.1...1.1.2">https://github.com/uuid-rs/uuid/compare/1.1.1...1.1.2</a></p>
<h2>1.1.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix documentation typo by <a href="https://github.com/nstinus"><code>`@​nstinus</code></a>` in <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/pull/603">uuid-rs/uuid#603</a></li>
<li>Prepare for 1.1.1 release by <a href="https://github.com/KodrAus"><code>`@​KodrAus</code></a>` in <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/pull/604">uuid-rs/uuid#604</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/nstinus"><code>`@​nstinus</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/pull/603">uuid-rs/uuid#603</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/uuid-rs/uuid/compare/1.1.0...1.1.1">https://github.com/uuid-rs/uuid/compare/1.1.0...1.1.1</a></p>
<h2>1.1.0</h2>
<h2>What's Changed</h2>
<ul>
<li>note that the Error display impl is public API by <a href="https://github.com/KodrAus"><code>`@​KodrAus</code></a>` in <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/pull/597">uuid-rs/uuid#597</a></li>
<li>Fixed documentation link by <a href="https://github.com/Razican"><code>`@​Razican</code></a>` in <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/pull/600">uuid-rs/uuid#600</a></li>
<li>Add to_bytes_le method by <a href="https://github.com/dfaust"><code>`@​dfaust</code></a>` in <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/pull/599">uuid-rs/uuid#599</a></li>
<li>Prepare for 1.1.0 release by <a href="https://github.com/KodrAus"><code>`@​KodrAus</code></a>` in <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/pull/602">uuid-rs/uuid#602</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/Razican"><code>`@​Razican</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/pull/600">uuid-rs/uuid#600</a></li>
<li><a href="https://github.com/dfaust"><code>`@​dfaust</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/pull/599">uuid-rs/uuid#599</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/uuid-rs/uuid/compare/1.0.0...1.1.0">https://github.com/uuid-rs/uuid/compare/1.0.0...1.1.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="7188b00a9e"><code>7188b00</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/607">#607</a> from uuid-rs/cargo/1.1.2</li>
<li><a href="29420b6152"><code>29420b6</code></a> prepare for 1.1.2 release</li>
<li><a href="c285879dc2"><code>c285879</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/606">#606</a> from mbrobbel/docs</li>
<li><a href="07b30d5f1d"><code>07b30d5</code></a> Fix some doc links</li>
<li><a href="875c2d7879"><code>875c2d7</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/604">#604</a> from uuid-rs/cargo/1.1.1</li>
<li><a href="ddf6db4034"><code>ddf6db4</code></a> prepare for 1.1.1 release</li>
<li><a href="ba27437d6e"><code>ba27437</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/603">#603</a> from nstinus/main</li>
<li><a href="ad9c3561f2"><code>ad9c356</code></a> Fix documentation typo</li>
<li><a href="99977bb955"><code>99977bb</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/602">#602</a> from uuid-rs/cargo/1.1.0</li>
<li><a href="e7b58f432b"><code>e7b58f4</code></a> prepare for 1.1.0 release</li>
<li>Additional commits viewable in <a href="https://github.com/uuid-rs/uuid/compare/1.0.0...1.1.2">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=uuid&package-manager=cargo&previous-version=1.0.0&new-version=1.1.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] 182e553c48
Bump serde_with from 1.13.0 to 1.14.0
Bumps [serde_with](https://github.com/jonasbb/serde_with) from 1.13.0 to 1.14.0.
- [Release notes](https://github.com/jonasbb/serde_with/releases)
- [Commits](https://github.com/jonasbb/serde_with/compare/v1.13.0...v1.14.0)

---
updated-dependencies:
- dependency-name: serde_with
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] ce1ab192ac
Bump uuid from 1.0.0 to 1.1.2
Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.0.0 to 1.1.2.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/1.0.0...1.1.2)

---
updated-dependencies:
- dependency-name: uuid
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] eda1a17e75
Merge #1070
1070: Bump tokio-util from 0.7.1 to 0.7.2 r=delta1 a=dependabot[bot]

Bumps [tokio-util](https://github.com/tokio-rs/tokio) from 0.7.1 to 0.7.2.
<details>
<summary>Commits</summary>
<ul>
<li><a href="038de36132"><code>038de36</code></a> chore: prepare tokio-util 0.7.2 (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4690">#4690</a>)</li>
<li><a href="42d5a9fcd4"><code>42d5a9f</code></a> Merge 'tokio-util-0.6.x' into 'tokio-util-0.7.x'</li>
<li><a href="cdb132d333"><code>cdb132d</code></a> Revert &quot;chore: disable warnings in old CI (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4691">#4691</a>)&quot;</li>
<li><a href="2659adf5fe"><code>2659adf</code></a> chore: prepare tokio-util 0.6.10 (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4691">#4691</a>)</li>
<li><a href="0105d9971f"><code>0105d99</code></a> sync: rewrite <code>CancellationToken</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4652">#4652</a>)</li>
<li><a href="b24df49a9d"><code>b24df49</code></a> chore: disable warnings in old CI (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4691">#4691</a>)</li>
<li><a href="cf94ffc6fd"><code>cf94ffc</code></a> windows: add features for winapi (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4663">#4663</a>)</li>
<li>See full diff in <a href="https://github.com/tokio-rs/tokio/compare/tokio-util-0.7.1...tokio-util-0.7.2">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tokio-util&package-manager=cargo&previous-version=0.7.1&new-version=0.7.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
bors[bot] 9952849f53
Merge #1069
1069: Bump dialoguer from 0.10.0 to 0.10.1 r=delta1 a=dependabot[bot]

Bumps [dialoguer](https://github.com/mitsuhiko/dialoguer) from 0.10.0 to 0.10.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/mitsuhiko/dialoguer/blob/master/CHANGELOG.md">dialoguer's changelog</a>.</em></p>
<blockquote>
<h2>0.10.1</h2>
<h3>Enhancements</h3>
<ul>
<li>Allow matches highlighting for <code>FuzzySelect</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="3f16bdedf8"><code>3f16bde</code></a> Release 0.10.1</li>
<li><a href="f7d02321f5"><code>f7d0232</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/mitsuhiko/dialoguer/issues/182">#182</a> from abreis/docs-all-features</li>
<li><a href="7ff96f582e"><code>7ff96f5</code></a> Tell docs.rs to document all features</li>
<li><a href="4f8ffda50b"><code>4f8ffda</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/mitsuhiko/dialoguer/issues/179">#179</a> from deg0nz/highlight-fuzzy-indices</li>
<li><a href="f4c434a803"><code>f4c434a</code></a> Add Fuzzy Select match highlighting</li>
<li><a href="2d47e30b9a"><code>2d47e30</code></a> Some cleanup</li>
<li>See full diff in <a href="https://github.com/mitsuhiko/dialoguer/compare/v0.10.0...v0.10.1">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=dialoguer&package-manager=cargo&previous-version=0.10.0&new-version=0.10.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] 723655701f
Bump pem from 1.0.2 to 1.1.0
Bumps [pem](https://github.com/jcreekmore/pem-rs) from 1.0.2 to 1.1.0.
- [Release notes](https://github.com/jcreekmore/pem-rs/releases)
- [Changelog](https://github.com/jcreekmore/pem-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jcreekmore/pem-rs/compare/v1.0.2...v1.1.0)

---
updated-dependencies:
- dependency-name: pem
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] 6234675707
Bump tokio-util from 0.7.1 to 0.7.2
Bumps [tokio-util](https://github.com/tokio-rs/tokio) from 0.7.1 to 0.7.2.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-util-0.7.1...tokio-util-0.7.2)

---
updated-dependencies:
- dependency-name: tokio-util
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] 6d7c787197
Bump dialoguer from 0.10.0 to 0.10.1
Bumps [dialoguer](https://github.com/mitsuhiko/dialoguer) from 0.10.0 to 0.10.1.
- [Release notes](https://github.com/mitsuhiko/dialoguer/releases)
- [Changelog](https://github.com/mitsuhiko/dialoguer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mitsuhiko/dialoguer/compare/v0.10.0...v0.10.1)

---
updated-dependencies:
- dependency-name: dialoguer
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] ffb9693f4c
Merge #1056 #1066 #1067
1056: Bump time from 0.3.9 to 0.3.11 r=delta1 a=dependabot[bot]

Bumps [time](https://github.com/time-rs/time) from 0.3.9 to 0.3.11.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/time-rs/time/releases">time's releases</a>.</em></p>
<blockquote>
<h2>v0.3.11</h2>
<p>See the <a href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">changelog</a> for details.</p>
<h2>v0.3.10</h2>
<p>See the <a href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">changelog</a> for details.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">time's changelog</a>.</em></p>
<blockquote>
<h2>0.3.11 [2022-06-21]</h2>
<h3>Fixed</h3>
<ul>
<li><a href="https://github-redirect.dependabot.com/time-rs/time/issues/479">#479</a>: regression when parsing optional values with <code>serde</code></li>
<li><a href="https://github-redirect.dependabot.com/time-rs/time/issues/481">#481</a>: <code>Time</code> subtracted from <code>Time</code> can panic. This was caused by a bug that has always existed,
in that an internal invariant was not upheld. Memory safety was not violated.</li>
</ul>
<p><a href="https://github-redirect.dependabot.com/time-rs/time/issues/479">#479</a>: <a href="https://github-redirect.dependabot.com/time-rs/time/issues/479">time-rs/time#479</a>
<a href="https://github-redirect.dependabot.com/time-rs/time/issues/481">#481</a>: <a href="https://github-redirect.dependabot.com/time-rs/time/issues/481">time-rs/time#481</a></p>
<h2>0.3.10 [2022-06-19]</h2>
<h3>Added</h3>
<ul>
<li>Serde support for non-self-describing formats</li>
<li><code>Duration::unsigned_abs</code>, which returns a <code>std::time::Duration</code></li>
<li>ISO 8601 well-known format</li>
<li><code>Duration</code> can now be formatted with a <code>.N</code> specifier, providing a shorter representation when
using <code>Display</code>.</li>
<li>Parse <code>null</code> as <code>None</code> on serde structs</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fix incorrect parsing of UTC offset in <code>Rfc3339</code>.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>The minimum supported Rust version is now 1.57.0.</li>
<li>Performance for <code>Rfc2822</code> has been improved.</li>
<li>Debug assertions have been added in a few places. This should have no user facing impact, as it
only serves to catch bugs and is disabled in release mode.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="02a9d7ae63"><code>02a9d7a</code></a> Update changelog, v0.3.11 release</li>
<li><a href="80456cde85"><code>80456cd</code></a> Remove some debug assertions, use <code>Duration::new</code></li>
<li><a href="1e36fe2821"><code>1e36fe2</code></a> Revert change accepting some serde formats</li>
<li><a href="8b42f24fd6"><code>8b42f24</code></a> Update changelog, create release</li>
<li><a href="33bfe5cfe3"><code>33bfe5c</code></a> Add note about <code>#[serde(default)]</code>, quiet clippy</li>
<li><a href="b599d6634c"><code>b599d66</code></a> Parse nulls as None on nested serde structs (<a href="https://github-redirect.dependabot.com/time-rs/time/issues/473">#473</a>)</li>
<li><a href="e893d31f9b"><code>e893d31</code></a> Avoid unnecessary call to <code>format!</code></li>
<li><a href="eafddc56a8"><code>eafddc5</code></a> Fix RFC3339 offset parsing (<a href="https://github-redirect.dependabot.com/time-rs/time/issues/478">#478</a>)</li>
<li><a href="9a3f9856aa"><code>9a3f985</code></a> Run UI tests separately for coverage</li>
<li><a href="21b439f474"><code>21b439f</code></a> Add debug assertions</li>
<li>Additional commits viewable in <a href="https://github.com/time-rs/time/compare/v0.3.9...v0.3.11">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=time&package-manager=cargo&previous-version=0.3.9&new-version=0.3.11)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1066: Bump async-compression from 0.3.12 to 0.3.14 r=delta1 a=dependabot[bot]

Bumps [async-compression](https://github.com/Nemo157/async-compression) from 0.3.12 to 0.3.14.
<details>
<summary>Commits</summary>
<ul>
<li><a href="ada65c660b"><code>ada65c6</code></a> Merge <a href="https://github-redirect.dependabot.com/Nemo157/async-compression/issues/149">#149</a></li>
<li><a href="149c9f8648"><code>149c9f8</code></a> Bump version to 0.3.14</li>
<li><a href="286ff05053"><code>286ff05</code></a> Merge <a href="https://github-redirect.dependabot.com/Nemo157/async-compression/issues/148">#148</a></li>
<li><a href="e724673876"><code>e724673</code></a> Don't reinitialize on reader EOF for other implementations</li>
<li><a href="701a3a3451"><code>701a3a3</code></a> Add assertion that we do not read past EOF</li>
<li><a href="eb1d0cc2d3"><code>eb1d0cc</code></a> bufread::generic::Decoder: don't reinitialize on reader EOF</li>
<li><a href="6104f83f21"><code>6104f83</code></a> Merge <a href="https://github-redirect.dependabot.com/Nemo157/async-compression/issues/147">#147</a></li>
<li><a href="cf23c9b4d2"><code>cf23c9b</code></a> Migrate from cargo audit to cargo deny</li>
<li><a href="63ea354f9c"><code>63ea354</code></a> Add cargo-deny config</li>
<li><a href="33f0b716a9"><code>33f0b71</code></a> Remove unused futures-codec dependency</li>
<li>Additional commits viewable in <a href="https://github.com/Nemo157/async-compression/compare/0.3.12...0.3.14">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=async-compression&package-manager=cargo&previous-version=0.3.12&new-version=0.3.14)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1067: Bump hyper from 0.14.18 to 0.14.20 r=delta1 a=dependabot[bot]

Bumps [hyper](https://github.com/hyperium/hyper) from 0.14.18 to 0.14.20.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/hyperium/hyper/releases">hyper's releases</a>.</em></p>
<blockquote>
<h2>v0.14.20</h2>
<h2>Bug Fixes</h2>
<ul>
<li><strong>http1:</strong> fix <code>http1_header_read_timeout</code> to use same future (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2891">#2891</a>) (<a href="c5a14e7c08">c5a14e7c</a>)</li>
</ul>
<h2>Features</h2>
<ul>
<li><strong>ext:</strong> support non-canonical HTTP/1 reason phrases (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2792">#2792</a>) (<a href="b2052a433f">b2052a43</a>)</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/kianmeng"><code>`@​kianmeng</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/hyperium/hyper/pull/2876">hyperium/hyper#2876</a></li>
<li><a href="https://github.com/Ticsmtc"><code>`@​Ticsmtc</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/hyperium/hyper/pull/2889">hyperium/hyper#2889</a></li>
</ul>
<h2>v0.14.19</h2>
<h2>Bug Fixes</h2>
<ul>
<li><strong>http1:</strong> fix preserving header case without enabling ffi (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2820">#2820</a>) (<a href="6a35c175f2">6a35c175</a>)</li>
<li><strong>server:</strong> don't add implicit content-length to HEAD responses (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2836">#2836</a>) (<a href="67b73138f1">67b73138</a>)</li>
</ul>
<h2>Features</h2>
<ul>
<li><strong>server:</strong>
<ul>
<li>add <code>Connection::http2_max_header_list_size</code> option (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2828">#2828</a>) (<a href="a32658c1ae">a32658c1</a>, closes <a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2826">#2826</a>)</li>
<li>add <code>AddrStream::local_addr()</code> (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2816">#2816</a>) (<a href="ffbf610b16">ffbf610b</a>, closes <a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2773">#2773</a>)</li>
</ul>
</li>
</ul>
<h2>Breaking Changes</h2>
<ul>
<li><strong>ffi (unstable):</strong>
<ul>
<li><code>hyper_clientconn_options_new</code> no longer sets the <code>http1_preserve_header_case</code> connection option by default.
Users should now call <code>hyper_clientconn_options_set_preserve_header_case</code> if they desire that functionality. (<a href="78de8914ea">78de8914</a>)</li>
</ul>
</li>
</ul>
<h2>New Contributors ❤️</h2>
<ul>
<li><a href="https://github.com/SabrinaJewson"><code>`@​SabrinaJewson</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/hyperium/hyper/pull/2775">hyperium/hyper#2775</a></li>
<li><a href="https://github.com/Some-Dood"><code>`@​Some-Dood</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/hyperium/hyper/pull/2812">hyperium/hyper#2812</a></li>
<li><a href="https://github.com/liamwarfield"><code>`@​liamwarfield</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/hyperium/hyper/pull/2798">hyperium/hyper#2798</a></li>
<li><a href="https://github.com/cuishuang"><code>`@​cuishuang</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/hyperium/hyper/pull/2818">hyperium/hyper#2818</a></li>
<li><a href="https://github.com/jannes"><code>`@​jannes</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/hyperium/hyper/pull/2836">hyperium/hyper#2836</a></li>
<li><a href="https://github.com/silence-coding"><code>`@​silence-coding</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/hyperium/hyper/pull/2828">hyperium/hyper#2828</a></li>
<li><a href="https://github.com/nylonicious"><code>`@​nylonicious</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/hyperium/hyper/pull/2762">hyperium/hyper#2762</a></li>
<li><a href="https://github.com/ryanrussell"><code>`@​ryanrussell</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/hyperium/hyper/pull/2875">hyperium/hyper#2875</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/hyperium/hyper/blob/v0.14.20/CHANGELOG.md">hyper's changelog</a>.</em></p>
<blockquote>
<h3>v0.14.20 (2022-07-07)</h3>
<h4>Bug Fixes</h4>
<ul>
<li><strong>http1:</strong> fix <code>http1_header_read_timeout</code> to use same future (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2891">#2891</a>) (<a href="c5a14e7c08">c5a14e7c</a>)</li>
</ul>
<h4>Features</h4>
<ul>
<li><strong>ext:</strong> support non-canonical HTTP/1 reason phrases (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2792">#2792</a>) (<a href="b2052a433f">b2052a43</a>)</li>
</ul>
<h3>v0.14.19 (2022-05-27)</h3>
<h4>Bug Fixes</h4>
<ul>
<li><strong>http1:</strong> fix preserving header case without enabling ffi (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2820">#2820</a>) (<a href="6a35c175f2">6a35c175</a>)</li>
<li><strong>server:</strong> don't add implicit content-length to HEAD responses (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2836">#2836</a>) (<a href="67b73138f1">67b73138</a>)</li>
</ul>
<h4>Features</h4>
<ul>
<li><strong>server:</strong>
<ul>
<li>add <code>Connection::http2_max_header_list_size</code> option (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2828">#2828</a>) (<a href="a32658c1ae">a32658c1</a>, closes <a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2826">#2826</a>)</li>
<li>add <code>AddrStream::local_addr()</code> (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2816">#2816</a>) (<a href="ffbf610b16">ffbf610b</a>, closes <a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2773">#2773</a>)</li>
</ul>
</li>
</ul>
<h4>Breaking Changes</h4>
<ul>
<li><strong>ffi (unstable):</strong>
<ul>
<li><code>hyper_clientconn_options_new</code> no longer sets the <code>http1_preserve_header_case</code> connection option by default.
Users should now call <code>hyper_clientconn_options_set_preserve_header_case</code> if they desire that functionality. (<a href="78de8914ea">78de8914</a>)</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="0ff6213be2"><code>0ff6213</code></a> v0.14.20</li>
<li><a href="128bc7f148"><code>128bc7f</code></a> chore(lib): bump MSRV to 1.56 (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2902">#2902</a>)</li>
<li><a href="c5a14e7c08"><code>c5a14e7</code></a> fix(http1): fix <code>http1_header_read_timeout</code> to use same future (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2891">#2891</a>)</li>
<li><a href="b2052a433f"><code>b2052a4</code></a> feat(ext): support non-canonical HTTP/1 reason phrases (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2792">#2792</a>)</li>
<li><a href="f12d4d4aa8"><code>f12d4d4</code></a> refactor(lib): resolve unused import (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2889">#2889</a>)</li>
<li><a href="4545c3ef19"><code>4545c3e</code></a> docs(proto): fix typos (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2876">#2876</a>)</li>
<li><a href="f8e2a83194"><code>f8e2a83</code></a> v0.14.19</li>
<li><a href="a929df843e"><code>a929df8</code></a> docs(various): fix typos in VISION and ROADMAP (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2875">#2875</a>)</li>
<li><a href="3a755a632d"><code>3a755a6</code></a> chore(lib): update <code>tokio-util</code> to <code>0.7</code> (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2762">#2762</a>)</li>
<li><a href="4678be9e81"><code>4678be9</code></a> docs(contrib): add guide for Triaging Issues</li>
<li>Additional commits viewable in <a href="https://github.com/hyperium/hyper/compare/v0.14.18...v0.14.20">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=hyper&package-manager=cargo&previous-version=0.14.18&new-version=0.14.20)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
Byron Hambly 39e34a608b
fix: fix potential overflow in `max_bitcoin_for_price`
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.
2 years ago
dependabot[bot] 61f9f8a02c
Bump hyper from 0.14.18 to 0.14.20
Bumps [hyper](https://github.com/hyperium/hyper) from 0.14.18 to 0.14.20.
- [Release notes](https://github.com/hyperium/hyper/releases)
- [Changelog](https://github.com/hyperium/hyper/blob/v0.14.20/CHANGELOG.md)
- [Commits](https://github.com/hyperium/hyper/compare/v0.14.18...v0.14.20)

---
updated-dependencies:
- dependency-name: hyper
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] 8e7bd85f31
Bump async-compression from 0.3.12 to 0.3.14
Bumps [async-compression](https://github.com/Nemo157/async-compression) from 0.3.12 to 0.3.14.
- [Release notes](https://github.com/Nemo157/async-compression/releases)
- [Commits](https://github.com/Nemo157/async-compression/compare/0.3.12...0.3.14)

---
updated-dependencies:
- dependency-name: async-compression
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] d5bb1e9c08
Merge #1057 #1058
1057: Bump rust_decimal_macros from 1.23.1 to 1.25.0 r=delta1 a=dependabot[bot]

Bumps [rust_decimal_macros](https://github.com/paupino/rust-decimal) from 1.23.1 to 1.25.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/paupino/rust-decimal/blob/master/CHANGELOG.md">rust_decimal_macros's changelog</a>.</em></p>
<blockquote>
<h2>1.25.0</h2>
<h3>Added</h3>
<ul>
<li>Expands <code>rand</code> support to implement <code>SampleUniform</code> to allow for <code>rng.gen_range</code> calls (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/pull/519">#519</a>)</li>
<li>Adds <a href="https://github.com/rkyv/rkyv"><code>rkyv</code> framework</a> support for zero-cost (de)serialization (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/pull/520">#520</a>)</li>
</ul>
<p>A big thank you to <a href="https://github.com/lukesneeringer"><code>`@​lukesneeringer</code></a>` and <a href="https://github.com/dovahcrow"><code>`@​dovahcrow</code></a>` for your help building
features for this release.</p>
<h2>1.24.0</h2>
<ul>
<li>Introduces new feature <code>rand</code> which allows for random number generation within <code>rust_decimal</code> (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/pull/517">#517</a>).</li>
<li>Upgrade to Rust 2021 and remove unnecessary dependencies to improve build speed (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/pull/513">#513</a>, <a href="https://github-redirect.dependabot.com/paupino/rust-decimal/pull/516">#516</a>)</li>
<li>Some test scoping improvements to ensure we capture as many test combinations as possible (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/pull/503">#503</a>, <a href="https://github-redirect.dependabot.com/paupino/rust-decimal/pull/504">#504</a>).</li>
</ul>
<p>A big thank you to <a href="https://github.com/c410-f3r"><code>`@​c410-f3r</code></a>` for their contributions to this release!</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="4b7cdd90b0"><code>4b7cdd9</code></a> Version 1.25 (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/522">#522</a>)</li>
<li><a href="7508015fc8"><code>7508015</code></a> feat: Add <code>rng.gen_range</code> support. (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/519">#519</a>)</li>
<li><a href="37764b784d"><code>37764b7</code></a> add rkyv support (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/520">#520</a>)</li>
<li><a href="8c27247736"><code>8c27247</code></a> Version 1.24.0 (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/518">#518</a>)</li>
<li><a href="4ee19c6e65"><code>4ee19c6</code></a> Add <code>rand</code> support (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/517">#517</a>)</li>
<li><a href="98d8057788"><code>98d8057</code></a> Remove unused dependencies (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/516">#516</a>)</li>
<li><a href="a963e79628"><code>a963e79</code></a> Update to Rust 2021 (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/513">#513</a>)</li>
<li><a href="2b582d6255"><code>2b582d6</code></a> Enable borsh tests on github actions (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/504">#504</a>)</li>
<li><a href="7a95035ba3"><code>7a95035</code></a> Fixes issue with workspace build always including default (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/503">#503</a>)</li>
<li>See full diff in <a href="https://github.com/paupino/rust-decimal/compare/1.23.1...1.25.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rust_decimal_macros&package-manager=cargo&previous-version=1.23.1&new-version=1.25.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1058: Bump reqwest from 0.11.10 to 0.11.11 r=delta1 a=dependabot[bot]

Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.11.10 to 0.11.11.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/seanmonstar/reqwest/releases">reqwest's releases</a>.</em></p>
<blockquote>
<h2>v0.11.11</h2>
<h2>What's Changed</h2>
<ul>
<li>Add HTTP/2 keep-alive configuration methods on <code>ClientBuilder</code>.</li>
<li>Add <code>ClientBuilder::http1_allow_obsolete_multiline_headers_in_responses()</code>.</li>
<li>Add <code>impl Service&lt;Request&gt;</code> for <code>Client</code> and <code>&amp;'_ Client</code>.</li>
<li>(wasm) Add <code>RequestBuilder::basic_auth()</code>.</li>
<li>Fix <code>RequestBuilder::header</code> to not override <code>sensitive</code> if user explicitly set on a <code>HeaderValue</code>.</li>
<li>Fix rustls parsing of elliptic curve private keys.</li>
<li>Fix Proxy URL parsing of some invalid targets.</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/jqnatividad"><code>`@​jqnatividad</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/pull/1509">seanmonstar/reqwest#1509</a></li>
<li><a href="https://github.com/MisileLab"><code>`@​MisileLab</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/pull/1527">seanmonstar/reqwest#1527</a></li>
<li><a href="https://github.com/flavio"><code>`@​flavio</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/pull/1526">seanmonstar/reqwest#1526</a></li>
<li><a href="https://github.com/eyalsatori"><code>`@​eyalsatori</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/pull/1523">seanmonstar/reqwest#1523</a></li>
<li><a href="https://github.com/Mathspy"><code>`@​Mathspy</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/pull/1420">seanmonstar/reqwest#1420</a></li>
<li><a href="https://github.com/cuishuang"><code>`@​cuishuang</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/pull/1531">seanmonstar/reqwest#1531</a></li>
<li><a href="https://github.com/Coding-Badly"><code>`@​Coding-Badly</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/pull/1539">seanmonstar/reqwest#1539</a></li>
<li><a href="https://github.com/Osteoporosis"><code>`@​Osteoporosis</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/pull/1543">seanmonstar/reqwest#1543</a></li>
<li><a href="https://github.com/neoeinstein"><code>`@​neoeinstein</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/pull/1556">seanmonstar/reqwest#1556</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md">reqwest's changelog</a>.</em></p>
<blockquote>
<h2>v0.11.11</h2>
<ul>
<li>Add HTTP/2 keep-alive configuration methods on <code>ClientBuilder</code>.</li>
<li>Add <code>ClientBuilder::http1_allow_obsolete_multiline_headers_in_responses()</code>.</li>
<li>Add <code>impl Service&lt;Request&gt;</code> for <code>Client</code> and <code>&amp;'_ Client</code>.</li>
<li>(wasm) Add <code>RequestBuilder::basic_auth()</code>.</li>
<li>Fix <code>RequestBuilder::header</code> to not override <code>sensitive</code> if user explicitly set on a <code>HeaderValue</code>.</li>
<li>Fix rustls parsing of elliptic curve private keys.</li>
<li>Fix Proxy URL parsing of some invalid targets.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="5397d2cf8e"><code>5397d2c</code></a> v0.11.11</li>
<li><a href="7a11d397eb"><code>7a11d39</code></a> feat: enable client to be a service without ownership (<a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/issues/1556">#1556</a>)</li>
<li><a href="c4603b0a5d"><code>c4603b0</code></a> Disable dependabot wasm alerts</li>
<li><a href="d536ce261c"><code>d536ce2</code></a> Fix RequestBuilder to send explicitly sensitive headers</li>
<li><a href="28840afd46"><code>28840af</code></a> <a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/issues/1095">#1095</a>: Implement <code>basic_auth</code> for WASM</li>
<li><a href="c4d5094522"><code>c4d5094</code></a> Update path and toolchain up to date</li>
<li><a href="a80c863a42"><code>a80c863</code></a> Bump async-compression</li>
<li><a href="48a88fee7a"><code>48a88fe</code></a> fix style and format</li>
<li><a href="0b9b499356"><code>0b9b499</code></a> Expose hyper HTTP2 keep-alive config.</li>
<li><a href="2a6e012009"><code>2a6e012</code></a> Fix Proxy URL parse error handling. (<a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/issues/1539">#1539</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/seanmonstar/reqwest/compare/v0.11.10...v0.11.11">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=reqwest&package-manager=cargo&previous-version=0.11.10&new-version=0.11.11)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] a7e3f0ac2f
Bump time from 0.3.9 to 0.3.11
Bumps [time](https://github.com/time-rs/time) from 0.3.9 to 0.3.11.
- [Release notes](https://github.com/time-rs/time/releases)
- [Changelog](https://github.com/time-rs/time/blob/main/CHANGELOG.md)
- [Commits](https://github.com/time-rs/time/compare/v0.3.9...v0.3.11)

---
updated-dependencies:
- dependency-name: time
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] f7c6d1eefe
Merge #1062
1062: fix: change logs to UTC due to bug in time crate r=delta1 a=delta1

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

Co-authored-by: Byron Hambly <bhambly@blockstream.com>
2 years ago
Byron Hambly 8eff499a63
fix: change logs to UTC due to bug in time crate
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
2 years ago
dependabot[bot] 02bbacac54
Bump reqwest from 0.11.10 to 0.11.11
Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.11.10 to 0.11.11.
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.11.10...v0.11.11)

---
updated-dependencies:
- dependency-name: reqwest
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] 7928c9f5c4
Bump rust_decimal_macros from 1.23.1 to 1.25.0
Bumps [rust_decimal_macros](https://github.com/paupino/rust-decimal) from 1.23.1 to 1.25.0.
- [Release notes](https://github.com/paupino/rust-decimal/releases)
- [Changelog](https://github.com/paupino/rust-decimal/blob/master/CHANGELOG.md)
- [Commits](https://github.com/paupino/rust-decimal/compare/1.23.1...1.25.0)

---
updated-dependencies:
- dependency-name: rust_decimal_macros
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] 7023e75bb5
Merge #1054
1054: deps: update serde, serde_json, thiserror, async-trait r=delta1 a=delta1

Closes:

- #1053 
- #1045 
- #1030 
- #1039 

Co-authored-by: Byron Hambly <bhambly@blockstream.com>
2 years ago
Byron Hambly 6bf472fc12
deps: bump async-trait to 0.1.56
#1039
2 years ago
Byron Hambly 8c408321e4
deps: bump thiserror to 10.31
#1030
2 years ago
Byron Hambly 3d85c1f05e
deps: bump serde, serde_json, pin-project
#1053
 #1045
2 years ago
bors[bot] 39005cd530
Merge #1051 #1052
1051: Bump Swatinem/rust-cache from 1.4.0 to 2.0.0 r=delta1 a=dependabot[bot]

Bumps [Swatinem/rust-cache](https://github.com/Swatinem/rust-cache) from 1.4.0 to 2.0.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/Swatinem/rust-cache/releases">Swatinem/rust-cache's releases</a>.</em></p>
<blockquote>
<h2>v2.0.0</h2>
<ul>
<li>The action code was refactored to allow for caching multiple workspaces and
different <code>target</code> directory layouts.</li>
<li>The <code>working-directory</code> and <code>target-dir</code> input options were replaced by a
single <code>workspaces</code> option that has the form of <code>$workspace -&gt; $target</code>.</li>
<li>Support for considering <code>env-vars</code> as part of the cache key.</li>
<li>The <code>sharedKey</code> input option was renamed to <code>shared-key</code> for consistency.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/Swatinem/rust-cache/blob/master/CHANGELOG.md">Swatinem/rust-cache's changelog</a>.</em></p>
<blockquote>
<h2>2.0.0</h2>
<ul>
<li>The action code was refactored to allow for caching multiple workspaces and
different <code>target</code> directory layouts.</li>
<li>The <code>working-directory</code> and <code>target-dir</code> input options were replaced by a
single <code>workspaces</code> option that has the form of <code>$workspace -&gt; $target</code>.</li>
<li>Support for considering <code>env-vars</code> as part of the cache key.</li>
<li>The <code>sharedKey</code> input option was renamed to <code>shared-key</code> for consistency.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="6720f05bc4"><code>6720f05</code></a> 2.0.0</li>
<li><a href="5733786579"><code>5733786</code></a> rebuild</li>
<li><a href="622616010e"><code>6226160</code></a> prepare v2</li>
<li><a href="0497f9301f"><code>0497f93</code></a> improve registry cleanpu</li>
<li><a href="7b8626742a"><code>7b86267</code></a> update registry cleaning</li>
<li><a href="911d8e9e55"><code>911d8e9</code></a> test sparse registry</li>
<li><a href="875be5ce2d"><code>875be5c</code></a> bump cache</li>
<li><a href="07a2ee71bc"><code>07a2ee7</code></a> lol, dependency check was reversed</li>
<li><a href="7c190ef171"><code>7c190ef</code></a> fix actual test code ;-)</li>
<li><a href="fffd6895b2"><code>fffd689</code></a> add some more tests</li>
<li>Additional commits viewable in <a href="https://github.com/Swatinem/rust-cache/compare/v1.4.0...v2.0.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Swatinem/rust-cache&package-manager=github_actions&previous-version=1.4.0&new-version=2.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1052: Bump dprint/check from 2.0 to 2.1 r=delta1 a=dependabot[bot]

Bumps [dprint/check](https://github.com/dprint/check) from 2.0 to 2.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dprint/check/releases">dprint/check's releases</a>.</em></p>
<blockquote>
<h2>v2.1</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: ensure it can run on all operating systems and update instructions <a href="https://github-redirect.dependabot.com/dprint/check/pull/7">dprint/check#7</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/dprint/check/compare/v2.0...v2.1">https://github.com/dprint/check/compare/v2.0...v2.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="b8a69d368d"><code>b8a69d3</code></a> fix: ensure it can run on all operating systems (<a href="https://github-redirect.dependabot.com/dprint/check/issues/7">#7</a>)</li>
<li><a href="ded32b928d"><code>ded32b9</code></a> chore: remove empty line (<a href="https://github-redirect.dependabot.com/dprint/check/issues/6">#6</a>)</li>
<li>See full diff in <a href="https://github.com/dprint/check/compare/v2.0...v2.1">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=dprint/check&package-manager=github_actions&previous-version=2.0&new-version=2.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] db3bb3db54
Bump dprint/check from 2.0 to 2.1
Bumps [dprint/check](https://github.com/dprint/check) from 2.0 to 2.1.
- [Release notes](https://github.com/dprint/check/releases)
- [Commits](https://github.com/dprint/check/compare/v2.0...v2.1)

---
updated-dependencies:
- dependency-name: dprint/check
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] d885f491d5
Bump Swatinem/rust-cache from 1.4.0 to 2.0.0
Bumps [Swatinem/rust-cache](https://github.com/Swatinem/rust-cache) from 1.4.0 to 2.0.0.
- [Release notes](https://github.com/Swatinem/rust-cache/releases)
- [Changelog](https://github.com/Swatinem/rust-cache/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Swatinem/rust-cache/compare/v1.4.0...v2.0.0)

---
updated-dependencies:
- dependency-name: Swatinem/rust-cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] 59d5a6c096
Merge #1040
1040: Bump actions/setup-python from 3 to 4 r=delta1 a=dependabot[bot]

Bumps [actions/setup-python](https://github.com/actions/setup-python) from 3 to 4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/actions/setup-python/releases">actions/setup-python's releases</a>.</em></p>
<blockquote>
<h2>v4.0.0</h2>
<h3>What's Changed</h3>
<ul>
<li>Support for <code>python-version-file</code> input: <a href="https://github-redirect.dependabot.com/actions/setup-python/issues/336">#336</a></li>
</ul>
<p>Example of usage:</p>
<pre lang="yaml"><code>- uses: actions/setup-python@v4
  with:
    python-version-file: '.python-version' # Read python version from a file
- run: python my_script.py
</code></pre>
<p>There is no default python version for this <code>setup-python</code> major version, the action requires to specify either <code>python-version</code> input or <code>python-version-file</code> input. If the <code>python-version</code> input is not specified the action will try to read required version from file from <code>python-version-file</code> input.</p>
<ul>
<li>Use pypyX.Y for PyPy <code>python-version</code> input: <a href="https://github-redirect.dependabot.com/actions/setup-python/issues/349">#349</a></li>
</ul>
<p>Example of usage:</p>
<pre lang="yaml"><code>- uses: actions/setup-python@v4
  with:
    python-version: 'pypy3.9' # pypy-X.Y kept for backward compatibility
- run: python my_script.py
</code></pre>
<ul>
<li>
<p><code>RUNNER_TOOL_CACHE</code> environment variable is equal <code>AGENT_TOOLSDIRECTORY</code>: <a href="https://github-redirect.dependabot.com/actions/setup-python/issues/338">#338</a></p>
</li>
<li>
<p>Bugfix: create missing <code>pypyX.Y</code> symlinks: <a href="https://github-redirect.dependabot.com/actions/setup-python/issues/347">#347</a></p>
</li>
<li>
<p><code>PKG_CONFIG_PATH</code> environment variable: <a href="https://github-redirect.dependabot.com/actions/setup-python/issues/400">#400</a></p>
</li>
<li>
<p>Added <code>python-path</code> output: <a href="https://github-redirect.dependabot.com/actions/setup-python/issues/405">#405</a>
<code>python-path</code> output contains Python executable path.</p>
</li>
<li>
<p>Updated <code>zeit/ncc</code> to <code>vercel/ncc</code> package: <a href="https://github-redirect.dependabot.com/actions/setup-python/issues/393">#393</a></p>
</li>
<li>
<p>Bugfix: fixed output for prerelease version of poetry: <a href="https://github-redirect.dependabot.com/actions/setup-python/issues/409">#409</a></p>
</li>
<li>
<p>Made <code>pythonLocation</code> environment variable consistent for Python and PyPy: <a href="https://github-redirect.dependabot.com/actions/setup-python/issues/418">#418</a></p>
</li>
<li>
<p>Bugfix for <code>3.x-dev</code> syntax: <a href="https://github-redirect.dependabot.com/actions/setup-python/issues/417">#417</a></p>
</li>
<li>
<p>Other improvements: <a href="https://github-redirect.dependabot.com/actions/setup-python/issues/318">#318</a> <a href="https://github-redirect.dependabot.com/actions/setup-python/issues/396">#396</a> <a href="https://github-redirect.dependabot.com/actions/setup-python/issues/384">#384</a> <a href="https://github-redirect.dependabot.com/actions/setup-python/issues/387">#387</a> <a href="https://github-redirect.dependabot.com/actions/setup-python/issues/388">#388</a></p>
</li>
</ul>
<h2>Update actions/cache version to 2.0.2</h2>
<p>In scope of this release we updated <code>actions/cache</code> package as the new version contains fixes related to GHES 3.5 (<a href="https://github-redirect.dependabot.com/actions/setup-python/pull/382">actions/setup-python#382</a>)</p>
<h2>Add &quot;cache-hit&quot; output and fix &quot;python-version&quot; output for PyPy</h2>
<p>This release introduces new output cache-hit (<a href="https://github-redirect.dependabot.com/actions/setup-python/pull/373">actions/setup-python#373</a>) and fix python-version output for PyPy (<a href="https://github-redirect.dependabot.com/actions/setup-python/pull/365">actions/setup-python#365</a>)</p>
<p>The cache-hit output contains boolean value indicating that an exact match was found for the key. It shows that the action uses already existing cache or not. The output is available only if cache is enabled.</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="d09bd5e600"><code>d09bd5e</code></a> fix: 3.x-dev can install a 3.y version (<a href="https://github-redirect.dependabot.com/actions/setup-python/issues/417">#417</a>)</li>
<li><a href="f72db171ab"><code>f72db17</code></a> Made env.var pythonLocation consistent for Python and PyPy (<a href="https://github-redirect.dependabot.com/actions/setup-python/issues/418">#418</a>)</li>
<li><a href="53e15292cd"><code>53e1529</code></a> add support for python-version-file (<a href="https://github-redirect.dependabot.com/actions/setup-python/issues/336">#336</a>)</li>
<li><a href="3f82819745"><code>3f82819</code></a> Fix output for prerelease version of poetry (<a href="https://github-redirect.dependabot.com/actions/setup-python/issues/409">#409</a>)</li>
<li><a href="397252c582"><code>397252c</code></a> Update zeit/ncc to vercel/ncc (<a href="https://github-redirect.dependabot.com/actions/setup-python/issues/393">#393</a>)</li>
<li><a href="de977ad132"><code>de977ad</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/actions/setup-python/issues/412">#412</a> from vsafonkin/v-vsafonkin/fix-poetry-cache-test</li>
<li><a href="22c6af91ce"><code>22c6af9</code></a> Change PyPy version to rebuild cache</li>
<li><a href="081a3cf1a5"><code>081a3cf</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/actions/setup-python/issues/405">#405</a> from mayeut/interpreter-path</li>
<li><a href="ff706563d7"><code>ff70656</code></a> feature: add a <code>python-path</code> output</li>
<li><a href="fff15a21cc"><code>fff15a2</code></a> Use pypyX.Y for PyPy python-version input (<a href="https://github-redirect.dependabot.com/actions/setup-python/issues/349">#349</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/actions/setup-python/compare/v3...v4">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/setup-python&package-manager=github_actions&previous-version=3&new-version=4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] 051f541f7f
Bump actions/setup-python from 3 to 4
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 3 to 4.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] 365078d394
Merge #1026
1026: Bump serde_with from 1.12.1 to 1.13.0 r=delta1 a=dependabot[bot]

Bumps [serde_with](https://github.com/jonasbb/serde_with) from 1.12.1 to 1.13.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/jonasbb/serde_with/releases">serde_with's releases</a>.</em></p>
<blockquote>
<h2>serde_with v1.13.0</h2>
<h3>Added</h3>
<ul>
<li>
<p>Added support for <code>indexmap::IndexMap</code> and <code>indexmap::IndexSet</code> types. <a href="https://github-redirect.dependabot.com/jonasbb/serde_with/issues/431">#431</a>, <a href="https://github-redirect.dependabot.com/jonasbb/serde_with/issues/436">#436</a></p>
<p>Both types are now compatible with these functions: <code>maps_duplicate_key_is_error</code>, <code>maps_first_key_wins</code>, <code>sets_duplicate_value_is_error</code>, <code>sets_last_value_wins</code>.
<code>serde_as</code> integration is provided by implementing both <code>SerializeAs</code> and <code>DeserializeAs</code> for both types.
<code>IndexMap</code>s can also be serialized as a list of types via the <code>serde_as(as = &quot;Vec&lt;(_, _)&gt;&quot;)</code> annotation.</p>
<p>All implementations are gated behind the <code>indexmap</code> feature.</p>
<p>Thanks to <a href="https://github.com/jgrund"><code>`@​jgrund</code></a>` for providing parts of the implementation.</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="6fe1198710"><code>6fe1198</code></a> Merge <a href="https://github-redirect.dependabot.com/jonasbb/serde_with/issues/438">#438</a></li>
<li><a href="948a383c5d"><code>948a383</code></a> Bump serde_with to v1.13.0</li>
<li><a href="c821df94c9"><code>c821df9</code></a> Package tests in crates</li>
<li><a href="eabd3457ec"><code>eabd345</code></a> Add changelog entry for the new <code>indexmap</code> support</li>
<li><a href="88ffa73331"><code>88ffa73</code></a> Merge <a href="https://github-redirect.dependabot.com/jonasbb/serde_with/issues/436">#436</a></li>
<li><a href="919683697f"><code>9196836</code></a> Make code compatible with older Pythons before const generic arrays</li>
<li><a href="ed5ff38571"><code>ed5ff38</code></a> Merge <a href="https://github-redirect.dependabot.com/jonasbb/serde_with/issues/437">#437</a></li>
<li><a href="fbc9a965a3"><code>fbc9a96</code></a> Replace <code>serde_derive</code> imports in test with imports from <code>serde</code></li>
<li><a href="82a5d18537"><code>82a5d18</code></a> Add tests for IndexMap and IndexSet</li>
<li><a href="a8bce82320"><code>a8bce82</code></a> Merge <a href="https://github-redirect.dependabot.com/jonasbb/serde_with/issues/434">#434</a></li>
<li>Additional commits viewable in <a href="https://github.com/jonasbb/serde_with/compare/v1.12.1...v1.13.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_with&package-manager=cargo&previous-version=1.12.1&new-version=1.13.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] 1663c45071
Bump serde_with from 1.12.1 to 1.13.0
Bumps [serde_with](https://github.com/jonasbb/serde_with) from 1.12.1 to 1.13.0.
- [Release notes](https://github.com/jonasbb/serde_with/releases)
- [Commits](https://github.com/jonasbb/serde_with/compare/v1.12.1...v1.13.0)

---
updated-dependencies:
- dependency-name: serde_with
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
leonardo 9faef08059 Removed unnecesary reference 2 years ago
bors[bot] 0aa4cbb21b
Merge #1025
1025: Change example rendezvous node to `/dns4/discover.unstoppableswap.net… r=delta1 a=binarybaron

…/tcp/8888/p2p/12D3Ko...`

The rendezvous node that was provided for testing purposes by the COMIT team will be shutdown.

Co-authored-by: binarybaron <86064887+binarybaron@users.noreply.github.com>
2 years ago
Leonardo Escuer b31db0a143
Merge branch 'master' into libp2p_upgrade 2 years ago
leonardo 8bb1900c2c Upgrade libp2p and stabilized the version
#dependency-type: direct:production
 # update-type: version-update:semver-patch

  #dependency-type: direct:production
 # update-type: version-update:semver-patch

 # dependency-type: direct:production
  #update-type: version-update:semver-patch

Fix failing CI tests due to deleted xmrto docker hub images

Fix failing CI tests due to deleted xmrto docker hub images by moving to the docker images provided by melotools

Bump tempfile from 3.2.0 to 3.3.0

Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/Stebalien/tempfile/releases)
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/NEWS)
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.2.0...v3.3.0)

---
updated-dependencies:
- dependency-name: tempfile
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Always write logs as JSON to files

Bump torut from 0.2.0 to 0.2.1

Bumps [torut](https://github.com/teawithsand/torut) from 0.2.0 to 0.2.1.
- [Release notes](https://github.com/teawithsand/torut/releases)
- [Commits](https://github.com/teawithsand/torut/commits)

---
updated-dependencies:
- dependency-name: torut
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump time from 0.3.3 to 0.3.7

Bumps [time](https://github.com/time-rs/time) from 0.3.3 to 0.3.7.
- [Release notes](https://github.com/time-rs/time/releases)
- [Changelog](https://github.com/time-rs/time/blob/main/CHANGELOG.md)
- [Commits](https://github.com/time-rs/time/compare/v0.3.3...v0.3.7)

---
updated-dependencies:
- dependency-name: time
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump tokio from 1.12.0 to 1.16.1

Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.12.0 to 1.16.1.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.12.0...tokio-1.16.1)

---
updated-dependencies:
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump dialoguer from 0.8.0 to 0.10.0

Bumps [dialoguer](https://github.com/mitsuhiko/dialoguer) from 0.8.0 to 0.10.0.
- [Release notes](https://github.com/mitsuhiko/dialoguer/releases)
- [Changelog](https://github.com/mitsuhiko/dialoguer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mitsuhiko/dialoguer/compare/0.8.0...v0.10.0)

---
updated-dependencies:
- dependency-name: dialoguer
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump reqwest from 0.11.7 to 0.11.9

Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.11.7 to 0.11.9.
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.11.7...v0.11.9)

---
updated-dependencies:
- dependency-name: reqwest
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump actions/setup-python from 2.3.1 to 2.3.2

Bumps [actions/setup-python](https://github.com/actions/setup-python) from 2.3.1 to 2.3.2.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v2.3.1...v2.3.2)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

 Adjust quote based on Bitcoin balance

Update dependencies and rust-toolchain to 1.59

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

Change to rino nodes

Update dprint plugins to fix CI error

Bump futures from 0.3.17 to 0.3.21

Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.17 to 0.3.21.
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.17...0.3.21)

---
updated-dependencies:
- dependency-name: futures
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump structopt from 0.3.25 to 0.3.26

Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.3.25 to 0.3.26.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/compare/v0.3.25...v0.3.26)

---
updated-dependencies:
- dependency-name: structopt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump serde from 1.0.133 to 1.0.136

Bumps [serde](https://github.com/serde-rs/serde) from 1.0.133 to 1.0.136.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.133...v1.0.136)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump hyper from 0.14.16 to 0.14.18

Bumps [hyper](https://github.com/hyperium/hyper) from 0.14.16 to 0.14.18.
- [Release notes](https://github.com/hyperium/hyper/releases)
- [Changelog](https://github.com/hyperium/hyper/blob/master/CHANGELOG.md)
- [Commits](https://github.com/hyperium/hyper/compare/v0.14.16...v0.14.18)

---
updated-dependencies:
- dependency-name: hyper
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Inform Bob that he has been punished

Reduce required confirmations for Bitcoin transactions from 2 to 1

Don't wait for refund transaction to receive confirmations

Don't wait for refund transaction to receive confirmations to mitigate a scenario where the swap is stuck in `BtcCancelled` because it's not resumable.

Add dial_as_listener to tor transport

Upgrade to libp2p and stabilized version

Updated dprint rustfmt pluging and 2021

Add dial_as_listener to tor transport

Upgrade to libp2p and stabilized version

Updated dprint rustfmt pluging and 2021

Update dprint plugins to fix CI error

Bump futures from 0.3.17 to 0.3.21

Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.17 to 0.3.21.
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.17...0.3.21)

---
updated-dependencies:
- dependency-name: futures
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump structopt from 0.3.25 to 0.3.26

Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.3.25 to 0.3.26.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/compare/v0.3.25...v0.3.26)

---
updated-dependencies:
- dependency-name: structopt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump serde from 1.0.133 to 1.0.136

Bumps [serde](https://github.com/serde-rs/serde) from 1.0.133 to 1.0.136.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.133...v1.0.136)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump hyper from 0.14.16 to 0.14.18

Bumps [hyper](https://github.com/hyperium/hyper) from 0.14.16 to 0.14.18.
- [Release notes](https://github.com/hyperium/hyper/releases)
- [Changelog](https://github.com/hyperium/hyper/blob/master/CHANGELOG.md)
- [Commits](https://github.com/hyperium/hyper/compare/v0.14.16...v0.14.18)

---
updated-dependencies:
- dependency-name: hyper
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Inform Bob that he has been punished

Reduce required confirmations for Bitcoin transactions from 2 to 1

Don't wait for refund transaction to receive confirmations

Don't wait for refund transaction to receive confirmations to mitigate a scenario where the swap is stuck in `BtcCancelled` because it's not resumable.

Add dial_as_listener to tor transport

Updated dprint rustfmt pluging and 2021

Updated dprint rustfmt pluging and 2021

fix in redial

fix connecting to peer message

gichange in formating

Update dprint plugins to fix CI error

Bump futures from 0.3.17 to 0.3.21

Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.17 to 0.3.21.
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.17...0.3.21)

---
updated-dependencies:
- dependency-name: futures
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump structopt from 0.3.25 to 0.3.26

Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.3.25 to 0.3.26.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/compare/v0.3.25...v0.3.26)

---
updated-dependencies:
- dependency-name: structopt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump serde from 1.0.133 to 1.0.136

Bumps [serde](https://github.com/serde-rs/serde) from 1.0.133 to 1.0.136.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.133...v1.0.136)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump hyper from 0.14.16 to 0.14.18

Bumps [hyper](https://github.com/hyperium/hyper) from 0.14.16 to 0.14.18.
- [Release notes](https://github.com/hyperium/hyper/releases)
- [Changelog](https://github.com/hyperium/hyper/blob/master/CHANGELOG.md)
- [Commits](https://github.com/hyperium/hyper/compare/v0.14.16...v0.14.18)

---
updated-dependencies:
- dependency-name: hyper
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Inform Bob that he has been punished

Reduce required confirmations for Bitcoin transactions from 2 to 1

Don't wait for refund transaction to receive confirmations

Don't wait for refund transaction to receive confirmations to mitigate a scenario where the swap is stuck in `BtcCancelled` because it's not resumable.

Bump actions/checkout from 2.4.0 to 3.0.0

Bumps [actions/checkout](https://github.com/actions/checkout) from 2.4.0 to 3.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2.4.0...v3.0.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump tokio-util from 0.7.0 to 0.7.1

Bumps [tokio-util](https://github.com/tokio-rs/tokio) from 0.7.0 to 0.7.1.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-util-0.7.0...tokio-util-0.7.1)

---
updated-dependencies:
- dependency-name: tokio-util
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump thomaseizinger/keep-a-changelog-new-release from 1.2.1 to 1.3.0

Bumps [thomaseizinger/keep-a-changelog-new-release](https://github.com/thomaseizinger/keep-a-changelog-new-release) from 1.2.1 to 1.3.0.
- [Release notes](https://github.com/thomaseizinger/keep-a-changelog-new-release/releases)
- [Changelog](https://github.com/thomaseizinger/keep-a-changelog-new-release/blob/master/CHANGELOG.md)
- [Commits](https://github.com/thomaseizinger/keep-a-changelog-new-release/compare/1.2.1...1.3.0)

---
updated-dependencies:
- dependency-name: thomaseizinger/keep-a-changelog-new-release
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

update option documentation to specify amount format

Bump async-compression from 0.3.8 to 0.3.12

Bumps [async-compression](https://github.com/Nemo157/async-compression) from 0.3.8 to 0.3.12.
- [Release notes](https://github.com/Nemo157/async-compression/releases)
- [Commits](https://github.com/Nemo157/async-compression/compare/0.3.8...0.3.12)

---
updated-dependencies:
- dependency-name: async-compression
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump serde_json from 1.0.74 to 1.0.79

Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.74 to 1.0.79.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.74...v1.0.79)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump Swatinem/rust-cache from 1.3.0 to 1.4.0

Bumps [Swatinem/rust-cache](https://github.com/Swatinem/rust-cache) from 1.3.0 to 1.4.0.
- [Release notes](https://github.com/Swatinem/rust-cache/releases)
- [Changelog](https://github.com/Swatinem/rust-cache/blob/v1/CHANGELOG.md)
- [Commits](https://github.com/Swatinem/rust-cache/compare/v1.3.0...v1.4.0)

---
updated-dependencies:
- dependency-name: Swatinem/rust-cache
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump tracing from 0.1.29 to 0.1.33

Bumps [tracing](https://github.com/tokio-rs/tracing) from 0.1.29 to 0.1.33.
- [Release notes](https://github.com/tokio-rs/tracing/releases)
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-0.1.29...tracing-0.1.33)

---
updated-dependencies:
- dependency-name: tracing
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump strum from 0.23.0 to 0.24.0

Bumps [strum](https://github.com/Peternator7/strum) from 0.23.0 to 0.24.0.
- [Release notes](https://github.com/Peternator7/strum/releases)
- [Changelog](https://github.com/Peternator7/strum/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Peternator7/strum/commits)

---
updated-dependencies:
- dependency-name: strum
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump serde_with from 1.12.0 to 1.12.1

Bumps [serde_with](https://github.com/jonasbb/serde_with) from 1.12.0 to 1.12.1.
- [Release notes](https://github.com/jonasbb/serde_with/releases)
- [Commits](https://github.com/jonasbb/serde_with/compare/v1.12.0...v1.12.1)

---
updated-dependencies:
- dependency-name: serde_with
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump rust_decimal_macros from 1.22.0 to 1.23.1

Bumps [rust_decimal_macros](https://github.com/paupino/rust-decimal) from 1.22.0 to 1.23.1.
- [Release notes](https://github.com/paupino/rust-decimal/releases)
- [Commits](https://github.com/paupino/rust-decimal/compare/1.22.0...1.23.1)

---
updated-dependencies:
- dependency-name: rust_decimal_macros
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump reqwest from 0.11.9 to 0.11.10

Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.11.9 to 0.11.10.
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.11.9...v0.11.10)

---
updated-dependencies:
- dependency-name: reqwest
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump time from 0.3.7 to 0.3.9

Bumps [time](https://github.com/time-rs/time) from 0.3.7 to 0.3.9.
- [Release notes](https://github.com/time-rs/time/releases)
- [Changelog](https://github.com/time-rs/time/blob/main/CHANGELOG.md)
- [Commits](https://github.com/time-rs/time/compare/v0.3.7...v0.3.9)

---
updated-dependencies:
- dependency-name: time
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump toml from 0.5.8 to 0.5.9

Bumps [toml](https://github.com/alexcrichton/toml-rs) from 0.5.8 to 0.5.9.
- [Release notes](https://github.com/alexcrichton/toml-rs/releases)
- [Commits](https://github.com/alexcrichton/toml-rs/compare/0.5.8...0.5.9)

---
updated-dependencies:
- dependency-name: toml
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump actions/checkout from 3.0.0 to 3.0.1

Bumps [actions/checkout](https://github.com/actions/checkout) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.0.0...v3.0.1)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump tracing from 0.1.33 to 0.1.34

Bumps [tracing](https://github.com/tokio-rs/tracing) from 0.1.33 to 0.1.34.
- [Release notes](https://github.com/tokio-rs/tracing/releases)
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-0.1.33...tracing-0.1.34)

---
updated-dependencies:
- dependency-name: tracing
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump vergen from 6.0.0 to 7.0.0

Bumps [vergen](https://github.com/rustyhorde/vergen) from 6.0.0 to 7.0.0.
- [Release notes](https://github.com/rustyhorde/vergen/releases)
- [Commits](https://github.com/rustyhorde/vergen/compare/6.0.0...7.0.0)

---
updated-dependencies:
- dependency-name: vergen
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Update from monero v17.2.0 to monero v17.3.0

Implement Identify protocol to make network and version of ASB available to peers

Bump uuid from 0.8.2 to 1.0.0

Bumps [uuid](https://github.com/uuid-rs/uuid) from 0.8.2 to 1.0.0.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/0.8.2...1.0.0)

---
updated-dependencies:
- dependency-name: uuid
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Update dprint plugins to fix CI error

Bump futures from 0.3.17 to 0.3.21

Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.17 to 0.3.21.
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.17...0.3.21)

---
updated-dependencies:
- dependency-name: futures
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump structopt from 0.3.25 to 0.3.26

Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.3.25 to 0.3.26.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/compare/v0.3.25...v0.3.26)

---
updated-dependencies:
- dependency-name: structopt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump serde from 1.0.133 to 1.0.136

Bumps [serde](https://github.com/serde-rs/serde) from 1.0.133 to 1.0.136.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.133...v1.0.136)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump hyper from 0.14.16 to 0.14.18

Bumps [hyper](https://github.com/hyperium/hyper) from 0.14.16 to 0.14.18.
- [Release notes](https://github.com/hyperium/hyper/releases)
- [Changelog](https://github.com/hyperium/hyper/blob/master/CHANGELOG.md)
- [Commits](https://github.com/hyperium/hyper/compare/v0.14.16...v0.14.18)

---
updated-dependencies:
- dependency-name: hyper
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Inform Bob that he has been punished

Don't wait for refund transaction to receive confirmations

Don't wait for refund transaction to receive confirmations to mitigate a scenario where the swap is stuck in `BtcCancelled` because it's not resumable.

Bump actions/checkout from 2.4.0 to 3.0.0

Bumps [actions/checkout](https://github.com/actions/checkout) from 2.4.0 to 3.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2.4.0...v3.0.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump tokio-util from 0.7.0 to 0.7.1

Bumps [tokio-util](https://github.com/tokio-rs/tokio) from 0.7.0 to 0.7.1.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-util-0.7.0...tokio-util-0.7.1)

---
updated-dependencies:
- dependency-name: tokio-util
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump thomaseizinger/keep-a-changelog-new-release from 1.2.1 to 1.3.0

Bumps [thomaseizinger/keep-a-changelog-new-release](https://github.com/thomaseizinger/keep-a-changelog-new-release) from 1.2.1 to 1.3.0.
- [Release notes](https://github.com/thomaseizinger/keep-a-changelog-new-release/releases)
- [Changelog](https://github.com/thomaseizinger/keep-a-changelog-new-release/blob/master/CHANGELOG.md)
- [Commits](https://github.com/thomaseizinger/keep-a-changelog-new-release/compare/1.2.1...1.3.0)

---
updated-dependencies:
- dependency-name: thomaseizinger/keep-a-changelog-new-release
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

update option documentation to specify amount format

Bump async-compression from 0.3.8 to 0.3.12

Bumps [async-compression](https://github.com/Nemo157/async-compression) from 0.3.8 to 0.3.12.
- [Release notes](https://github.com/Nemo157/async-compression/releases)
- [Commits](https://github.com/Nemo157/async-compression/compare/0.3.8...0.3.12)

---
updated-dependencies:
- dependency-name: async-compression
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump serde_json from 1.0.74 to 1.0.79

Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.74 to 1.0.79.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.74...v1.0.79)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump Swatinem/rust-cache from 1.3.0 to 1.4.0

Bumps [Swatinem/rust-cache](https://github.com/Swatinem/rust-cache) from 1.3.0 to 1.4.0.
- [Release notes](https://github.com/Swatinem/rust-cache/releases)
- [Changelog](https://github.com/Swatinem/rust-cache/blob/v1/CHANGELOG.md)
- [Commits](https://github.com/Swatinem/rust-cache/compare/v1.3.0...v1.4.0)

---
updated-dependencies:
- dependency-name: Swatinem/rust-cache
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump strum from 0.23.0 to 0.24.0

Bumps [strum](https://github.com/Peternator7/strum) from 0.23.0 to 0.24.0.
- [Release notes](https://github.com/Peternator7/strum/releases)
- [Changelog](https://github.com/Peternator7/strum/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Peternator7/strum/commits)

---
updated-dependencies:
- dependency-name: strum
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump serde_with from 1.12.0 to 1.12.1

Bumps [serde_with](https://github.com/jonasbb/serde_with) from 1.12.0 to 1.12.1.
- [Release notes](https://github.com/jonasbb/serde_with/releases)
- [Commits](https://github.com/jonasbb/serde_with/compare/v1.12.0...v1.12.1)

---
updated-dependencies:
- dependency-name: serde_with
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump rust_decimal_macros from 1.22.0 to 1.23.1

Bumps [rust_decimal_macros](https://github.com/paupino/rust-decimal) from 1.22.0 to 1.23.1.
- [Release notes](https://github.com/paupino/rust-decimal/releases)
- [Commits](https://github.com/paupino/rust-decimal/compare/1.22.0...1.23.1)

---
updated-dependencies:
- dependency-name: rust_decimal_macros
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump toml from 0.5.8 to 0.5.9

Bumps [toml](https://github.com/alexcrichton/toml-rs) from 0.5.8 to 0.5.9.
- [Release notes](https://github.com/alexcrichton/toml-rs/releases)
- [Commits](https://github.com/alexcrichton/toml-rs/compare/0.5.8...0.5.9)

---
updated-dependencies:
- dependency-name: toml
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump actions/checkout from 3.0.0 to 3.0.1

Bumps [actions/checkout](https://github.com/actions/checkout) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.0.0...v3.0.1)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump tracing from 0.1.33 to 0.1.34

Bumps [tracing](https://github.com/tokio-rs/tracing) from 0.1.33 to 0.1.34.
- [Release notes](https://github.com/tokio-rs/tracing/releases)
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-0.1.33...tracing-0.1.34)

---
updated-dependencies:
- dependency-name: tracing
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump vergen from 6.0.0 to 7.0.0

Bumps [vergen](https://github.com/rustyhorde/vergen) from 6.0.0 to 7.0.0.
- [Release notes](https://github.com/rustyhorde/vergen/releases)
- [Commits](https://github.com/rustyhorde/vergen/compare/6.0.0...7.0.0)

---
updated-dependencies:
- dependency-name: vergen
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump uuid from 0.8.2 to 1.0.0

Bumps [uuid](https://github.com/uuid-rs/uuid) from 0.8.2 to 1.0.0.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/0.8.2...1.0.0)

---
updated-dependencies:
- dependency-name: uuid
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Update dprint plugins to fix CI error

Bump futures from 0.3.17 to 0.3.21

Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.17 to 0.3.21.
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.17...0.3.21)

---
updated-dependencies:
- dependency-name: futures
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump structopt from 0.3.25 to 0.3.26

Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.3.25 to 0.3.26.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/compare/v0.3.25...v0.3.26)

---
updated-dependencies:
- dependency-name: structopt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump serde from 1.0.133 to 1.0.136

Bumps [serde](https://github.com/serde-rs/serde) from 1.0.133 to 1.0.136.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.133...v1.0.136)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump hyper from 0.14.16 to 0.14.18

Bumps [hyper](https://github.com/hyperium/hyper) from 0.14.16 to 0.14.18.
- [Release notes](https://github.com/hyperium/hyper/releases)
- [Changelog](https://github.com/hyperium/hyper/blob/master/CHANGELOG.md)
- [Commits](https://github.com/hyperium/hyper/compare/v0.14.16...v0.14.18)

---
updated-dependencies:
- dependency-name: hyper
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Inform Bob that he has been punished

Don't wait for refund transaction to receive confirmations

Don't wait for refund transaction to receive confirmations to mitigate a scenario where the swap is stuck in `BtcCancelled` because it's not resumable.

Bump tokio-util from 0.7.0 to 0.7.1

Bumps [tokio-util](https://github.com/tokio-rs/tokio) from 0.7.0 to 0.7.1.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-util-0.7.0...tokio-util-0.7.1)

---
updated-dependencies:
- dependency-name: tokio-util
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump thomaseizinger/keep-a-changelog-new-release from 1.2.1 to 1.3.0

Bumps [thomaseizinger/keep-a-changelog-new-release](https://github.com/thomaseizinger/keep-a-changelog-new-release) from 1.2.1 to 1.3.0.
- [Release notes](https://github.com/thomaseizinger/keep-a-changelog-new-release/releases)
- [Changelog](https://github.com/thomaseizinger/keep-a-changelog-new-release/blob/master/CHANGELOG.md)
- [Commits](https://github.com/thomaseizinger/keep-a-changelog-new-release/compare/1.2.1...1.3.0)

---
updated-dependencies:
- dependency-name: thomaseizinger/keep-a-changelog-new-release
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

update option documentation to specify amount format

Bump async-compression from 0.3.8 to 0.3.12

Bumps [async-compression](https://github.com/Nemo157/async-compression) from 0.3.8 to 0.3.12.
- [Release notes](https://github.com/Nemo157/async-compression/releases)
- [Commits](https://github.com/Nemo157/async-compression/compare/0.3.8...0.3.12)

---
updated-dependencies:
- dependency-name: async-compression
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump serde_json from 1.0.74 to 1.0.79

Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.74 to 1.0.79.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.74...v1.0.79)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump Swatinem/rust-cache from 1.3.0 to 1.4.0

Bumps [Swatinem/rust-cache](https://github.com/Swatinem/rust-cache) from 1.3.0 to 1.4.0.
- [Release notes](https://github.com/Swatinem/rust-cache/releases)
- [Changelog](https://github.com/Swatinem/rust-cache/blob/v1/CHANGELOG.md)
- [Commits](https://github.com/Swatinem/rust-cache/compare/v1.3.0...v1.4.0)

---
updated-dependencies:
- dependency-name: Swatinem/rust-cache
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump strum from 0.23.0 to 0.24.0

Bumps [strum](https://github.com/Peternator7/strum) from 0.23.0 to 0.24.0.
- [Release notes](https://github.com/Peternator7/strum/releases)
- [Changelog](https://github.com/Peternator7/strum/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Peternator7/strum/commits)

---
updated-dependencies:
- dependency-name: strum
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump serde_with from 1.12.0 to 1.12.1

Bumps [serde_with](https://github.com/jonasbb/serde_with) from 1.12.0 to 1.12.1.
- [Release notes](https://github.com/jonasbb/serde_with/releases)
- [Commits](https://github.com/jonasbb/serde_with/compare/v1.12.0...v1.12.1)

---
updated-dependencies:
- dependency-name: serde_with
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump rust_decimal_macros from 1.22.0 to 1.23.1

Bumps [rust_decimal_macros](https://github.com/paupino/rust-decimal) from 1.22.0 to 1.23.1.
- [Release notes](https://github.com/paupino/rust-decimal/releases)
- [Commits](https://github.com/paupino/rust-decimal/compare/1.22.0...1.23.1)

---
updated-dependencies:
- dependency-name: rust_decimal_macros
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump toml from 0.5.8 to 0.5.9

Bumps [toml](https://github.com/alexcrichton/toml-rs) from 0.5.8 to 0.5.9.
- [Release notes](https://github.com/alexcrichton/toml-rs/releases)
- [Commits](https://github.com/alexcrichton/toml-rs/compare/0.5.8...0.5.9)

---
updated-dependencies:
- dependency-name: toml
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump actions/checkout from 3.0.0 to 3.0.1

Bumps [actions/checkout](https://github.com/actions/checkout) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.0.0...v3.0.1)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump tracing from 0.1.33 to 0.1.34

Bumps [tracing](https://github.com/tokio-rs/tracing) from 0.1.33 to 0.1.34.
- [Release notes](https://github.com/tokio-rs/tracing/releases)
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-0.1.33...tracing-0.1.34)

---
updated-dependencies:
- dependency-name: tracing
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump vergen from 6.0.0 to 7.0.0

Bumps [vergen](https://github.com/rustyhorde/vergen) from 6.0.0 to 7.0.0.
- [Release notes](https://github.com/rustyhorde/vergen/releases)
- [Commits](https://github.com/rustyhorde/vergen/compare/6.0.0...7.0.0)

---
updated-dependencies:
- dependency-name: vergen
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump uuid from 0.8.2 to 1.0.0

Bumps [uuid](https://github.com/uuid-rs/uuid) from 0.8.2 to 1.0.0.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/0.8.2...1.0.0)

---
updated-dependencies:
- dependency-name: uuid
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Checking for  rendezvous peer
2 years ago
bors[bot] c188405b53
Merge #1023 #1024
1023: Bump actions/checkout from 3.0.1 to 3.0.2 r=delta1 a=dependabot[bot]

Bumps [actions/checkout](https://github.com/actions/checkout) from 3.0.1 to 3.0.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/actions/checkout/releases">actions/checkout's releases</a>.</em></p>
<blockquote>
<h2>v3.0.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Add set-safe-directory input to allow customers to take control. by <a href="https://github.com/TingluoHuang"><code>`@​TingluoHuang</code></a>` in <a href="https://github-redirect.dependabot.com/actions/checkout/pull/770">actions/checkout#770</a></li>
<li>Prepare changelog for v3.0.2. by <a href="https://github.com/TingluoHuang"><code>`@​TingluoHuang</code></a>` in <a href="https://github-redirect.dependabot.com/actions/checkout/pull/777">actions/checkout#777</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v3...v3.0.2">https://github.com/actions/checkout/compare/v3...v3.0.2</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's changelog</a>.</em></p>
<blockquote>
<h2>v3.0.2</h2>
<ul>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/770">Add input <code>set-safe-directory</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="2541b1294d"><code>2541b12</code></a> Prepare changelog for v3.0.2. (<a href="https://github-redirect.dependabot.com/actions/checkout/issues/777">#777</a>)</li>
<li><a href="0ffe6f9c55"><code>0ffe6f9</code></a> Add set-safe-directory input to allow customers to take control. (<a href="https://github-redirect.dependabot.com/actions/checkout/issues/770">#770</a>)</li>
<li>See full diff in <a href="https://github.com/actions/checkout/compare/v3.0.1...v3.0.2">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/checkout&package-manager=github_actions&previous-version=3.0.1&new-version=3.0.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1024: Bump anyhow from 1.0.56 to 1.0.57 r=delta1 a=dependabot[bot]

Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.56 to 1.0.57.
<details>
<summary>Commits</summary>
<ul>
<li><a href="f64ca0a02d"><code>f64ca0a</code></a> Release 1.0.57</li>
<li><a href="4c198e3d9b"><code>4c198e3</code></a> Remove log4rs workaround from bail macro</li>
<li><a href="6833150a79"><code>6833150</code></a> Update ui test suite to nightly-2022-03-21</li>
<li><a href="1a763e45da"><code>1a763e4</code></a> Update ui test suite to nightly-2022-03-10</li>
<li>See full diff in <a href="https://github.com/dtolnay/anyhow/compare/1.0.56...1.0.57">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=anyhow&package-manager=cargo&previous-version=1.0.56&new-version=1.0.57)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
binarybaron 9c8fe87ca3 Change example rendezvous node to `/dns4/discover.unstoppableswap.net/tcp/8888/p2p/12D3Ko...`
The rendezvous node that was provided for testing purposes by the COMIT team will be shutdown.
2 years ago
dependabot[bot] 36912f57d4
Bump anyhow from 1.0.56 to 1.0.57
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.56 to 1.0.57.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.56...1.0.57)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] c538231b6c
Bump actions/checkout from 3.0.1 to 3.0.2
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.0.1 to 3.0.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.0.1...v3.0.2)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] b371827b86
Merge #1019
1019: Bump uuid from 0.8.2 to 1.0.0 r=delta1 a=dependabot[bot]

Bumps [uuid](https://github.com/uuid-rs/uuid) from 0.8.2 to 1.0.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/uuid-rs/uuid/releases">uuid's releases</a>.</em></p>
<blockquote>
<h2>1.0.0</h2>
<p>This release includes a <em>huge</em> amount of work from a lot of contributors. These notes are duplicated from <code>1.0.0-alpha.1</code> since they're relevant for anybody moving from <code>0.8.2</code> to <code>1.0.0</code>.</p>
<h1>Changes since the last release</h1>
<p><a href="https://github.com/uuid-rs/uuid/compare/0.8.2...main">https://github.com/uuid-rs/uuid/compare/0.8.2...main</a></p>
<h1>Contributions since the last release</h1>
<ul>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/510">#510</a></li>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/482">#482</a></li>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/511">#511</a></li>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/507">#507</a></li>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/518">#518</a></li>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/519">#519</a></li>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/512">#512</a></li>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/520">#520</a></li>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/521">#521</a></li>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/525">#525</a></li>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/526">#526</a></li>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/527">#527</a></li>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/528">#528</a></li>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/535">#535</a></li>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/536">#536</a></li>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/539">#539</a></li>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/538">#538</a></li>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/540">#540</a></li>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/541">#541</a></li>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/542">#542</a></li>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/544">#544</a></li>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/545">#545</a></li>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/546">#546</a></li>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/543">#543</a></li>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/547">#547</a></li>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/548">#548</a></li>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/549">#549</a></li>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/550">#550</a></li>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/552">#552</a></li>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/554">#554</a></li>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/558">#558</a></li>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/560">#560</a></li>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/562">#562</a></li>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/563">#563</a></li>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/564">#564</a></li>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/565">#565</a></li>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/566">#566</a></li>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/579">#579</a></li>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/584">#584</a></li>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/587">#587</a></li>
<li><a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/595">#595</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="9e0dc29274"><code>9e0dc29</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/596">#596</a> from KodrAus/cargo/1.0.0</li>
<li><a href="286134f1c5"><code>286134f</code></a> prepare for 1.0.0 release</li>
<li><a href="43905eb721"><code>43905eb</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/595">#595</a> from spruceid/remove-and</li>
<li><a href="444ef96484"><code>444ef96</code></a> Remove unnecessary AND</li>
<li><a href="5f649d7601"><code>5f649d7</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/592">#592</a> from uuid-rs/KodrAus-patch-1</li>
<li><a href="92ad25faa8"><code>92ad25f</code></a> update contact details in the CoC</li>
<li><a href="767f5194a4"><code>767f519</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/591">#591</a> from uuid-rs/fix/macro-diagnostics</li>
<li><a href="8b043af60e"><code>8b043af</code></a> use the parsed literal as the span source for errors</li>
<li><a href="f0d5956129"><code>f0d5956</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/uuid-rs/uuid/issues/587">#587</a> from uuid-rs/feat/fast-sha1</li>
<li><a href="165b7eb281"><code>165b7eb</code></a> move to sha1_smol as the new name for the current library</li>
<li>Additional commits viewable in <a href="https://github.com/uuid-rs/uuid/compare/0.8.2...1.0.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=uuid&package-manager=cargo&previous-version=0.8.2&new-version=1.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] e650a2151e
Bump uuid from 0.8.2 to 1.0.0
Bumps [uuid](https://github.com/uuid-rs/uuid) from 0.8.2 to 1.0.0.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/0.8.2...1.0.0)

---
updated-dependencies:
- dependency-name: uuid
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] 46c649f0da
Merge #996
996: Implement `Identify` protocol to make network and version of ASB available to peers r=delta1 a=binarybaron

As suggested by `@thomaseizinger,` this PRs implement the [Identify](https://github.com/libp2p/specs/blob/master/identify/README.md) protocol for the ASB. It makes the rendezvous namespace (network) and the version available to other peers. This is not a breaking change yet because Bob does not rely on it yet. This can for example be used by application building on top of this project (e.g [unstoppableswap-gui](http://github.com/UnstoppableSwap/unstoppableswap-gui/)) or might serve for some kind of compatibility insurance in the future.
I'd love some feedback on this from the more experienced developers. I might very well have made some obvious mistake.

> In line with [HTTP user agent strings](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent) (which is what the `agentVersion` field in identify is based on), we could do something like:
> 
> `asb/0.8.0 (Mainnet)`
> 
> A PR adding `/identify` with these details is likely going to be accepted.
(https://github.com/comit-network/xmr-btc-swap/discussions/492#discussioncomment-970294)

Co-authored-by: binarybaron <86064887+binarybaron@users.noreply.github.com>
2 years ago
binarybaron 9e96ef64d3 Implement Identify protocol to make network and version of ASB available to peers 2 years ago
bors[bot] a962aa465d
Merge #924
924: Update from monero v17.2.0 to monero v17.3.0 r=delta1 a=devbordecraft



Co-authored-by: devbordecraft <devbordecraft>
Co-authored-by: Byron Hambly <byron@hambly.dev>
2 years ago
bors[bot] 425973d028
Merge #1002 #1012
1002: Bump tokio-util from 0.7.0 to 0.7.1 r=delta1 a=dependabot[bot]

Bumps [tokio-util](https://github.com/tokio-rs/tokio) from 0.7.0 to 0.7.1.
<details>
<summary>Commits</summary>
<ul>
<li><a href="a05135a4f8"><code>a05135a</code></a> chore: prepare tokio-util 0.7.1 release (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4521">#4521</a>)</li>
<li><a href="2bb97db5e1"><code>2bb97db</code></a> net: make <code>try_io</code> methods call mio's <code>try_io</code> internally (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4582">#4582</a>)</li>
<li><a href="a8b75dbdf4"><code>a8b75db</code></a> sync: add <code>watch::Receiver::same_channel</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4581">#4581</a>)</li>
<li><a href="f84c4d596a"><code>f84c4d5</code></a> io: add <code>StreamReader::into_inner_with_chunk</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4559">#4559</a>)</li>
<li><a href="121769c762"><code>121769c</code></a> ci: run reusable_box tests with Miri (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4578">#4578</a>)</li>
<li><a href="0abe825b72"><code>0abe825</code></a> time: clarify platform specific timer resolution (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4474">#4474</a>)</li>
<li><a href="61e37c6c8d"><code>61e37c6</code></a> ci: run doctests for unstable APIs (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4562">#4562</a>)</li>
<li><a href="dee26c92dd"><code>dee26c9</code></a> chore: fix a bunch of annoying clippy lints (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4558">#4558</a>)</li>
<li><a href="2f944dfa1b"><code>2f944df</code></a> sync: add <code>broadcast::Receiver::len</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4542">#4542</a>)</li>
<li><a href="e8ae65a697"><code>e8ae65a</code></a> tokio: add support for signals up to SIGRTMAX (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4555">#4555</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/tokio-rs/tokio/compare/tokio-util-0.7.0...tokio-util-0.7.1">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tokio-util&package-manager=cargo&previous-version=0.7.0&new-version=0.7.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1012: Bump vergen from 6.0.0 to 7.0.0 r=delta1 a=dependabot[bot]

Bumps [vergen](https://github.com/rustyhorde/vergen) from 6.0.0 to 7.0.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/rustyhorde/vergen/releases">vergen's releases</a>.</em></p>
<blockquote>
<h2>v7.0.0</h2>
<ul>
<li>Migrated from <code>chrono</code> to <code>time</code> as it's better maintained.</li>
<li>Placed the local timezone support behind a feature flag (<code>local_offset</code>).  There is a known issue that can cause a <a href="https://github.com/rustsec/advisory-db/blob/main/crates/time/RUSTSEC-2020-0071.md">potential segfault</a> in the <code>time</code> crate (which also affected <code>chrono</code>).</li>
</ul>
<h2>v6.0.2</h2>
<ul>
<li>Fixed issue where 1.57 couldn't be used to build because of incorrect lints setup in <code>build.rs</code></li>
</ul>
<h2>v6.0.1</h2>
<ul>
<li><code>sysinfo</code> dependency updated.</li>
<li>MSRV increased to 1.54</li>
<li>Documentation</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="d82785850c"><code>d827858</code></a> version bump for next release</li>
<li><a href="678bb48cca"><code>678bb48</code></a> <code>chrono</code> replaced with <code>time</code>,  <code>local_offset</code> feature flag added (<a href="https://github-redirect.dependabot.com/rustyhorde/vergen/issues/110">#110</a>)</li>
<li><a href="e9efb23183"><code>e9efb23</code></a> version bump for next release</li>
<li><a href="971622e6f7"><code>971622e</code></a> Fix msrv_lints version (<a href="https://github-redirect.dependabot.com/rustyhorde/vergen/issues/106">#106</a>)</li>
<li><a href="1a5ac8169f"><code>1a5ac81</code></a> Update README.md</li>
<li><a href="b91f2ae04e"><code>b91f2ae</code></a> version bump for next release</li>
<li><a href="f322ad588c"><code>f322ad5</code></a> Updated msrv for lints</li>
<li><a href="9b2c3a5717"><code>9b2c3a5</code></a> Updated MSRV to 1.54, sysinfo to 0.23</li>
<li><a href="59b83bd9ad"><code>59b83bd</code></a> Update Cargo.toml install docs for latest version (<a href="https://github-redirect.dependabot.com/rustyhorde/vergen/issues/104">#104</a>)</li>
<li><a href="e38b22ba7f"><code>e38b22b</code></a> removed lint</li>
<li>Additional commits viewable in <a href="https://github.com/rustyhorde/vergen/compare/6.0.0...7.0.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=vergen&package-manager=cargo&previous-version=6.0.0&new-version=7.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] 4860a08145
Bump vergen from 6.0.0 to 7.0.0
Bumps [vergen](https://github.com/rustyhorde/vergen) from 6.0.0 to 7.0.0.
- [Release notes](https://github.com/rustyhorde/vergen/releases)
- [Commits](https://github.com/rustyhorde/vergen/compare/6.0.0...7.0.0)

---
updated-dependencies:
- dependency-name: vergen
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
Byron Hambly cf248ae1e5
Merge branch 'master' into update-monero-17.3.0 2 years ago
bors[bot] a54f5d2624
Merge #1015 #1016
1015: Bump actions/checkout from 3.0.0 to 3.0.1 r=delta1 a=dependabot[bot]

Bumps [actions/checkout](https://github.com/actions/checkout) from 3.0.0 to 3.0.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/actions/checkout/releases">actions/checkout's releases</a>.</em></p>
<blockquote>
<h2>v3.0.1</h2>
<ul>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/762">Fixed an issue where checkout failed to run in container jobs due to the new git setting <code>safe.directory</code></a></li>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/744">Bumped various npm package versions</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's changelog</a>.</em></p>
<blockquote>
<h2>v3.0.1</h2>
<ul>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/762">Fixed an issue where checkout failed to run in container jobs due to the new git setting <code>safe.directory</code></a></li>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/744">Bumped various npm package versions</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="dcd71f6466"><code>dcd71f6</code></a> Enforce safe directory (<a href="https://github-redirect.dependabot.com/actions/checkout/issues/762">#762</a>)</li>
<li><a href="add3486cc3"><code>add3486</code></a> Patch to fix the dependbot alert. (<a href="https://github-redirect.dependabot.com/actions/checkout/issues/744">#744</a>)</li>
<li><a href="5126516654"><code>5126516</code></a> Bump minimist from 1.2.5 to 1.2.6 (<a href="https://github-redirect.dependabot.com/actions/checkout/issues/741">#741</a>)</li>
<li><a href="d50f8ea767"><code>d50f8ea</code></a> Add v3.0 release information to changelog (<a href="https://github-redirect.dependabot.com/actions/checkout/issues/740">#740</a>)</li>
<li><a href="2d1c1198e7"><code>2d1c119</code></a> update test workflows to checkout v3 (<a href="https://github-redirect.dependabot.com/actions/checkout/issues/709">#709</a>)</li>
<li>See full diff in <a href="https://github.com/actions/checkout/compare/v3.0.0...v3.0.1">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/checkout&package-manager=github_actions&previous-version=3.0.0&new-version=3.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1016: Bump tracing from 0.1.33 to 0.1.34 r=delta1 a=dependabot[bot]

Bumps [tracing](https://github.com/tokio-rs/tracing) from 0.1.33 to 0.1.34.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/tokio-rs/tracing/releases">tracing's releases</a>.</em></p>
<blockquote>
<h2>tracing 0.1.34</h2>
<p>This release includes bug fixes for the &quot;log&quot; support feature and for the use of
both scoped and global default dispatchers in the same program.</p>
<h3>Fixed</h3>
<ul>
<li>Failure to use the global default dispatcher when a thread sets a local
default dispatcher before the global default is set (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2065">#2065</a>)</li>
<li><strong>log</strong>: Compilation errors due to <code>async</code> block/fn futures becoming <code>!Send</code>
when the &quot;log&quot; feature flag is enabled (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2073">#2073</a>)</li>
<li>Broken links in documentation (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2068">#2068</a>)</li>
</ul>
<p>Thanks to <a href="https://github.com/ben0x539"><code>`@​ben0x539</code></a>` for contributing to this release!</p>
<p><a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2065">#2065</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tracing/pull/2065">tokio-rs/tracing#2065</a>
<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2073">#2073</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tracing/pull/2073">tokio-rs/tracing#2073</a>
<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2068">#2068</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tracing/pull/2068">tokio-rs/tracing#2068</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="4f1e46306d"><code>4f1e463</code></a> tracing: prepare to release v0.1.34 (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2076">#2076</a>)</li>
<li><a href="cb294a9958"><code>cb294a9</code></a> core: prepare to release v0.1.26</li>
<li><a href="96347c7b78"><code>96347c7</code></a> core: add <code>Value</code> impl for <code>Box\&lt;T&gt; where T: Value</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2071">#2071</a>)</li>
<li><a href="8c67359846"><code>8c67359</code></a> tracing: fix the &quot;log&quot; feature making async block futures <code>!Send</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2073">#2073</a>)</li>
<li><a href="438b013c01"><code>438b013</code></a> docs: use intra-doc links instead of relative file paths (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2068">#2068</a>)</li>
<li><a href="9d10e2cfe0"><code>9d10e2c</code></a> core: prepare to release v0.1.25 (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2070">#2070</a>)</li>
<li><a href="50a726b647"><code>50a726b</code></a> core: impl <code>Value</code> for <code>dyn Error + Send/Sync</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2066">#2066</a>)</li>
<li><a href="fc694a5bcc"><code>fc694a5</code></a> core: fix scoped dispatchers clobbering the global default  (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2065">#2065</a>)</li>
<li><a href="3c85d9c85c"><code>3c85d9c</code></a> subscriber: fix doc link for impl Layer for Vec (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2064">#2064</a>)</li>
<li><a href="b9da5441ea"><code>b9da544</code></a> subscriber: prepare to release v0.3.11 (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2062">#2062</a>)</li>
<li>See full diff in <a href="https://github.com/tokio-rs/tracing/compare/tracing-0.1.33...tracing-0.1.34">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tracing&package-manager=cargo&previous-version=0.1.33&new-version=0.1.34)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
bors[bot] 3042de2e92
Merge #1017
1017: Bump toml from 0.5.8 to 0.5.9 r=delta1 a=dependabot[bot]

Bumps [toml](https://github.com/alexcrichton/toml-rs) from 0.5.8 to 0.5.9.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/alexcrichton/toml-rs/releases">toml's releases</a>.</em></p>
<blockquote>
<h2>0.5.9</h2>
<p>Changes:</p>
<ul>
<li><a href="https://github-redirect.dependabot.com/alexcrichton/toml-rs/issues/373">#373</a>: Allow empty table keys</li>
<li><a href="https://github-redirect.dependabot.com/alexcrichton/toml-rs/issues/426">#426</a>: Fix serialization of -0.0</li>
<li><a href="https://github-redirect.dependabot.com/alexcrichton/toml-rs/issues/439">#439</a>: Make datetime structs and fields public</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="70caf40853"><code>70caf40</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/alexcrichton/toml-rs/issues/463">#463</a> from ehuss/version-bump</li>
<li><a href="63dd7f7fde"><code>63dd7f7</code></a> Bump to 0.5.9</li>
<li><a href="499e8c4bb3"><code>499e8c4</code></a> examples: Allow dead code (<a href="https://github-redirect.dependabot.com/alexcrichton/toml-rs/issues/450">#450</a>)</li>
<li><a href="83d787c60d"><code>83d787c</code></a> Make datetime.rs structs and fields public <a href="https://github-redirect.dependabot.com/alexcrichton/toml-rs/issues/431">#431</a> (<a href="https://github-redirect.dependabot.com/alexcrichton/toml-rs/issues/439">#439</a>)</li>
<li><a href="d8a9a98cbb"><code>d8a9a98</code></a> Use entry api to remove a lookup in deserialisation loop (<a href="https://github-redirect.dependabot.com/alexcrichton/toml-rs/issues/438">#438</a>)</li>
<li><a href="c2a069f5de"><code>c2a069f</code></a> Upgrade to GitHub-native Dependabot (<a href="https://github-redirect.dependabot.com/alexcrichton/toml-rs/issues/427">#427</a>)</li>
<li><a href="a6420b64d5"><code>a6420b6</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/alexcrichton/toml-rs/issues/373">#373</a> from mgsloan/allow-empty-table-keys</li>
<li><a href="1928707496"><code>1928707</code></a> Fix serialization of -0.0. (<a href="https://github-redirect.dependabot.com/alexcrichton/toml-rs/issues/426">#426</a>)</li>
<li><a href="b1417006df"><code>b141700</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/alexcrichton/toml-rs/issues/417">#417</a> from hone/patch-1</li>
<li><a href="a6e3d52f47"><code>a6e3d52</code></a> Fix comment typo</li>
<li>Additional commits viewable in <a href="https://github.com/alexcrichton/toml-rs/compare/0.5.8...0.5.9">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=toml&package-manager=cargo&previous-version=0.5.8&new-version=0.5.9)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] 878a45eafd
Bump toml from 0.5.8 to 0.5.9
Bumps [toml](https://github.com/alexcrichton/toml-rs) from 0.5.8 to 0.5.9.
- [Release notes](https://github.com/alexcrichton/toml-rs/releases)
- [Commits](https://github.com/alexcrichton/toml-rs/compare/0.5.8...0.5.9)

---
updated-dependencies:
- dependency-name: toml
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] d8689f36f8
Bump tracing from 0.1.33 to 0.1.34
Bumps [tracing](https://github.com/tokio-rs/tracing) from 0.1.33 to 0.1.34.
- [Release notes](https://github.com/tokio-rs/tracing/releases)
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-0.1.33...tracing-0.1.34)

---
updated-dependencies:
- dependency-name: tracing
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] 739f36f768
Bump actions/checkout from 3.0.0 to 3.0.1
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.0.0...v3.0.1)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] cb572f88c7
Merge #1011
1011: Bump time from 0.3.7 to 0.3.9 r=delta1 a=dependabot[bot]

Bumps [time](https://github.com/time-rs/time) from 0.3.7 to 0.3.9.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/time-rs/time/releases">time's releases</a>.</em></p>
<blockquote>
<h2>v0.3.9</h2>
<p>See the <a href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">changelog</a> for details.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">time's changelog</a>.</em></p>
<blockquote>
<h2>0.3.9 [2022-03-22]</h2>
<h3>Added</h3>
<ul>
<li><code>time::serde::format_description!</code>
<ul>
<li>This macro is similar to <code>time::format_description!</code>, but it generates a module that can be used
in <code>#[serde(with = &quot;foo&quot;)]</code>. This makes it far easier to serialize/deserialize a custom format.</li>
</ul>
</li>
<li><code>Date::replace_year</code></li>
<li><code>Date::replace_month</code></li>
<li><code>Date::replace_day</code></li>
<li><code>Time::replace_hour</code></li>
<li><code>Time::replace_minute</code></li>
<li><code>Time::replace_second</code></li>
<li><code>Time::replace_millisecond</code></li>
<li><code>Time::replace_microsecond</code></li>
<li><code>Time::replace_nanosecond</code></li>
<li><code>PrimitiveDateTime::replace_year</code></li>
<li><code>PrimitiveDateTime::replace_month</code></li>
<li><code>PrimitiveDateTime::replace_day</code></li>
<li><code>PrimitiveDateTime::replace_hour</code></li>
<li><code>PrimitiveDateTime::replace_minute</code></li>
<li><code>PrimitiveDateTime::replace_second</code></li>
<li><code>PrimitiveDateTime::replace_millisecond</code></li>
<li><code>PrimitiveDateTime::replace_microsecond</code></li>
<li><code>PrimitiveDateTime::replace_nanosecond</code></li>
<li><code>OffsetDateTime::replace_year</code></li>
<li><code>OffsetDateTime::replace_month</code></li>
<li><code>OffsetDateTime::replace_day</code></li>
<li><code>OffsetDateTime::replace_hour</code></li>
<li><code>OffsetDateTime::replace_minute</code></li>
<li><code>OffsetDateTime::replace_second</code></li>
<li><code>OffsetDateTime::replace_millisecond</code></li>
<li><code>OffsetDateTime::replace_microsecond</code></li>
<li><code>OffsetDateTime::replace_nanosecond</code></li>
<li><code>Parsed::offset_minute_signed</code></li>
<li><code>Parsed::offset_second_signed</code></li>
<li><code>Parsed::set_offset_minute_signed</code></li>
<li><code>Parsed::set_offset_second_signed</code></li>
<li><code>Parsed::with_offset_minute_signed</code></li>
<li><code>Parsed::with_offset_second_signed</code></li>
<li><code>error::InvalidVariant</code></li>
<li><code>impl FromStr</code> for <code>Weekday</code></li>
<li><code>impl FromStr</code> for <code>Month</code></li>
<li><code>impl Display for Duration</code></li>
</ul>
<h3>Deprecated</h3>
<p>The following methods have been deprecated in favor of the new, signed equivalent methods. The
pre-existing methods</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="a957e12213"><code>a957e12</code></a> 0.3.9 release</li>
<li><a href="64172e9de4"><code>64172e9</code></a> v0.3.8 release</li>
<li><a href="e95ea6d251"><code>e95ea6d</code></a> Add tests for size, alignment, trait impls</li>
<li><a href="24c36afdc3"><code>24c36af</code></a> Performance improvement</li>
<li><a href="c0516544ec"><code>c051654</code></a> Move to tt-muncher parsing</li>
<li><a href="0a3cf3ce52"><code>0a3cf3c</code></a> Implement <code>Display</code> for <code>Duration</code></li>
<li><a href="dbec276ea3"><code>dbec276</code></a> Implement <code>FromStr</code> for <code>Weekday</code>, <code>Month</code></li>
<li><a href="460b7ab383"><code>460b7ab</code></a> Limit use of fields in <code>Parsed</code></li>
<li><a href="46bf135bd6"><code>46bf135</code></a> Store offset components properly</li>
<li><a href="5fde5ef8d8"><code>5fde5ef</code></a> Relocate some code, improve internals</li>
<li>Additional commits viewable in <a href="https://github.com/time-rs/time/compare/v0.3.7...v0.3.9">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=time&package-manager=cargo&previous-version=0.3.7&new-version=0.3.9)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
bors[bot] e1e7b1ef51
Merge #1014
1014: Bump reqwest from 0.11.9 to 0.11.10 r=delta1 a=dependabot[bot]

Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.11.9 to 0.11.10.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/seanmonstar/reqwest/releases">reqwest's releases</a>.</em></p>
<blockquote>
<h2>v0.11.10</h2>
<h2>What's Changed</h2>
<ul>
<li>Add <code>Error::url()</code> to access the URL of an error.</li>
<li>Add <code>Response::extensions()</code> to access the <code>http::Extensions</code> of a response.</li>
<li>Fix <code>rustls-native-certs</code> to log an error instead of panicking when loading an invalid system certificate.</li>
<li>Fix passing Basic Authorization header to proxies.</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/nikstur"><code>`@​nikstur</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/pull/1448">seanmonstar/reqwest#1448</a></li>
<li><a href="https://github.com/ecclarke42"><code>`@​ecclarke42</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/pull/1442">seanmonstar/reqwest#1442</a></li>
<li><a href="https://github.com/TjeuKayim"><code>`@​TjeuKayim</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/pull/1316">seanmonstar/reqwest#1316</a></li>
<li><a href="https://github.com/kraktus"><code>`@​kraktus</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/pull/1456">seanmonstar/reqwest#1456</a></li>
<li><a href="https://github.com/edmorley"><code>`@​edmorley</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/pull/1482">seanmonstar/reqwest#1482</a></li>
<li><a href="https://github.com/ViddeM"><code>`@​ViddeM</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/pull/1480">seanmonstar/reqwest#1480</a></li>
<li><a href="https://github.com/nihaals"><code>`@​nihaals</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/pull/1490">seanmonstar/reqwest#1490</a></li>
<li><a href="https://github.com/biluohc"><code>`@​biluohc</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/pull/1491">seanmonstar/reqwest#1491</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md">reqwest's changelog</a>.</em></p>
<blockquote>
<h2>v0.11.10</h2>
<ul>
<li>Add <code>Error::url()</code> to access the URL of an error.</li>
<li>Add <code>Response::extensions()</code> to access the <code>http::Extensions</code> of a response.</li>
<li>Fix <code>rustls-native-certs</code> to log an error instead of panicking when loading an invalid system certificate.</li>
<li>Fix passing Basic Authorization header to proxies.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="798df70fb0"><code>798df70</code></a> v0.11.10</li>
<li><a href="6dbac11d39"><code>6dbac11</code></a> expose http::Extensions in Response (<a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/issues/1476">#1476</a>)</li>
<li><a href="ee57777d42"><code>ee57777</code></a> fix basic-auth for access http over https's proxy (<a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/issues/1491">#1491</a>)</li>
<li><a href="b4f716bd3a"><code>b4f716b</code></a> Update winreg to 0.10 (<a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/issues/1496">#1496</a>)</li>
<li><a href="f889a7b6a7"><code>f889a7b</code></a> Improve <code>RequestBuilder.form()</code> docs (<a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/issues/1490">#1490</a>)</li>
<li><a href="0170947fb4"><code>0170947</code></a> Bump MSRV to 1.49 (<a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/issues/1484">#1484</a>)</li>
<li><a href="faea83b562"><code>faea83b</code></a> Fix doc example code for query parameters (<a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/issues/1480">#1480</a>)</li>
<li><a href="70d05cfab6"><code>70d05cf</code></a> docs; fix typo in <code>Client::new()</code> (<a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/issues/1482">#1482</a>)</li>
<li><a href="0384759a19"><code>0384759</code></a> Bump rustls-pemfile to 0.3 (<a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/issues/1459">#1459</a>)</li>
<li><a href="a654d3951e"><code>a654d39</code></a> Bump serde_urlencoded to 0.7.1 (<a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/issues/1457">#1457</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/seanmonstar/reqwest/compare/v0.11.9...v0.11.10">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=reqwest&package-manager=cargo&previous-version=0.11.9&new-version=0.11.10)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] d093bd027f
Bump reqwest from 0.11.9 to 0.11.10
Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.11.9 to 0.11.10.
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.11.9...v0.11.10)

---
updated-dependencies:
- dependency-name: reqwest
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] 249d0ac39d
Bump time from 0.3.7 to 0.3.9
Bumps [time](https://github.com/time-rs/time) from 0.3.7 to 0.3.9.
- [Release notes](https://github.com/time-rs/time/releases)
- [Changelog](https://github.com/time-rs/time/blob/main/CHANGELOG.md)
- [Commits](https://github.com/time-rs/time/compare/v0.3.7...v0.3.9)

---
updated-dependencies:
- dependency-name: time
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] 01dd0b5177
Merge #919 #977 #978 #998 #999 #1003 #1004 #1005
919: update option documentation to specify amount format r=delta1 a=icy-ux

The current amount format is very confusing (see #667). Add documentation to
explain the correct format to use when withdrawing BTC.

977: Bump async-compression from 0.3.8 to 0.3.12 r=delta1 a=dependabot[bot]

Bumps [async-compression](https://github.com/Nemo157/async-compression) from 0.3.8 to 0.3.12.
<details>
<summary>Commits</summary>
<ul>
<li><a href="7e9ecbb336"><code>7e9ecbb</code></a> Merge <a href="https://github-redirect.dependabot.com/Nemo157/async-compression/issues/140">#140</a></li>
<li><a href="b73c063f98"><code>b73c063</code></a> Bump version to 0.3.12</li>
<li><a href="711aff3858"><code>711aff3</code></a> Merge <a href="https://github-redirect.dependabot.com/Nemo157/async-compression/issues/139">#139</a></li>
<li><a href="4577e830b1"><code>4577e83</code></a> Use only <code>std</code> feature for <code>brotli</code></li>
<li><a href="40f2446f20"><code>40f2446</code></a> Merge <a href="https://github-redirect.dependabot.com/Nemo157/async-compression/issues/138">#138</a></li>
<li><a href="9dd06201dd"><code>9dd0620</code></a> Bump version to 0.3.11</li>
<li><a href="ea9ebad269"><code>ea9ebad</code></a> Merge <a href="https://github-redirect.dependabot.com/Nemo157/async-compression/issues/131">#131</a></li>
<li><a href="15a0ab8294"><code>15a0ab8</code></a> Update zstd dependency</li>
<li><a href="ca078b4ba7"><code>ca078b4</code></a> Merge <a href="https://github-redirect.dependabot.com/Nemo157/async-compression/issues/137">#137</a></li>
<li><a href="36563e871a"><code>36563e8</code></a> Bump version to 0.3.10</li>
<li>Additional commits viewable in <a href="https://github.com/Nemo157/async-compression/compare/0.3.8...0.3.12">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=async-compression&package-manager=cargo&previous-version=0.3.8&new-version=0.3.12)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

978: Bump serde_json from 1.0.74 to 1.0.79 r=delta1 a=dependabot[bot]

Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.74 to 1.0.79.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p>
<blockquote>
<h2>v1.0.79</h2>
<ul>
<li>Allow <code>RawValue</code> deserialization to propagate <code>\u</code> escapes for unmatched surrogates, which can later by deserialized to Vec&lt;u8&gt; (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/830">#830</a>, thanks <a href="https://github.com/lucacasonato"><code>`@​lucacasonato</code></a>)</li>`
</ul>
<h2>v1.0.78</h2>
<ul>
<li>Support deserializing as <code>&amp;RawValue</code> in map key position, which would previously fail with <em>&quot;invalid type: newtype struct&quot;</em> (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/851">#851</a>)</li>
</ul>
<h2>v1.0.77</h2>
<ul>
<li>Include discord invite links in the published readme</li>
<li>Improve compile error on compiling with neither <code>std</code> nor <code>alloc</code> feature enabled</li>
<li>Include integration tests in published package (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/578">#578</a>)</li>
</ul>
<h2>v1.0.76</h2>
<ul>
<li>Fix a build error when features <code>raw_value</code> and <code>alloc</code> are enabled while <code>std</code> is disabled (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/850">#850</a>)</li>
</ul>
<h2>v1.0.75</h2>
<ul>
<li>Fix deserialization of small integers in arbitrary_precision mode (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/845">#845</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="7025523603"><code>7025523</code></a> Release 1.0.79</li>
<li><a href="7e56a406e5"><code>7e56a40</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/830">#830</a> from lucacasonato/support_lone_surrogates_in_raw_value</li>
<li><a href="977975ee65"><code>977975e</code></a> Ignore buggy ptr_arg clippy lint</li>
<li><a href="aa78d6ca4e"><code>aa78d6c</code></a> Resolve needless_borrow clippy lint</li>
<li><a href="98cafacefe"><code>98cafac</code></a> Release 1.0.78</li>
<li><a href="2d81cbd113"><code>2d81cbd</code></a> Move raw_value test imports to block of imports</li>
<li><a href="cbb0342ba0"><code>cbb0342</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/851">#851</a> from serde-rs/rawkey</li>
<li><a href="e5cdfcc7ee"><code>e5cdfcc</code></a> Support deserializing map key as &amp;RawValue</li>
<li><a href="6a3fb68979"><code>6a3fb68</code></a> Add test of deserializing a &amp;RawValue in map key position</li>
<li><a href="d8512af496"><code>d8512af</code></a> Release 1.0.77</li>
<li>Additional commits viewable in <a href="https://github.com/serde-rs/json/compare/v1.0.74...v1.0.79">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_json&package-manager=cargo&previous-version=1.0.74&new-version=1.0.79)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

998: Bump Swatinem/rust-cache from 1.3.0 to 1.4.0 r=delta1 a=dependabot[bot]

Bumps [Swatinem/rust-cache](https://github.com/Swatinem/rust-cache) from 1.3.0 to 1.4.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/Swatinem/rust-cache/blob/v1/CHANGELOG.md">Swatinem/rust-cache's changelog</a>.</em></p>
<blockquote>
<h2>1.4.0</h2>
<ul>
<li>Clean both <code>debug</code> and <code>release</code> target directories.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="cb2cf0cc7c"><code>cb2cf0c</code></a> 1.4.0</li>
<li><a href="74e8e24b6d"><code>74e8e24</code></a> Update dependencies, clean both debug and release targets</li>
<li><a href="f8f67b7515"><code>f8f67b7</code></a> Add a LICENSE file</li>
<li><a href="5b2b053862"><code>5b2b053</code></a> Improve Cache Details documentation (<a href="https://github-redirect.dependabot.com/Swatinem/rust-cache/issues/49">#49</a>)</li>
<li><a href="3bb3a9a087"><code>3bb3a9a</code></a> update deps and rebuild</li>
<li><a href="d127014599"><code>d127014</code></a> update dependencies</li>
<li><a href="801365cd81"><code>801365c</code></a> hint that checkout has to be used first (<a href="https://github-redirect.dependabot.com/Swatinem/rust-cache/issues/34">#34</a>)</li>
<li><a href="c5ed9ba6b7"><code>c5ed9ba</code></a> update dependencies and rebuild</li>
<li><a href="536c94f32c"><code>536c94f</code></a> Cache-on-failure support (<a href="https://github-redirect.dependabot.com/Swatinem/rust-cache/issues/22">#22</a>)</li>
<li>See full diff in <a href="https://github.com/Swatinem/rust-cache/compare/v1.3.0...v1.4.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Swatinem/rust-cache&package-manager=github_actions&previous-version=1.3.0&new-version=1.4.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

999: Bump tracing from 0.1.29 to 0.1.33 r=delta1 a=dependabot[bot]

Bumps [tracing](https://github.com/tokio-rs/tracing) from 0.1.29 to 0.1.33.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/tokio-rs/tracing/releases">tracing's releases</a>.</em></p>
<blockquote>
<h2>tracing 0.1.33</h2>
<p>This release adds new <code>span_enabled!</code> and <code>event_enabled!</code> variants of the
<code>enabled!</code> macro, for testing whether a subscriber would specifically enable a
span or an event.</p>
<h3>Added</h3>
<ul>
<li><code>span_enabled!</code> and <code>event_enabled!</code> macros (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/1900">#1900</a>)</li>
<li>Several documentation improvements (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2010">#2010</a>, <a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2012">#2012</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Compilation warning when compiling for &lt;=32-bit targets (including <code>wasm32</code>)
(<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2060">#2060</a>)</li>
</ul>
<p>Thanks to <a href="https://github.com/guswynn"><code>`@​guswynn</code></a>,` <a href="https://github.com/arifd"><code>`@​arifd</code></a>,` <a href="https://github.com/hrxi"><code>`@​hrxi</code></a>,` <a href="https://github.com/CAD97"><code>`@​CAD97</code></a>,` and <a href="https://github.com/name1e5s"><code>`@​name1e5s</code></a>` for contributing to
this release!</p>
<p><a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/1900">#1900</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tracing/pull/1900">tokio-rs/tracing#1900</a>
<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2010">#2010</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tracing/pull/2010">tokio-rs/tracing#2010</a>
<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2012">#2012</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tracing/pull/2012">tokio-rs/tracing#2012</a>
<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2060">#2060</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tracing/pull/2060">tokio-rs/tracing#2060</a></p>
<h2>tracing 0.1.32</h2>
<p>This release reduces the overhead of creating and dropping disabled
spans significantly, which should improve performance when no <code>tracing</code>
subscriber is in use or when spans are disabled by a filter.</p>
<h3>Fixed</h3>
<ul>
<li><strong>attributes</strong>: Compilation failure with <code>--minimal-versions</code> due to a
too-permissive <code>syn</code> dependency (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/1960">#1960</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Reduced <code>Drop</code> overhead for disabled spans (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/1974">#1974</a>)</li>
<li><code>tracing-attributes</code>: updated to [0.1.20][attributes-0.1.20]</li>
</ul>
<p><a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/1974">#1974</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tracing/pull/1974">tokio-rs/tracing#1974</a>
<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/1960">#1960</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tracing/pull/1960">tokio-rs/tracing#1960</a>
[attributes-0.1.20]: <a href="https://github.com/tokio-rs/tracing/releases/tag/tracing-attributes-0.1.20">https://github.com/tokio-rs/tracing/releases/tag/tracing-attributes-0.1.20</a></p>
<h2>tracing 0.1.31</h2>
<p>This release increases the minimum supported Rust version (MSRV) to 1.49.0. In
addition, it fixes some relatively rare macro bugs.</p>
<h3>Added</h3>
<ul>
<li>Added <code>tracing-forest</code> to the list of related crates (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/1935">#1935</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="40fb304370"><code>40fb304</code></a> tracing: prepare to release v0.1.33 (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2061">#2061</a>)</li>
<li><a href="d91af65bde"><code>d91af65</code></a> chore(ci): add a minimal-versions check (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2015">#2015</a>)</li>
<li><a href="ce613f8795"><code>ce613f8</code></a> journald: remove span field prefixes; add separate fields for span data (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/1968">#1968</a>)</li>
<li><a href="b0146c5784"><code>b0146c5</code></a> subscriber: add missing <code>Filter::on_record</code> for to <code>EnvFilter</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2058">#2058</a>)</li>
<li><a href="d554b2b589"><code>d554b2b</code></a> subscriber: add inherent impls for <code>EnvFilter</code> methods (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2057">#2057</a>)</li>
<li><a href="75f82ece4c"><code>75f82ec</code></a> subscriber: fix empty string handling in <code>EnvFilter::builder().parse</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2052">#2052</a>)</li>
<li><a href="66514cde8c"><code>66514cd</code></a> chore: fix Rust 1.60 warnings (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2056">#2056</a>)</li>
<li><a href="38da7ea655"><code>38da7ea</code></a> tracing: fix issues compiling for WASM/other &lt;=32-bit platforms (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2060">#2060</a>)</li>
<li><a href="8f240e6b6f"><code>8f240e6</code></a> core: prepare to release 0.1.24 (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2042">#2042</a>)</li>
<li><a href="42888dc5c9"><code>42888dc</code></a> subscriber: prepare to release v0.3.10 (<a href="https://github-redirect.dependabot.com/tokio-rs/tracing/issues/2041">#2041</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/tokio-rs/tracing/compare/tracing-0.1.29...tracing-0.1.33">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tracing&package-manager=cargo&previous-version=0.1.29&new-version=0.1.33)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1003: Bump strum from 0.23.0 to 0.24.0 r=delta1 a=dependabot[bot]

Bumps [strum](https://github.com/Peternator7/strum) from 0.23.0 to 0.24.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/Peternator7/strum/blob/master/CHANGELOG.md">strum's changelog</a>.</em></p>
<blockquote>
<h2>0.24.0</h2>
<ul>
<li>
<p><a href="https://github-redirect.dependabot.com/Peternator7/strum/pull/212">#212</a>. Fix some clippy lints</p>
</li>
<li>
<p><a href="https://github-redirect.dependabot.com/Peternator7/strum/pull/209">#209</a>. Use <code>core</code> instead of <code>std</code> in a few places.</p>
</li>
<li>
<p><a href="https://github-redirect.dependabot.com/Peternator7/strum/pull/206">#206</a>. Add <code>get_documentation()</code> to <code>EnumMessage</code>. This provides
the ability to get the doc comment for a variant. Currently, very little formatting is done. That is subject to change.
Please do not abuse this feature. Rust docs are meant for developer documentation, not long messages for users. However,
this may be useful in some situations so we've added support for it.</p>
</li>
<li>
<p><a href="https://github-redirect.dependabot.com/Peternator7/strum/pull/202">#202</a>. Add a missing doc comment</p>
</li>
<li>
<p><a href="https://github-redirect.dependabot.com/Peternator7/strum/pull/201">#201</a>. Upgrade Heck version</p>
</li>
</ul>
<h2>0.23.1</h2>
<ul>
<li>
<p><a href="https://github-redirect.dependabot.com/Peternator7/strum/pull/193">#193</a> Fixes an ambiguity introduced by <a href="https://github-redirect.dependabot.com/Peternator7/strum/issues/186">#186</a> when your enum has a variant called Error.</p>
</li>
<li>
<p><a href="https://github-redirect.dependabot.com/Peternator7/strum/pull/192">#192</a> The work done in <a href="https://github-redirect.dependabot.com/Peternator7/strum/issues/189">#189</a> was lost in other PR's. This re-added the functionality to support no-std.</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/Peternator7/strum/commits">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=strum&package-manager=cargo&previous-version=0.23.0&new-version=0.24.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1004: Bump serde_with from 1.12.0 to 1.12.1 r=delta1 a=dependabot[bot]

Bumps [serde_with](https://github.com/jonasbb/serde_with) from 1.12.0 to 1.12.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/jonasbb/serde_with/releases">serde_with's releases</a>.</em></p>
<blockquote>
<h2>serde_with v1.12.1</h2>
<h2>Fixed</h2>
<ul>
<li>Depend on a newer <code>serde_with_macros</code> version to pull in some fixes.
<ul>
<li>Account for generics when deriving implementations with <code>SerializeDisplay</code> and <code>DeserializeFromStr</code> <a href="https://github-redirect.dependabot.com/jonasbb/serde_with/issues/413">#413</a></li>
<li>Provide better error messages when parsing types fails <a href="https://github-redirect.dependabot.com/jonasbb/serde_with/issues/423">#423</a></li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="c46454c20c"><code>c46454c</code></a> Merge <a href="https://github-redirect.dependabot.com/jonasbb/serde_with/issues/427">#427</a></li>
<li><a href="a1b17510a1"><code>a1b1751</code></a> Fix syntax error in the release script</li>
<li><a href="c60c753e78"><code>c60c753</code></a> Merge <a href="https://github-redirect.dependabot.com/jonasbb/serde_with/issues/426">#426</a></li>
<li><a href="99a440ad29"><code>99a440a</code></a> Bump versions to release macro fixes / improvements</li>
<li><a href="77c2f593d6"><code>77c2f59</code></a> Merge <a href="https://github-redirect.dependabot.com/jonasbb/serde_with/issues/425">#425</a></li>
<li><a href="86f9eac005"><code>86f9eac</code></a> Replace <code>parse_type_from_string</code> with new <code>FromMeta</code> implementation</li>
<li><a href="05e9bb5b20"><code>05e9bb5</code></a> Merge <a href="https://github-redirect.dependabot.com/jonasbb/serde_with/issues/424">#424</a></li>
<li><a href="8264ee5451"><code>8264ee5</code></a> Rework pre installed tools in the devcontainer</li>
<li><a href="e4681d500d"><code>e4681d5</code></a> Merge <a href="https://github-redirect.dependabot.com/jonasbb/serde_with/issues/421">#421</a></li>
<li><a href="c94da71c18"><code>c94da71</code></a> Fix wrong clippy warning</li>
<li>Additional commits viewable in <a href="https://github.com/jonasbb/serde_with/compare/v1.12.0...v1.12.1">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_with&package-manager=cargo&previous-version=1.12.0&new-version=1.12.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

1005: Bump rust_decimal_macros from 1.22.0 to 1.23.1 r=delta1 a=dependabot[bot]

Bumps [rust_decimal_macros](https://github.com/paupino/rust-decimal) from 1.22.0 to 1.23.1.
<details>
<summary>Commits</summary>
<ul>
<li><a href="a88e9ae26b"><code>a88e9ae</code></a> Version 1.23.1 (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/502">#502</a>)</li>
<li><a href="0971386d9a"><code>0971386</code></a> Fixes no_std compile by avoiding to_string (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/501">#501</a>)</li>
<li><a href="13735d63a3"><code>13735d6</code></a> Remove keyword since crates.io only supports 5</li>
<li><a href="7a171cfdc9"><code>7a171cf</code></a> Version 1.23.0 (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/499">#499</a>)</li>
<li><a href="88125c81cb"><code>88125c8</code></a> Implement BorshSchema (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/498">#498</a>)</li>
<li><a href="2de2a6dd2f"><code>2de2a6d</code></a> Fix Decimal::to_i64 for I64::MIN (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/496">#496</a>)</li>
<li><a href="168fa67932"><code>168fa67</code></a> Add TryFrom impls to primitive types (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/493">#493</a>)</li>
<li><a href="4b97ec42c7"><code>4b97ec4</code></a> Inv implementation for Decimal  (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/495">#495</a>)</li>
<li><a href="2d43258460"><code>2d43258</code></a> Minor description changes to help with discoverability (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/490">#490</a>)</li>
<li><a href="34060a2a27"><code>34060a2</code></a> Additional serde test for arbitrary precision (<a href="https://github-redirect.dependabot.com/paupino/rust-decimal/issues/487">#487</a>)</li>
<li>See full diff in <a href="https://github.com/paupino/rust-decimal/compare/1.22.0...1.23.1">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rust_decimal_macros&package-manager=cargo&previous-version=1.22.0&new-version=1.23.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: icy-ux <>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] 234a50dfb4
Bump tokio-util from 0.7.0 to 0.7.1
Bumps [tokio-util](https://github.com/tokio-rs/tokio) from 0.7.0 to 0.7.1.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-util-0.7.0...tokio-util-0.7.1)

---
updated-dependencies:
- dependency-name: tokio-util
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] 20883a324e
Merge #819
819: Bump thomaseizinger/keep-a-changelog-new-release from 1.2.1 to 1.3.0 r=delta1 a=dependabot[bot]

Bumps [thomaseizinger/keep-a-changelog-new-release](https://github.com/thomaseizinger/keep-a-changelog-new-release) from 1.2.1 to 1.3.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/thomaseizinger/keep-a-changelog-new-release/releases">thomaseizinger/keep-a-changelog-new-release's releases</a>.</em></p>
<blockquote>
<h2>1.3.0</h2>
<h3>Added</h3>
<ul>
<li>New optional <code>tag</code> argument allowing <code>v</code>-prefixed versions</li>
</ul>
<h3>Changed</h3>
<ul>
<li>The <code>version</code> argument is no longer required</li>
</ul>
<h3>Deprecated</h3>
<ul>
<li>The <code>version</code> argument will be replaced in favor of the <code>tag</code> argument</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/thomaseizinger/keep-a-changelog-new-release/blob/master/CHANGELOG.md">thomaseizinger/keep-a-changelog-new-release's changelog</a>.</em></p>
<blockquote>
<h2>[1.3.0] - 2021-10-12</h2>
<h3>Added</h3>
<ul>
<li>New optional <code>tag</code> argument allowing <code>v</code>-prefixed versions</li>
</ul>
<h3>Changed</h3>
<ul>
<li>The <code>version</code> argument is no longer required</li>
</ul>
<h3>Deprecated</h3>
<ul>
<li>The <code>version</code> argument will be replaced in favor of the <code>tag</code> argument</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="5bc2328934"><code>5bc2328</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/thomaseizinger/keep-a-changelog-new-release/issues/11">#11</a> from h4sh3d/add-tag-argument</li>
<li><a href="7e9f6cc8c3"><code>7e9f6cc</code></a> Document new tag argument</li>
<li><a href="576342e16c"><code>576342e</code></a> New tag argument to control prefix of version</li>
<li>See full diff in <a href="https://github.com/thomaseizinger/keep-a-changelog-new-release/compare/1.2.1...1.3.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=thomaseizinger/keep-a-changelog-new-release&package-manager=github_actions&previous-version=1.2.1&new-version=1.3.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
bors[bot] 9283481075
Merge #997
997: Bump actions/checkout from 2.4.0 to 3.0.0 r=delta1 a=dependabot[bot]

Bumps [actions/checkout](https://github.com/actions/checkout) from 2.4.0 to 3.0.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's changelog</a>.</em></p>
<blockquote>
<h2>v3.0.0</h2>
<ul>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/689">Update to node 16</a></li>
</ul>
<h2>v2.3.1</h2>
<ul>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/284">Fix default branch resolution for .wiki and when using SSH</a></li>
</ul>
<h2>v2.3.0</h2>
<ul>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/278">Fallback to the default branch</a></li>
</ul>
<h2>v2.2.0</h2>
<ul>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/258">Fetch all history for all tags and branches when fetch-depth=0</a></li>
</ul>
<h2>v2.1.1</h2>
<ul>
<li>Changes to support GHES (<a href="https://github-redirect.dependabot.com/actions/checkout/pull/236">here</a> and <a href="https://github-redirect.dependabot.com/actions/checkout/pull/248">here</a>)</li>
</ul>
<h2>v2.1.0</h2>
<ul>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/191">Group output</a></li>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/199">Changes to support GHES alpha release</a></li>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/184">Persist core.sshCommand for submodules</a></li>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/163">Add support ssh</a></li>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/179">Convert submodule SSH URL to HTTPS, when not using SSH</a></li>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/157">Add submodule support</a></li>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/144">Follow proxy settings</a></li>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/141">Fix ref for pr closed event when a pr is merged</a></li>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/128">Fix issue checking detached when git less than 2.22</a></li>
</ul>
<h2>v2.0.0</h2>
<ul>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/108">Do not pass cred on command line</a></li>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/107">Add input persist-credentials</a></li>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/104">Fallback to REST API to download repo</a></li>
</ul>
<h2>v2 (beta)</h2>
<ul>
<li>Improved fetch performance
<ul>
<li>The default behavior now fetches only the SHA being checked-out</li>
</ul>
</li>
<li>Script authenticated git commands
<ul>
<li>Persists <code>with.token</code> in the local git config</li>
<li>Enables your scripts to run authenticated git commands</li>
<li>Post-job cleanup removes the token</li>
<li>Coming soon: Opt out by setting <code>with.persist-credentials</code> to <code>false</code></li>
</ul>
</li>
<li>Creates a local branch
<ul>
<li>No longer detached HEAD when checking out a branch</li>
<li>A local branch is created with the corresponding upstream branch set</li>
</ul>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="a12a3943b4"><code>a12a394</code></a> update readme for v3 (<a href="https://github-redirect.dependabot.com/actions/checkout/issues/708">#708</a>)</li>
<li><a href="8f9e05e482"><code>8f9e05e</code></a> Update to node 16 (<a href="https://github-redirect.dependabot.com/actions/checkout/issues/689">#689</a>)</li>
<li><a href="230611dbd0"><code>230611d</code></a> Change secret name for PAT to not start with GITHUB_ (<a href="https://github-redirect.dependabot.com/actions/checkout/issues/623">#623</a>)</li>
<li>See full diff in <a href="https://github.com/actions/checkout/compare/v2.4.0...v3.0.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/checkout&package-manager=github_actions&previous-version=2.4.0&new-version=3.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
leonardo 0aeb2e48f2 Merge branch 'latest_version_check' of https://github.com/lescuer97/gui-xmr-btc-swap into latest_version_check 2 years ago
dependabot[bot] 8fc9b05a66 Check if binary is latest version
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.130 to 1.0.133.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.130...v1.0.133)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Add rfc3339 removal changelog entry

Bump anyhow from 1.0.51 to 1.0.52

Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.51 to 1.0.52.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.51...1.0.52)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump serde_json from 1.0.68 to 1.0.74

Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.68 to 1.0.74.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.68...v1.0.74)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Fix failing CI tests due to deleted xmrto docker hub images

Fix failing CI tests due to deleted xmrto docker hub images by moving to the docker images provided by melotools

Bump tempfile from 3.2.0 to 3.3.0

Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/Stebalien/tempfile/releases)
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/NEWS)
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.2.0...v3.3.0)

---
updated-dependencies:
- dependency-name: tempfile
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump tempfile from 3.2.0 to 3.3.0

Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/Stebalien/tempfile/releases)
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/NEWS)
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.2.0...v3.3.0)

---
updated-dependencies:
- dependency-name: tempfile
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Always write logs as JSON to files

Bump torut from 0.2.0 to 0.2.1

Bumps [torut](https://github.com/teawithsand/torut) from 0.2.0 to 0.2.1.
- [Release notes](https://github.com/teawithsand/torut/releases)
- [Commits](https://github.com/teawithsand/torut/commits)

---
updated-dependencies:
- dependency-name: torut
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump time from 0.3.3 to 0.3.7

Bumps [time](https://github.com/time-rs/time) from 0.3.3 to 0.3.7.
- [Release notes](https://github.com/time-rs/time/releases)
- [Changelog](https://github.com/time-rs/time/blob/main/CHANGELOG.md)
- [Commits](https://github.com/time-rs/time/compare/v0.3.3...v0.3.7)

---
updated-dependencies:
- dependency-name: time
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump tokio from 1.12.0 to 1.16.1

Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.12.0 to 1.16.1.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.12.0...tokio-1.16.1)

---
updated-dependencies:
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump dialoguer from 0.8.0 to 0.10.0

Bumps [dialoguer](https://github.com/mitsuhiko/dialoguer) from 0.8.0 to 0.10.0.
- [Release notes](https://github.com/mitsuhiko/dialoguer/releases)
- [Changelog](https://github.com/mitsuhiko/dialoguer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mitsuhiko/dialoguer/compare/0.8.0...v0.10.0)

---
updated-dependencies:
- dependency-name: dialoguer
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump reqwest from 0.11.7 to 0.11.9

Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.11.7 to 0.11.9.
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.11.7...v0.11.9)

---
updated-dependencies:
- dependency-name: reqwest
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump actions/setup-python from 2.3.1 to 2.3.2

Bumps [actions/setup-python](https://github.com/actions/setup-python) from 2.3.1 to 2.3.2.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v2.3.1...v2.3.2)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

 Adjust quote based on Bitcoin balance

Update dependencies and rust-toolchain to 1.59

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

Change to rino nodes

Update dprint plugins to fix CI error

Bump futures from 0.3.17 to 0.3.21

Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.17 to 0.3.21.
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.17...0.3.21)

---
updated-dependencies:
- dependency-name: futures
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump structopt from 0.3.25 to 0.3.26

Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.3.25 to 0.3.26.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/compare/v0.3.25...v0.3.26)

---
updated-dependencies:
- dependency-name: structopt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump serde from 1.0.133 to 1.0.136

Bumps [serde](https://github.com/serde-rs/serde) from 1.0.133 to 1.0.136.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.133...v1.0.136)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Bump hyper from 0.14.16 to 0.14.18

Bumps [hyper](https://github.com/hyperium/hyper) from 0.14.16 to 0.14.18.
- [Release notes](https://github.com/hyperium/hyper/releases)
- [Changelog](https://github.com/hyperium/hyper/blob/master/CHANGELOG.md)
- [Commits](https://github.com/hyperium/hyper/compare/v0.14.16...v0.14.18)

---
updated-dependencies:
- dependency-name: hyper
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Inform Bob that he has been punished

Reduce required confirmations for Bitcoin transactions from 2 to 1

Don't wait for refund transaction to receive confirmations

Don't wait for refund transaction to receive confirmations to mitigate a scenario where the swap is stuck in `BtcCancelled` because it's not resumable.

Check if binary is latest version

Check if binary is latest version
2 years ago
leonardo 3fd6201e0b Merge branch 'latest_version_check' of https://github.com/lescuer97/gui-xmr-btc-swap into latest_version_check 2 years ago
dependabot[bot] 658b44c4a5 Bump tempfile from 3.2.0 to 3.3.0
Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/Stebalien/tempfile/releases)
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/NEWS)
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.2.0...v3.3.0)

---
updated-dependencies:
- dependency-name: tempfile
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
leonardo bfeb09b0fe Merge branch 'latest_version_check' of https://github.com/lescuer97/gui-xmr-btc-swap into latest_version_check 2 years ago
leonardo 9fb0d7b733 Check if binary is latest version 2 years ago
dependabot[bot] 5dff9698bb
Bump thomaseizinger/keep-a-changelog-new-release from 1.2.1 to 1.3.0
Bumps [thomaseizinger/keep-a-changelog-new-release](https://github.com/thomaseizinger/keep-a-changelog-new-release) from 1.2.1 to 1.3.0.
- [Release notes](https://github.com/thomaseizinger/keep-a-changelog-new-release/releases)
- [Changelog](https://github.com/thomaseizinger/keep-a-changelog-new-release/blob/master/CHANGELOG.md)
- [Commits](https://github.com/thomaseizinger/keep-a-changelog-new-release/compare/1.2.1...1.3.0)

---
updated-dependencies:
- dependency-name: thomaseizinger/keep-a-changelog-new-release
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] e54ccc5c15
Bump serde_json from 1.0.74 to 1.0.79
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.74 to 1.0.79.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.74...v1.0.79)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] 173ff2a004
Bump tracing from 0.1.29 to 0.1.33
Bumps [tracing](https://github.com/tokio-rs/tracing) from 0.1.29 to 0.1.33.
- [Release notes](https://github.com/tokio-rs/tracing/releases)
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-0.1.29...tracing-0.1.33)

---
updated-dependencies:
- dependency-name: tracing
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] ef3b0913be
Bump actions/checkout from 2.4.0 to 3.0.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 2.4.0 to 3.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2.4.0...v3.0.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] 3aa0082285
Bump Swatinem/rust-cache from 1.3.0 to 1.4.0
Bumps [Swatinem/rust-cache](https://github.com/Swatinem/rust-cache) from 1.3.0 to 1.4.0.
- [Release notes](https://github.com/Swatinem/rust-cache/releases)
- [Changelog](https://github.com/Swatinem/rust-cache/blob/v1/CHANGELOG.md)
- [Commits](https://github.com/Swatinem/rust-cache/compare/v1.3.0...v1.4.0)

---
updated-dependencies:
- dependency-name: Swatinem/rust-cache
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] ec8500551f
Merge #934
934: Don't wait for refund transaction to receive confirmations r=binarybaron a=binarybaron

Don't wait for refund transaction to receive confirmations to mitigate a scenario where the swap is stuck in `BtcCancelled` because it's not resumable.

Closes https://github.com/comit-network/xmr-btc-swap/issues/903

Co-authored-by: binarybaron <86064887+binarybaron@users.noreply.github.com>
2 years ago
bors[bot] 4344554730
Merge #894
894: Reduce `bitcoin_finality_confirmations` from 2 to 1 r=binarybaron a=binarybaron

Reduces `bitcoin_finality_confirmations` from 2 to 1. This lowers the total time needed for a swap by an average of 10 minutes

I'm aware that this has been proposed before (https://github.com/comit-network/xmr-btc-swap/pull/800) and was rejected. 

> On the ASB, the bitcoin finality confirmations can be set to 1 using the config file. This will get you the swap reduction time you desire.

I believe this is not correct. There is no way for ASB operators to configure the `bitcoin_finality_confirmations` setting. Only the `target_block` can be configured manually, but this is only used for estimating the fee rate when a btc transaction is published and not for deciding when it is safe to assume that the transaction is finalized.

E.g the `config.toml` file of my (testate) asb
```
[data]
dir = "/root/.local/share/xmr-btc-swap/asb/testnet"

[network]
listen = ["/ip4/0.0.0.0/tcp/9939", "/ip4/0.0.0.0/tcp/9940/ws"]
external_addresses = ["/dnsaddr/unstoppableswap.net"]
rendezvous_point = "/dnsaddr/discover.unstoppableswap.net/p2p/12D3KooWA6cnqJpVnreBVnoro8midDL9Lpzmg8oJPoAGi7YYaamE"

[bitcoin]
electrum_rpc_url = "ssl://electrum.blockstream.info:60002"
target_block = 1  # My asb still waits for 2 confirmations on the btc lock tx
network = "Testnet"

[monero]
wallet_rpc_url = "http://127.0.0.1:38083/json_rpc"
network = "Stagenet"

[tor]
control_port = 9051
socks5_port = 9050

[maker]
min_buy_btc = 0.0001
max_buy_btc = 0.1
ask_spread = 0.00
price_ticker_ws_url = "wss://ws.kraken.com"
```

Co-authored-by: binarybaron <you@domain.com>
2 years ago
bors[bot] d7a60287f7
Merge #911
911: Inform Bob that he has been punished r=binarybaron a=binarybaron

Closes https://github.com/comit-network/xmr-btc-swap/issues/829

Co-authored-by: binarybaron <you@domain.com>
2 years ago
binarybaron 3660a08b96 Inform Bob that he has been punished 2 years ago
binarybaron a82498669d Reduce required confirmations for Bitcoin transactions from 2 to 1 2 years ago
binarybaron 38744b8780 Don't wait for refund transaction to receive confirmations
Don't wait for refund transaction to receive confirmations to mitigate a scenario where the swap is stuck in `BtcCancelled` because it's not resumable.
2 years ago
dependabot[bot] c24841df36
Bump rust_decimal_macros from 1.22.0 to 1.23.1
Bumps [rust_decimal_macros](https://github.com/paupino/rust-decimal) from 1.22.0 to 1.23.1.
- [Release notes](https://github.com/paupino/rust-decimal/releases)
- [Commits](https://github.com/paupino/rust-decimal/compare/1.22.0...1.23.1)

---
updated-dependencies:
- dependency-name: rust_decimal_macros
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] 13aee8fe57
Bump serde_with from 1.12.0 to 1.12.1
Bumps [serde_with](https://github.com/jonasbb/serde_with) from 1.12.0 to 1.12.1.
- [Release notes](https://github.com/jonasbb/serde_with/releases)
- [Commits](https://github.com/jonasbb/serde_with/compare/v1.12.0...v1.12.1)

---
updated-dependencies:
- dependency-name: serde_with
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] ac186de4c9
Bump strum from 0.23.0 to 0.24.0
Bumps [strum](https://github.com/Peternator7/strum) from 0.23.0 to 0.24.0.
- [Release notes](https://github.com/Peternator7/strum/releases)
- [Changelog](https://github.com/Peternator7/strum/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Peternator7/strum/commits)

---
updated-dependencies:
- dependency-name: strum
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] 59a62fa256
Merge #979 #981 #982 #990
979: Bump futures from 0.3.17 to 0.3.21 r=klochowicz a=dependabot[bot]

Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.17 to 0.3.21.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/rust-lang/futures-rs/releases">futures's releases</a>.</em></p>
<blockquote>
<h2>0.3.21</h2>
<ul>
<li>Fix potential data race in <code>FlattenUnordered</code> that introduced in 0.3.20 (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2566">#2566</a>)</li>
</ul>
<h2>0.3.20</h2>
<ul>
<li>Fix stacked borrows violations when <code>-Zmiri-tag-raw-pointers</code> is enabled. This raises MSRV of <code>futures-task</code> to 1.45. (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2548">#2548</a>, <a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2550">#2550</a>)</li>
<li>Change <code>FuturesUnordered</code> to respect yielding from future (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2551">#2551</a>)</li>
<li>Add <code>StreamExt::{flatten_unordered, flat_map_unordered}</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2083">#2083</a>)</li>
</ul>
<h2>0.3.19</h2>
<ul>
<li>Remove unstable <code>read-initializer</code> feature (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2534">#2534</a>)</li>
<li>Fix panic in <code>FuturesUnordered</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2535">#2535</a>)</li>
<li>Fix compatibility issue with <code>FuturesUnordered</code> and tokio's cooperative scheduling (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2527">#2527</a>)</li>
<li>Add <code>StreamExt::count</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2495">#2495</a>)</li>
</ul>
<h2>0.3.18</h2>
<ul>
<li>Fix unusable <code>Sink</code> implementation on <code>stream::Scan</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2499">#2499</a>)</li>
<li>Make <code>task::noop_waker_ref</code> available without <code>std</code> feature (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2505">#2505</a>)</li>
<li>Add async <code>LineWriter</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2477">#2477</a>)</li>
<li>Remove dependency on <code>proc-macro-hack</code>. This raises MSRV of utility crates to 1.45. (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2520">#2520</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md">futures's changelog</a>.</em></p>
<blockquote>
<h1>0.3.21 - 2022-02-06</h1>
<ul>
<li>Fix potential data race in <code>FlattenUnordered</code> that introduced in 0.3.20 (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2566">#2566</a>)</li>
</ul>
<h1>0.3.20 - 2022-02-06</h1>
<p>NOTE: This release has been yanked due to a bug fixed in 0.3.21.</p>
<ul>
<li>Fix stacked borrows violations when <code>-Zmiri-tag-raw-pointers</code> is enabled. This raises MSRV of <code>futures-task</code> to 1.45. (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2548">#2548</a>, <a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2550">#2550</a>)</li>
<li>Change <code>FuturesUnordered</code> to respect yielding from future (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2551">#2551</a>)</li>
<li>Add <code>StreamExt::{flatten_unordered, flat_map_unordered}</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2083">#2083</a>)</li>
</ul>
<h1>0.3.19 - 2021-12-18</h1>
<ul>
<li>Remove unstable <code>read-initializer</code> feature (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2534">#2534</a>)</li>
<li>Fix panic in <code>FuturesUnordered</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2535">#2535</a>)</li>
<li>Fix compatibility issue with <code>FuturesUnordered</code> and tokio's cooperative scheduling (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2527">#2527</a>)</li>
<li>Add <code>StreamExt::count</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2495">#2495</a>)</li>
</ul>
<h1>0.3.18 - 2021-11-23</h1>
<p>NOTE: This release has been yanked. See <a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2529">#2529</a> for details.</p>
<ul>
<li>Fix unusable <code>Sink</code> implementation on <code>stream::Scan</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2499">#2499</a>)</li>
<li>Make <code>task::noop_waker_ref</code> available without <code>std</code> feature (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2505">#2505</a>)</li>
<li>Add async <code>LineWriter</code> (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2477">#2477</a>)</li>
<li>Remove dependency on <code>proc-macro-hack</code>. This raises MSRV of utility crates to 1.45. (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2520">#2520</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="fc1e325021"><code>fc1e325</code></a> Release 0.3.21</li>
<li><a href="20279ebbfc"><code>20279eb</code></a> <code>FlattenUnordered</code>: improve wakers behavior (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2566">#2566</a>)</li>
<li><a href="75dca5ae7f"><code>75dca5a</code></a> Fix MSRV in futures-task readme</li>
<li><a href="55281c8c8d"><code>55281c8</code></a> Release 0.3.20</li>
<li><a href="591b982af8"><code>591b982</code></a> Redefine executor and compat modules in futures crate (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2564">#2564</a>)</li>
<li><a href="94b508bfcb"><code>94b508b</code></a> Basic <code>StreamExt::{flatten_unordered, flat_map_unordered}</code> impls (<a href="https://github-redirect.dependabot.com/rust-lang/futures-rs/issues/2083">#2083</a>)</li>
<li><a href="dca16fafa5"><code>dca16fa</code></a> Do not auto-create PR on fork</li>
<li><a href="a9795a9243"><code>a9795a9</code></a> Automatically creates PR when no_atomic_cas.rs needs to be updated</li>
<li><a href="4841888d68"><code>4841888</code></a> Update comments in build scripts</li>
<li><a href="85706b6d67"><code>85706b6</code></a> Clean up ci/no_atomic_cas.sh</li>
<li>Additional commits viewable in <a href="https://github.com/rust-lang/futures-rs/compare/0.3.17...0.3.21">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=futures&package-manager=cargo&previous-version=0.3.17&new-version=0.3.21)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

981: Bump structopt from 0.3.25 to 0.3.26 r=klochowicz a=dependabot[bot]

Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.3.25 to 0.3.26.
<details>
<summary>Commits</summary>
<ul>
<li><a href="97e92a3755"><code>97e92a3</code></a> v0.3.26</li>
<li><a href="2bdd6b49ad"><code>2bdd6b4</code></a> Clarification on maintenance since clap v3 is out</li>
<li><a href="2736281a64"><code>2736281</code></a> Upgrade heck</li>
<li><a href="358cccf9af"><code>358cccf</code></a> [docs] Add output to all examples</li>
<li><a href="4c1a8fcb2f"><code>4c1a8fc</code></a> Link to the clap API in the documentation that says all clap methods can be used</li>
<li><a href="ffd4772156"><code>ffd4772</code></a> Typo</li>
<li>See full diff in <a href="https://github.com/TeXitoi/structopt/compare/v0.3.25...v0.3.26">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=structopt&package-manager=cargo&previous-version=0.3.25&new-version=0.3.26)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

982: Bump serde from 1.0.133 to 1.0.136 r=klochowicz a=dependabot[bot]

Bumps [serde](https://github.com/serde-rs/serde) from 1.0.133 to 1.0.136.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/serde/releases">serde's releases</a>.</em></p>
<blockquote>
<h2>v1.0.136</h2>
<ul>
<li>Improve default error message when <code>Visitor</code> fails to deserialize a u128 or i128 (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2167">#2167</a>)</li>
</ul>
<h2>v1.0.135</h2>
<ul>
<li>Update discord channels listed in readme</li>
</ul>
<h2>v1.0.134</h2>
<ul>
<li>Improve error messages on deserializing NonZero integers from a 0 value (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2158">#2158</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="02bd79a0ba"><code>02bd79a</code></a> Release 1.0.136</li>
<li><a href="c3ce2c934a"><code>c3ce2c9</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2167">#2167</a> from serde-rs/error128</li>
<li><a href="0d71ac84b5"><code>0d71ac8</code></a> Render 128-bit integer value into Visitor errors</li>
<li><a href="82c3eb7ba4"><code>82c3eb7</code></a> Add test of visitor error messages</li>
<li><a href="8932c852a5"><code>8932c85</code></a> Release 1.0.135</li>
<li><a href="9f3dd3c7c4"><code>9f3dd3c</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2163">#2163</a> from serde-rs/discord</li>
<li><a href="dd9b415ff9"><code>dd9b415</code></a> Add discord invite links</li>
<li><a href="3bb4a5a4f6"><code>3bb4a5a</code></a> Release 1.0.134</li>
<li><a href="6164627bea"><code>6164627</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2159">#2159</a> from serde-rs/nonzero</li>
<li><a href="51aaf496d4"><code>51aaf49</code></a> Write better Visitor for NonZero integers</li>
<li>Additional commits viewable in <a href="https://github.com/serde-rs/serde/compare/v1.0.133...v1.0.136">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde&package-manager=cargo&previous-version=1.0.133&new-version=1.0.136)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

990: Bump hyper from 0.14.16 to 0.14.18 r=klochowicz a=dependabot[bot]

Bumps [hyper](https://github.com/hyperium/hyper) from 0.14.16 to 0.14.18.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/hyperium/hyper/releases">hyper's releases</a>.</em></p>
<blockquote>
<h2>v0.14.18</h2>
<h2>Bug Fixes</h2>
<ul>
<li><strong>ffi:</strong> don't build C libraries by default (<a href="1c6637060e">1c663706</a>)</li>
</ul>
<h2>Features</h2>
<ul>
<li><strong>client:</strong> add <code>HttpInfo::local_addr()</code> method (<a href="055b4e7ea6">055b4e7e</a>, closes <a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2767">#2767</a>)</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/ilyatrefilov"><code>`@​ilyatrefilov</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/hyperium/hyper/pull/2760">hyperium/hyper#2760</a></li>
<li><a href="https://github.com/stephank"><code>`@​stephank</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/hyperium/hyper/pull/2765">hyperium/hyper#2765</a></li>
<li><a href="https://github.com/kubuzetto"><code>`@​kubuzetto</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/hyperium/hyper/pull/2768">hyperium/hyper#2768</a></li>
<li><a href="https://github.com/lqd"><code>`@​lqd</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/hyperium/hyper/pull/2770">hyperium/hyper#2770</a></li>
</ul>
<h2>v0.14.17</h2>
<h2>Bug Fixes</h2>
<ul>
<li><strong>client:</strong> avoid panics in uses of <code>Instant</code> on buggy OSes (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2746">#2746</a>) (<a href="dcdd6d1090">dcdd6d10</a>)</li>
</ul>
<h2>Features</h2>
<ul>
<li><strong>client:</strong> implement the HTTP/2 extended CONNECT protocol from RFC 8441 (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2682">#2682</a>) (<a href="5ec094caa5">5ec094ca</a>)</li>
<li><strong>error:</strong> add <code>Error::message</code> (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2737">#2737</a>) (<a href="6932896a7f">6932896a</a>, closes <a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2732">#2732</a>)</li>
<li><strong>http1:</strong> implement obsolete line folding (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2734">#2734</a>) (<a href="1f0c177b35">1f0c177b</a>)</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/waywardmonkeys"><code>`@​waywardmonkeys</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/hyperium/hyper/pull/2721">hyperium/hyper#2721</a></li>
<li><a href="https://github.com/monoid"><code>`@​monoid</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/hyperium/hyper/pull/2727">hyperium/hyper#2727</a></li>
<li><a href="https://github.com/olix0r"><code>`@​olix0r</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/hyperium/hyper/pull/2746">hyperium/hyper#2746</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/hyperium/hyper/blob/master/CHANGELOG.md">hyper's changelog</a>.</em></p>
<blockquote>
<h3>v0.14.18 (2022-03-22)</h3>
<h4>Bug Fixes</h4>
<ul>
<li><strong>ffi:</strong> don't build C libraries by default (<a href="1c6637060e">1c663706</a>)</li>
</ul>
<h4>Features</h4>
<ul>
<li><strong>client:</strong> add <code>HttpInfo::local_addr()</code> method (<a href="055b4e7ea6">055b4e7e</a>, closes <a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2767">#2767</a>)</li>
</ul>
<h3>v0.14.17 (2022-02-10)</h3>
<h4>Bug Fixes</h4>
<ul>
<li><strong>client:</strong> avoid panics in uses of <code>Instant</code> (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2746">#2746</a>) (<a href="dcdd6d1090">dcdd6d10</a>)</li>
</ul>
<h4>Features</h4>
<ul>
<li><strong>client:</strong> implement the HTTP/2 extended CONNECT protocol from RFC 8441 (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2682">#2682</a>) (<a href="5ec094caa5">5ec094ca</a>)</li>
<li><strong>error:</strong> add <code>Error::message</code> (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2737">#2737</a>) (<a href="6932896a7f">6932896a</a>, closes <a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2732">#2732</a>)</li>
<li><strong>http1:</strong> implement obsolete line folding (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2734">#2734</a>) (<a href="1f0c177b35">1f0c177b</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="53f15e5870"><code>53f15e5</code></a> v0.14.18</li>
<li><a href="740654e55d"><code>740654e</code></a> refactor(error): improve error message when user body ends early</li>
<li><a href="1e9cd4f292"><code>1e9cd4f</code></a> docs(ffi): document nightly requirement for FFI</li>
<li><a href="bd591f43fd"><code>bd591f4</code></a> chore(ci): test FFI on CI using nightly</li>
<li><a href="1c6637060e"><code>1c66370</code></a> fix(ffi): don't build C libraries by default</li>
<li><a href="055b4e7ea6"><code>055b4e7</code></a> feat(client): add <code>HttpInfo::local_addr()</code> method</li>
<li><a href="ce2bfa9ea6"><code>ce2bfa9</code></a> docs(conduct): add custom CODE_OF_CONDUCT</li>
<li><a href="6464c0ed49"><code>6464c0e</code></a> docs(upgrade): fix typo in upgrade docs (<a href="https://github-redirect.dependabot.com/hyperium/hyper/issues/2765">#2765</a>)</li>
<li><a href="75345222d7"><code>7534522</code></a> chore(ci): increase MSRV to 1.49</li>
<li><a href="4fcfe1f4ba"><code>4fcfe1f</code></a> docs(client): Add tcp feature for Client::new docs</li>
<li>Additional commits viewable in <a href="https://github.com/hyperium/hyper/compare/v0.14.16...v0.14.18">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=hyper&package-manager=cargo&previous-version=0.14.16&new-version=0.14.18)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
bors[bot] ef7f938863
Merge #995
995: Update dprint plugins to fix CI error r=klochowicz a=binarybaron

Closes https://github.com/comit-network/xmr-btc-swap/issues/994

Co-authored-by: binarybaron <86064887+binarybaron@users.noreply.github.com>
2 years ago
binarybaron abcc553e50
Update dprint plugins to fix CI error 2 years ago
dependabot[bot] 3133c7254b
Bump hyper from 0.14.16 to 0.14.18
Bumps [hyper](https://github.com/hyperium/hyper) from 0.14.16 to 0.14.18.
- [Release notes](https://github.com/hyperium/hyper/releases)
- [Changelog](https://github.com/hyperium/hyper/blob/master/CHANGELOG.md)
- [Commits](https://github.com/hyperium/hyper/compare/v0.14.16...v0.14.18)

---
updated-dependencies:
- dependency-name: hyper
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
leonardo 3840c39f3f Check if binary is latest version 2 years ago
bors[bot] f4d2e8fc8c
Merge #975
975: change to rino docker containers r=lescuer97 a=lescuer97

this is for updating from the melo tools dockers to the rino ones

Fixes #969 

Co-authored-by: leonardo <leoescuer@protonmail.com>
2 years ago
leonardo 5c23abfb29 Change to rino nodes 2 years ago
dependabot[bot] fad5ffce34
Bump serde from 1.0.133 to 1.0.136
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.133 to 1.0.136.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.133...v1.0.136)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] d7d6f9c3b5
Bump structopt from 0.3.25 to 0.3.26
Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.3.25 to 0.3.26.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/compare/v0.3.25...v0.3.26)

---
updated-dependencies:
- dependency-name: structopt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] 61177afcdb
Bump futures from 0.3.17 to 0.3.21
Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.17 to 0.3.21.
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.17...0.3.21)

---
updated-dependencies:
- dependency-name: futures
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] a8fe817d9e
Bump async-compression from 0.3.8 to 0.3.12
Bumps [async-compression](https://github.com/Nemo157/async-compression) from 0.3.8 to 0.3.12.
- [Release notes](https://github.com/Nemo157/async-compression/releases)
- [Commits](https://github.com/Nemo157/async-compression/compare/0.3.8...0.3.12)

---
updated-dependencies:
- dependency-name: async-compression
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] ca124c0c42
Merge #966
966: update dependencies and update toolchain to 1.59 (stable) r=delta1 a=delta1

This PR updates the rust-toolchain to the current stable version 1.59, and fixes a number of new clippy warnings from that change. 

This update to the toolchain introduced new clippy warnings indicating fields that are never read - these fields have been removed. 

Also updates a few crates to the Rust 2021 edition.

And includes the following dependency updates:

- #967 
- #964 
- #959 
- #974 
- #957 
- #954 
- #950 
- #949 
- #872 
- #882 




Co-authored-by: Byron Hambly <bizzle@tari.com>
2 years ago
Byron Hambly 5a3675a06f
Update dependencies and rust-toolchain to 1.59
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
2 years ago
bors[bot] c76abd48c7
Merge #953
953: Adjust quote based on Bitcoin balance r=lescuer97 a=lescuer97

Fixes #939 #963 
Please comment in the new method for getting a Monero value, I had to allow clippy::cast_precision_loss to convert to a f64, for our use case I don't really thing we will lose much precision. 

Please comment on the implementation of the check. 

Co-authored-by: leonardo <leoescuer@protonmail.com>
2 years ago
leonardo d224c2910b Adjust quote based on Bitcoin balance 2 years ago
bors[bot] 8f3f4d5895
Merge #937
937: Bump actions/setup-python from 2.3.1 to 2.3.2 r=delta1 a=dependabot[bot]

Bumps [actions/setup-python](https://github.com/actions/setup-python) from 2.3.1 to 2.3.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/actions/setup-python/releases">actions/setup-python's releases</a>.</em></p>
<blockquote>
<h2>Update primary and restore keys for pip</h2>
<p>In scope of this release we <a href="https://github-redirect.dependabot.com/actions/setup-python/pull/303">include a version of python in restore and primary cache keys for pip</a>. Besides, we add temporary fix for Windows caching <a href="https://github-redirect.dependabot.com/actions/setup-python/pull/332">issue</a>, that the <code>pip cache dir</code> command returns non zero exit code or writes to stderr. Moreover we updated <a href="https://github-redirect.dependabot.com/actions/setup-python/pull/327">node-fetch dependency</a>.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="7f80679172"><code>7f80679</code></a> Add fix for Windows caching of pip (<a href="https://github-redirect.dependabot.com/actions/setup-python/issues/332">#332</a>)</li>
<li><a href="dc9de69ff3"><code>dc9de69</code></a> Update node-fetch from 2.6.6 to 2.6.7 (<a href="https://github-redirect.dependabot.com/actions/setup-python/issues/327">#327</a>)</li>
<li><a href="ba33a692f1"><code>ba33a69</code></a> Include Python version in pip cache key (<a href="https://github-redirect.dependabot.com/actions/setup-python/issues/303">#303</a>)</li>
<li><a href="156361d073"><code>156361d</code></a> Fix ci for pipenv and reduce test matrix (<a href="https://github-redirect.dependabot.com/actions/setup-python/issues/323">#323</a>)</li>
<li><a href="9a115684c9"><code>9a11568</code></a> README.md: Bring Python versions up to date (<a href="https://github-redirect.dependabot.com/actions/setup-python/issues/256">#256</a>)</li>
<li><a href="3a40ba0199"><code>3a40ba0</code></a> Fix small typo in README (comma missing) (<a href="https://github-redirect.dependabot.com/actions/setup-python/issues/277">#277</a>)</li>
<li><a href="fa17801fa7"><code>fa17801</code></a> Fix typo in README.md (<a href="https://github-redirect.dependabot.com/actions/setup-python/issues/224">#224</a>)</li>
<li><a href="6277dd1255"><code>6277dd1</code></a> Fix build command (<a href="https://github-redirect.dependabot.com/actions/setup-python/issues/306">#306</a>)</li>
<li><a href="2b732b899c"><code>2b732b8</code></a> Removing a non-existent command from the documentation (<a href="https://github-redirect.dependabot.com/actions/setup-python/issues/293">#293</a>)</li>
<li>See full diff in <a href="https://github.com/actions/setup-python/compare/v2.3.1...v2.3.2">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/setup-python&package-manager=github_actions&previous-version=2.3.1&new-version=2.3.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
bors[bot] 04c7eaf166
Merge #951
951: Bump reqwest from 0.11.7 to 0.11.9 r=delta1 a=dependabot[bot]

Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.11.7 to 0.11.9.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/seanmonstar/reqwest/releases">reqwest's releases</a>.</em></p>
<blockquote>
<h2>v0.11.9</h2>
<ul>
<li>Add <code>ClientBuilder::http09_responses(bool)</code> option to allow receiving HTTP/0.9 responses.</li>
<li>Fix HTTP/2 to retry requests interrupted by an HTTP/2 graceful shutdown.</li>
<li>Fix proxy loading from environment variables to ignore empty values.</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/vsaase"><code>`@​vsaase</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/pull/1423">seanmonstar/reqwest#1423</a></li>
</ul>
<h2>v0.11.8</h2>
<ul>
<li>Update internal webpki-roots dependency.</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/complexspaces"><code>`@​complexspaces</code></a>` made their first contribution in <a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/pull/1396">seanmonstar/reqwest#1396</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md">reqwest's changelog</a>.</em></p>
<blockquote>
<h2>v0.11.9</h2>
<ul>
<li>Add <code>ClientBuilder::http09_responses(bool)</code> option to allow receiving HTTP/0.9 responses.</li>
<li>Fix HTTP/2 to retry requests interrupted by an HTTP/2 graceful shutdown.</li>
<li>Fix proxy loading from environment variables to ignore empty values.</li>
</ul>
<h2>v0.11.8</h2>
<ul>
<li>Update internal webpki-roots dependency.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="0fc1652975"><code>0fc1652</code></a> v0.11.9</li>
<li><a href="56ad99bebb"><code>56ad99b</code></a> Add HTTP/0.9 responses support</li>
<li><a href="7388b676df"><code>7388b67</code></a> Examples: allow passing URL via CLI</li>
<li><a href="a03ca5012d"><code>a03ca50</code></a> Fix HTTP/2: retry requests rejected by a graceful shutdown</li>
<li><a href="eb8e9d52c5"><code>eb8e9d5</code></a> do not accept empty or whitespace proxy address (<a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/issues/1423">#1423</a>)</li>
<li><a href="d4986e5583"><code>d4986e5</code></a> v0.11.8</li>
<li><a href="baffb9c004"><code>baffb9c</code></a> Update to webpki-roots 0.22 (<a href="https://github-redirect.dependabot.com/seanmonstar/reqwest/issues/1396">#1396</a>)</li>
<li>See full diff in <a href="https://github.com/seanmonstar/reqwest/compare/v0.11.7...v0.11.9">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=reqwest&package-manager=cargo&previous-version=0.11.7&new-version=0.11.9)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
bors[bot] c4f2203225
Merge #927 #928 #945
927: Bump time from 0.3.3 to 0.3.7 r=delta1 a=dependabot[bot]

Bumps [time](https://github.com/time-rs/time) from 0.3.3 to 0.3.7.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/time-rs/time/releases">time's releases</a>.</em></p>
<blockquote>
<h2>v0.3.7</h2>
<p>See the <a href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">changelog</a> for details.</p>
<h2>v0.3.6</h2>
<p>See the <a href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">changelog</a> for details.</p>
<h2>v0.3.5</h2>
<p>See the <a href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">changelog</a> for details.</p>
<h2>v0.3.4</h2>
<p>No release notes provided.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">time's changelog</a>.</em></p>
<blockquote>
<h2>0.3.7 [2021-01-26]</h2>
<h3>Fixed</h3>
<p>Solaris and Illumos build again.</p>
<h2>0.3.6 [2022-01-20]</h2>
<h3>Added</h3>
<ul>
<li><code>Date::saturating_add</code></li>
<li><code>Date::saturating_sub</code></li>
<li><code>PrimitiveDateTime::saturating_add</code></li>
<li><code>PrimitiveDateTime::saturating_sub</code></li>
<li><code>OffsetDateTime::saturating_add</code></li>
<li><code>OffsetDateTime::saturating_sub</code></li>
<li><code>PrimitiveDatetime::MIN</code></li>
<li><code>PrimitiveDatetime::MAX</code></li>
<li><code>Rfc2822</code> format description</li>
<li>Serde support for well-known formats
<ul>
<li>This is placed behind the new <code>serde-well-known</code> feature flag.</li>
</ul>
</li>
</ul>
<h3>Changed</h3>
<ul>
<li>MacOS and FreeBSD are supported obtaining the local offset when single-threaded.
<ul>
<li>Starting with this version, this is delegated to the <code>num_threads</code> crate.</li>
</ul>
</li>
<li>Leap seconds are now parsed as the final nanosecond of the preceding second.</li>
<li>The minimum supported Rust version is now 1.53.0.</li>
<li>Deserializers for human readable formats will fall back to the binary format if the human readable
format fails to deserialize.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Deserialization will no longer fail when given a non-borrowed string.</li>
</ul>
<h2>0.3.5 [2021-11-12]</h2>
<h3>Added</h3>
<ul>
<li><code>Date::checked_add</code></li>
<li><code>Date::checked_sub</code></li>
<li><code>PrimitiveDateTime::checked_add</code></li>
<li><code>PrimitiveDateTime::checked_sub</code></li>
<li><code>OffsetDateTime::checked_add</code></li>
<li><code>OffsetDateTime::checked_sub</code></li>
</ul>
<h3>Changed</h3>
<ul>
<li>Attempts to obtain the local UTC offset will now succeed on Linux if the process is
single-threaded. This does not affect other Unix platforms. As a reminder, the relevant methods</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="592ef915cf"><code>592ef91</code></a> v0.3.7 release</li>
<li><a href="deb8161b84"><code>deb8161</code></a> Update CI targets, powerset frequency</li>
<li><a href="83da427e50"><code>83da427</code></a> Fix Solaris/Illumos build</li>
<li><a href="4c63a8a492"><code>4c63a8a</code></a> Add 0.3.6 changelog section (<a href="https://github-redirect.dependabot.com/time-rs/time/issues/435">#435</a>)</li>
<li><a href="3ff4543511"><code>3ff4543</code></a> 0.3.6 release</li>
<li><a href="1dfb2682d9"><code>1dfb268</code></a> Mention, that Instant has no serde support</li>
<li><a href="2b9e193afa"><code>2b9e193</code></a> Bump license year</li>
<li><a href="bf5f830605"><code>bf5f830</code></a> Defer to <code>num_threads</code> for OS support</li>
<li><a href="f6baa3f07e"><code>f6baa3f</code></a> Use more correct feature gates</li>
<li><a href="eef9bafc1a"><code>eef9baf</code></a> Add test for multithreaded Unix systems</li>
<li>Additional commits viewable in <a href="https://github.com/time-rs/time/compare/v0.3.3...v0.3.7">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=time&package-manager=cargo&previous-version=0.3.3&new-version=0.3.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

928: Bump tokio from 1.12.0 to 1.16.1 r=delta1 a=dependabot[bot]

Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.12.0 to 1.16.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/tokio-rs/tokio/releases">tokio's releases</a>.</em></p>
<blockquote>
<h2>Tokio v1.16.1</h2>
<h1>1.16.1 (January 28, 2022)</h1>
<p>This release fixes a bug in <a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4428">#4428</a> with the change <a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4437">#4437</a>.</p>
<p><a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4428">#4428</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tokio/pull/4428">tokio-rs/tokio#4428</a>
<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4437">#4437</a>: <a href="https://github-redirect.dependabot.com/tokio-rs/tokio/pull/4437">tokio-rs/tokio#4437</a></p>
<h2>Tokio v1.16.0</h2>
<p>Fixes a soundness bug in <code>io::Take</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4428">#4428</a>). The unsoundness is exposed when
leaking memory in the given <code>AsyncRead</code> implementation and then overwriting the
supplied buffer:</p>
<pre lang="rust"><code>impl AsyncRead for Buggy {
    fn poll_read(
        self: Pin&lt;&amp;mut Self&gt;,
        cx: &amp;mut Context&lt;'_&gt;,
        buf: &amp;mut ReadBuf&lt;'_&gt;
    ) -&gt; Poll&lt;Result&lt;()&gt;&gt; {
      let new_buf = vec![0; 5].leak();
      *buf = ReadBuf::new(new_buf);
      buf.put_slice(b&quot;hello&quot;);
      Poll::Ready(Ok(()))
    }
}
</code></pre>
<p>Also, this release includes improvements to the multi-threaded scheduler that
can increase throughput by up to 20% in some cases (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4383">#4383</a>).</p>
<h3>Fixed</h3>
<ul>
<li>io: <strong>soundness</strong> don't expose uninitialized memory when using <code>io::Take</code> in edge case (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4428">#4428</a>)</li>
<li>fs: ensure <code>File::write</code> results in a <code>write</code> syscall when the runtime shuts down (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4316">#4316</a>)</li>
<li>process: drop pipe after child exits in <code>wait_with_output</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4315">#4315</a>)</li>
<li>rt: improve error message when spawning a thread fails (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4398">#4398</a>)</li>
<li>rt: reduce false-positive thread wakups in the multi-threaded scheduler (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4383">#4383</a>)</li>
<li>sync: don't inherit <code>Send</code> from <code>parking_lot::*Guard</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4359">#4359</a>)</li>
</ul>
<h3>Added</h3>
<ul>
<li>net: <code>TcpSocket::linger()</code> and <code>set_linger()</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4324">#4324</a>)</li>
<li>net: impl <code>UnwindSafe</code> for socket types (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4384">#4384</a>)</li>
<li>rt: impl <code>UnwindSafe</code> for <code>JoinHandle</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4418">#4418</a>)</li>
<li>sync: <code>watch::Receiver::has_changed()</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4342">#4342</a>)</li>
<li>sync: <code>oneshot::Receiver::blocking_recv()</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4334">#4334</a>)</li>
<li>sync: <code>RwLock</code> blocking operations (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4425">#4425</a>)</li>
</ul>
<h3>Unstable</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="91b9850505"><code>91b9850</code></a> chore: prepare Tokio v1.16.1 release (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4438">#4438</a>)</li>
<li><a href="3c467056e9"><code>3c46705</code></a> io: fix take pointer check (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4437">#4437</a>)</li>
<li><a href="afd2189eec"><code>afd2189</code></a> chore: prepare Tokio v1.16 release (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4431">#4431</a>)</li>
<li><a href="986b88b3f1"><code>986b88b</code></a> chore: update year in LICENSE files (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4429">#4429</a>)</li>
<li><a href="257053e40b"><code>257053e</code></a> util: add <code>spawn_pinned</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/3370">#3370</a>)</li>
<li><a href="5af9e0db2b"><code>5af9e0d</code></a> sync: add blocking lock methods to <code>RwLock</code> (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4425">#4425</a>)</li>
<li><a href="8f77ee8609"><code>8f77ee8</code></a> net: add generic trait to combine UnixListener and TcpListener (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4385">#4385</a>)</li>
<li><a href="2747043f6f"><code>2747043</code></a> tests: enable running wasm32-unknown-unknown tests (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4421">#4421</a>)</li>
<li><a href="2a5071fc2d"><code>2a5071f</code></a> feat: implement <code>Framed::map_codec</code>  (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4427">#4427</a>)</li>
<li><a href="621790e165"><code>621790e</code></a> io: fix <code>take</code> when using evil reader (<a href="https://github-redirect.dependabot.com/tokio-rs/tokio/issues/4428">#4428</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/tokio-rs/tokio/compare/tokio-1.12.0...tokio-1.16.1">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tokio&package-manager=cargo&previous-version=1.12.0&new-version=1.16.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

945: Bump dialoguer from 0.8.0 to 0.10.0 r=delta1 a=dependabot[bot]

Bumps [dialoguer](https://github.com/mitsuhiko/dialoguer) from 0.8.0 to 0.10.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/mitsuhiko/dialoguer/blob/master/CHANGELOG.md">dialoguer's changelog</a>.</em></p>
<blockquote>
<h2>0.10.0</h2>
<h3>Enhancements</h3>
<ul>
<li>Loosen some trait bounds</li>
<li>Improve keyboard interactions (<a href="https://github-redirect.dependabot.com/mitsuhiko/dialoguer/issues/141">#141</a>, <a href="https://github-redirect.dependabot.com/mitsuhiko/dialoguer/issues/162">#162</a>)</li>
<li>Added <code>max_length</code> to <code>MultiSelect</code>, <code>Select</code> and <code>Sort</code></li>
<li>Allow completion support for <code>Input::interact_text*</code> behind <code>completion</code> feature</li>
</ul>
<h3>Breaking</h3>
<ul>
<li>All prompts <code>*::new</code> will now don't report selected values unless <code>report(true)</code> is called on them.</li>
</ul>
<h2>0.9.0</h2>
<h3>Enhancements</h3>
<ul>
<li>Apply input validation to the default value too in <code>Input</code></li>
<li>Added <code>FuzzySelect</code> behind <code>fuzzy-select</code> feature</li>
<li>Allow history processing for <code>Input::interact_text*</code> behind <code>history</code> feature</li>
<li>Added <code>interact_*_opt</code> methods for <code>MultiSelect</code> and <code>Sort</code>.</li>
</ul>
<h3>Breaking</h3>
<ul>
<li>Updated MSRV to <code>1.51.0</code></li>
<li><code>Editor</code> is gated behind <code>editor</code> feature</li>
<li><code>Password</code>, <code>Theme::format_password_prompt</code> and <code>Theme::format_password_prompt_selection</code> are gated behind <code>password</code> feature</li>
<li>Remove <code>Select::paged()</code>, <code>Sort::paged()</code> and <code>MultiSelect::paged()</code> in favor of automatic paging based on terminal size</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="e93d99320d"><code>e93d993</code></a> Release 0.10.0</li>
<li><a href="c93224aec4"><code>c93224a</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/mitsuhiko/dialoguer/issues/162">#162</a> from craciuncezar/limit-visible-options-in-fuzzy-select</li>
<li><a href="dee84e93f3"><code>dee84e9</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/mitsuhiko/dialoguer/issues/169">#169</a> from bryanhitc/bryanhitc/fix-completion-buffer-overflow</li>
<li><a href="e4ffea8902"><code>e4ffea8</code></a> fix formatting and improve naming</li>
<li><a href="cb1e9a5ce6"><code>cb1e9a5</code></a> Fix buffer overflow for completion example</li>
<li><a href="252a183fe0"><code>252a183</code></a> Fix linting warnings</li>
<li><a href="f1e46a55e9"><code>f1e46a5</code></a> Add scroll functionality</li>
<li><a href="94a276d9e8"><code>94a276d</code></a> Limit the number of visible options in fuzzy select</li>
<li><a href="29da763bf7"><code>29da763</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/mitsuhiko/dialoguer/issues/153">#153</a> from danieleades/refactor/clippy</li>
<li><a href="8fde6ae39b"><code>8fde6ae</code></a> lint examples and tests</li>
<li>Additional commits viewable in <a href="https://github.com/mitsuhiko/dialoguer/compare/0.8.0...v0.10.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=dialoguer&package-manager=cargo&previous-version=0.8.0&new-version=0.10.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
bors[bot] fe66666954
Merge #887
887: Bump torut from 0.2.0 to 0.2.1 r=delta1 a=dependabot[bot]

Bumps [torut](https://github.com/teawithsand/torut) from 0.2.0 to 0.2.1.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/teawithsand/torut/commits">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=torut&package-manager=cargo&previous-version=0.2.0&new-version=0.2.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
bors[bot] 6911509b16
Merge #893
893: Always write logs as JSON to file r=binarybaron a=binarybaron

Related issue: https://github.com/comit-network/xmr-btc-swap/issues/849

Co-authored-by: binarybaron <86064887+binarybaron@users.noreply.github.com>
2 years ago
binarybaron 407b98d3a2 Always write logs as JSON to files 2 years ago
dependabot[bot] 093c1b0aae
Bump reqwest from 0.11.7 to 0.11.9
Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.11.7 to 0.11.9.
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.11.7...v0.11.9)

---
updated-dependencies:
- dependency-name: reqwest
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] 1a3ca054f9
Bump torut from 0.2.0 to 0.2.1
Bumps [torut](https://github.com/teawithsand/torut) from 0.2.0 to 0.2.1.
- [Release notes](https://github.com/teawithsand/torut/releases)
- [Commits](https://github.com/teawithsand/torut/commits)

---
updated-dependencies:
- dependency-name: torut
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] 38f5830f4d
Bump time from 0.3.3 to 0.3.7
Bumps [time](https://github.com/time-rs/time) from 0.3.3 to 0.3.7.
- [Release notes](https://github.com/time-rs/time/releases)
- [Changelog](https://github.com/time-rs/time/blob/main/CHANGELOG.md)
- [Commits](https://github.com/time-rs/time/compare/v0.3.3...v0.3.7)

---
updated-dependencies:
- dependency-name: time
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] 141d1558ac
Bump tokio from 1.12.0 to 1.16.1
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.12.0 to 1.16.1.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.12.0...tokio-1.16.1)

---
updated-dependencies:
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] cb855795ef
Bump dialoguer from 0.8.0 to 0.10.0
Bumps [dialoguer](https://github.com/mitsuhiko/dialoguer) from 0.8.0 to 0.10.0.
- [Release notes](https://github.com/mitsuhiko/dialoguer/releases)
- [Changelog](https://github.com/mitsuhiko/dialoguer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mitsuhiko/dialoguer/compare/0.8.0...v0.10.0)

---
updated-dependencies:
- dependency-name: dialoguer
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] db1892b610
Bump actions/setup-python from 2.3.1 to 2.3.2
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 2.3.1 to 2.3.2.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v2.3.1...v2.3.2)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] 42ff00af95
Merge #914
914: Bump tempfile from 3.2.0 to 3.3.0 r=delta1 a=dependabot[bot]

Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.2.0 to 3.3.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/Stebalien/tempfile/blob/master/NEWS">tempfile's changelog</a>.</em></p>
<blockquote>
<h1>3.3.0</h1>
<p>Features:</p>
<ul>
<li>Replace rand with fastrand for a significantly smaller dependency tree. Cryptographic randomness
isn't necessary for temporary file names, and isn't all that helpful either.</li>
<li>Add limited WASI support.</li>
<li>Add a function to extract the inner data from a <code>SpooledTempFile</code>.</li>
</ul>
<p>Bug Fixes:</p>
<ul>
<li>Make it possible to persist unnamed temporary files on linux by removing the <code>O_EXCL</code> flag.</li>
<li>Fix redox minimum crate version.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="1a40687e06"><code>1a40687</code></a> release 3.3.0</li>
<li><a href="92638c61f3"><code>92638c6</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/Stebalien/tempfile/issues/164">#164</a> from Stebalien/chore/cleanup</li>
<li><a href="92ae3e9d6e"><code>92ae3e9</code></a> chore: remove extern crates</li>
<li><a href="e49d9dffe8"><code>e49d9df</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/Stebalien/tempfile/issues/165">#165</a> from Stebalien/pr-116</li>
<li><a href="a5f535c95b"><code>a5f535c</code></a> fix: doc formatting</li>
<li><a href="ab67ccee85"><code>ab67cce</code></a> Add docs pointing out early dop pitfalls</li>
<li><a href="8d40916b41"><code>8d40916</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/Stebalien/tempfile/issues/163">#163</a> from Stebalien/chore/update-deps</li>
<li><a href="9a6321760b"><code>9a63217</code></a> chore: update fastrand</li>
<li><a href="09e0b4b1b4"><code>09e0b4b</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/Stebalien/tempfile/issues/162">#162</a> from Stebalien/ref/replace-rand-with-fastrand</li>
<li><a href="e24fae3ac2"><code>e24fae3</code></a> chore: avoid allocation when generating temp names</li>
<li>Additional commits viewable in <a href="https://github.com/Stebalien/tempfile/compare/v3.2.0...v3.3.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tempfile&package-manager=cargo&previous-version=3.2.0&new-version=3.3.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
dependabot[bot] 3e1966d0f3
Bump tempfile from 3.2.0 to 3.3.0
Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/Stebalien/tempfile/releases)
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/NEWS)
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.2.0...v3.3.0)

---
updated-dependencies:
- dependency-name: tempfile
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] 3e7a139f73
Merge #942
942: Fix failing CI tests due to deleted xmrto docker hub images r=delta1 a=binarybaron

Fix failing CI tests due to deleted xmrto docker hub images by moving to the docker images provided by melotools

This should have priority because the failing CI blocks all other PRs

Co-authored-by: binarybaron <86064887+binarybaron@users.noreply.github.com>
2 years ago
binarybaron 8a21d9b623 Fix failing CI tests due to deleted xmrto docker hub images
Fix failing CI tests due to deleted xmrto docker hub images by moving to the docker images provided by melotools
2 years ago
devbordecraft fb32d87114 Update from monero v17.2.0 to monero v17.3.0 2 years ago
icy-ux ab1fa67525 update option documentation to specify amount format 2 years ago
bors[bot] 50ae541412
Merge #897 #906
897: Bump anyhow from 1.0.51 to 1.0.52 r=da-kami a=dependabot[bot]

Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.51 to 1.0.52.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/dtolnay/anyhow/releases">anyhow's releases</a>.</em></p>
<blockquote>
<h2>1.0.52</h2>
<ul>
<li>Reduce overhead of backtrace capture in the case that backtraces are not enabled (<a href="https://github-redirect.dependabot.com/dtolnay/anyhow/issues/212">#212</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="f871e2fefc"><code>f871e2f</code></a> Release 1.0.52</li>
<li><a href="94e20899ab"><code>94e2089</code></a> Change test suite atomic from SeqCst to Relaxed</li>
<li><a href="42badfdcbd"><code>42badfd</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/anyhow/issues/213">#213</a> from dtolnay/fixme</li>
<li><a href="5498d85975"><code>5498d85</code></a> Annotate expressions that are rendered poorly by core::stringify</li>
<li><a href="6e17bdbf2e"><code>6e17bdb</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/anyhow/issues/212">#212</a> from dtolnay/relaxed</li>
<li><a href="6b3630c0e7"><code>6b3630c</code></a> Change Backtrace::enabled atomic from SeqCst to Relaxed</li>
<li><a href="a3f7160ce8"><code>a3f7160</code></a> Ignore return_self_not_must_use clippy lint</li>
<li><a href="4d2586b20f"><code>4d2586b</code></a> Track raw pointers in miri CI run</li>
<li><a href="d40fd3217e"><code>d40fd32</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/anyhow/issues/211">#211</a> from dtolnay/ensuretest</li>
<li><a href="2a7201779d"><code>2a72017</code></a> Update ensure tests to nightly-2021-12-10</li>
<li>Additional commits viewable in <a href="https://github.com/dtolnay/anyhow/compare/1.0.51...1.0.52">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=anyhow&package-manager=cargo&previous-version=1.0.51&new-version=1.0.52)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

906: Bump serde_json from 1.0.68 to 1.0.74 r=da-kami a=dependabot[bot]

Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.68 to 1.0.74.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p>
<blockquote>
<h2>v1.0.74</h2>
<ul>
<li>Allow creating RawValues from references to unsized values (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/841">#841</a>, thanks <a href="https://github.com/EFanZh"><code>`@​EFanZh</code></a>)</li>`
</ul>
<h2>v1.0.73</h2>
<ul>
<li>Update <code>itoa</code> dependency to 1.0</li>
</ul>
<h2>v1.0.72</h2>
<ul>
<li>Interpret <code>\u</code>-encoded lone surrogates when deserializing into a byte string (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/828">#828</a>, <a href="https://github-redirect.dependabot.com/serde-rs/json/issues/829">#829</a>, thanks <a href="https://github.com/lucacasonato"><code>`@​lucacasonato</code></a>)</li>`
</ul>
<h2>v1.0.71</h2>
<ul>
<li>Add serde_json::Map::get_key_value (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/821">#821</a>, thanks <a href="https://github.com/timothee-haudebourg"><code>`@​timothee-haudebourg</code></a>)</li>`
<li>Add impl From&lt;Box&lt;RawValue&gt;&gt; for Box&lt;str&gt; (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/824">#824</a>, thanks <a href="https://github.com/jplatte"><code>`@​jplatte</code></a>)</li>`
</ul>
<h2>v1.0.70</h2>
<ul>
<li>Add <code>serde_json::Map::retain</code> method (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/822">#822</a>, thanks <a href="https://github.com/deankarn"><code>`@​deankarn</code></a>)</li>`
</ul>
<h2>v1.0.69</h2>
<ul>
<li>Implement Hash for serde_json::Number (<a href="https://github-redirect.dependabot.com/serde-rs/json/issues/814">#814</a>, thanks <a href="https://github.com/timothee-haudebourg"><code>`@​timothee-haudebourg</code></a>)</li>`
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="58d40de6ed"><code>58d40de</code></a> Release 1.0.74</li>
<li><a href="ef7794f87f"><code>ef7794f</code></a> Detect warnings in CI</li>
<li><a href="6de3d398ef"><code>6de3d39</code></a> Merge pull request 841 from EFanZh/unsized-value-to-raw-value</li>
<li><a href="012f567a38"><code>012f567</code></a> Allow creating <code>RawValue</code>s from references to unsized values</li>
<li><a href="18a88dad66"><code>18a88da</code></a> Avoid evaluating $c more than once in overflow macro</li>
<li><a href="5d2cbcdd4b"><code>5d2cbcd</code></a> Eliminate lib module</li>
<li><a href="31198f589c"><code>31198f5</code></a> Switch to $(,)? in tri macro</li>
<li><a href="51df12e0cd"><code>51df12e</code></a> Unconditionally import from alloc</li>
<li><a href="95f67a0939"><code>95f67a0</code></a> Ignore return_self_not_must_use clippy lint</li>
<li><a href="296f718e18"><code>296f718</code></a> Release 1.0.73</li>
<li>Additional commits viewable in <a href="https://github.com/serde-rs/json/compare/v1.0.68...v1.0.74">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde_json&package-manager=cargo&previous-version=1.0.68&new-version=1.0.74)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
bors[bot] ee657ab59c
Merge #907 #908
907: Bump serde from 1.0.130 to 1.0.133 r=da-kami a=dependabot[bot]

Bumps [serde](https://github.com/serde-rs/serde) from 1.0.130 to 1.0.133.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/serde/releases">serde's releases</a>.</em></p>
<blockquote>
<h2>v1.0.133</h2>
<ul>
<li>Optimize deserialization of data structures that contain recursive use of <code>flatten</code> fields or <code>tag</code> or <code>untagged</code> enums (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2148">#2148</a>)</li>
</ul>
<h2>v1.0.132</h2>
<ul>
<li>Enable Serialize and Deserialize impls for <code>std::sync::atomic::{AtomicI64, AtomicU64}</code> on riscv64 arch (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2141">#2141</a>, thanks <a href="https://github.com/Avimitin"><code>`@​Avimitin</code></a>)</li>`
</ul>
<h2>v1.0.131</h2>
<ul>
<li>Avoid <code>unused_results</code> being triggered in generated code for adjacently tagged enum (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2116">#2116</a>, thanks <a href="https://github.com/tyranron"><code>`@​tyranron</code></a>)</li>`
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="7af97c66b8"><code>7af97c6</code></a> Release 1.0.133</li>
<li><a href="1f57084365"><code>1f57084</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2148">#2148</a> from serde-rs/deserializecontent</li>
<li><a href="56bd369422"><code>56bd369</code></a> Optimize deserialization of recursive buffered types</li>
<li><a href="ff259ec66b"><code>ff259ec</code></a> Detect warnings in CI</li>
<li><a href="6c54aafeb9"><code>6c54aaf</code></a> Document the atomic ordering in the Serialize impl</li>
<li><a href="5d41404e67"><code>5d41404</code></a> No need for the SeqCst load in test suite</li>
<li><a href="1eccb3c350"><code>1eccb3c</code></a> Resolve unnecessary_to_owned clippy lint in test suite</li>
<li><a href="77ae1c3bf7"><code>77ae1c3</code></a> Release 1.0.132</li>
<li><a href="b85e28166c"><code>b85e281</code></a> Update path to rustc target spec files</li>
<li><a href="0508cb50fc"><code>0508cb5</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/2141">#2141</a> from Avimitin/risc-v</li>
<li>Additional commits viewable in <a href="https://github.com/serde-rs/serde/compare/v1.0.130...v1.0.133">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde&package-manager=cargo&previous-version=1.0.130&new-version=1.0.133)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

908: Add rfc3339 removal changelog entry r=da-kami a=rishflab



Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: rishflab <rishflab@hotmail.com>
2 years ago
rishflab 24912e60d9 Add rfc3339 removal changelog entry 2 years ago
dependabot[bot] 9b68a50864
Bump serde from 1.0.130 to 1.0.133
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.130 to 1.0.133.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.130...v1.0.133)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
dependabot[bot] 85e1095cbb
Bump serde_json from 1.0.68 to 1.0.74
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.68 to 1.0.74.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.68...v1.0.74)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago
bors[bot] 7d2edbcdb8
Merge #902
902: Revert move from `chrono` to `local-time` r=rishflab a=binarybaron

This reverts commit 9e85637419

Closes https://github.com/comit-network/xmr-btc-swap/issues/901

Co-authored-by: binarybaron <you@domain.com>
2 years ago
binarybaron 43c07636d8 Revert move from `chrono` to `local-time`
This reverts commit 9e85637419
2 years ago
dependabot[bot] 03e5fe6aab
Bump anyhow from 1.0.51 to 1.0.52
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.51 to 1.0.52.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.51...1.0.52)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years ago

@ -6,8 +6,9 @@ on:
jobs:
build_binaries:
name: Build swap and asb binaries
name: Build
strategy:
fail-fast: false
matrix:
include:
- bin: swap
@ -20,6 +21,10 @@ jobs:
archive_ext: tar
- bin: swap
target: x86_64-apple-darwin
os: macos-12
archive_ext: tar
- bin: swap
target: aarch64-apple-darwin
os: macos-latest
archive_ext: tar
- bin: swap
@ -36,6 +41,10 @@ jobs:
archive_ext: tar
- bin: asb
target: x86_64-apple-darwin
os: macos-12
archive_ext: tar
- bin: asb
target: aarch64-apple-darwin
os: macos-latest
archive_ext: tar
- bin: asb
@ -45,32 +54,33 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout tagged commit
uses: actions/checkout@v2.4.0
uses: actions/checkout@v4.1.6
with:
ref: ${{ github.event.release.target_commitish }}
token: ${{ secrets.BOTTY_GITHUB_TOKEN }}
- uses: Swatinem/rust-cache@v1.3.0
- uses: Swatinem/rust-cache@v2.7.3
- name: Install compiler for armhf arch
- uses: dtolnay/rust-toolchain@master
with:
toolchain: "1.74"
- name: Cross Build ${{ matrix.target }} ${{ matrix.bin }} binary
if: matrix.target == 'armv7-unknown-linux-gnueabihf'
run: |
sudo apt-get update
sudo apt-get install gcc-arm-linux-gnueabihf
curl -L "https://github.com/cross-rs/cross/releases/download/v0.2.5/cross-x86_64-unknown-linux-gnu.tar.gz" | tar xzv
sudo mv cross /usr/bin
sudo mv cross-util /usr/bin
cross build --target=${{ matrix.target }} --release --package swap --bin ${{ matrix.bin }}
- name: Build ${{ matrix.target }} ${{ matrix.bin }} release binary
if: matrix.target != 'armv7-unknown-linux-gnueabihf'
run: cargo build --target=${{ matrix.target }} --release --package swap --bin ${{ matrix.bin }}
- name: Smoke test the binary
if: matrix.target != 'armv7-unknown-linux-gnueabihf' # armv7-unknown-linux-gnueabihf is only cross-compiled, no smoke test
if: matrix.target != 'armv7-unknown-linux-gnueabihf'
run: target/${{ matrix.target }}/release/${{ matrix.bin }} --help
# Remove once python 3 is the default
- uses: actions/setup-python@v2.3.1
with:
python-version: '3.x'
- id: create-archive-name
shell: python # Use python to have a prettier name for the archive on Windows.
run: |
@ -87,7 +97,7 @@ jobs:
print(f'::set-output name=archive::{archive_name}')
- name: Pack macos archive
if: matrix.os == 'macos-latest'
if: startsWith(matrix.os, 'macos')
shell: bash
run: gtar -C ./target/${{ matrix.target }}/release --create --file=${{ steps.create-archive-name.outputs.archive }} ${{ matrix.bin }}

@ -4,21 +4,26 @@ on:
pull_request: # Need to run on pull-requests, otherwise PRs from forks don't run
push:
branches:
- 'staging' # Bors uses this branch
- 'trying' # Bors uses this branch
- 'master' # Always build head of master for the badge in the README
- "master" # Always build head of master for the badge in the README
jobs:
static_analysis:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v2.4.0
uses: actions/checkout@v4.1.6
- uses: Swatinem/rust-cache@v1.3.0
- uses: dtolnay/rust-toolchain@master
with:
toolchain: "1.74"
components: clippy,rustfmt
- uses: Swatinem/rust-cache@v2.7.3
- name: Check formatting
uses: dprint/check@v2.0
uses: dprint/check@v2.2
with:
dprint-version: 0.39.1
- name: Run clippy with default features
run: cargo clippy --workspace --all-targets -- -D warnings
@ -26,6 +31,36 @@ jobs:
- name: Run clippy with all features enabled
run: cargo clippy --workspace --all-targets --all-features -- -D warnings
bdk_test:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4.1.6
- uses: Swatinem/rust-cache@v2.7.3
- name: Build swap
run: cargo build --bin swap
- name: Run BDK regression script
run: ./swap/tests/bdk.sh
sqlx_test:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4.1.6
- uses: Swatinem/rust-cache@v2.7.3
- name: Install sqlx-cli
run: cargo install --locked --version 0.6.3 sqlx-cli
- name: Run sqlite_dev_setup.sh script
run: |
cd swap
./sqlite_dev_setup.sh
build:
strategy:
matrix:
@ -35,35 +70,43 @@ jobs:
- target: armv7-unknown-linux-gnueabihf
os: ubuntu-latest
- target: x86_64-apple-darwin
os: macos-12
- target: aarch64-apple-darwin
os: macos-latest
- target: x86_64-pc-windows-msvc
os: windows-latest
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@v2.4.0
uses: actions/checkout@v4.1.6
- uses: Swatinem/rust-cache@v1.3.0
- uses: Swatinem/rust-cache@v2.7.3
- name: Install compiler for armhf arch
if: matrix.target == 'armv7-unknown-linux-gnueabihf'
run: |
sudo apt-get update
sudo apt-get install gcc-arm-linux-gnueabihf
- uses: dtolnay/rust-toolchain@master
with:
toolchain: "1.74"
targets: armv7-unknown-linux-gnueabihf
- name: Build binary
run: |
cargo build -p swap --target ${{ matrix.target }}
if: matrix.target != 'armv7-unknown-linux-gnueabihf'
run: cargo build -p swap --target ${{ matrix.target }}
- name: Install cross (armv7)
if: matrix.target == 'armv7-unknown-linux-gnueabihf'
run: cargo install cross --locked
- name: Build binary (armv7)
if: matrix.target == 'armv7-unknown-linux-gnueabihf'
run: cross build -p swap --target ${{ matrix.target }}
- name: Upload swap binary
uses: actions/upload-artifact@v2-preview
uses: actions/upload-artifact@v4
with:
name: swap-${{ matrix.target }}
path: target/${{ matrix.target }}/debug/swap
- name: Upload asb binary
uses: actions/upload-artifact@v2-preview
uses: actions/upload-artifact@v4
with:
name: asb-${{ matrix.target }}
path: target/${{ matrix.target }}/debug/asb
@ -71,13 +114,26 @@ jobs:
test:
strategy:
matrix:
os: [ ubuntu-latest, macos-latest ]
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- name: (Free disk space on Ubuntu)
if: matrix.os == 'ubuntu-latest'
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be
with:
# removing all of these takes ~10 mins, so just do as needed
android: true
dotnet: true
haskell: true
docker-images: false
large-packages: false
swap-storage: false
tool-cache: false
- name: Checkout sources
uses: actions/checkout@v2.4.0
uses: actions/checkout@v4.1.6
- uses: Swatinem/rust-cache@v1.3.0
- uses: Swatinem/rust-cache@v2.7.3
- name: Build tests
run: cargo build --tests --workspace --all-features
@ -92,12 +148,14 @@ jobs:
docker_tests:
strategy:
matrix:
test_name: [
test_name:
[
happy_path,
happy_path_restart_bob_after_xmr_locked,
happy_path_restart_bob_before_xmr_locked,
happy_path_restart_alice_after_xmr_locked,
alice_and_bob_refund_using_cancel_and_refund_command,
alice_and_bob_refund_using_cancel_then_refund_command,
alice_and_bob_refund_using_cancel_and_refund_command_timelock_not_expired,
punish,
alice_punishes_after_restart_bob_dead,
@ -105,15 +163,39 @@ jobs:
alice_refunds_after_restart_bob_refunded,
ensure_same_swap_id,
concurrent_bobs_before_xmr_lock_proof_sent,
alice_manually_redeems_after_enc_sig_learned
]
alice_manually_redeems_after_enc_sig_learned,
happy_path_bob_offline_while_alice_redeems_btc,
]
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v2.4.0
uses: actions/checkout@v4.1.6
- uses: Swatinem/rust-cache@v1.3.0
- uses: Swatinem/rust-cache@v2.7.3
- name: Run test ${{ matrix.test_name }}
run: cargo test --package swap --all-features --test ${{ matrix.test_name }} -- --nocapture
rpc_tests:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4.1.6
- uses: Swatinem/rust-cache@v2.7.3
- name: Run RPC server tests
run: cargo test --package swap --all-features --test rpc -- --nocapture
check_stable:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4.1.6
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2.7.3
- name: Run cargo check on stable rust
run: cargo check --all-targets

@ -11,7 +11,7 @@ jobs:
if: github.event.pull_request.merged == true && startsWith(github.event.pull_request.head.ref, 'release/')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.4.0
- uses: actions/checkout@v4.1.6
- name: Extract version from branch name
id: extract-version

@ -4,7 +4,7 @@ on:
workflow_dispatch:
inputs:
version:
description: 'The new version in X.Y.Z format.'
description: "The new version in X.Y.Z format."
required: true
jobs:
@ -12,7 +12,7 @@ jobs:
name: "Draft a new release"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.4.0
- uses: actions/checkout@v4.1.6
with:
token: ${{ secrets.BOTTY_GITHUB_TOKEN }}
@ -20,7 +20,7 @@ jobs:
run: git checkout -b release/${{ github.event.inputs.version }}
- name: Update changelog
uses: thomaseizinger/keep-a-changelog-new-release@1.2.1
uses: thomaseizinger/keep-a-changelog-new-release@3.0.0
with:
version: ${{ github.event.inputs.version }}
changelogPath: CHANGELOG.md
@ -41,8 +41,12 @@ jobs:
- name: Commit changelog and manifest files
id: make-commit
env:
DPRINT_VERSION: "0.39.1"
RUST_TOOLCHAIN: "1.74"
run: |
curl -fsSL https://dprint.dev/install.sh | sh
rustup component add rustfmt --toolchain "$RUST_TOOLCHAIN-x86_64-unknown-linux-gnu"
curl -fsSL https://dprint.dev/install.sh | sh -s $DPRINT_VERSION
/home/runner/.dprint/bin/dprint fmt
git add CHANGELOG.md Cargo.lock swap/Cargo.toml
@ -54,7 +58,7 @@ jobs:
run: git push origin release/${{ github.event.inputs.version }} --force
- name: Create pull request
uses: thomaseizinger/create-pull-request@1.2.2
uses: thomaseizinger/create-pull-request@1.4.0
with:
GITHUB_TOKEN: ${{ secrets.BOTTY_GITHUB_TOKEN }}
head: release/${{ github.event.inputs.version }}

@ -10,7 +10,7 @@ jobs:
name: Create preview release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.4.0
- uses: actions/checkout@v4.1.6
- name: Delete 'preview' release
uses: larryjoelane/delete-release-action@v1.0.24

4
.gitignore vendored

@ -157,3 +157,7 @@ flycheck_*.el
.swap-db/
# End of https://www.toptal.com/developers/gitignore/api/rust,clion+all,emacs
*.log
.vscode
swap/tempdb

@ -7,6 +7,62 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
## [0.13.0] - 2024-05-29
- Minimum Supported Rust Version (MSRV) bumped to 1.74
- Lowered default Bitcoin confirmation target for Bob to 1 to make sure Bitcoin transactions get confirmed in time
- Added support for starting the CLI (using the `start-daemon` subcommand) as a Daemon that accepts JSON-RPC requests
- Update monero-wallet-rpc version to v0.18.3.1
## [0.12.3] - 2023-09-20
- Swap: If no Monero daemon is manually specified, we will automatically choose one from a list of public daemons by connecting to each and checking their availability.
## [0.12.2] - 2023-08-08
### Changed
- Minimum Supported Rust Version (MSRV) bumped to 1.67
- ASB can now register with multiple rendezvous nodes. The `rendezvous_point` option in `config.toml` can be a string with comma separated addresses, or a toml array of address strings.
## [0.12.1] - 2023-01-09
### Changed
- Swap: merge separate cancel/refund commands into one `cancel-and-refund` command for stuck swaps
## [0.12.0] - 2022-12-31
### Changed
- Update `bdk` library to latest version. This introduces an incompatability with previous versions due to different formats being used to exchange Bitcoin transactions
- Changed ASB to quote on Monero unlocked balance instead of total balance
- Allow `asb` to set a bitcoin address that is controlled by the asb itself to redeem/punish bitcoin to
### Added
- Allow asb config overrides using environment variables. See [1231](https://github.com/comit-network/xmr-btc-swap/pull/1231)
## [0.11.0] - 2022-08-11
### Changed
- Update from Monero v0.17.2.0 to Monero v0.18.0.0
- Change Monero nodes to [Rino tool nodes](https://community.rino.io/nodes.html)
- Always write logs as JSON to files
- Change to UTC time for log messages, due to a bug causing no logging at all to be printed (linux/macos), and an [unsoundness issue](https://docs.rs/tracing-subscriber/latest/tracing_subscriber/fmt/time/struct.LocalTime.html) with local time in [the time crate](https://github.com/time-rs/time/issues/293#issuecomment-748151025)
- Fix potential integer overflow in ASB when calculating maximum Bitcoin amount for Monero balance
- Reduce Monero locking transaction fee amount from 0.000030 to 0.000016 XMR, which is still double the current median fee as reported at [monero.how](https://www.monero.how/monero-transaction-fees)
### Added
- Adjust quote based on Bitcoin balance.
If the max_buy_btc in the ASB config is higher than the available balance to trade, it will return the max available balance discounting the Monero locking fees. In the case the balance is lower than the min_buy_btc config it will return 0 to the CLI. If the ASB returns a quote of 0 the CLI will not allow you continue with a trade.
- Reduce required confirmations for Bitcoin transactions from 2 to 1
- Both the ASB and CLI now support the [Identify](https://github.com/libp2p/specs/blob/master/identify/README.md) protocol. This makes its version and network (testnet/mainnet) avaliable to others
- Display minimum BTC deposit required to cover the minimum quantity plus fee in the Swap CLI
- Swap CLI will check its monero-wallet-rpc version and remove it if it's older than Fluorine Fermi (0.18)
## [0.10.2] - 2021-12-25
### Changed
@ -16,7 +72,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
This is a breaking database change!
Swaps that were saved prior to this change may fail to load if they are in state `SwapSetupCompleted` of `BtcLocked`.
Make sure to finish your swaps before upgrading.
- logs to use rfc3339 local time formatting.
## [0.10.1] - 2021-12-23
@ -301,7 +356,13 @@ It is possible to migrate critical data from the old db to the sqlite but there
- Fixed an issue where Alice would not verify if Bob's Bitcoin lock transaction is semantically correct, i.e. pays the agreed upon amount to an output owned by both of them.
Fixing this required a **breaking change** on the network layer and hence old versions are not compatible with this version.
[Unreleased]: https://github.com/comit-network/xmr-btc-swap/compare/0.10.2...HEAD
[unreleased]: https://github.com/comit-network/xmr-btc-swap/compare/0.13.0...HEAD
[0.13.0]: https://github.com/comit-network/xmr-btc-swap/compare/0.12.3...0.13.0
[0.12.3]: https://github.com/comit-network/xmr-btc-swap/compare/0.12.2...0.12.3
[0.12.2]: https://github.com/comit-network/xmr-btc-swap/compare/0.12.1...0.12.2
[0.12.1]: https://github.com/comit-network/xmr-btc-swap/compare/0.12.0...0.12.1
[0.12.0]: https://github.com/comit-network/xmr-btc-swap/compare/0.11.0...0.12.0
[0.11.0]: https://github.com/comit-network/xmr-btc-swap/compare/0.10.2...0.11.0
[0.10.2]: https://github.com/comit-network/xmr-btc-swap/compare/0.10.1...0.10.2
[0.10.1]: https://github.com/comit-network/xmr-btc-swap/compare/0.10.0...0.10.1
[0.10.0]: https://github.com/comit-network/xmr-btc-swap/compare/0.9.0...0.10.0

3253
Cargo.lock generated

File diff suppressed because it is too large Load Diff

@ -1,5 +1,8 @@
[workspace]
resolver = "2"
members = [ "monero-harness", "monero-rpc", "swap", "monero-wallet" ]
[patch.crates-io]
# patch until new release https://github.com/thomaseizinger/rust-jsonrpc-client/pull/51
jsonrpc_client = { git = "https://github.com/delta1/rust-jsonrpc-client.git", rev = "3b6081697cd616c952acb9c2f02d546357d35506" }
monero = { git = "https://github.com/comit-network/monero-rs", rev = "818f38b" }

@ -44,9 +44,14 @@ It is not recommended to bump fees when swapping because it can have unpredictab
## Contributing
We are encourage community contributions whether it be a bug fix or an improvement to the documentation.
We encourage community contributions whether it be a bug fix or an improvement to the documentation.
Please have a look at the [contribution guidelines](./CONTRIBUTING.md).
## Rust Version Support
Please note that only the latest stable Rust toolchain is supported.
All stable toolchains since 1.74 _should_ work.
## Contact
Feel free to reach out to us in the [COMIT-Monero Matrix channel](https://matrix.to/#/#comit-monero:matrix.org).

@ -1,22 +0,0 @@
status = [
"static_analysis",
"build (x86_64-unknown-linux-gnu, ubuntu-latest)",
"build (armv7-unknown-linux-gnueabihf, ubuntu-latest)",
"build (x86_64-apple-darwin, macos-latest)",
"build (x86_64-pc-windows-msvc, windows-latest)",
"test (ubuntu-latest)",
"test (macos-latest)",
"docker_tests (happy_path)",
"docker_tests (happy_path_restart_bob_after_xmr_locked)",
"docker_tests (happy_path_restart_alice_after_xmr_locked)",
"docker_tests (happy_path_restart_bob_before_xmr_locked)",
"docker_tests (alice_and_bob_refund_using_cancel_and_refund_command)",
"docker_tests (alice_and_bob_refund_using_cancel_and_refund_command_timelock_not_expired)",
"docker_tests (punish)",
"docker_tests (alice_punishes_after_restart_bob_dead)",
"docker_tests (alice_manually_punishes_after_bob_dead)",
"docker_tests (alice_refunds_after_restart_bob_refunded)",
"docker_tests (ensure_same_swap_id)",
"docker_tests (concurrent_bobs_before_xmr_lock_proof_sent)",
"docker_tests (alice_manually_redeems_after_enc_sig_learned)"
]

@ -12,7 +12,7 @@ This quickstart guide assumes that you are running the software on testnet (i.e.
3. Run the ASB in terminal: `./asb --testnet start`
4. Follow the setup wizard in the terminal
Public Monero nodes for running the Monero Wallet RPC can be found [here](https://melo.tools/nodes.html).
Public Monero nodes for running the Monero Wallet RPC can be found [here](https://community.rino.io/nodes.html).
Run `./asb --help` for more information.
@ -42,13 +42,16 @@ Since the ASB is a long running task we specify the person running an ASB as ser
The ASB daemon supports the libp2p [rendezvous-protocol](https://github.com/libp2p/specs/tree/master/rendezvous).
Usage of the rendezvous functionality is entirely optional.
You can configure a rendezvous point in the `[network]` section of your config file.
You can configure one or more rendezvous points in the `[network]` section of your config file.
For the registration to be successful, you also need to configure the externally reachable addresses within the `[network]` section.
For example:
```toml
[network]
rendezvous_point = "/dnsaddr/rendezvous.coblox.tech/p2p/12D3KooWQUt9DkNZxEn2R5ymJzWj15MpG6mTW84kyd8vDaRZi46o"
rendezvous_point = [
"/dns4/discover.unstoppableswap.net/tcp/8888/p2p/12D3KooWA6cnqJpVnreBVnoro8midDL9Lpzmg8oJPoAGi7YYaamE",
"/dns4/eratosthen.es/tcp/7798/p2p/12D3KooWAh7EXXa2ZyegzLGdjvj1W4G3EXrTGrf6trraoT1MEobs",
]
external_addresses = ["/dns4/example.com/tcp/9939"]
```
@ -107,7 +110,7 @@ The minimum and maximum amount as well as a spread, that is added on top of the
In order to be able to trade, the ASB must define a price to be able to agree on the amounts to be swapped with a CLI.
The `XMR<>BTC` price is currently determined by the price from the central exchange Kraken.
Upon startup the ASB connects to the Kraken price websocket and listens on the stream for price updates.
You can plug in a different price ticker websocket using the the `price_ticker_ws_url` configuration option.
You can plug in a different price ticker websocket using the `price_ticker_ws_url` configuration option.
You will have to make sure that the format returned is the same as the format used by Kraken.
Currently, we use a spot-price model, i.e. the ASB dictates the price to the CLI.
@ -161,3 +164,38 @@ May 01 01:32:05.018 INFO Tor found. Setting up hidden service.
May 01 01:32:07.475 INFO /onion3/z4findrdwtfbpoq64ayjtmxvr52vvxnsynerlenlfkmm52dqxsl4deyd:9939
May 01 01:32:07.476 INFO /onion3/z4findrdwtfbpoq64ayjtmxvr52vvxnsynerlenlfkmm52dqxsl4deyd:9940
```
### Exporting the Bitcoin wallet descriptor
First use `swap` or `asb` with the `export-bitcoin-wallet` subcommand.
Output example:
```json
{"descriptor":"wpkh(tprv8Zgredacted.../84'/1'/0'/0/*)","blockheight":2415616,"label":"asb-testnet"}
```
The wallet can theoretically be directly imported into
[bdk-cli](https://bitcoindevkit.org/bdk-cli/installation/) but it is easier to
use Sparrow Wallet.
Sparrow wallet import works as follows:
- File -> New wallet -> Give it a name
- Select "New or Imported Software Wallet"
- Click "Enter Private Key" for "Master Private Key (BIP32)"
- Enter the `xprv...` or `tprv...` part of the descriptor (example above is `tprv8Zgredacted...`:
![image](enter-master-private-key.png)
- Click "Import"
- Leave the derivation path as `m/84'/0'/0'` and click "Import Keystore" button
- Click "Apply" and then supply password
![image](import-keystore.png)
- Click Transactions tab
- ???
- Profit!
![image](transactions-tab.png)

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

@ -100,7 +100,7 @@ OPTIONS:
--tor-socks5-port <tor-socks5-port> Your local Tor socks5 proxy port [default: 9050]
```
Running `swap --testnet list-sellers --rendezvous-point /dnsaddr/rendezvous.coblox.tech/p2p/12D3KooWQUt9DkNZxEn2R5ymJzWj15MpG6mTW84kyd8vDaRZi46o` will give you something like:
Running `swap --testnet list-sellers --rendezvous-point /dns4/discover.unstoppableswap.net/tcp/8888/p2p/12D3KooWA6cnqJpVnreBVnoro8midDL9Lpzmg8oJPoAGi7YYaamE` will give you something like:
```
Connected to rendezvous point, discovering nodes in 'xmr-btc-swap-testnet' namespace ...

@ -8,7 +8,7 @@
# 4th param: Your bech32 Bitcoin testnet address that will be used for any change output (e.g. refund scenario or when swapping an amount smaller than the transferred BTC)
#
# Example usage:
# discover_and_take.sh "PATH/TO/swap" "/dnsaddr/rendezvous.coblox.tech/p2p/12D3KooWQUt9DkNZxEn2R5ymJzWj15MpG6mTW84kyd8vDaRZi46o" "YOUR_XMR_STAGENET_ADDRESS" "YOUR_BECH32_BITCOIN_TESTNET_ADDRESS"
# discover_and_take.sh "PATH/TO/swap" "/dns4/discover.unstoppableswap.net/tcp/8888/p2p/12D3KooWA6cnqJpVnreBVnoro8midDL9Lpzmg8oJPoAGi7YYaamE" "YOUR_XMR_STAGENET_ADDRESS" "YOUR_BECH32_BITCOIN_TESTNET_ADDRESS"
CLI_PATH=$1
RENDEZVOUS_POINT=$2

@ -2,24 +2,17 @@
"$schema": "https://dprint.dev/schemas/v0.json",
"projectType": "openSource",
"incremental": true,
"markdown": {
},
"rustfmt": {
"edition": 2018,
"condense_wildcard_suffixes": true,
"format_macro_matchers": true,
"imports_granularity" : "Module",
"use_field_init_shorthand": true,
"format_code_in_doc_comments": true,
"normalize_comments": true,
"wrap_comments": true,
"overflow_delimited_expr": true
"markdown": {},
"exec": {
"associations": "**/*.{rs}",
"rustfmt": "rustfmt --edition 2021",
"rustfmt.associations": "**/*.rs"
},
"includes": ["**/*.{md}", "**/*.{toml}", "**/*.{rs}"],
"excludes": [ "target/" ],
"excludes": ["target/"],
"plugins": [
"https://plugins.dprint.dev/markdown-0.6.1.wasm",
"https://plugins.dprint.dev/markdown-0.13.1.wasm",
"https://github.com/thomaseizinger/dprint-plugin-cargo-toml/releases/download/0.1.0/cargo-toml-0.1.0.wasm",
"https://plugins.dprint.dev/rustfmt-0.4.0.exe-plugin@c6bb223ef6e5e87580177f6461a0ab0554ac9ea6b54f78ea7ae8bf63b14f5bc2"
"https://plugins.dprint.dev/exec-0.3.5.json@d687dda57be0fe9a0088ccdaefa5147649ff24127d8b3ea227536c68ee7abeab"
]
}

@ -2,7 +2,7 @@
name = "monero-harness"
version = "0.1.0"
authors = [ "CoBloX Team <team@coblox.tech>" ]
edition = "2018"
edition = "2021"
publish = false
[dependencies]
@ -10,8 +10,7 @@ anyhow = "1"
futures = "0.3"
monero-rpc = { path = "../monero-rpc" }
rand = "0.7"
spectral = "0.6"
testcontainers = "0.12"
testcontainers = "0.15"
tokio = { version = "1", default-features = false, features = [ "rt-multi-thread", "time", "macros" ] }
tracing = "0.1"
tracing-subscriber = { version = "0.2", default-features = false, features = [ "fmt", "ansi", "env-filter", "tracing-log" ] }

@ -1,6 +1,4 @@
use std::collections::HashMap;
use testcontainers::core::{Container, Docker, WaitForMessage};
use testcontainers::Image;
use testcontainers::{core::WaitFor, Image, ImageArgs};
pub const MONEROD_DAEMON_CONTAINER_NAME: &str = "monerod";
pub const MONEROD_DEFAULT_NETWORK: &str = "monero_network";
@ -13,43 +11,22 @@ pub const MONEROD_DEFAULT_NETWORK: &str = "monero_network";
/// this doesn't matter.
pub const RPC_PORT: u16 = 18081;
#[derive(Debug)]
pub struct Monerod {
args: MonerodArgs,
}
#[derive(Clone, Copy, Debug, Default)]
pub struct Monerod;
impl Image for Monerod {
type Args = MonerodArgs;
type EnvVars = HashMap<String, String>;
type Volumes = HashMap<String, String>;
type EntryPoint = str;
fn descriptor(&self) -> String {
"xmrto/monero:v0.17.2.0".to_owned()
}
fn wait_until_ready<D: Docker>(&self, container: &Container<'_, D, Self>) {
container
.logs()
.stdout
.wait_for_message("RPC server started ok")
.unwrap();
}
fn args(&self) -> <Self as Image>::Args {
self.args.clone()
fn name(&self) -> String {
"rinocommunity/monero".into()
}
fn volumes(&self) -> Self::Volumes {
HashMap::new()
fn tag(&self) -> String {
"v0.18.1.2".into()
}
fn env_vars(&self) -> Self::EnvVars {
HashMap::new()
}
fn with_args(self, args: <Self as Image>::Args) -> Self {
Self { args }
fn ready_conditions(&self) -> Vec<WaitFor> {
vec![WaitFor::message_on_stdout("RPC server started ok")]
}
fn entrypoint(&self) -> Option<String> {
@ -58,51 +35,22 @@ impl Image for Monerod {
}
}
impl Default for Monerod {
fn default() -> Self {
Self {
args: MonerodArgs::default(),
}
}
}
#[derive(Debug)]
pub struct MoneroWalletRpc {
args: MoneroWalletRpcArgs,
}
#[derive(Clone, Copy, Debug)]
pub struct MoneroWalletRpc;
impl Image for MoneroWalletRpc {
type Args = MoneroWalletRpcArgs;
type EnvVars = HashMap<String, String>;
type Volumes = HashMap<String, String>;
type EntryPoint = str;
fn descriptor(&self) -> String {
"xmrto/monero:v0.17.2.0".to_owned()
}
fn wait_until_ready<D: Docker>(&self, container: &Container<'_, D, Self>) {
container
.logs()
.stdout
.wait_for_message("Run server thread name: RPC")
.unwrap();
}
fn args(&self) -> <Self as Image>::Args {
self.args.clone()
}
fn volumes(&self) -> Self::Volumes {
HashMap::new()
fn name(&self) -> String {
"rinocommunity/monero".into()
}
fn env_vars(&self) -> Self::EnvVars {
HashMap::new()
fn tag(&self) -> String {
"v0.18.1.2".into()
}
fn with_args(self, args: <Self as Image>::Args) -> Self {
Self { args }
fn ready_conditions(&self) -> Vec<WaitFor> {
vec![WaitFor::message_on_stdout("Run server thread name: RPC")]
}
fn entrypoint(&self) -> Option<String> {
@ -111,19 +59,10 @@ impl Image for MoneroWalletRpc {
}
}
impl Default for MoneroWalletRpc {
fn default() -> Self {
Self {
args: MoneroWalletRpcArgs::default(),
}
}
}
impl MoneroWalletRpc {
pub fn new(name: &str, daemon_address: String) -> Self {
Self {
args: MoneroWalletRpcArgs::new(name, daemon_address),
}
pub fn new(name: &str, daemon_address: String) -> (Self, MoneroWalletRpcArgs) {
let args = MoneroWalletRpcArgs::new(name, daemon_address);
(Self, args)
}
}
@ -207,6 +146,12 @@ impl IntoIterator for MonerodArgs {
}
}
impl ImageArgs for MonerodArgs {
fn into_iterator(self) -> Box<dyn Iterator<Item = String>> {
Box::new(self.into_iter())
}
}
#[derive(Debug, Clone)]
pub struct MoneroWalletRpcArgs {
pub disable_rpc_login: bool,
@ -216,12 +161,6 @@ pub struct MoneroWalletRpcArgs {
pub daemon_address: String,
}
impl Default for MoneroWalletRpcArgs {
fn default() -> Self {
unimplemented!("A default instance for `MoneroWalletRpc` doesn't make sense because we always need to connect to a node.")
}
}
impl MoneroWalletRpcArgs {
pub fn new(wallet_name: &str, daemon_address: String) -> Self {
Self {
@ -245,6 +184,7 @@ impl IntoIterator for MoneroWalletRpcArgs {
format!("--daemon-address={}", self.daemon_address),
format!("--rpc-bind-port={}", RPC_PORT),
"--log-level=4".to_string(),
"--allow-mismatched-daemon-version".to_string(), /* https://github.com/monero-project/monero/issues/8600 */
];
if self.disable_rpc_login {
@ -262,3 +202,9 @@ impl IntoIterator for MoneroWalletRpcArgs {
args.into_iter()
}
}
impl ImageArgs for MoneroWalletRpcArgs {
fn into_iterator(self) -> Box<dyn Iterator<Item = String>> {
Box::new(self.into_iter())
}
}

@ -20,17 +20,20 @@
//! every BLOCK_TIME_SECS seconds.
//!
//! Also provides standalone JSON RPC clients for monerod and monero-wallet-rpc.
pub mod image;
use std::time::Duration;
use crate::image::{MONEROD_DAEMON_CONTAINER_NAME, MONEROD_DEFAULT_NETWORK, RPC_PORT};
use anyhow::{anyhow, bail, Context, Result};
use testcontainers::clients::Cli;
use testcontainers::{Container, RunnableImage};
use tokio::time;
use monero_rpc::monerod;
use monero_rpc::monerod::MonerodRpc as _;
use monero_rpc::wallet::{self, GetAddress, MoneroWalletRpc as _, Refreshed, Transfer};
use std::time::Duration;
use testcontainers::clients::Cli;
use testcontainers::{Container, Docker, RunArgs};
use tokio::time;
use crate::image::{MONEROD_DAEMON_CONTAINER_NAME, MONEROD_DEFAULT_NETWORK, RPC_PORT};
pub mod image;
/// How often we mine a block.
const BLOCK_TIME_SECS: u64 = 1;
@ -56,8 +59,8 @@ impl<'c> Monero {
additional_wallets: Vec<&'static str>,
) -> Result<(
Self,
Container<'c, Cli, image::Monerod>,
Vec<Container<'c, Cli, image::MoneroWalletRpc>>,
Container<'c, image::Monerod>,
Vec<Container<'c, image::MoneroWalletRpc>>,
)> {
let prefix = format!("{}_", random_prefix());
let monerod_name = format!("{}{}", prefix, MONEROD_DAEMON_CONTAINER_NAME);
@ -71,7 +74,7 @@ impl<'c> Monero {
let miner = "miner";
tracing::info!("Starting miner wallet: {}", miner);
let (miner_wallet, miner_container) =
MoneroWalletRpc::new(cli, &miner, &monerod, prefix.clone()).await?;
MoneroWalletRpc::new(cli, miner, &monerod, prefix.clone()).await?;
wallets.push(miner_wallet);
containers.push(miner_container);
@ -83,7 +86,7 @@ impl<'c> Monero {
// trying for 5 minutes
let (wallet, container) = tokio::time::timeout(Duration::from_secs(300), async {
loop {
let result = MoneroWalletRpc::new(cli, &wallet, &monerod, prefix.clone()).await;
let result = MoneroWalletRpc::new(cli, wallet, &monerod, prefix.clone()).await;
match result {
Ok(tuple) => { return tuple; }
@ -117,11 +120,12 @@ impl<'c> Monero {
let miner_wallet = self.wallet("miner")?;
let miner_address = miner_wallet.address().await?.address;
// generate the first 70 as bulk
// generate the first 120 as bulk
let amount_of_blocks = 120;
let monerod = &self.monerod;
let res = monerod
.client()
.generateblocks(70, miner_address.clone())
.generateblocks(amount_of_blocks, miner_address.clone())
.await?;
tracing::info!("Generated {:?} blocks", res.blocks.len());
miner_wallet.refresh().await?;
@ -137,15 +141,30 @@ impl<'c> Monero {
let wallet = self.wallet(name)?;
let address = wallet.address().await?.address;
let mut expected_total = 0;
let mut expected_unlocked = 0;
let mut unlocked = 0;
for amount in amount_in_outputs {
if amount > 0 {
miner_wallet.transfer(&address, amount).await?;
expected_total += amount;
tracing::info!("Funded {} wallet with {}", wallet.name, amount);
// sanity checks for total/unlocked balance
let total = wallet.balance().await?;
assert_eq!(total, expected_total);
assert_eq!(unlocked, expected_unlocked);
monerod
.client()
.generateblocks(10, miner_address.clone())
.await?;
wallet.refresh().await?;
expected_unlocked += amount;
unlocked = wallet.unlocked_balance().await?;
assert_eq!(unlocked, expected_unlocked);
assert_eq!(total, expected_total);
}
}
@ -188,7 +207,6 @@ fn random_prefix() -> String {
#[derive(Clone, Debug)]
pub struct Monerod {
rpc_port: u16,
name: String,
network: String,
client: monerod::Client,
@ -196,9 +214,7 @@ pub struct Monerod {
#[derive(Clone, Debug)]
pub struct MoneroWalletRpc {
rpc_port: u16,
name: String,
network: String,
client: wallet::Client,
}
@ -208,19 +224,17 @@ impl<'c> Monerod {
cli: &'c Cli,
name: String,
network: String,
) -> Result<(Self, Container<'c, Cli, image::Monerod>)> {
let image = image::Monerod::default();
let run_args = RunArgs::default()
.with_name(name.clone())
) -> Result<(Self, Container<'c, image::Monerod>)> {
let image = image::Monerod;
let image: RunnableImage<image::Monerod> = RunnableImage::from(image)
.with_container_name(name.clone())
.with_network(network.clone());
let container = cli.run_with_args(image, run_args);
let monerod_rpc_port = container
.get_host_port(RPC_PORT)
.context("port not exposed")?;
let container = cli.run(image);
let monerod_rpc_port = container.get_host_port_ipv4(RPC_PORT);
Ok((
Self {
rpc_port: monerod_rpc_port,
name,
network,
client: monerod::Client::localhost(monerod_rpc_port)?,
@ -237,7 +251,7 @@ impl<'c> Monerod {
/// address
pub async fn start_miner(&self, miner_wallet_address: &str) -> Result<()> {
let monerod = self.client().clone();
let _ = tokio::spawn(mine(monerod, miner_wallet_address.to_string()));
tokio::spawn(mine(monerod, miner_wallet_address.to_string()));
Ok(())
}
}
@ -250,19 +264,15 @@ impl<'c> MoneroWalletRpc {
name: &str,
monerod: &Monerod,
prefix: String,
) -> Result<(Self, Container<'c, Cli, image::MoneroWalletRpc>)> {
) -> Result<(Self, Container<'c, image::MoneroWalletRpc>)> {
let daemon_address = format!("{}:{}", monerod.name, RPC_PORT);
let image = image::MoneroWalletRpc::new(&name, daemon_address);
let (image, args) = image::MoneroWalletRpc::new(name, daemon_address);
let image = RunnableImage::from((image, args))
.with_container_name(format!("{}{}", prefix, name))
.with_network(monerod.network.clone());
let network = monerod.network.clone();
let run_args = RunArgs::default()
// prefix the container name so we can run multiple tests
.with_name(format!("{}{}", prefix, name))
.with_network(network.clone());
let container = cli.run_with_args(image, run_args);
let wallet_rpc_port = container
.get_host_port(RPC_PORT)
.context("port not exposed")?;
let container = cli.run(image);
let wallet_rpc_port = container.get_host_port_ipv4(RPC_PORT);
let client = wallet::Client::localhost(wallet_rpc_port)?;
@ -272,9 +282,7 @@ impl<'c> MoneroWalletRpc {
Ok((
Self {
rpc_port: wallet_rpc_port,
name: name.to_string(),
network,
client,
},
container,
@ -301,7 +309,7 @@ impl<'c> MoneroWalletRpc {
/// Sends amount to address
pub async fn transfer(&self, address: &str, amount: u64) -> Result<Transfer> {
Ok(self.client().transfer_single(0, amount, address).await?)
self.client().transfer_single(0, amount, address).await
}
pub async fn address(&self) -> Result<GetAddress> {
@ -315,10 +323,18 @@ impl<'c> MoneroWalletRpc {
Ok(balance)
}
pub async fn unlocked_balance(&self) -> Result<u64> {
self.client().refresh().await?;
let balance = self.client().get_balance(0).await?.unlocked_balance;
Ok(balance)
}
pub async fn refresh(&self) -> Result<Refreshed> {
Ok(self.client().refresh().await?)
}
}
/// Mine a block ever BLOCK_TIME_SECS seconds.
async fn mine(monerod: monerod::Client, reward_address: String) -> Result<()> {
loop {

@ -1,6 +1,5 @@
use monero_harness::Monero;
use monero_rpc::monerod::MonerodRpc as _;
use spectral::prelude::*;
use std::time::Duration;
use testcontainers::clients::Cli;
use tokio::time;
@ -21,12 +20,12 @@ async fn init_miner_and_mine_to_miner_address() {
let miner_wallet = monero.wallet("miner").unwrap();
let got_miner_balance = miner_wallet.balance().await.unwrap();
assert_that!(got_miner_balance).is_greater_than(0);
assert!(got_miner_balance > 0);
time::sleep(Duration::from_millis(1010)).await;
// after a bit more than 1 sec another block should have been mined
let block_height = monerod.client().get_block_count().await.unwrap().count;
assert_that(&block_height).is_greater_than(70);
assert!(block_height > 70);
}

@ -1,6 +1,5 @@
use monero_harness::{Monero, MoneroWalletRpc};
use monero_rpc::wallet::MoneroWalletRpc as _;
use spectral::prelude::*;
use std::time::Duration;
use testcontainers::clients::Cli;
use tokio::time::sleep;
@ -29,7 +28,7 @@ async fn fund_transfer_and_check_tx_key() {
// check alice balance
let got_alice_balance = alice_wallet.balance().await.unwrap();
assert_that(&got_alice_balance).is_equal_to(fund_alice);
assert_eq!(got_alice_balance, fund_alice);
// transfer from alice to bob
let bob_address = bob_wallet.address().await.unwrap().address;
@ -41,7 +40,7 @@ async fn fund_transfer_and_check_tx_key() {
wait_for_wallet_to_catch_up(bob_wallet, send_to_bob).await;
let got_bob_balance = bob_wallet.balance().await.unwrap();
assert_that(&got_bob_balance).is_equal_to(send_to_bob);
assert_eq!(got_bob_balance, send_to_bob);
// check if tx was actually seen
let tx_id = transfer.tx_hash;
@ -52,7 +51,7 @@ async fn fund_transfer_and_check_tx_key() {
.await
.expect("failed to check tx by key");
assert_that!(res.received).is_equal_to(send_to_bob);
assert_eq!(res.received, send_to_bob);
}
async fn wait_for_wallet_to_catch_up(wallet: &MoneroWalletRpc, expected_balance: u64) {

@ -2,7 +2,7 @@
name = "monero-rpc"
version = "0.1.0"
authors = [ "CoBloX Team <team@coblox.tech>" ]
edition = "2018"
edition = "2021"
[dependencies]
anyhow = "1"
@ -12,11 +12,12 @@ jsonrpc_client = { version = "0.7", features = [ "reqwest" ] }
monero = "0.12"
monero-epee-bin-serde = "1"
rand = "0.7"
reqwest = { version = "0.11", default-features = false, features = [ "json" ] }
reqwest = { version = "0.12", default-features = false, features = [ "json" ] }
rust_decimal = { version = "1", features = [ "serde-float" ] }
serde = { version = "1.0", features = [ "derive" ] }
serde_json = "1.0"
tracing = "0.1"
[dev-dependencies]
hex-literal = "0.3"
hex-literal = "0.4"
tokio = { version = "1", features = [ "full" ] }

@ -47,9 +47,10 @@ impl Client {
}
pub async fn get_o_indexes(&self, txid: Hash) -> Result<GetOIndexesResponse> {
self.binary_request(self.get_o_indexes_bin_url.clone(), GetOIndexesPayload {
txid,
})
self.binary_request(
self.get_o_indexes_bin_url.clone(),
GetOIndexesPayload { txid },
)
.await
}
@ -157,7 +158,7 @@ pub struct OutKey {
pub unlocked: bool,
}
#[derive(Clone, Debug, Deserialize, PartialEq)]
#[derive(Clone, Debug, Deserialize, PartialEq, Eq)]
pub struct BaseResponse {
pub credits: u64,
pub status: Status,
@ -165,7 +166,7 @@ pub struct BaseResponse {
pub untrusted: bool,
}
#[derive(Clone, Debug, Deserialize, PartialEq)]
#[derive(Clone, Debug, Deserialize, PartialEq, Eq)]
pub struct GetOIndexesResponse {
#[serde(flatten)]
pub base: BaseResponse,
@ -173,7 +174,7 @@ pub struct GetOIndexesResponse {
pub o_indexes: Vec<u64>,
}
#[derive(Clone, Copy, Debug, Deserialize, PartialEq)]
#[derive(Clone, Copy, Debug, Deserialize, PartialEq, Eq)]
pub enum Status {
#[serde(rename = "OK")]
Ok,
@ -194,7 +195,7 @@ mod monero_serde_hex_block {
{
let hex = String::deserialize(deserializer)?;
let bytes = hex::decode(&hex).map_err(D::Error::custom)?;
let bytes = hex::decode(hex).map_err(D::Error::custom)?;
let mut cursor = Cursor::new(bytes);
let block = monero::Block::consensus_decode(&mut cursor).map_err(D::Error::custom)?;

@ -1,4 +1,7 @@
use std::fmt;
use anyhow::{Context, Result};
use rust_decimal::Decimal;
use serde::de::Error;
use serde::{Deserialize, Deserializer, Serialize};
@ -86,10 +89,30 @@ pub struct GetAddress {
#[derive(Deserialize, Debug, Clone, Copy)]
pub struct GetBalance {
pub balance: u64,
pub blocks_to_unlock: u32,
pub unlocked_balance: u64,
pub multisig_import_needed: bool,
pub blocks_to_unlock: u32,
pub time_to_unlock: u32,
pub unlocked_balance: u64,
}
impl fmt::Display for GetBalance {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
let mut total = Decimal::from(self.balance);
total
.set_scale(12)
.expect("12 is smaller than max precision of 28");
let mut unlocked = Decimal::from(self.unlocked_balance);
unlocked
.set_scale(12)
.expect("12 is smaller than max precision of 28");
write!(
f,
"total balance: {}, unlocked balance: {}",
total, unlocked
)
}
}
#[derive(Deserialize, Debug, Clone)]
@ -134,7 +157,7 @@ pub struct Transfer {
pub unsigned_txset: String,
}
#[derive(Clone, Copy, Debug, Deserialize, Serialize, PartialEq)]
#[derive(Clone, Copy, Debug, Deserialize, Serialize, PartialEq, Eq)]
pub struct BlockHeight {
pub height: u32,
}
@ -184,12 +207,7 @@ pub struct Refreshed {
#[derive(Debug, Clone, Deserialize)]
pub struct SweepAll {
amount_list: Vec<u64>,
fee_list: Vec<u64>,
multisig_txset: String,
pub tx_hash_list: Vec<String>,
unsigned_txset: String,
weight_list: Vec<u32>,
}
#[derive(Debug, Copy, Clone, Deserialize)]
@ -244,7 +262,7 @@ mod tests {
}
}"#;
let _: Response<SweepAll> = serde_json::from_str(&response).unwrap();
let _: Response<SweepAll> = serde_json::from_str(response).unwrap();
}
#[test]
@ -256,6 +274,6 @@ mod tests {
}
}"#;
let _: Response<WalletCreated> = serde_json::from_str(&response).unwrap();
let _: Response<WalletCreated> = serde_json::from_str(response).unwrap();
}
}

@ -2,7 +2,7 @@
name = "monero-wallet"
version = "0.1.0"
authors = [ "CoBloX Team <team@coblox.tech>" ]
edition = "2018"
edition = "2021"
[dependencies]
anyhow = "1"
@ -14,6 +14,6 @@ rand = "0.7"
curve25519-dalek = "3"
monero-harness = { path = "../monero-harness" }
rand = "0.7"
testcontainers = "0.12"
testcontainers = "0.15"
tokio = { version = "1", features = [ "rt-multi-thread", "time", "macros", "sync", "process", "fs" ] }
tracing-subscriber = { version = "0.2", default-features = false, features = [ "fmt", "ansi", "env-filter", "chrono", "tracing-log" ] }

@ -61,13 +61,12 @@ mod tests {
use monero_harness::image::Monerod;
use monero_rpc::monerod::{Client, GetOutputsOut};
use testcontainers::clients::Cli;
use testcontainers::Docker;
#[tokio::test]
async fn get_outs_for_key_offsets() {
let cli = Cli::default();
let container = cli.run(Monerod::default());
let rpc_client = Client::localhost(container.get_host_port(18081).unwrap()).unwrap();
let container = cli.run(Monerod);
let rpc_client = Client::localhost(container.get_host_port_ipv4(18081)).unwrap();
rpc_client.generateblocks(150, "498AVruCDWgP9Az9LjMm89VWjrBrSZ2W2K3HFBiyzzrRjUJWUcCVxvY1iitfuKoek2FdX6MKGAD9Qb1G1P8QgR5jPmmt3Vj".to_owned()).await.unwrap();
let wallet = Wallet {
client: rpc_client.clone(),
@ -77,8 +76,8 @@ mod tests {
let result = rpc_client
.get_outs(
key_offsets
.to_vec()
.into_iter()
.iter()
.cloned()
.map(|varint| GetOutputsOut {
amount: 0,
index: varint.0,

@ -1,4 +1,4 @@
[toolchain]
channel = "1.53"
channel = "1.74" # also update this in the readme, changelog, and github actions
components = ["clippy"]
targets = ["armv7-unknown-linux-gnueabihf"]

@ -1,8 +1,8 @@
[package]
name = "swap"
version = "0.10.2"
version = "0.13.0"
authors = [ "The COMIT guys <hello@comit.network>" ]
edition = "2018"
edition = "2021"
description = "XMR/BTC trustless atomic swaps."
[lib]
@ -13,58 +13,61 @@ anyhow = "1"
async-compression = { version = "0.3", features = [ "bzip2", "tokio" ] }
async-trait = "0.1"
atty = "0.2"
backoff = { version = "0.3", features = [ "tokio" ] }
base64 = "0.13"
bdk = "0.12"
backoff = { version = "0.4", features = [ "tokio" ] }
base64 = "0.22"
bdk = "0.28"
big-bytes = "1"
bitcoin = { version = "0.27", features = [ "rand", "use-serde" ] }
bitcoin = { version = "0.29", features = [ "rand", "serde" ] }
bmrng = "0.5"
comfy-table = "4.1.1"
config = { version = "0.11", default-features = false, features = [ "toml" ] }
conquer-once = "0.3"
comfy-table = "7.1"
config = { version = "0.14", default-features = false, features = [ "toml" ] }
conquer-once = "0.4"
curve25519-dalek = { package = "curve25519-dalek-ng", version = "4" }
data-encoding = "2.3"
dialoguer = "0.8"
data-encoding = "2.6"
dialoguer = "0.11"
digest = "0.10.7"
directories-next = "2"
ecdsa_fun = { git = "https://github.com/LLFourn/secp256kfun", default-features = false, features = [ "libsecp_compat", "serde" ] }
ecdsa_fun = { version = "0.10", default-features = false, features = [ "libsecp_compat", "serde", "adaptor" ] }
ed25519-dalek = "1"
futures = { version = "0.3", default-features = false }
hex = "0.4"
itertools = "0.10"
libp2p = { git = "https://github.com/libp2p/rust-libp2p.git", default-features = false, features = [ "tcp-tokio", "yamux", "mplex", "dns-tokio", "noise", "request-response", "websocket", "ping", "rendezvous" ] }
itertools = "0.13"
jsonrpsee = { version = "0.16.2", features = [ "server" ] }
jsonrpsee-core = "0.16.2"
libp2p = { version = "0.42.2", default-features = false, features = [ "tcp-tokio", "yamux", "mplex", "dns-tokio", "noise", "request-response", "websocket", "ping", "rendezvous", "identify" ] }
monero = { version = "0.12", features = [ "serde_support" ] }
monero-rpc = { path = "../monero-rpc" }
pem = "1.0"
pem = "3.0"
proptest = "1"
qrcode = "0.12"
qrcode = "0.14"
rand = "0.8"
rand_chacha = "0.3"
reqwest = { version = "0.11", features = [ "rustls-tls", "stream", "socks" ], default-features = false }
reqwest = { version = "0.12", features = [ "http2", "rustls-tls", "stream", "socks" ], default-features = false }
rust_decimal = { version = "1", features = [ "serde-float" ] }
rust_decimal_macros = "1"
serde = { version = "1", features = [ "derive" ] }
serde_cbor = "0.11"
serde_json = "1"
serde_with = { version = "1", features = [ "macros" ] }
sha2 = "0.9"
sigma_fun = { git = "https://github.com/LLFourn/secp256kfun", default-features = false, features = [ "ed25519", "serde" ] }
sqlx = { version = "0.5", features = [ "sqlite", "runtime-tokio-rustls", "offline" ] }
sha2 = "0.10"
sigma_fun = { version = "0.7", default-features = false, features = [ "ed25519", "serde", "secp256k1", "alloc" ] }
sqlx = { version = "0.6.3", features = [ "sqlite", "runtime-tokio-rustls", "offline" ] }
structopt = "0.3"
strum = { version = "0.23", features = [ "derive" ] }
strum = { version = "0.26", features = [ "derive" ] }
thiserror = "1"
time = "0.3"
tokio = { version = "1", features = [ "rt-multi-thread", "time", "macros", "sync", "process", "fs", "net" ] }
tokio = { version = "1", features = [ "rt-multi-thread", "time", "macros", "sync", "process", "fs", "net", "parking_lot" ] }
tokio-socks = "0.5"
tokio-tungstenite = { version = "0.15", features = [ "rustls-tls" ] }
tokio-util = { version = "0.6", features = [ "io" ] }
toml = "0.5"
tokio-util = { version = "0.7", features = [ "io", "codec" ] }
toml = "0.8"
torut = { version = "0.2", default-features = false, features = [ "v3", "control" ] }
tracing = { version = "0.1", features = [ "attributes" ] }
tracing-appender = "0.2"
tracing-futures = { version = "0.2", features = [ "std-future", "futures-03" ] }
tracing-subscriber = { version = "0.3", default-features = false, features = [ "fmt", "ansi", "env-filter", "local-time", "tracing-log", "json" ] }
tracing-subscriber = { version = "0.3", default-features = false, features = [ "fmt", "ansi", "env-filter", "time", "tracing-log", "json" ] }
url = { version = "2", features = [ "serde" ] }
uuid = { version = "0.8", features = [ "serde", "v4" ] }
uuid = { version = "1.8", features = [ "serde", "v4" ] }
void = "1"
[target.'cfg(not(windows))'.dependencies]
@ -74,17 +77,20 @@ tokio-tar = "0.3"
zip = "0.5"
[dev-dependencies]
bitcoin-harness = { git = "https://github.com/coblox/bitcoin-harness-rs" }
bitcoin-harness = { git = "https://github.com/delta1/bitcoin-harness-rs.git", rev = "80cc8d05db2610d8531011be505b7bee2b5cdf9f" }
get-port = "3"
hyper = "0.14"
hyper = "1.3"
jsonrpsee = { version = "0.16.2", features = [ "ws-client" ] }
mockito = "1.3.0"
monero-harness = { path = "../monero-harness" }
port_check = "0.1"
port_check = "0.2"
proptest = "1"
sequential-test = "0.2.4"
serde_cbor = "0.11"
spectral = "0.6"
serial_test = "3.0"
tempfile = "3"
testcontainers = "0.12"
testcontainers = "0.15"
[build-dependencies]
vergen = { version = "6", default-features = false, features = [ "git", "build" ] }
anyhow = "1"
vergen = { version = "8.3", default-features = false, features = [ "build", "git", "git2" ] }

@ -1,9 +1,9 @@
use anyhow::Result;
use vergen::{vergen, Config, SemverKind};
use vergen::EmitBuilder;
fn main() -> Result<()> {
let mut config = Config::default();
*config.git_mut().semver_kind_mut() = SemverKind::Lightweight;
vergen(config)
EmitBuilder::builder()
.git_describe(true, true, None)
.emit()?;
Ok(())
}

@ -1,6 +1,15 @@
# crated temporary DB
# run the migration scripts to create the tables
# prepare the sqlx-data.json rust mappings
#!/bin/bash
# run this script from the swap dir
# make sure you have sqlx-cli installed: cargo install --version 0.6.3 sqlx-cli
# it's advised for the sqlx-cli to be the same version as specified in cargo.toml
# this script creates a temporary sqlite database
# then runs the migration scripts to create the tables (migrations folder)
# then it prepares the offline sqlx-data.json rust mappings
DATABASE_URL=sqlite:tempdb cargo sqlx database create
DATABASE_URL=sqlite:tempdb cargo sqlx migrate run
DATABASE_URL=sqlite:./swap/tempdb cargo sqlx prepare -- --bin swap
# needs the absolute path here
# https://github.com/launchbadge/sqlx/issues/1399
DB_PATH=$(readlink -f tempdb)
DATABASE_URL="sqlite:$DB_PATH" cargo sqlx prepare -- --bin swap

@ -1,7 +1,6 @@
{
"db": "SQLite",
"081c729a0f1ad6e4ff3e13d6702c946bc4d37d50f40670b4f51d2efcce595aa6": {
"query": "\n SELECT peer_id\n FROM peers\n WHERE swap_id = ?\n ",
"describe": {
"columns": [
{
@ -10,26 +9,44 @@
"type_info": "Text"
}
],
"parameters": {
"Right": 1
},
"nullable": [
false
]
}
],
"parameters": {
"Right": 1
}
},
"query": "\n SELECT peer_id\n FROM peers\n WHERE swap_id = ?\n "
},
"0ab84c094964968e96a3f2bf590d9ae92227d057386921e0e57165b887de3c75": {
"query": "\n insert into peer_addresses (\n peer_id,\n address\n ) values (?, ?);\n ",
"describe": {
"columns": [],
"nullable": [],
"parameters": {
"Right": 2
},
"nullable": []
}
}
},
"query": "\n insert into peer_addresses (\n peer_id,\n address\n ) values (?, ?);\n "
},
"0d465a17ebbb5761421def759c73cad023c30705d5b41a1399ef79d8d2571d7c": {
"describe": {
"columns": [
{
"name": "start_date",
"ordinal": 0,
"type_info": "Text"
}
],
"nullable": [
true
],
"parameters": {
"Right": 1
}
},
"query": "\n SELECT min(entered_at) as start_date\n FROM swap_states\n WHERE swap_id = ?\n "
},
"1ec38c85e7679b2eb42b3df75d9098772ce44fdb8db3012d3c2410d828b74157": {
"query": "\n SELECT swap_id, state\n FROM (\n SELECT max(id), swap_id, state\n FROM swap_states\n GROUP BY swap_id\n )\n ",
"describe": {
"columns": [
{
@ -43,37 +60,61 @@
"type_info": "Text"
}
],
"parameters": {
"Right": 0
},
"nullable": [
false,
false
]
}
],
"parameters": {
"Right": 0
}
},
"query": "\n SELECT swap_id, state\n FROM (\n SELECT max(id), swap_id, state\n FROM swap_states\n GROUP BY swap_id\n )\n "
},
"2a356078a41b321234adf2aa385b501749f907f7c422945a8bdda2b6274f5225": {
"query": "\n insert into peers (\n swap_id,\n peer_id\n ) values (?, ?);\n ",
"describe": {
"columns": [],
"nullable": [],
"parameters": {
"Right": 2
},
"nullable": []
}
}
},
"query": "\n insert into peers (\n swap_id,\n peer_id\n ) values (?, ?);\n "
},
"3f2bfdd2d134586ccad22171cd85a465800fc5c4fdaf191d206974e530240c87": {
"describe": {
"columns": [
{
"name": "swap_id",
"ordinal": 0,
"type_info": "Text"
},
{
"name": "state",
"ordinal": 1,
"type_info": "Text"
}
],
"nullable": [
false,
false
],
"parameters": {
"Right": 0
}
},
"query": "\n SELECT swap_id, state\n FROM swap_states\n "
},
"50a5764546f69c118fa0b64120da50f51073d36257d49768de99ff863e3511e0": {
"query": "\n insert into monero_addresses (\n swap_id,\n address\n ) values (?, ?);\n ",
"describe": {
"columns": [],
"nullable": [],
"parameters": {
"Right": 2
},
"nullable": []
}
}
},
"query": "\n insert into monero_addresses (\n swap_id,\n address\n ) values (?, ?);\n "
},
"88f761a4f7a0429cad1df0b1bebb1c0a27b2a45656549b23076d7542cfa21ecf": {
"query": "\n SELECT state\n FROM swap_states\n WHERE swap_id = ?\n ORDER BY id desc\n LIMIT 1;\n\n ",
"describe": {
"columns": [
{
@ -82,16 +123,26 @@
"type_info": "Text"
}
],
"parameters": {
"Right": 1
},
"nullable": [
false
]
}
],
"parameters": {
"Right": 1
}
},
"query": "\n SELECT state\n FROM swap_states\n WHERE swap_id = ?\n ORDER BY id desc\n LIMIT 1;\n\n "
},
"b703032b4ddc627a1124817477e7a8e5014bdc694c36a14053ef3bb2fc0c69b0": {
"describe": {
"columns": [],
"nullable": [],
"parameters": {
"Right": 3
}
},
"query": "\n insert into swap_states (\n swap_id,\n entered_at,\n state\n ) values (?, ?, ?);\n "
},
"a0eb85d04ee3842c52291dad4d225941d1141af735922fcbc665868997fce304": {
"query": "\n SELECT address\n FROM peer_addresses\n WHERE peer_id = ?\n ",
"ce270dd4a4b9615695a79864240c5401e2122077365e5e5a19408c068c7f9454": {
"describe": {
"columns": [
{
@ -100,26 +151,16 @@
"type_info": "Text"
}
],
"parameters": {
"Right": 1
},
"nullable": [
false
]
}
},
"b703032b4ddc627a1124817477e7a8e5014bdc694c36a14053ef3bb2fc0c69b0": {
"query": "\n insert into swap_states (\n swap_id,\n entered_at,\n state\n ) values (?, ?, ?);\n ",
"describe": {
"columns": [],
],
"parameters": {
"Right": 3
},
"nullable": []
}
"Right": 1
}
},
"query": "\n SELECT address\n FROM monero_addresses\n WHERE swap_id = ?\n "
},
"ce270dd4a4b9615695a79864240c5401e2122077365e5e5a19408c068c7f9454": {
"query": "\n SELECT address\n FROM monero_addresses\n WHERE swap_id = ?\n ",
"d78acba5eb8563826dd190e0886aa665aae3c6f1e312ee444e65df1c95afe8b2": {
"describe": {
"columns": [
{
@ -128,12 +169,31 @@
"type_info": "Text"
}
],
"nullable": [
false
],
"parameters": {
"Right": 1
},
}
},
"query": "\n SELECT DISTINCT address\n FROM peer_addresses\n WHERE peer_id = ?\n "
},
"e05620f420f8c1022971eeb66a803323a8cf258cbebb2834e3f7cf8f812fa646": {
"describe": {
"columns": [
{
"name": "state",
"ordinal": 0,
"type_info": "Text"
}
],
"nullable": [
false
]
}
],
"parameters": {
"Right": 1
}
},
"query": "\n SELECT state\n FROM swap_states\n WHERE swap_id = ?\n "
}
}

@ -0,0 +1,460 @@
pub mod request;
use crate::cli::command::{Bitcoin, Monero, Tor};
use crate::database::open_db;
use crate::env::{Config as EnvConfig, GetConfig, Mainnet, Testnet};
use crate::fs::system_data_dir;
use crate::network::rendezvous::XmrBtcNamespace;
use crate::protocol::Database;
use crate::seed::Seed;
use crate::{bitcoin, cli, monero};
use anyhow::{bail, Context as AnyContext, Error, Result};
use futures::future::try_join_all;
use std::fmt;
use std::future::Future;
use std::net::SocketAddr;
use std::path::PathBuf;
use std::sync::{Arc, Once};
use tokio::sync::{broadcast, broadcast::Sender, Mutex, RwLock};
use tokio::task::JoinHandle;
use url::Url;
static START: Once = Once::new();
#[derive(Clone, PartialEq, Debug)]
pub struct Config {
tor_socks5_port: u16,
namespace: XmrBtcNamespace,
server_address: Option<SocketAddr>,
pub env_config: EnvConfig,
seed: Option<Seed>,
debug: bool,
json: bool,
data_dir: PathBuf,
is_testnet: bool,
}
use uuid::Uuid;
#[derive(Default)]
pub struct PendingTaskList(Mutex<Vec<JoinHandle<()>>>);
impl PendingTaskList {
pub async fn spawn<F, T>(&self, future: F)
where
F: Future<Output = T> + Send + 'static,
T: Send + 'static,
{
let handle = tokio::spawn(async move {
let _ = future.await;
});
self.0.lock().await.push(handle);
}
pub async fn wait_for_tasks(&self) -> Result<()> {
let tasks = {
// Scope for the lock, to avoid holding it for the entire duration of the async block
let mut guard = self.0.lock().await;
guard.drain(..).collect::<Vec<_>>()
};
try_join_all(tasks).await?;
Ok(())
}
}
pub struct SwapLock {
current_swap: RwLock<Option<Uuid>>,
suspension_trigger: Sender<()>,
}
impl SwapLock {
pub fn new() -> Self {
let (suspension_trigger, _) = broadcast::channel(10);
SwapLock {
current_swap: RwLock::new(None),
suspension_trigger,
}
}
pub async fn listen_for_swap_force_suspension(&self) -> Result<(), Error> {
let mut listener = self.suspension_trigger.subscribe();
let event = listener.recv().await;
match event {
Ok(_) => Ok(()),
Err(e) => {
tracing::error!("Error receiving swap suspension signal: {}", e);
bail!(e)
}
}
}
pub async fn acquire_swap_lock(&self, swap_id: Uuid) -> Result<(), Error> {
let mut current_swap = self.current_swap.write().await;
if current_swap.is_some() {
bail!("There already exists an active swap lock");
}
tracing::debug!(swap_id = %swap_id, "Acquiring swap lock");
*current_swap = Some(swap_id);
Ok(())
}
pub async fn get_current_swap_id(&self) -> Option<Uuid> {
*self.current_swap.read().await
}
/// Sends a signal to suspend all ongoing swap processes.
///
/// This function performs the following steps:
/// 1. Triggers the suspension by sending a unit `()` signal to all listeners via `self.suspension_trigger`.
/// 2. Polls the `current_swap` state every 50 milliseconds to check if it has been set to `None`, indicating that the swap processes have been suspended and the lock released.
/// 3. If the lock is not released within 10 seconds, the function returns an error.
///
/// If we send a suspend signal while no swap is in progress, the function will not fail, but will return immediately.
///
/// # Returns
/// - `Ok(())` if the swap lock is successfully released.
/// - `Err(Error)` if the function times out waiting for the swap lock to be released.
///
/// # Notes
/// The 50ms polling interval is considered negligible overhead compared to the typical time required to suspend ongoing swap processes.
pub async fn send_suspend_signal(&self) -> Result<(), Error> {
const TIMEOUT: u64 = 10_000;
const INTERVAL: u64 = 50;
let _ = self.suspension_trigger.send(())?;
for _ in 0..(TIMEOUT / INTERVAL) {
if self.get_current_swap_id().await.is_none() {
return Ok(());
}
tokio::time::sleep(tokio::time::Duration::from_millis(INTERVAL)).await;
}
bail!("Timed out waiting for swap lock to be released");
}
pub async fn release_swap_lock(&self) -> Result<Uuid, Error> {
let mut current_swap = self.current_swap.write().await;
if let Some(swap_id) = current_swap.as_ref() {
tracing::debug!(swap_id = %swap_id, "Releasing swap lock");
let prev_swap_id = *swap_id;
*current_swap = None;
drop(current_swap);
Ok(prev_swap_id)
} else {
bail!("There is no current swap lock to release");
}
}
}
impl Default for SwapLock {
fn default() -> Self {
Self::new()
}
}
// workaround for warning over monero_rpc_process which we must own but not read
#[allow(dead_code)]
pub struct Context {
pub db: Arc<dyn Database + Send + Sync>,
bitcoin_wallet: Option<Arc<bitcoin::Wallet>>,
monero_wallet: Option<Arc<monero::Wallet>>,
monero_rpc_process: Option<monero::WalletRpcProcess>,
pub swap_lock: Arc<SwapLock>,
pub config: Config,
pub tasks: Arc<PendingTaskList>,
}
#[allow(clippy::too_many_arguments)]
impl Context {
pub async fn build(
bitcoin: Option<Bitcoin>,
monero: Option<Monero>,
tor: Option<Tor>,
data: Option<PathBuf>,
is_testnet: bool,
debug: bool,
json: bool,
server_address: Option<SocketAddr>,
) -> Result<Context> {
let data_dir = data::data_dir_from(data, is_testnet)?;
let env_config = env_config_from(is_testnet);
START.call_once(|| {
let _ = cli::tracing::init(debug, json, data_dir.join("logs"));
});
let seed = Seed::from_file_or_generate(data_dir.as_path())
.context("Failed to read seed in file")?;
let bitcoin_wallet = {
if let Some(bitcoin) = bitcoin {
let (bitcoin_electrum_rpc_url, bitcoin_target_block) =
bitcoin.apply_defaults(is_testnet)?;
Some(Arc::new(
init_bitcoin_wallet(
bitcoin_electrum_rpc_url,
&seed,
data_dir.clone(),
env_config,
bitcoin_target_block,
)
.await?,
))
} else {
None
}
};
let (monero_wallet, monero_rpc_process) = {
if let Some(monero) = monero {
let monero_daemon_address = monero.apply_defaults(is_testnet);
let (wlt, prc) =
init_monero_wallet(data_dir.clone(), monero_daemon_address, env_config).await?;
(Some(Arc::new(wlt)), Some(prc))
} else {
(None, None)
}
};
let tor_socks5_port = tor.map_or(9050, |tor| tor.tor_socks5_port);
let context = Context {
db: open_db(data_dir.join("sqlite")).await?,
bitcoin_wallet,
monero_wallet,
monero_rpc_process,
config: Config {
tor_socks5_port,
namespace: XmrBtcNamespace::from_is_testnet(is_testnet),
env_config,
seed: Some(seed),
server_address,
debug,
json,
is_testnet,
data_dir,
},
swap_lock: Arc::new(SwapLock::new()),
tasks: Arc::new(PendingTaskList::default()),
};
Ok(context)
}
pub async fn for_harness(
seed: Seed,
env_config: EnvConfig,
db_path: PathBuf,
bob_bitcoin_wallet: Arc<bitcoin::Wallet>,
bob_monero_wallet: Arc<monero::Wallet>,
) -> Self {
let config = Config::for_harness(seed, env_config);
Self {
bitcoin_wallet: Some(bob_bitcoin_wallet),
monero_wallet: Some(bob_monero_wallet),
config,
db: open_db(db_path)
.await
.expect("Could not open sqlite database"),
monero_rpc_process: None,
swap_lock: Arc::new(SwapLock::new()),
tasks: Arc::new(PendingTaskList::default()),
}
}
}
impl fmt::Debug for Context {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(f, "")
}
}
async fn init_bitcoin_wallet(
electrum_rpc_url: Url,
seed: &Seed,
data_dir: PathBuf,
env_config: EnvConfig,
bitcoin_target_block: usize,
) -> Result<bitcoin::Wallet> {
let wallet_dir = data_dir.join("wallet");
let wallet = bitcoin::Wallet::new(
electrum_rpc_url.clone(),
&wallet_dir,
seed.derive_extended_private_key(env_config.bitcoin_network)?,
env_config,
bitcoin_target_block,
)
.await
.context("Failed to initialize Bitcoin wallet")?;
wallet.sync().await?;
Ok(wallet)
}
async fn init_monero_wallet(
data_dir: PathBuf,
monero_daemon_address: String,
env_config: EnvConfig,
) -> Result<(monero::Wallet, monero::WalletRpcProcess)> {
let network = env_config.monero_network;
const MONERO_BLOCKCHAIN_MONITORING_WALLET_NAME: &str = "swap-tool-blockchain-monitoring-wallet";
let monero_wallet_rpc = monero::WalletRpc::new(data_dir.join("monero")).await?;
let monero_wallet_rpc_process = monero_wallet_rpc
.run(network, Some(monero_daemon_address))
.await?;
let monero_wallet = monero::Wallet::open_or_create(
monero_wallet_rpc_process.endpoint(),
MONERO_BLOCKCHAIN_MONITORING_WALLET_NAME.to_string(),
env_config,
)
.await?;
Ok((monero_wallet, monero_wallet_rpc_process))
}
mod data {
use super::*;
pub fn data_dir_from(arg_dir: Option<PathBuf>, testnet: bool) -> Result<PathBuf> {
let base_dir = match arg_dir {
Some(custom_base_dir) => custom_base_dir,
None => os_default()?,
};
let sub_directory = if testnet { "testnet" } else { "mainnet" };
Ok(base_dir.join(sub_directory))
}
fn os_default() -> Result<PathBuf> {
Ok(system_data_dir()?.join("cli"))
}
}
fn env_config_from(testnet: bool) -> EnvConfig {
if testnet {
Testnet::get_config()
} else {
Mainnet::get_config()
}
}
impl Config {
pub fn for_harness(seed: Seed, env_config: EnvConfig) -> Self {
let data_dir = data::data_dir_from(None, false).expect("Could not find data directory");
Self {
tor_socks5_port: 9050,
namespace: XmrBtcNamespace::from_is_testnet(false),
server_address: None,
env_config,
seed: Some(seed),
debug: false,
json: false,
is_testnet: false,
data_dir,
}
}
}
#[cfg(test)]
pub mod api_test {
use super::*;
use crate::api::request::{Method, Request};
use libp2p::Multiaddr;
use std::str::FromStr;
use uuid::Uuid;
pub const MULTI_ADDRESS: &str =
"/ip4/127.0.0.1/tcp/9939/p2p/12D3KooWCdMKjesXMJz1SiZ7HgotrxuqhQJbP5sgBm2BwP1cqThi";
pub const MONERO_STAGENET_ADDRESS: &str = "53gEuGZUhP9JMEBZoGaFNzhwEgiG7hwQdMCqFxiyiTeFPmkbt1mAoNybEUvYBKHcnrSgxnVWgZsTvRBaHBNXPa8tHiCU51a";
pub const BITCOIN_TESTNET_ADDRESS: &str = "tb1qr3em6k3gfnyl8r7q0v7t4tlnyxzgxma3lressv";
pub const MONERO_MAINNET_ADDRESS: &str = "44Ato7HveWidJYUAVw5QffEcEtSH1DwzSP3FPPkHxNAS4LX9CqgucphTisH978FLHE34YNEx7FcbBfQLQUU8m3NUC4VqsRa";
pub const BITCOIN_MAINNET_ADDRESS: &str = "bc1qe4epnfklcaa0mun26yz5g8k24em5u9f92hy325";
pub const SWAP_ID: &str = "ea030832-3be9-454f-bb98-5ea9a788406b";
impl Config {
pub fn default(
is_testnet: bool,
data_dir: Option<PathBuf>,
debug: bool,
json: bool,
) -> Self {
let data_dir = data::data_dir_from(data_dir, is_testnet).unwrap();
let seed = Seed::from_file_or_generate(data_dir.as_path()).unwrap();
let env_config = env_config_from(is_testnet);
Self {
tor_socks5_port: 9050,
namespace: XmrBtcNamespace::from_is_testnet(is_testnet),
server_address: None,
env_config,
seed: Some(seed),
debug,
json,
is_testnet,
data_dir,
}
}
}
impl Request {
pub fn buy_xmr(is_testnet: bool) -> Request {
let seller = Multiaddr::from_str(MULTI_ADDRESS).unwrap();
let bitcoin_change_address = {
if is_testnet {
bitcoin::Address::from_str(BITCOIN_TESTNET_ADDRESS).unwrap()
} else {
bitcoin::Address::from_str(BITCOIN_MAINNET_ADDRESS).unwrap()
}
};
let monero_receive_address = {
if is_testnet {
monero::Address::from_str(MONERO_STAGENET_ADDRESS).unwrap()
} else {
monero::Address::from_str(MONERO_MAINNET_ADDRESS).unwrap()
}
};
Request::new(Method::BuyXmr {
seller,
bitcoin_change_address,
monero_receive_address,
swap_id: Uuid::new_v4(),
})
}
pub fn resume() -> Request {
Request::new(Method::Resume {
swap_id: Uuid::from_str(SWAP_ID).unwrap(),
})
}
pub fn cancel() -> Request {
Request::new(Method::CancelAndRefund {
swap_id: Uuid::from_str(SWAP_ID).unwrap(),
})
}
pub fn refund() -> Request {
Request::new(Method::CancelAndRefund {
swap_id: Uuid::from_str(SWAP_ID).unwrap(),
})
}
}
}

@ -0,0 +1,935 @@
use crate::api::Context;
use crate::bitcoin::{Amount, ExpiredTimelocks, TxLock};
use crate::cli::{list_sellers, EventLoop, SellerStatus};
use crate::libp2p_ext::MultiAddrExt;
use crate::network::quote::{BidQuote, ZeroQuoteReceived};
use crate::network::swarm;
use crate::protocol::bob::{BobState, Swap};
use crate::protocol::{bob, State};
use crate::{bitcoin, cli, monero, rpc};
use anyhow::{bail, Context as AnyContext, Result};
use libp2p::core::Multiaddr;
use qrcode::render::unicode;
use qrcode::QrCode;
use serde_json::json;
use std::cmp::min;
use std::convert::TryInto;
use std::future::Future;
use std::net::SocketAddr;
use std::sync::Arc;
use std::time::Duration;
use tracing::{debug_span, field, Instrument, Span};
use uuid::Uuid;
#[derive(PartialEq, Debug)]
pub struct Request {
pub cmd: Method,
pub log_reference: Option<String>,
}
#[derive(Debug, PartialEq)]
pub enum Method {
BuyXmr {
seller: Multiaddr,
bitcoin_change_address: bitcoin::Address,
monero_receive_address: monero::Address,
swap_id: Uuid,
},
Resume {
swap_id: Uuid,
},
CancelAndRefund {
swap_id: Uuid,
},
MoneroRecovery {
swap_id: Uuid,
},
History,
Config,
WithdrawBtc {
amount: Option<Amount>,
address: bitcoin::Address,
},
Balance {
force_refresh: bool,
},
ListSellers {
rendezvous_point: Multiaddr,
},
ExportBitcoinWallet,
SuspendCurrentSwap,
StartDaemon {
server_address: Option<SocketAddr>,
},
GetCurrentSwap,
GetSwapInfo {
swap_id: Uuid,
},
GetRawStates,
}
impl Method {
fn get_tracing_span(&self, log_reference_id: Option<String>) -> Span {
let span = match self {
Method::Balance { .. } => {
debug_span!(
"method",
method_name = "Balance",
log_reference_id = field::Empty
)
}
Method::BuyXmr { swap_id, .. } => {
debug_span!("method", method_name="BuyXmr", swap_id=%swap_id, log_reference_id=field::Empty)
}
Method::CancelAndRefund { swap_id } => {
debug_span!("method", method_name="CancelAndRefund", swap_id=%swap_id, log_reference_id=field::Empty)
}
Method::Resume { swap_id } => {
debug_span!("method", method_name="Resume", swap_id=%swap_id, log_reference_id=field::Empty)
}
Method::Config => {
debug_span!(
"method",
method_name = "Config",
log_reference_id = field::Empty
)
}
Method::ExportBitcoinWallet => {
debug_span!(
"method",
method_name = "ExportBitcoinWallet",
log_reference_id = field::Empty
)
}
Method::GetCurrentSwap => {
debug_span!(
"method",
method_name = "GetCurrentSwap",
log_reference_id = field::Empty
)
}
Method::GetSwapInfo { .. } => {
debug_span!(
"method",
method_name = "GetSwapInfo",
log_reference_id = field::Empty
)
}
Method::History => {
debug_span!(
"method",
method_name = "History",
log_reference_id = field::Empty
)
}
Method::ListSellers { .. } => {
debug_span!(
"method",
method_name = "ListSellers",
log_reference_id = field::Empty
)
}
Method::MoneroRecovery { .. } => {
debug_span!(
"method",
method_name = "MoneroRecovery",
log_reference_id = field::Empty
)
}
Method::GetRawStates => debug_span!(
"method",
method_name = "RawHistory",
log_reference_id = field::Empty
),
Method::StartDaemon { .. } => {
debug_span!(
"method",
method_name = "StartDaemon",
log_reference_id = field::Empty
)
}
Method::SuspendCurrentSwap => {
debug_span!(
"method",
method_name = "SuspendCurrentSwap",
log_reference_id = field::Empty
)
}
Method::WithdrawBtc { .. } => {
debug_span!(
"method",
method_name = "WithdrawBtc",
log_reference_id = field::Empty
)
}
};
if let Some(log_reference_id) = log_reference_id {
span.record("log_reference_id", log_reference_id.as_str());
}
span
}
}
impl Request {
pub fn new(cmd: Method) -> Request {
Request {
cmd,
log_reference: None,
}
}
pub fn with_id(cmd: Method, id: Option<String>) -> Request {
Request {
cmd,
log_reference: id,
}
}
async fn handle_cmd(self, context: Arc<Context>) -> Result<serde_json::Value> {
match self.cmd {
Method::SuspendCurrentSwap => {
let swap_id = context.swap_lock.get_current_swap_id().await;
if let Some(id_value) = swap_id {
context.swap_lock.send_suspend_signal().await?;
Ok(json!({ "swapId": id_value }))
} else {
bail!("No swap is currently running")
}
}
Method::GetSwapInfo { swap_id } => {
let bitcoin_wallet = context
.bitcoin_wallet
.as_ref()
.context("Could not get Bitcoin wallet")?;
let state = context.db.get_state(swap_id).await?;
let is_completed = state.swap_finished();
let peerId = context
.db
.get_peer_id(swap_id)
.await
.with_context(|| "Could not get PeerID")?;
let addresses = context
.db
.get_addresses(peerId)
.await
.with_context(|| "Could not get addressess")?;
let start_date = context.db.get_swap_start_date(swap_id).await?;
let swap_state: BobState = state.try_into()?;
let state_name = format!("{}", swap_state);
let (
xmr_amount,
btc_amount,
tx_lock_id,
tx_cancel_fee,
tx_refund_fee,
tx_lock_fee,
btc_refund_address,
cancel_timelock,
punish_timelock,
) = context
.db
.get_states(swap_id)
.await?
.iter()
.find_map(|state| {
if let State::Bob(BobState::SwapSetupCompleted(state2)) = state {
let xmr_amount = state2.xmr;
let btc_amount = state2.tx_lock.lock_amount().to_sat();
let tx_cancel_fee = state2.tx_cancel_fee.to_sat();
let tx_refund_fee = state2.tx_refund_fee.to_sat();
let tx_lock_id = state2.tx_lock.txid();
let btc_refund_address = state2.refund_address.to_string();
if let Ok(tx_lock_fee) = state2.tx_lock.fee() {
let tx_lock_fee = tx_lock_fee.to_sat();
Some((
xmr_amount,
btc_amount,
tx_lock_id,
tx_cancel_fee,
tx_refund_fee,
tx_lock_fee,
btc_refund_address,
state2.cancel_timelock,
state2.punish_timelock,
))
} else {
None
}
} else {
None
}
})
.with_context(|| "Did not find SwapSetupCompleted state for swap")?;
let timelock = match swap_state {
BobState::Started { .. }
| BobState::SafelyAborted
| BobState::SwapSetupCompleted(_) => None,
BobState::BtcLocked { state3: state, .. }
| BobState::XmrLockProofReceived { state, .. } => {
Some(state.expired_timelock(bitcoin_wallet).await)
}
BobState::XmrLocked(state) | BobState::EncSigSent(state) => {
Some(state.expired_timelock(bitcoin_wallet).await)
}
BobState::CancelTimelockExpired(state) | BobState::BtcCancelled(state) => {
Some(state.expired_timelock(bitcoin_wallet).await)
}
BobState::BtcPunished { .. } => Some(Ok(ExpiredTimelocks::Punish)),
BobState::BtcRefunded(_)
| BobState::BtcRedeemed(_)
| BobState::XmrRedeemed { .. } => None,
};
Ok(json!({
"swapId": swap_id,
"seller": {
"peerId": peerId.to_string(),
"addresses": addresses
},
"completed": is_completed,
"startDate": start_date,
"stateName": state_name,
"xmrAmount": xmr_amount,
"btcAmount": btc_amount,
"txLockId": tx_lock_id,
"txCancelFee": tx_cancel_fee,
"txRefundFee": tx_refund_fee,
"txLockFee": tx_lock_fee,
"btcRefundAddress": btc_refund_address.to_string(),
"cancelTimelock": cancel_timelock,
"punishTimelock": punish_timelock,
// If the timelock is None, it means that the swap is in a state where the timelock is not accessible to us.
// If that is the case, we return null. Otherwise, we return the timelock.
"timelock": timelock.map(|tl| tl.map(|tl| json!(tl)).unwrap_or(json!(null))).unwrap_or(json!(null)),
}))
}
Method::BuyXmr {
seller,
bitcoin_change_address,
monero_receive_address,
swap_id,
} => {
let bitcoin_wallet = Arc::clone(
context
.bitcoin_wallet
.as_ref()
.expect("Could not find Bitcoin wallet"),
);
let monero_wallet = Arc::clone(
context
.monero_wallet
.as_ref()
.context("Could not get Monero wallet")?,
);
let env_config = context.config.env_config;
let seed = context.config.seed.clone().context("Could not get seed")?;
let seller_peer_id = seller
.extract_peer_id()
.context("Seller address must contain peer ID")?;
context
.db
.insert_address(seller_peer_id, seller.clone())
.await?;
let behaviour = cli::Behaviour::new(
seller_peer_id,
env_config,
bitcoin_wallet.clone(),
(seed.derive_libp2p_identity(), context.config.namespace),
);
let mut swarm = swarm::cli(
seed.derive_libp2p_identity(),
context.config.tor_socks5_port,
behaviour,
)
.await?;
swarm.behaviour_mut().add_address(seller_peer_id, seller);
context
.db
.insert_monero_address(swap_id, monero_receive_address)
.await?;
tracing::debug!(peer_id = %swarm.local_peer_id(), "Network layer initialized");
context.swap_lock.acquire_swap_lock(swap_id).await?;
let initialize_swap = tokio::select! {
biased;
_ = context.swap_lock.listen_for_swap_force_suspension() => {
tracing::debug!("Shutdown signal received, exiting");
context.swap_lock.release_swap_lock().await.expect("Shutdown signal received but failed to release swap lock. The swap process has been terminated but the swap lock is still active.");
bail!("Shutdown signal received");
},
result = async {
let (event_loop, mut event_loop_handle) =
EventLoop::new(swap_id, swarm, seller_peer_id)?;
let event_loop = tokio::spawn(event_loop.run().in_current_span());
let bid_quote = event_loop_handle.request_quote().await?;
Ok::<_, anyhow::Error>((event_loop, event_loop_handle, bid_quote))
} => {
result
},
};
let (event_loop, event_loop_handle, bid_quote) = match initialize_swap {
Ok(result) => result,
Err(error) => {
tracing::error!(%swap_id, "Swap initialization failed: {:#}", error);
context
.swap_lock
.release_swap_lock()
.await
.expect("Could not release swap lock");
bail!(error);
}
};
context.tasks.clone().spawn(async move {
tokio::select! {
biased;
_ = context.swap_lock.listen_for_swap_force_suspension() => {
tracing::debug!("Shutdown signal received, exiting");
context.swap_lock.release_swap_lock().await.expect("Shutdown signal received but failed to release swap lock. The swap process has been terminated but the swap lock is still active.");
bail!("Shutdown signal received");
},
event_loop_result = event_loop => {
match event_loop_result {
Ok(_) => {
tracing::debug!(%swap_id, "EventLoop completed")
}
Err(error) => {
tracing::error!(%swap_id, "EventLoop failed: {:#}", error)
}
}
},
swap_result = async {
let max_givable = || bitcoin_wallet.max_giveable(TxLock::script_size());
let estimate_fee = |amount| bitcoin_wallet.estimate_fee(TxLock::weight(), amount);
let determine_amount = determine_btc_to_swap(
context.config.json,
bid_quote,
bitcoin_wallet.new_address(),
|| bitcoin_wallet.balance(),
max_givable,
|| bitcoin_wallet.sync(),
estimate_fee,
);
let (amount, fees) = match determine_amount.await {
Ok(val) => val,
Err(error) => match error.downcast::<ZeroQuoteReceived>() {
Ok(_) => {
bail!("Seller's XMR balance is currently too low to initiate a swap, please try again later")
}
Err(other) => bail!(other),
},
};
tracing::info!(%amount, %fees, "Determined swap amount");
context.db.insert_peer_id(swap_id, seller_peer_id).await?;
let swap = Swap::new(
Arc::clone(&context.db),
swap_id,
Arc::clone(&bitcoin_wallet),
monero_wallet,
env_config,
event_loop_handle,
monero_receive_address,
bitcoin_change_address,
amount,
);
bob::run(swap).await
} => {
match swap_result {
Ok(state) => {
tracing::debug!(%swap_id, state=%state, "Swap completed")
}
Err(error) => {
tracing::error!(%swap_id, "Failed to complete swap: {:#}", error)
}
}
},
};
tracing::debug!(%swap_id, "Swap completed");
context
.swap_lock
.release_swap_lock()
.await
.expect("Could not release swap lock");
Ok::<_, anyhow::Error>(())
}.in_current_span()).await;
Ok(json!({
"swapId": swap_id.to_string(),
"quote": bid_quote,
}))
}
Method::Resume { swap_id } => {
context.swap_lock.acquire_swap_lock(swap_id).await?;
let seller_peer_id = context.db.get_peer_id(swap_id).await?;
let seller_addresses = context.db.get_addresses(seller_peer_id).await?;
let seed = context
.config
.seed
.as_ref()
.context("Could not get seed")?
.derive_libp2p_identity();
let behaviour = cli::Behaviour::new(
seller_peer_id,
context.config.env_config,
Arc::clone(
context
.bitcoin_wallet
.as_ref()
.context("Could not get Bitcoin wallet")?,
),
(seed.clone(), context.config.namespace),
);
let mut swarm =
swarm::cli(seed.clone(), context.config.tor_socks5_port, behaviour).await?;
let our_peer_id = swarm.local_peer_id();
tracing::debug!(peer_id = %our_peer_id, "Network layer initialized");
for seller_address in seller_addresses {
swarm
.behaviour_mut()
.add_address(seller_peer_id, seller_address);
}
let (event_loop, event_loop_handle) =
EventLoop::new(swap_id, swarm, seller_peer_id)?;
let monero_receive_address = context.db.get_monero_address(swap_id).await?;
let swap = Swap::from_db(
Arc::clone(&context.db),
swap_id,
Arc::clone(
context
.bitcoin_wallet
.as_ref()
.context("Could not get Bitcoin wallet")?,
),
Arc::clone(
context
.monero_wallet
.as_ref()
.context("Could not get Monero wallet")?,
),
context.config.env_config,
event_loop_handle,
monero_receive_address,
)
.await?;
context.tasks.clone().spawn(
async move {
let handle = tokio::spawn(event_loop.run().in_current_span());
tokio::select! {
biased;
_ = context.swap_lock.listen_for_swap_force_suspension() => {
tracing::debug!("Shutdown signal received, exiting");
context.swap_lock.release_swap_lock().await.expect("Shutdown signal received but failed to release swap lock. The swap process has been terminated but the swap lock is still active.");
bail!("Shutdown signal received");
},
event_loop_result = handle => {
match event_loop_result {
Ok(_) => {
tracing::debug!(%swap_id, "EventLoop completed during swap resume")
}
Err(error) => {
tracing::error!(%swap_id, "EventLoop failed during swap resume: {:#}", error)
}
}
},
swap_result = bob::run(swap) => {
match swap_result {
Ok(state) => {
tracing::debug!(%swap_id, state=%state, "Swap completed after resuming")
}
Err(error) => {
tracing::error!(%swap_id, "Failed to resume swap: {:#}", error)
}
}
}
}
context
.swap_lock
.release_swap_lock()
.await
.expect("Could not release swap lock");
Ok::<(), anyhow::Error>(())
}
.in_current_span(),
).await;
Ok(json!({
"result": "ok",
}))
}
Method::CancelAndRefund { swap_id } => {
let bitcoin_wallet = context
.bitcoin_wallet
.as_ref()
.context("Could not get Bitcoin wallet")?;
context.swap_lock.acquire_swap_lock(swap_id).await?;
let state = cli::cancel_and_refund(
swap_id,
Arc::clone(bitcoin_wallet),
Arc::clone(&context.db),
)
.await;
context
.swap_lock
.release_swap_lock()
.await
.expect("Could not release swap lock");
state.map(|state| {
json!({
"result": state,
})
})
}
Method::History => {
let swaps = context.db.all().await?;
let mut vec: Vec<(Uuid, String)> = Vec::new();
for (swap_id, state) in swaps {
let state: BobState = state.try_into()?;
vec.push((swap_id, state.to_string()));
}
Ok(json!({ "swaps": vec }))
}
Method::GetRawStates => {
let raw_history = context.db.raw_all().await?;
Ok(json!({ "raw_states": raw_history }))
}
Method::Config => {
let data_dir_display = context.config.data_dir.display();
tracing::info!(path=%data_dir_display, "Data directory");
tracing::info!(path=%format!("{}/logs", data_dir_display), "Log files directory");
tracing::info!(path=%format!("{}/sqlite", data_dir_display), "Sqlite file location");
tracing::info!(path=%format!("{}/seed.pem", data_dir_display), "Seed file location");
tracing::info!(path=%format!("{}/monero", data_dir_display), "Monero-wallet-rpc directory");
tracing::info!(path=%format!("{}/wallet", data_dir_display), "Internal bitcoin wallet directory");
Ok(json!({
"log_files": format!("{}/logs", data_dir_display),
"sqlite": format!("{}/sqlite", data_dir_display),
"seed": format!("{}/seed.pem", data_dir_display),
"monero-wallet-rpc": format!("{}/monero", data_dir_display),
"bitcoin_wallet": format!("{}/wallet", data_dir_display),
}))
}
Method::WithdrawBtc { address, amount } => {
let bitcoin_wallet = context
.bitcoin_wallet
.as_ref()
.context("Could not get Bitcoin wallet")?;
let amount = match amount {
Some(amount) => amount,
None => {
bitcoin_wallet
.max_giveable(address.script_pubkey().len())
.await?
}
};
let psbt = bitcoin_wallet
.send_to_address(address, amount, None)
.await?;
let signed_tx = bitcoin_wallet.sign_and_finalize(psbt).await?;
bitcoin_wallet
.broadcast(signed_tx.clone(), "withdraw")
.await?;
Ok(json!({
"signed_tx": signed_tx,
"amount": amount.to_sat(),
"txid": signed_tx.txid(),
}))
}
Method::StartDaemon { server_address } => {
// Default to 127.0.0.1:1234
let server_address = server_address.unwrap_or("127.0.0.1:1234".parse()?);
let (addr, server_handle) =
rpc::run_server(server_address, Arc::clone(&context)).await?;
tracing::info!(%addr, "Started RPC server");
server_handle.stopped().await;
tracing::info!("Stopped RPC server");
Ok(json!({}))
}
Method::Balance { force_refresh } => {
let bitcoin_wallet = context
.bitcoin_wallet
.as_ref()
.context("Could not get Bitcoin wallet")?;
if force_refresh {
bitcoin_wallet.sync().await?;
}
let bitcoin_balance = bitcoin_wallet.balance().await?;
if force_refresh {
tracing::info!(
balance = %bitcoin_balance,
"Checked Bitcoin balance",
);
} else {
tracing::debug!(
balance = %bitcoin_balance,
"Current Bitcoin balance as of last sync",
);
}
Ok(json!({
"balance": bitcoin_balance.to_sat()
}))
}
Method::ListSellers { rendezvous_point } => {
let rendezvous_node_peer_id = rendezvous_point
.extract_peer_id()
.context("Rendezvous node address must contain peer ID")?;
let identity = context
.config
.seed
.as_ref()
.context("Cannot extract seed")?
.derive_libp2p_identity();
let sellers = list_sellers(
rendezvous_node_peer_id,
rendezvous_point,
context.config.namespace,
context.config.tor_socks5_port,
identity,
)
.await?;
for seller in &sellers {
match seller.status {
SellerStatus::Online(quote) => {
tracing::info!(
price = %quote.price.to_string(),
min_quantity = %quote.min_quantity.to_string(),
max_quantity = %quote.max_quantity.to_string(),
status = "Online",
address = %seller.multiaddr.to_string(),
"Fetched peer status"
);
}
SellerStatus::Unreachable => {
tracing::info!(
status = "Unreachable",
address = %seller.multiaddr.to_string(),
"Fetched peer status"
);
}
}
}
Ok(json!({ "sellers": sellers }))
}
Method::ExportBitcoinWallet => {
let bitcoin_wallet = context
.bitcoin_wallet
.as_ref()
.context("Could not get Bitcoin wallet")?;
let wallet_export = bitcoin_wallet.wallet_export("cli").await?;
tracing::info!(descriptor=%wallet_export.to_string(), "Exported bitcoin wallet");
Ok(json!({
"descriptor": wallet_export.to_string(),
}))
}
Method::MoneroRecovery { swap_id } => {
let swap_state: BobState = context.db.get_state(swap_id).await?.try_into()?;
if let BobState::BtcRedeemed(state5) = swap_state {
let (spend_key, view_key) = state5.xmr_keys();
let restore_height = state5.monero_wallet_restore_blockheight.height;
let address = monero::Address::standard(
context.config.env_config.monero_network,
monero::PublicKey::from_private_key(&spend_key),
monero::PublicKey::from(view_key.public()),
);
tracing::info!(restore_height=%restore_height, address=%address, spend_key=%spend_key, view_key=%view_key, "Monero recovery information");
Ok(json!({
"address": address,
"spend_key": spend_key.to_string(),
"view_key": view_key.to_string(),
"restore_height": state5.monero_wallet_restore_blockheight.height,
}))
} else {
bail!(
"Cannot print monero recovery information in state {}, only possible for BtcRedeemed",
swap_state
)
}
}
Method::GetCurrentSwap => Ok(json!({
"swap_id": context.swap_lock.get_current_swap_id().await
})),
}
}
pub async fn call(self, context: Arc<Context>) -> Result<serde_json::Value> {
let method_span = self.cmd.get_tracing_span(self.log_reference.clone());
self.handle_cmd(context)
.instrument(method_span.clone())
.await
.map_err(|err| {
method_span.in_scope(|| {
tracing::debug!(err = format!("{:?}", err), "API call resulted in an error");
});
err
})
}
}
fn qr_code(value: &impl ToString) -> Result<String> {
let code = QrCode::new(value.to_string())?;
let qr_code = code
.render::<unicode::Dense1x2>()
.dark_color(unicode::Dense1x2::Light)
.light_color(unicode::Dense1x2::Dark)
.build();
Ok(qr_code)
}
pub async fn determine_btc_to_swap<FB, TB, FMG, TMG, FS, TS, FFE, TFE>(
json: bool,
bid_quote: BidQuote,
get_new_address: impl Future<Output = Result<bitcoin::Address>>,
balance: FB,
max_giveable_fn: FMG,
sync: FS,
estimate_fee: FFE,
) -> Result<(Amount, Amount)>
where
TB: Future<Output = Result<Amount>>,
FB: Fn() -> TB,
TMG: Future<Output = Result<Amount>>,
FMG: Fn() -> TMG,
TS: Future<Output = Result<()>>,
FS: Fn() -> TS,
FFE: Fn(Amount) -> TFE,
TFE: Future<Output = Result<Amount>>,
{
if bid_quote.max_quantity == Amount::ZERO {
bail!(ZeroQuoteReceived)
}
tracing::info!(
price = %bid_quote.price,
minimum_amount = %bid_quote.min_quantity,
maximum_amount = %bid_quote.max_quantity,
"Received quote",
);
sync().await?;
let mut max_giveable = max_giveable_fn().await?;
if max_giveable == Amount::ZERO || max_giveable < bid_quote.min_quantity {
let deposit_address = get_new_address.await?;
let minimum_amount = bid_quote.min_quantity;
let maximum_amount = bid_quote.max_quantity;
if !json {
eprintln!("{}", qr_code(&deposit_address)?);
}
loop {
let min_outstanding = bid_quote.min_quantity - max_giveable;
let min_bitcoin_lock_tx_fee = estimate_fee(min_outstanding).await?;
let min_deposit_until_swap_will_start = min_outstanding + min_bitcoin_lock_tx_fee;
let max_deposit_until_maximum_amount_is_reached =
maximum_amount - max_giveable + min_bitcoin_lock_tx_fee;
tracing::info!(
"Deposit at least {} to cover the min quantity with fee!",
min_deposit_until_swap_will_start
);
tracing::info!(
%deposit_address,
%min_deposit_until_swap_will_start,
%max_deposit_until_maximum_amount_is_reached,
%max_giveable,
%minimum_amount,
%maximum_amount,
%min_bitcoin_lock_tx_fee,
price = %bid_quote.price,
"Waiting for Bitcoin deposit",
);
max_giveable = loop {
sync().await?;
let new_max_givable = max_giveable_fn().await?;
if new_max_givable > max_giveable {
break new_max_givable;
}
tokio::time::sleep(Duration::from_secs(1)).await;
};
let new_balance = balance().await?;
tracing::info!(%new_balance, %max_giveable, "Received Bitcoin");
if max_giveable < bid_quote.min_quantity {
tracing::info!("Deposited amount is not enough to cover `min_quantity` when accounting for network fees");
continue;
}
break;
}
};
let balance = balance().await?;
let fees = balance - max_giveable;
let max_accepted = bid_quote.max_quantity;
let btc_swap_amount = min(max_giveable, max_accepted);
Ok((btc_swap_amount, fees))
}

@ -8,6 +8,7 @@ pub mod tracing;
pub use event_loop::{EventLoop, EventLoopHandle, FixedRate, KrakenRate, LatestRate};
pub use network::behaviour::{Behaviour, OutEvent};
pub use network::rendezvous::RendezvousNode;
pub use network::transport;
pub use rate::Rate;
pub use recovery::cancel::cancel;
@ -18,4 +19,4 @@ pub use recovery::safely_abort::safely_abort;
pub use recovery::{cancel, refund};
#[cfg(test)]
pub use network::rendezous;
pub use network::rendezvous;

@ -171,7 +171,7 @@ fn env_config(is_testnet: bool) -> env::Config {
}
}
#[derive(thiserror::Error, Debug, Clone, Copy, PartialEq, Serialize)]
#[derive(thiserror::Error, Debug, Clone, Copy, PartialEq, Eq, Serialize)]
#[error("Invalid Bitcoin address provided, expected address on network {expected:?} but address provided is on {actual:?}")]
pub struct BitcoinAddressNetworkMismatch {
#[serde(with = "crate::bitcoin::network")]
@ -180,7 +180,7 @@ pub struct BitcoinAddressNetworkMismatch {
actual: bitcoin::Network,
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct Arguments {
pub testnet: bool,
pub json: bool,
@ -190,7 +190,7 @@ pub struct Arguments {
pub cmd: Command,
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub enum Command {
Start {
resume_only: bool,
@ -226,7 +226,7 @@ pub enum Command {
name = "asb",
about = "Automated Swap Backend for swapping XMR for BTC",
author,
version = env!("VERGEN_GIT_SEMVER_LIGHTWEIGHT")
version = env!("VERGEN_GIT_DESCRIBE")
)]
pub struct RawArguments {
#[structopt(long, help = "Swap on testnet")]
@ -276,7 +276,7 @@ pub enum RawCommand {
WithdrawBtc {
#[structopt(
long = "amount",
help = "Optionally specify the amount of Bitcoin to be withdrawn. If not specified the wallet will be drained."
help = "Optionally specify the amount of Bitcoin to be withdrawn. If not specified the wallet will be drained. Amount must be specified in quotes with denomination, e.g `--amount '0.1 BTC'`"
)]
amount: Option<Amount>,
#[structopt(long = "address", help = "The address to receive the Bitcoin.")]

@ -84,7 +84,7 @@ const DEFAULT_MIN_BUY_AMOUNT: f64 = 0.002f64;
const DEFAULT_MAX_BUY_AMOUNT: f64 = 0.02f64;
const DEFAULT_SPREAD: f64 = 0.02f64;
#[derive(Clone, Debug, serde::Serialize, serde::Deserialize, PartialEq)]
#[derive(Clone, Debug, serde::Serialize, serde::Deserialize, PartialEq, Eq)]
#[serde(deny_unknown_fields)]
pub struct Config {
pub data: Data,
@ -102,29 +102,86 @@ impl Config {
{
let config_file = Path::new(&config_file);
let mut config = config::Config::new();
config.merge(config::File::from(config_file))?;
let config = config::Config::builder()
.add_source(config::File::from(config_file))
.add_source(
config::Environment::with_prefix("ASB")
.separator("__")
.list_separator(","),
)
.build()?;
config.try_into()
}
}
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
impl TryFrom<config::Config> for Config {
type Error = config::ConfigError;
fn try_from(value: config::Config) -> Result<Self, Self::Error> {
value.try_deserialize()
}
}
#[derive(Clone, Debug, Deserialize, PartialEq, Eq, Serialize)]
#[serde(deny_unknown_fields)]
pub struct Data {
pub dir: PathBuf,
}
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
#[derive(Clone, Debug, Deserialize, PartialEq, Eq, Serialize)]
#[serde(deny_unknown_fields)]
pub struct Network {
#[serde(deserialize_with = "addr_list::deserialize")]
pub listen: Vec<Multiaddr>,
#[serde(default)]
pub rendezvous_point: Option<Multiaddr>,
#[serde(default)]
#[serde(default, deserialize_with = "addr_list::deserialize")]
pub rendezvous_point: Vec<Multiaddr>,
#[serde(default, deserialize_with = "addr_list::deserialize")]
pub external_addresses: Vec<Multiaddr>,
}
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
mod addr_list {
use libp2p::Multiaddr;
use serde::de::Unexpected;
use serde::{de, Deserialize, Deserializer};
use serde_json::Value;
pub fn deserialize<'de, D>(deserializer: D) -> Result<Vec<Multiaddr>, D::Error>
where
D: Deserializer<'de>,
{
let s = Value::deserialize(deserializer)?;
return match s {
Value::String(s) => {
let list: Result<Vec<_>, _> = s
.split(',')
.filter(|s| !s.is_empty())
.map(|s| s.trim().parse().map_err(de::Error::custom))
.collect();
Ok(list?)
}
Value::Array(a) => {
let list: Result<Vec<_>, _> = a
.iter()
.map(|v| {
if let Value::String(s) = v {
s.trim().parse().map_err(de::Error::custom)
} else {
Err(de::Error::custom("expected a string"))
}
})
.collect();
Ok(list?)
}
value => Err(de::Error::invalid_type(
Unexpected::Other(&value.to_string()),
&"a string or array",
)),
};
}
}
#[derive(Clone, Debug, Deserialize, PartialEq, Eq, Serialize)]
#[serde(deny_unknown_fields)]
pub struct Bitcoin {
pub electrum_rpc_url: Url,
@ -134,7 +191,7 @@ pub struct Bitcoin {
pub network: bitcoin::Network,
}
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
#[derive(Clone, Debug, Deserialize, PartialEq, Eq, Serialize)]
#[serde(deny_unknown_fields)]
pub struct Monero {
pub wallet_rpc_url: Url,
@ -143,14 +200,14 @@ pub struct Monero {
pub network: monero::Network,
}
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
#[derive(Clone, Debug, Deserialize, PartialEq, Eq, Serialize)]
#[serde(deny_unknown_fields)]
pub struct TorConf {
pub control_port: u16,
pub socks5_port: u16,
}
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
#[derive(Clone, Debug, Deserialize, PartialEq, Eq, Serialize)]
#[serde(deny_unknown_fields)]
pub struct Maker {
#[serde(with = "::bitcoin::util::amount::serde::as_btc")]
@ -159,6 +216,7 @@ pub struct Maker {
pub max_buy_btc: bitcoin::Amount,
pub ask_spread: Decimal,
pub price_ticker_ws_url: Url,
pub external_bitcoin_redeem_address: Option<bitcoin::Address>,
}
impl Default for TorConf {
@ -172,7 +230,7 @@ impl Default for TorConf {
#[derive(thiserror::Error, Debug, Clone, Copy)]
#[error("config not initialized")]
pub struct ConfigNotInitialized {}
pub struct ConfigNotInitialized;
pub fn read_config(config_path: PathBuf) -> Result<Result<Config, ConfigNotInitialized>> {
if config_path.exists() {
@ -289,10 +347,27 @@ pub fn query_user_for_initial_config(testnet: bool) -> Result<Config> {
}
let ask_spread = Decimal::from_f64(ask_spread).context("Unable to parse spread")?;
let rendezvous_point = Input::<Multiaddr>::with_theme(&ColorfulTheme::default())
.with_prompt("Do you want to advertise your ASB instance with a rendezvous node? Enter an empty string if not.")
.allow_empty(true)
.interact_text()?;
let mut number = 1;
let mut done = false;
let mut rendezvous_points = Vec::new();
println!("ASB can register with multiple rendezvous nodes for discoverability. This can also be edited in the config file later.");
while !done {
let prompt = format!(
"Enter the address for rendezvous node ({number}). Or just hit Enter to continue."
);
let rendezvous_addr = Input::<Multiaddr>::with_theme(&ColorfulTheme::default())
.with_prompt(prompt)
.allow_empty(true)
.interact_text()?;
if rendezvous_addr.is_empty() {
done = true;
} else if rendezvous_points.contains(&rendezvous_addr) {
println!("That rendezvous address is already in the list.");
} else {
rendezvous_points.push(rendezvous_addr);
number += 1;
}
}
println!();
@ -300,11 +375,7 @@ pub fn query_user_for_initial_config(testnet: bool) -> Result<Config> {
data: Data { dir: data_dir },
network: Network {
listen: listen_addresses,
rendezvous_point: if rendezvous_point.is_empty() {
None
} else {
Some(rendezvous_point)
},
rendezvous_point: rendezvous_points, // keeping the singular key name for backcompat
external_addresses: vec![],
},
bitcoin: Bitcoin {
@ -327,6 +398,7 @@ pub fn query_user_for_initial_config(testnet: bool) -> Result<Config> {
max_buy_btc: max_buy,
ask_spread,
price_ticker_ws_url: defaults.price_ticker_ws_url,
external_bitcoin_redeem_address: None,
},
})
}
@ -334,9 +406,12 @@ pub fn query_user_for_initial_config(testnet: bool) -> Result<Config> {
#[cfg(test)]
mod tests {
use super::*;
use serial_test::serial;
use tempfile::tempdir;
// these tests are run serially since env vars affect the whole process
#[test]
#[serial]
fn config_roundtrip_testnet() {
let temp_dir = tempdir().unwrap().path().to_path_buf();
let config_path = Path::join(&temp_dir, "config.toml");
@ -355,10 +430,9 @@ mod tests {
},
network: Network {
listen: vec![defaults.listen_address_tcp, defaults.listen_address_ws],
rendezvous_point: None,
rendezvous_point: vec![],
external_addresses: vec![],
},
monero: Monero {
wallet_rpc_url: defaults.monero_wallet_rpc_url,
finality_confirmations: None,
@ -370,6 +444,7 @@ mod tests {
max_buy_btc: bitcoin::Amount::from_btc(DEFAULT_MAX_BUY_AMOUNT).unwrap(),
ask_spread: Decimal::from_f64(DEFAULT_SPREAD).unwrap(),
price_ticker_ws_url: defaults.price_ticker_ws_url,
external_bitcoin_redeem_address: None,
},
};
@ -380,6 +455,7 @@ mod tests {
}
#[test]
#[serial]
fn config_roundtrip_mainnet() {
let temp_dir = tempdir().unwrap().path().to_path_buf();
let config_path = Path::join(&temp_dir, "config.toml");
@ -398,10 +474,63 @@ mod tests {
},
network: Network {
listen: vec![defaults.listen_address_tcp, defaults.listen_address_ws],
rendezvous_point: None,
rendezvous_point: vec![],
external_addresses: vec![],
},
monero: Monero {
wallet_rpc_url: defaults.monero_wallet_rpc_url,
finality_confirmations: None,
network: monero::Network::Mainnet,
},
tor: Default::default(),
maker: Maker {
min_buy_btc: bitcoin::Amount::from_btc(DEFAULT_MIN_BUY_AMOUNT).unwrap(),
max_buy_btc: bitcoin::Amount::from_btc(DEFAULT_MAX_BUY_AMOUNT).unwrap(),
ask_spread: Decimal::from_f64(DEFAULT_SPREAD).unwrap(),
price_ticker_ws_url: defaults.price_ticker_ws_url,
external_bitcoin_redeem_address: None,
},
};
initial_setup(config_path.clone(), expected.clone()).unwrap();
let actual = read_config(config_path).unwrap().unwrap();
assert_eq!(expected, actual);
}
#[test]
#[serial]
fn env_override() {
let temp_dir = tempfile::tempdir().unwrap().path().to_path_buf();
let config_path = Path::join(&temp_dir, "config.toml");
let defaults = Mainnet::getConfigFileDefaults().unwrap();
let dir = PathBuf::from("/tmp/dir");
std::env::set_var("ASB__DATA__DIR", dir.clone());
let addr1 = "/dns4/example.com/tcp/9939";
let addr2 = "/ip4/1.2.3.4/tcp/9940";
let external_addresses = vec![addr1.parse().unwrap(), addr2.parse().unwrap()];
let listen = external_addresses.clone();
std::env::set_var(
"ASB__NETWORK__EXTERNAL_ADDRESSES",
format!("{},{}", addr1, addr2),
);
std::env::set_var("ASB__NETWORK__LISTEN", format!("{},{}", addr1, addr2));
let expected = Config {
data: Data { dir },
bitcoin: Bitcoin {
electrum_rpc_url: defaults.electrum_rpc_url,
target_block: defaults.bitcoin_confirmation_target,
finality_confirmations: None,
network: bitcoin::Network::Bitcoin,
},
network: Network {
listen,
rendezvous_point: vec![],
external_addresses,
},
monero: Monero {
wallet_rpc_url: defaults.monero_wallet_rpc_url,
finality_confirmations: None,
@ -413,6 +542,7 @@ mod tests {
max_buy_btc: bitcoin::Amount::from_btc(DEFAULT_MAX_BUY_AMOUNT).unwrap(),
ask_spread: Decimal::from_f64(DEFAULT_SPREAD).unwrap(),
price_ticker_ws_url: defaults.price_ticker_ws_url,
external_bitcoin_redeem_address: None,
},
};
@ -420,5 +550,8 @@ mod tests {
let actual = read_config(config_path).unwrap().unwrap();
assert_eq!(expected, actual);
std::env::remove_var("ASB__DATA__DIR");
std::env::remove_var("ASB__NETWORK__EXTERNAL_ADDRESSES");
std::env::remove_var("ASB__NETWORK__LISTEN");
}
}

@ -1,4 +1,5 @@
use crate::asb::{Behaviour, OutEvent, Rate};
use crate::monero::Amount;
use crate::network::quote::BidQuote;
use crate::network::swap_setup::alice::WalletSnapshot;
use crate::network::transfer_proof;
@ -43,6 +44,7 @@ where
latest_rate: LR,
min_buy: bitcoin::Amount,
max_buy: bitcoin::Amount,
external_redeem_address: Option<bitcoin::Address>,
swap_sender: mpsc::Sender<Swap>,
@ -75,6 +77,7 @@ where
latest_rate: LR,
min_buy: bitcoin::Amount,
max_buy: bitcoin::Amount,
external_redeem_address: Option<bitcoin::Address>,
) -> Result<(Self, mpsc::Receiver<Swap>)> {
let swap_channel = MpscChannels::default();
@ -88,6 +91,7 @@ where
swap_sender: swap_channel.sender,
min_buy,
max_buy,
external_redeem_address,
recv_encrypted_signature: Default::default(),
inflight_encrypted_signatures: Default::default(),
send_transfer_proof: Default::default(),
@ -164,7 +168,7 @@ where
}
};
let wallet_snapshot = match WalletSnapshot::capture(&self.bitcoin_wallet, &self.monero_wallet, btc).await {
let wallet_snapshot = match WalletSnapshot::capture(&self.bitcoin_wallet, &self.monero_wallet, &self.external_redeem_address, btc).await {
Ok(wallet_snapshot) => wallet_snapshot,
Err(error) => {
tracing::error!("Swap request will be ignored because we were unable to create wallet snapshot for swap: {:#}", error);
@ -176,7 +180,7 @@ where
let _ = responder.respond(wallet_snapshot);
}
SwarmEvent::Behaviour(OutEvent::SwapSetupCompleted{peer_id, swap_id, state3}) => {
let _ = self.handle_execution_setup_done(peer_id, swap_id, state3).await;
self.handle_execution_setup_done(peer_id, swap_id, state3).await;
}
SwarmEvent::Behaviour(OutEvent::SwapDeclined { peer, error }) => {
tracing::warn!(%peer, "Ignoring spot price request: {}", error);
@ -249,8 +253,8 @@ where
channel
}.boxed());
}
SwarmEvent::Behaviour(OutEvent::Rendezvous(libp2p::rendezvous::client::Event::Registered { .. })) => {
tracing::info!("Successfully registered with rendezvous node");
SwarmEvent::Behaviour(OutEvent::Rendezvous(libp2p::rendezvous::client::Event::Registered { rendezvous_node, ttl, namespace })) => {
tracing::info!("Successfully registered with rendezvous node: {} with namespace: {} and TTL: {:?}", rendezvous_node, namespace, ttl);
}
SwarmEvent::Behaviour(OutEvent::Rendezvous(libp2p::rendezvous::client::Event::RegisterFailed(error))) => {
tracing::error!("Registration with rendezvous node failed: {:?}", error);
@ -275,10 +279,10 @@ where
SwarmEvent::IncomingConnectionError { send_back_addr: address, error, .. } => {
tracing::warn!(%address, "Failed to set up connection with peer: {:#}", error);
}
SwarmEvent::ConnectionClosed { peer_id: peer, num_established, endpoint, cause: Some(error) } if num_established == 0 => {
SwarmEvent::ConnectionClosed { peer_id: peer, num_established: 0, endpoint, cause: Some(error) } => {
tracing::debug!(%peer, address = %endpoint.get_remote_address(), "Lost connection to peer: {:#}", error);
}
SwarmEvent::ConnectionClosed { peer_id: peer, num_established, endpoint, cause: None } if num_established == 0 => {
SwarmEvent::ConnectionClosed { peer_id: peer, num_established: 0, endpoint, cause: None } => {
tracing::info!(%peer, address = %endpoint.get_remote_address(), "Successfully closed connection");
}
SwarmEvent::NewListenAddr{address, ..} => {
@ -292,7 +296,7 @@ where
Some(Ok((peer, transfer_proof, responder))) => {
if !self.swarm.behaviour_mut().transfer_proof.is_connected(&peer) {
tracing::warn!(%peer, "No active connection to peer, buffering transfer proof");
self.buffered_transfer_proofs.entry(peer).or_insert_with(Vec::new).push((transfer_proof, responder));
self.buffered_transfer_proofs.entry(peer).or_default().push((transfer_proof, responder));
continue;
}
@ -319,13 +323,51 @@ where
min_buy: bitcoin::Amount,
max_buy: bitcoin::Amount,
) -> Result<BidQuote> {
let rate = self
let ask_price = self
.latest_rate
.latest_rate()
.context("Failed to get latest rate")?;
.context("Failed to get latest rate")?
.ask()
.context("Failed to compute asking price")?;
let balance = self.monero_wallet.get_balance().await?;
// use unlocked monero balance for quote
let xmr = Amount::from_piconero(balance.unlocked_balance);
let max_bitcoin_for_monero = xmr.max_bitcoin_for_price(ask_price).ok_or_else(|| {
anyhow::anyhow!("Bitcoin price ({}) x Monero ({}) overflow", ask_price, xmr)
})?;
tracing::debug!(%ask_price, %xmr, %max_bitcoin_for_monero);
if min_buy > max_bitcoin_for_monero {
tracing::warn!(
"Your Monero balance is too low to initiate a swap, as your minimum swap amount is {}. You could at most swap {}",
min_buy, max_bitcoin_for_monero
);
return Ok(BidQuote {
price: ask_price,
min_quantity: bitcoin::Amount::ZERO,
max_quantity: bitcoin::Amount::ZERO,
});
}
if max_buy > max_bitcoin_for_monero {
tracing::warn!(
"Your Monero balance is too low to initiate a swap with the maximum swap amount {} that you have specified in your config. You can at most swap {}",
max_buy, max_bitcoin_for_monero
);
return Ok(BidQuote {
price: ask_price,
min_quantity: min_buy,
max_quantity: max_bitcoin_for_monero,
});
}
Ok(BidQuote {
price: rate.ask().context("Failed to compute asking price")?,
price: ask_price,
min_quantity: min_buy,
max_quantity: max_buy,
})

@ -13,11 +13,13 @@ use libp2p::core::connection::ConnectionId;
use libp2p::core::muxing::StreamMuxerBox;
use libp2p::core::transport::Boxed;
use libp2p::dns::TokioDnsConfig;
use libp2p::identify::{Identify, IdentifyConfig, IdentifyEvent};
use libp2p::ping::{Ping, PingConfig, PingEvent};
use libp2p::request_response::{RequestId, ResponseChannel};
use libp2p::swarm::dial_opts::PeerCondition;
use libp2p::swarm::{
DialPeerCondition, IntoProtocolsHandler, NetworkBehaviour, NetworkBehaviourAction,
PollParameters, ProtocolsHandler,
IntoProtocolsHandler, NetworkBehaviour, NetworkBehaviourAction, PollParameters,
ProtocolsHandler,
};
use libp2p::tcp::TokioTcpConfig;
use libp2p::websocket::WsConfig;
@ -42,7 +44,9 @@ pub mod transport {
}
pub mod behaviour {
use super::*;
use libp2p::swarm::behaviour::toggle::Toggle;
use super::{rendezvous::RendezvousNode, *};
#[allow(clippy::large_enum_variant)]
#[derive(Debug)]
@ -106,11 +110,12 @@ pub mod behaviour {
where
LR: LatestRate + Send + 'static,
{
pub rendezvous: libp2p::swarm::toggle::Toggle<rendezous::Behaviour>,
pub rendezvous: Toggle<rendezvous::Behaviour>,
pub quote: quote::Behaviour,
pub swap_setup: alice::Behaviour<LR>,
pub transfer_proof: transfer_proof::Behaviour,
pub encrypted_signature: encrypted_signature::Behaviour,
pub identify: Identify,
/// Ping behaviour that ensures that the underlying network connection
/// is still alive. If the ping fails a connection close event
@ -128,20 +133,23 @@ pub mod behaviour {
latest_rate: LR,
resume_only: bool,
env_config: env::Config,
rendezvous_params: Option<(identity::Keypair, PeerId, Multiaddr, XmrBtcNamespace)>,
identify_params: (identity::Keypair, XmrBtcNamespace),
rendezvous_nodes: Vec<RendezvousNode>,
) -> Self {
let (identity, namespace) = identify_params;
let agent_version = format!("asb/{} ({})", env!("CARGO_PKG_VERSION"), namespace);
let protocol_version = "/comit/xmr/btc/1.0.0".to_string();
let identifyConfig = IdentifyConfig::new(protocol_version, identity.public())
.with_agent_version(agent_version);
let behaviour = if rendezvous_nodes.is_empty() {
None
} else {
Some(rendezvous::Behaviour::new(identity, rendezvous_nodes))
};
Self {
rendezvous: libp2p::swarm::toggle::Toggle::from(rendezvous_params.map(
|(identity, rendezvous_peer_id, rendezvous_address, namespace)| {
rendezous::Behaviour::new(
identity,
rendezvous_peer_id,
rendezvous_address,
namespace,
None, // use default ttl on rendezvous point
)
},
)),
rendezvous: Toggle::from(behaviour),
quote: quote::asb(),
swap_setup: alice::Behaviour::new(
min_buy,
@ -153,6 +161,7 @@ pub mod behaviour {
transfer_proof: transfer_proof::alice(),
encrypted_signature: encrypted_signature::alice(),
ping: Ping::new(PingConfig::new().with_keep_alive(true)),
identify: Identify::new(identifyConfig),
}
}
}
@ -163,6 +172,12 @@ pub mod behaviour {
}
}
impl From<IdentifyEvent> for OutEvent {
fn from(_: IdentifyEvent) -> Self {
OutEvent::Other
}
}
impl From<libp2p::rendezvous::client::Event> for OutEvent {
fn from(event: libp2p::rendezvous::client::Event) -> Self {
OutEvent::Rendezvous(event)
@ -170,12 +185,14 @@ pub mod behaviour {
}
}
pub mod rendezous {
pub mod rendezvous {
use super::*;
use libp2p::swarm::dial_opts::DialOpts;
use libp2p::swarm::DialError;
use std::collections::VecDeque;
use std::pin::Pin;
#[derive(PartialEq)]
#[derive(Clone, PartialEq)]
enum ConnectionStatus {
Disconnected,
Dialling,
@ -192,39 +209,59 @@ pub mod rendezous {
pub struct Behaviour {
inner: libp2p::rendezvous::client::Behaviour,
rendezvous_point: Multiaddr,
rendezvous_peer_id: PeerId,
namespace: XmrBtcNamespace,
registration_status: RegistrationStatus,
rendezvous_nodes: Vec<RendezvousNode>,
to_dial: VecDeque<PeerId>,
}
pub struct RendezvousNode {
pub address: Multiaddr,
connection_status: ConnectionStatus,
registration_ttl: Option<u64>,
pub peer_id: PeerId,
registration_status: RegistrationStatus,
pub registration_ttl: Option<u64>,
pub namespace: XmrBtcNamespace,
}
impl Behaviour {
impl RendezvousNode {
pub fn new(
identity: identity::Keypair,
rendezvous_peer_id: PeerId,
rendezvous_address: Multiaddr,
address: &Multiaddr,
peer_id: PeerId,
namespace: XmrBtcNamespace,
registration_ttl: Option<u64>,
) -> Self {
Self {
inner: libp2p::rendezvous::client::Behaviour::new(identity),
rendezvous_point: rendezvous_address,
rendezvous_peer_id,
address: address.to_owned(),
connection_status: ConnectionStatus::Disconnected,
namespace,
peer_id,
registration_status: RegistrationStatus::RegisterOnNextConnection,
connection_status: ConnectionStatus::Disconnected,
registration_ttl,
}
}
fn register(&mut self) {
self.inner.register(
self.namespace.into(),
self.rendezvous_peer_id,
self.registration_ttl,
);
fn set_connection(&mut self, status: ConnectionStatus) {
self.connection_status = status;
}
fn set_registration(&mut self, status: RegistrationStatus) {
self.registration_status = status;
}
}
impl Behaviour {
pub fn new(identity: identity::Keypair, rendezvous_nodes: Vec<RendezvousNode>) -> Self {
Self {
inner: libp2p::rendezvous::client::Behaviour::new(identity),
rendezvous_nodes,
to_dial: VecDeque::new(),
}
}
/// Calls the rendezvous register method of the node at node_index in the Vec of rendezvous nodes
fn register(&mut self, node_index: usize) {
let node = &self.rendezvous_nodes[node_index];
self.inner
.register(node.namespace.into(), node.peer_id, node.registration_ttl);
}
}
@ -238,31 +275,37 @@ pub mod rendezous {
}
fn addresses_of_peer(&mut self, peer_id: &PeerId) -> Vec<Multiaddr> {
if peer_id == &self.rendezvous_peer_id {
return vec![self.rendezvous_point.clone()];
for node in self.rendezvous_nodes.iter() {
if peer_id == &node.peer_id {
return vec![node.address.clone()];
}
}
vec![]
}
fn inject_connected(&mut self, peer_id: &PeerId) {
if peer_id == &self.rendezvous_peer_id {
self.connection_status = ConnectionStatus::Connected;
match &self.registration_status {
RegistrationStatus::RegisterOnNextConnection => {
self.register();
self.registration_status = RegistrationStatus::Pending;
for i in 0..self.rendezvous_nodes.len() {
if peer_id == &self.rendezvous_nodes[i].peer_id {
self.rendezvous_nodes[i].set_connection(ConnectionStatus::Connected);
match &self.rendezvous_nodes[i].registration_status {
RegistrationStatus::RegisterOnNextConnection => {
self.register(i);
self.rendezvous_nodes[i].set_registration(RegistrationStatus::Pending);
}
RegistrationStatus::Registered { .. } => {}
RegistrationStatus::Pending => {}
}
RegistrationStatus::Registered { .. } => {}
RegistrationStatus::Pending => {}
}
}
}
fn inject_disconnected(&mut self, peer_id: &PeerId) {
if peer_id == &self.rendezvous_peer_id {
self.connection_status = ConnectionStatus::Disconnected;
for i in 0..self.rendezvous_nodes.len() {
let node = &mut self.rendezvous_nodes[i];
if peer_id == &node.peer_id {
node.connection_status = ConnectionStatus::Disconnected;
}
}
}
@ -277,12 +320,17 @@ pub mod rendezous {
fn inject_dial_failure(
&mut self,
peer_id: &PeerId,
peer_id: Option<PeerId>,
_handler: Self::ProtocolsHandler,
_error: DialError,
_error: &DialError,
) {
if peer_id == &self.rendezvous_peer_id {
self.connection_status = ConnectionStatus::Disconnected;
for i in 0..self.rendezvous_nodes.len() {
let node = &mut self.rendezvous_nodes[i];
if let Some(id) = peer_id {
if id == node.peer_id {
node.connection_status = ConnectionStatus::Disconnected;
}
}
}
}
@ -292,59 +340,73 @@ pub mod rendezous {
cx: &mut std::task::Context<'_>,
params: &mut impl PollParameters,
) -> Poll<NetworkBehaviourAction<Self::OutEvent, Self::ProtocolsHandler>> {
match &mut self.registration_status {
RegistrationStatus::RegisterOnNextConnection => match self.connection_status {
ConnectionStatus::Disconnected => {
self.connection_status = ConnectionStatus::Dialling;
return Poll::Ready(NetworkBehaviourAction::DialPeer {
peer_id: self.rendezvous_peer_id,
condition: DialPeerCondition::Disconnected,
handler: Self::ProtocolsHandler::new(Duration::from_secs(30)),
});
}
ConnectionStatus::Dialling => {}
ConnectionStatus::Connected => {
self.registration_status = RegistrationStatus::Pending;
self.register();
}
},
RegistrationStatus::Registered { re_register_in } => {
if let Poll::Ready(()) = re_register_in.poll_unpin(cx) {
match self.connection_status {
ConnectionStatus::Connected => {
self.registration_status = RegistrationStatus::Pending;
self.register();
}
ConnectionStatus::Disconnected => {
self.registration_status =
RegistrationStatus::RegisterOnNextConnection;
return Poll::Ready(NetworkBehaviourAction::DialPeer {
peer_id: self.rendezvous_peer_id,
condition: DialPeerCondition::Disconnected,
handler: Self::ProtocolsHandler::new(Duration::from_secs(30)),
});
if let Some(peer_id) = self.to_dial.pop_front() {
return Poll::Ready(NetworkBehaviourAction::Dial {
opts: DialOpts::peer_id(peer_id)
.condition(PeerCondition::Disconnected)
.build(),
handler: Self::ProtocolsHandler::new(Duration::from_secs(30)),
});
}
// check the status of each rendezvous node
for i in 0..self.rendezvous_nodes.len() {
let connection_status = self.rendezvous_nodes[i].connection_status.clone();
match &mut self.rendezvous_nodes[i].registration_status {
RegistrationStatus::RegisterOnNextConnection => match connection_status {
ConnectionStatus::Disconnected => {
self.rendezvous_nodes[i].set_connection(ConnectionStatus::Dialling);
self.to_dial.push_back(self.rendezvous_nodes[i].peer_id);
}
ConnectionStatus::Dialling => {}
ConnectionStatus::Connected => {
self.rendezvous_nodes[i].set_registration(RegistrationStatus::Pending);
self.register(i);
}
},
RegistrationStatus::Registered { re_register_in } => {
if let Poll::Ready(()) = re_register_in.poll_unpin(cx) {
match connection_status {
ConnectionStatus::Connected => {
self.rendezvous_nodes[i]
.set_registration(RegistrationStatus::Pending);
self.register(i);
}
ConnectionStatus::Disconnected => {
self.rendezvous_nodes[i].set_registration(
RegistrationStatus::RegisterOnNextConnection,
);
self.to_dial.push_back(self.rendezvous_nodes[i].peer_id);
}
ConnectionStatus::Dialling => {}
}
ConnectionStatus::Dialling => {}
}
}
RegistrationStatus::Pending => {}
}
RegistrationStatus::Pending => {}
}
let inner_poll = self.inner.poll(cx, params);
// reset the timer if we successfully registered
// reset the timer for the specific rendezvous node if we successfully registered
if let Poll::Ready(NetworkBehaviourAction::GenerateEvent(
libp2p::rendezvous::client::Event::Registered { ttl, .. },
libp2p::rendezvous::client::Event::Registered {
ttl,
rendezvous_node,
..
},
)) = &inner_poll
{
let half_of_ttl = Duration::from_secs(*ttl) / 2;
self.registration_status = RegistrationStatus::Registered {
re_register_in: Box::pin(tokio::time::sleep(half_of_ttl)),
};
if let Some(i) = self
.rendezvous_nodes
.iter()
.position(|n| &n.peer_id == rendezvous_node)
{
let half_of_ttl = Duration::from_secs(*ttl) / 2;
let re_register_in = Box::pin(tokio::time::sleep(half_of_ttl));
let status = RegistrationStatus::Registered { re_register_in };
self.rendezvous_nodes[i].set_registration(status);
}
}
inner_poll
@ -358,6 +420,7 @@ pub mod rendezous {
use futures::StreamExt;
use libp2p::rendezvous;
use libp2p::swarm::SwarmEvent;
use std::collections::HashMap;
#[tokio::test]
async fn given_no_initial_connection_when_constructed_asb_connects_and_registers_with_rendezvous_node(
@ -365,16 +428,16 @@ pub mod rendezous {
let mut rendezvous_node = new_swarm(|_, _| {
rendezvous::server::Behaviour::new(rendezvous::server::Config::default())
});
let rendezvous_address = rendezvous_node.listen_on_random_memory_address().await;
let address = rendezvous_node.listen_on_random_memory_address().await;
let rendezvous_point = RendezvousNode::new(
&address,
rendezvous_node.local_peer_id().to_owned(),
XmrBtcNamespace::Testnet,
None,
);
let mut asb = new_swarm(|_, identity| {
rendezous::Behaviour::new(
identity,
*rendezvous_node.local_peer_id(),
rendezvous_address,
XmrBtcNamespace::Testnet,
None,
)
super::rendezvous::Behaviour::new(identity, vec![rendezvous_point])
});
asb.listen_on_random_memory_address().await; // this adds an external address
@ -406,16 +469,16 @@ pub mod rendezous {
rendezvous::server::Config::default().with_min_ttl(2),
)
});
let rendezvous_address = rendezvous_node.listen_on_random_memory_address().await;
let address = rendezvous_node.listen_on_random_memory_address().await;
let rendezvous_point = RendezvousNode::new(
&address,
rendezvous_node.local_peer_id().to_owned(),
XmrBtcNamespace::Testnet,
Some(5),
);
let mut asb = new_swarm(|_, identity| {
rendezous::Behaviour::new(
identity,
*rendezvous_node.local_peer_id(),
rendezvous_address,
XmrBtcNamespace::Testnet,
Some(5),
)
super::rendezvous::Behaviour::new(identity, vec![rendezvous_point])
});
asb.listen_on_random_memory_address().await; // this adds an external address
@ -445,5 +508,62 @@ pub mod rendezous {
.unwrap()
.unwrap();
}
#[tokio::test]
async fn asb_registers_multiple() {
let registration_ttl = Some(10);
let mut rendezvous_nodes = Vec::new();
let mut registrations = HashMap::new();
// register with 5 rendezvous nodes
for _ in 0..5 {
let mut rendezvous = new_swarm(|_, _| {
rendezvous::server::Behaviour::new(
rendezvous::server::Config::default().with_min_ttl(2),
)
});
let address = rendezvous.listen_on_random_memory_address().await;
let id = *rendezvous.local_peer_id();
registrations.insert(id, 0);
rendezvous_nodes.push(RendezvousNode::new(
&address,
*rendezvous.local_peer_id(),
XmrBtcNamespace::Testnet,
registration_ttl,
));
tokio::spawn(async move {
loop {
rendezvous.next().await;
}
});
}
let mut asb = new_swarm(|_, identity| {
super::rendezvous::Behaviour::new(identity, rendezvous_nodes)
});
asb.listen_on_random_memory_address().await; // this adds an external address
let handle = tokio::spawn(async move {
loop {
if let SwarmEvent::Behaviour(rendezvous::client::Event::Registered {
rendezvous_node,
..
}) = asb.select_next_some().await
{
registrations
.entry(rendezvous_node)
.and_modify(|counter| *counter += 1);
}
if registrations.iter().all(|(_, &count)| count >= 4) {
break;
}
}
});
tokio::time::timeout(Duration::from_secs(30), handle)
.await
.unwrap()
.unwrap();
}
}
}

@ -5,7 +5,7 @@ use rust_decimal::Decimal;
use std::fmt::{Debug, Display, Formatter};
/// Represents the rate at which we are willing to trade 1 XMR.
#[derive(Debug, Clone, Copy, PartialEq)]
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub struct Rate {
/// Represents the asking price from the market.
ask: bitcoin::Amount,
@ -29,7 +29,7 @@ impl Rate {
///
/// This applies the spread to the market asking price.
pub fn ask(&self) -> Result<bitcoin::Amount> {
let sats = self.ask.as_sat();
let sats = self.ask.to_sat();
let sats = Decimal::from(sats);
let additional_sats = sats * self.ask_spread;
@ -51,13 +51,13 @@ impl Rate {
// quote (btc) = rate * base (xmr)
// base = quote / rate
let quote_in_sats = quote.as_sat();
let quote_in_sats = quote.to_sat();
let quote_in_btc = Decimal::from(quote_in_sats)
.checked_div(Decimal::from(bitcoin::Amount::ONE_BTC.as_sat()))
.checked_div(Decimal::from(bitcoin::Amount::ONE_BTC.to_sat()))
.context("Division overflow")?;
let rate_in_btc = Decimal::from(rate.as_sat())
.checked_div(Decimal::from(bitcoin::Amount::ONE_BTC.as_sat()))
let rate_in_btc = Decimal::from(rate.to_sat())
.checked_div(Decimal::from(bitcoin::Amount::ONE_BTC.to_sat()))
.context("Division overflow")?;
let base_in_xmr = quote_in_btc
@ -105,7 +105,7 @@ mod tests {
let amount = rate.ask().unwrap();
assert_eq!(amount.as_sat(), 102);
assert_eq!(amount.to_sat(), 102);
}
#[test]

@ -39,7 +39,7 @@ pub async fn cancel(
| AliceState::BtcRedeemed
| AliceState::XmrRefunded
| AliceState::BtcPunished
| AliceState::SafelyAborted => bail!("Swap is is in state {} which is not cancelable", state),
| AliceState::SafelyAborted => bail!("Swap is in state {} which is not cancelable", state),
};
let txid = match state3.submit_tx_cancel(bitcoin_wallet.as_ref()).await {

@ -1,7 +1,6 @@
use anyhow::Result;
use time::format_description::well_known::Rfc3339;
use tracing_subscriber::filter::LevelFilter;
use tracing_subscriber::fmt::time::LocalTime;
use tracing_subscriber::fmt::time::UtcTime;
use tracing_subscriber::FmtSubscriber;
pub fn init(level: LevelFilter, json_format: bool, timestamp: bool) -> Result<()> {
@ -15,7 +14,7 @@ pub fn init(level: LevelFilter, json_format: bool, timestamp: bool) -> Result<()
.with_env_filter(format!("asb={},swap={}", level, level))
.with_writer(std::io::stderr)
.with_ansi(is_terminal)
.with_timer(LocalTime::new(Rfc3339))
.with_timer(UtcTime::rfc_3339())
.with_target(false);
match (json_format, timestamp) {

@ -29,8 +29,8 @@ use swap::asb::config::{
initial_setup, query_user_for_initial_config, read_config, Config, ConfigNotInitialized,
};
use swap::asb::{cancel, punish, redeem, refund, safely_abort, EventLoop, Finality, KrakenRate};
use swap::common::check_latest_version;
use swap::database::open_db;
use swap::monero::Amount;
use swap::network::rendezvous::XmrBtcNamespace;
use swap::network::swarm;
use swap::protocol::alice::{run, AliceState};
@ -68,6 +68,10 @@ async fn main() -> Result<()> {
}
};
if let Err(e) = check_latest_version(env!("CARGO_PKG_VERSION")).await {
eprintln!("{}", e);
}
asb::tracing::init(LevelFilter::DEBUG, json, !disable_timestamp).expect("initialize tracing");
let config = match read_config(config_path.clone())? {
@ -98,23 +102,47 @@ async fn main() -> Result<()> {
match cmd {
Command::Start { resume_only } => {
let bitcoin_wallet = init_bitcoin_wallet(&config, &seed, env_config).await?;
// check and warn for duplicate rendezvous points
let mut rendezvous_addrs = config.network.rendezvous_point.clone();
let prev_len = rendezvous_addrs.len();
rendezvous_addrs.sort();
rendezvous_addrs.dedup();
let new_len = rendezvous_addrs.len();
if new_len < prev_len {
tracing::warn!(
"`rendezvous_point` config has {} duplicate entries, they are being ignored.",
prev_len - new_len
);
}
let monero_wallet = init_monero_wallet(&config, env_config).await?;
let monero_address = monero_wallet.get_main_address();
tracing::info!(%monero_address, "Monero wallet address");
let monero = monero_wallet.get_balance().await?;
match (monero.balance, monero.unlocked_balance) {
(0, _) => {
tracing::warn!(
%monero_address,
"The Monero balance is 0, make sure to deposit funds at",
)
}
(total, 0) => {
let total = monero::Amount::from_piconero(total);
tracing::warn!(
%total,
"Unlocked Monero balance is 0, total balance is",
)
}
(total, unlocked) => {
let total = monero::Amount::from_piconero(total);
let unlocked = monero::Amount::from_piconero(unlocked);
tracing::info!(%total, %unlocked, "Monero wallet balance");
}
}
let bitcoin_wallet = init_bitcoin_wallet(&config, &seed, env_config).await?;
let bitcoin_balance = bitcoin_wallet.balance().await?;
tracing::info!(%bitcoin_balance, "Initialized Bitcoin wallet");
let monero_balance = monero_wallet.get_balance().await?;
if monero_balance == Amount::ZERO {
let monero_address = monero_wallet.get_main_address();
tracing::warn!(
%monero_address,
"The Monero balance is 0, make sure to deposit funds at",
)
} else {
tracing::info!(%monero_balance, "Initialized Monero wallet");
}
tracing::info!(%bitcoin_balance, "Bitcoin wallet balance");
let kraken_price_updates = kraken::connect(config.maker.price_ticker_ws_url.clone())?;
@ -136,6 +164,8 @@ async fn main() -> Result<()> {
};
let kraken_rate = KrakenRate::new(config.maker.ask_spread, kraken_price_updates);
let namespace = XmrBtcNamespace::from_is_testnet(testnet);
let mut swarm = swarm::asb(
&seed,
config.maker.min_buy_btc,
@ -143,16 +173,8 @@ async fn main() -> Result<()> {
kraken_rate.clone(),
resume_only,
env_config,
config.network.rendezvous_point.map(|rendezvous_point| {
(
rendezvous_point,
if testnet {
XmrBtcNamespace::Testnet
} else {
XmrBtcNamespace::Mainnet
},
)
}),
namespace,
&rendezvous_addrs,
)?;
for listen in config.network.listen.clone() {
@ -179,6 +201,7 @@ async fn main() -> Result<()> {
kraken_rate.clone(),
config.maker.min_buy_btc,
config.maker.max_buy_btc,
config.maker.external_bitcoin_redeem_address,
)
.unwrap();
@ -237,16 +260,14 @@ async fn main() -> Result<()> {
bitcoin_wallet.broadcast(signed_tx, "withdraw").await?;
}
Command::Balance => {
let bitcoin_wallet = init_bitcoin_wallet(&config, &seed, env_config).await?;
let monero_wallet = init_monero_wallet(&config, env_config).await?;
let bitcoin_balance = bitcoin_wallet.balance().await?;
let monero_balance = monero_wallet.get_balance().await?;
tracing::info!(%monero_balance);
tracing::info!(
%bitcoin_balance,
%monero_balance,
"Current balance");
let bitcoin_wallet = init_bitcoin_wallet(&config, &seed, env_config).await?;
let bitcoin_balance = bitcoin_wallet.balance().await?;
tracing::info!(%bitcoin_balance);
tracing::info!(%bitcoin_balance, %monero_balance, "Current balance");
}
Command::Cancel { swap_id } => {
let bitcoin_wallet = init_bitcoin_wallet(&config, &seed, env_config).await?;
@ -313,11 +334,10 @@ async fn init_bitcoin_wallet(
env_config: swap::env::Config,
) -> Result<bitcoin::Wallet> {
tracing::debug!("Opening Bitcoin wallet");
let wallet_dir = config.data.dir.join("wallet");
let data_dir = &config.data.dir;
let wallet = bitcoin::Wallet::new(
config.bitcoin.electrum_rpc_url.clone(),
&wallet_dir,
data_dir,
seed.derive_extended_private_key(env_config.bitcoin_network)?,
env_config,
config.bitcoin.target_block,

@ -12,616 +12,37 @@
#![forbid(unsafe_code)]
#![allow(non_snake_case)]
use anyhow::{bail, Context, Result};
use comfy_table::Table;
use qrcode::render::unicode;
use qrcode::QrCode;
use std::cmp::min;
use std::convert::TryInto;
use anyhow::Result;
use std::env;
use std::future::Future;
use std::path::PathBuf;
use std::sync::Arc;
use std::time::Duration;
use swap::bitcoin::TxLock;
use swap::cli::command::{parse_args_and_apply_defaults, Arguments, Command, ParseResult};
use swap::cli::{list_sellers, EventLoop, SellerStatus};
use swap::database::open_db;
use swap::env::Config;
use swap::libp2p_ext::MultiAddrExt;
use swap::network::quote::BidQuote;
use swap::network::swarm;
use swap::protocol::bob;
use swap::protocol::bob::{BobState, Swap};
use swap::seed::Seed;
use swap::{bitcoin, cli, monero};
use url::Url;
use uuid::Uuid;
use swap::cli::command::{parse_args_and_apply_defaults, ParseResult};
use swap::common::check_latest_version;
#[tokio::main]
async fn main() -> Result<()> {
let Arguments {
env_config,
data_dir,
debug,
json,
cmd,
} = match parse_args_and_apply_defaults(env::args_os())? {
ParseResult::Arguments(args) => args,
let (context, request) = match parse_args_and_apply_defaults(env::args_os()).await? {
ParseResult::Context(context, request) => (context, request),
ParseResult::PrintAndExitZero { message } => {
println!("{}", message);
std::process::exit(0);
}
};
match cmd {
Command::BuyXmr {
seller,
bitcoin_electrum_rpc_url,
bitcoin_target_block,
bitcoin_change_address,
monero_receive_address,
monero_daemon_address,
tor_socks5_port,
} => {
let swap_id = Uuid::new_v4();
cli::tracing::init(debug, json, data_dir.join("logs"), Some(swap_id))?;
let db = open_db(data_dir.join("sqlite")).await?;
let seed = Seed::from_file_or_generate(data_dir.as_path())
.context("Failed to read in seed file")?;
let bitcoin_wallet = init_bitcoin_wallet(
bitcoin_electrum_rpc_url,
&seed,
data_dir.clone(),
env_config,
bitcoin_target_block,
)
.await?;
let (monero_wallet, _process) =
init_monero_wallet(data_dir, monero_daemon_address, env_config).await?;
let bitcoin_wallet = Arc::new(bitcoin_wallet);
let seller_peer_id = seller
.extract_peer_id()
.context("Seller address must contain peer ID")?;
db.insert_address(seller_peer_id, seller.clone()).await?;
let behaviour = cli::Behaviour::new(seller_peer_id, env_config, bitcoin_wallet.clone());
let mut swarm =
swarm::cli(seed.derive_libp2p_identity(), tor_socks5_port, behaviour).await?;
swarm.behaviour_mut().add_address(seller_peer_id, seller);
tracing::debug!(peer_id = %swarm.local_peer_id(), "Network layer initialized");
let (event_loop, mut event_loop_handle) =
EventLoop::new(swap_id, swarm, seller_peer_id, env_config)?;
let event_loop = tokio::spawn(event_loop.run());
let max_givable = || bitcoin_wallet.max_giveable(TxLock::script_size());
let (amount, fees) = determine_btc_to_swap(
json,
event_loop_handle.request_quote(),
bitcoin_wallet.new_address(),
|| bitcoin_wallet.balance(),
max_givable,
|| bitcoin_wallet.sync(),
)
.await?;
tracing::info!(%amount, %fees, "Determined swap amount");
db.insert_peer_id(swap_id, seller_peer_id).await?;
db.insert_monero_address(swap_id, monero_receive_address)
.await?;
let swap = Swap::new(
db,
swap_id,
bitcoin_wallet,
Arc::new(monero_wallet),
env_config,
event_loop_handle,
monero_receive_address,
bitcoin_change_address,
amount,
);
tokio::select! {
result = event_loop => {
result
.context("EventLoop panicked")?;
},
result = bob::run(swap) => {
result.context("Failed to complete swap")?;
}
}
}
Command::History => {
cli::tracing::init(debug, json, data_dir.join("logs"), None)?;
let db = open_db(data_dir.join("sqlite")).await?;
let swaps = db.all().await?;
if json {
for (swap_id, state) in swaps {
let state: BobState = state.try_into()?;
tracing::info!(swap_id=%swap_id.to_string(), state=%state.to_string(), "Read swap state from database");
}
} else {
let mut table = Table::new();
table.set_header(vec!["SWAP ID", "STATE"]);
for (swap_id, state) in swaps {
let state: BobState = state.try_into()?;
table.add_row(vec![swap_id.to_string(), state.to_string()]);
}
println!("{}", table);
}
}
Command::Config => {
cli::tracing::init(debug, json, data_dir.join("logs"), None)?;
tracing::info!(path=%data_dir.display(), "Data directory");
tracing::info!(path=%format!("{}/logs", data_dir.display()), "Log files directory");
tracing::info!(path=%format!("{}/sqlite", data_dir.display()), "Sqlite file location");
tracing::info!(path=%format!("{}/seed.pem", data_dir.display()), "Seed file location");
tracing::info!(path=%format!("{}/monero", data_dir.display()), "Monero-wallet-rpc directory");
tracing::info!(path=%format!("{}/wallet", data_dir.display()), "Internal bitcoin wallet directory");
}
Command::WithdrawBtc {
bitcoin_electrum_rpc_url,
bitcoin_target_block,
amount,
address,
} => {
cli::tracing::init(debug, json, data_dir.join("logs"), None)?;
let seed = Seed::from_file_or_generate(data_dir.as_path())
.context("Failed to read in seed file")?;
let bitcoin_wallet = init_bitcoin_wallet(
bitcoin_electrum_rpc_url,
&seed,
data_dir.clone(),
env_config,
bitcoin_target_block,
)
.await?;
let amount = match amount {
Some(amount) => amount,
None => {
bitcoin_wallet
.max_giveable(address.script_pubkey().len())
.await?
}
};
let psbt = bitcoin_wallet
.send_to_address(address, amount, None)
.await?;
let signed_tx = bitcoin_wallet.sign_and_finalize(psbt).await?;
bitcoin_wallet.broadcast(signed_tx, "withdraw").await?;
}
Command::Balance {
bitcoin_electrum_rpc_url,
bitcoin_target_block,
} => {
cli::tracing::init(debug, json, data_dir.join("logs"), None)?;
let seed = Seed::from_file_or_generate(data_dir.as_path())
.context("Failed to read in seed file")?;
let bitcoin_wallet = init_bitcoin_wallet(
bitcoin_electrum_rpc_url,
&seed,
data_dir.clone(),
env_config,
bitcoin_target_block,
)
.await?;
let bitcoin_balance = bitcoin_wallet.balance().await?;
tracing::info!(
balance = %bitcoin_balance,
"Checked Bitcoin balance",
);
}
Command::Resume {
swap_id,
bitcoin_electrum_rpc_url,
bitcoin_target_block,
monero_daemon_address,
tor_socks5_port,
} => {
cli::tracing::init(debug, json, data_dir.join("logs"), Some(swap_id))?;
let db = open_db(data_dir.join("sqlite")).await?;
let seed = Seed::from_file_or_generate(data_dir.as_path())
.context("Failed to read in seed file")?;
let bitcoin_wallet = init_bitcoin_wallet(
bitcoin_electrum_rpc_url,
&seed,
data_dir.clone(),
env_config,
bitcoin_target_block,
)
.await?;
let (monero_wallet, _process) =
init_monero_wallet(data_dir, monero_daemon_address, env_config).await?;
let bitcoin_wallet = Arc::new(bitcoin_wallet);
let seller_peer_id = db.get_peer_id(swap_id).await?;
let seller_addresses = db.get_addresses(seller_peer_id).await?;
let behaviour = cli::Behaviour::new(seller_peer_id, env_config, bitcoin_wallet.clone());
let mut swarm =
swarm::cli(seed.derive_libp2p_identity(), tor_socks5_port, behaviour).await?;
let our_peer_id = swarm.local_peer_id();
tracing::debug!(peer_id = %our_peer_id, "Network layer initialized");
for seller_address in seller_addresses {
swarm
.behaviour_mut()
.add_address(seller_peer_id, seller_address);
}
let (event_loop, event_loop_handle) =
EventLoop::new(swap_id, swarm, seller_peer_id, env_config)?;
let handle = tokio::spawn(event_loop.run());
let monero_receive_address = db.get_monero_address(swap_id).await?;
let swap = Swap::from_db(
db,
swap_id,
bitcoin_wallet,
Arc::new(monero_wallet),
env_config,
event_loop_handle,
monero_receive_address,
)
.await?;
tokio::select! {
event_loop_result = handle => {
event_loop_result?;
},
swap_result = bob::run(swap) => {
swap_result?;
}
}
}
Command::Cancel {
swap_id,
bitcoin_electrum_rpc_url,
bitcoin_target_block,
} => {
cli::tracing::init(debug, json, data_dir.join("logs"), Some(swap_id))?;
let db = open_db(data_dir.join("sqlite")).await?;
let seed = Seed::from_file_or_generate(data_dir.as_path())
.context("Failed to read in seed file")?;
let bitcoin_wallet = init_bitcoin_wallet(
bitcoin_electrum_rpc_url,
&seed,
data_dir,
env_config,
bitcoin_target_block,
)
.await?;
let (txid, _) = cli::cancel(swap_id, Arc::new(bitcoin_wallet), db).await?;
tracing::debug!("Cancel transaction successfully published with id {}", txid);
}
Command::Refund {
swap_id,
bitcoin_electrum_rpc_url,
bitcoin_target_block,
} => {
cli::tracing::init(debug, json, data_dir.join("logs"), Some(swap_id))?;
let db = open_db(data_dir.join("sqlite")).await?;
let seed = Seed::from_file_or_generate(data_dir.as_path())
.context("Failed to read in seed file")?;
let bitcoin_wallet = init_bitcoin_wallet(
bitcoin_electrum_rpc_url,
&seed,
data_dir,
env_config,
bitcoin_target_block,
)
.await?;
cli::refund(swap_id, Arc::new(bitcoin_wallet), db).await?;
}
Command::ListSellers {
rendezvous_point,
namespace,
tor_socks5_port,
} => {
let rendezvous_node_peer_id = rendezvous_point
.extract_peer_id()
.context("Rendezvous node address must contain peer ID")?;
cli::tracing::init(debug, json, data_dir.join("logs"), None)?;
let seed = Seed::from_file_or_generate(data_dir.as_path())
.context("Failed to read in seed file")?;
let identity = seed.derive_libp2p_identity();
let sellers = list_sellers(
rendezvous_node_peer_id,
rendezvous_point,
namespace,
tor_socks5_port,
identity,
)
.await?;
if json {
for seller in sellers {
match seller.status {
SellerStatus::Online(quote) => {
tracing::info!(
price = %quote.price.to_string(),
min_quantity = %quote.min_quantity.to_string(),
max_quantity = %quote.max_quantity.to_string(),
status = "Online",
address = %seller.multiaddr.to_string(),
"Fetched peer status"
);
}
SellerStatus::Unreachable => {
tracing::info!(
status = "Unreachable",
address = %seller.multiaddr.to_string(),
"Fetched peer status"
);
}
}
}
} else {
let mut table = Table::new();
table.set_header(vec![
"PRICE",
"MIN_QUANTITY",
"MAX_QUANTITY",
"STATUS",
"ADDRESS",
]);
for seller in sellers {
let row = match seller.status {
SellerStatus::Online(quote) => {
vec![
quote.price.to_string(),
quote.min_quantity.to_string(),
quote.max_quantity.to_string(),
"Online".to_owned(),
seller.multiaddr.to_string(),
]
}
SellerStatus::Unreachable => {
vec![
"???".to_owned(),
"???".to_owned(),
"???".to_owned(),
"Unreachable".to_owned(),
seller.multiaddr.to_string(),
]
}
};
table.add_row(row);
}
println!("{}", table);
}
}
Command::ExportBitcoinWallet {
bitcoin_electrum_rpc_url,
bitcoin_target_block,
} => {
cli::tracing::init(debug, json, data_dir.join("logs"), None)?;
let seed = Seed::from_file_or_generate(data_dir.as_path())
.context("Failed to read in seed file")?;
let bitcoin_wallet = init_bitcoin_wallet(
bitcoin_electrum_rpc_url,
&seed,
data_dir.clone(),
env_config,
bitcoin_target_block,
)
.await?;
let wallet_export = bitcoin_wallet.wallet_export("cli").await?;
tracing::info!(descriptor=%wallet_export.to_string(), "Exported bitcoin wallet");
}
Command::MoneroRecovery { swap_id } => {
let db = open_db(data_dir.join("sqlite")).await?;
let swap_state: BobState = db.get_state(swap_id).await?.try_into()?;
match swap_state {
BobState::Started { .. }
| BobState::SwapSetupCompleted(_)
| BobState::BtcLocked { .. }
| BobState::XmrLockProofReceived { .. }
| BobState::XmrLocked(_)
| BobState::EncSigSent(_)
| BobState::CancelTimelockExpired(_)
| BobState::BtcCancelled(_)
| BobState::BtcRefunded(_)
| BobState::BtcPunished { .. }
| BobState::SafelyAborted
| BobState::XmrRedeemed { .. } => {
bail!("Cannot print monero recovery information in state {}, only possible for BtcRedeemed", swap_state)
}
BobState::BtcRedeemed(state5) => {
let (spend_key, view_key) = state5.xmr_keys();
let address = monero::Address::standard(
env_config.monero_network,
monero::PublicKey::from_private_key(&spend_key),
monero::PublicKey::from(view_key.public()),
);
tracing::info!("Wallet address: {}", address.to_string());
let view_key = serde_json::to_string(&view_key)?;
println!("View key: {}", view_key);
println!("Spend key: {}", spend_key);
}
}
}
};
if let Err(e) = check_latest_version(env!("CARGO_PKG_VERSION")).await {
eprintln!("{}", e);
}
request.call(context.clone()).await?;
context.tasks.wait_for_tasks().await?;
Ok(())
}
async fn init_bitcoin_wallet(
electrum_rpc_url: Url,
seed: &Seed,
data_dir: PathBuf,
env_config: Config,
bitcoin_target_block: usize,
) -> Result<bitcoin::Wallet> {
let wallet_dir = data_dir.join("wallet");
let wallet = bitcoin::Wallet::new(
electrum_rpc_url.clone(),
&wallet_dir,
seed.derive_extended_private_key(env_config.bitcoin_network)?,
env_config,
bitcoin_target_block,
)
.await
.context("Failed to initialize Bitcoin wallet")?;
wallet.sync().await?;
Ok(wallet)
}
async fn init_monero_wallet(
data_dir: PathBuf,
monero_daemon_address: String,
env_config: Config,
) -> Result<(monero::Wallet, monero::WalletRpcProcess)> {
let network = env_config.monero_network;
const MONERO_BLOCKCHAIN_MONITORING_WALLET_NAME: &str = "swap-tool-blockchain-monitoring-wallet";
let monero_wallet_rpc = monero::WalletRpc::new(data_dir.join("monero")).await?;
let monero_wallet_rpc_process = monero_wallet_rpc
.run(network, monero_daemon_address.as_str())
.await?;
let monero_wallet = monero::Wallet::open_or_create(
monero_wallet_rpc_process.endpoint(),
MONERO_BLOCKCHAIN_MONITORING_WALLET_NAME.to_string(),
env_config,
)
.await?;
Ok((monero_wallet, monero_wallet_rpc_process))
}
fn qr_code(value: &impl ToString) -> Result<String> {
let code = QrCode::new(value.to_string())?;
let qr_code = code
.render::<unicode::Dense1x2>()
.dark_color(unicode::Dense1x2::Light)
.light_color(unicode::Dense1x2::Dark)
.build();
Ok(qr_code)
}
async fn determine_btc_to_swap<FB, TB, FMG, TMG, FS, TS>(
json: bool,
bid_quote: impl Future<Output = Result<BidQuote>>,
get_new_address: impl Future<Output = Result<bitcoin::Address>>,
balance: FB,
max_giveable_fn: FMG,
sync: FS,
) -> Result<(bitcoin::Amount, bitcoin::Amount)>
where
TB: Future<Output = Result<bitcoin::Amount>>,
FB: Fn() -> TB,
TMG: Future<Output = Result<bitcoin::Amount>>,
FMG: Fn() -> TMG,
TS: Future<Output = Result<()>>,
FS: Fn() -> TS,
{
tracing::debug!("Requesting quote");
let bid_quote = bid_quote.await?;
tracing::info!(
price = %bid_quote.price,
minimum_amount = %bid_quote.min_quantity,
maximum_amount = %bid_quote.max_quantity,
"Received quote",
);
let mut max_giveable = max_giveable_fn().await?;
if max_giveable == bitcoin::Amount::ZERO || max_giveable < bid_quote.min_quantity {
let deposit_address = get_new_address.await?;
let minimum_amount = bid_quote.min_quantity;
let maximum_amount = bid_quote.max_quantity;
if !json {
eprintln!("{}", qr_code(&deposit_address)?);
}
loop {
tracing::info!(
%deposit_address,
%max_giveable,
%minimum_amount,
%maximum_amount,
"Waiting for Bitcoin deposit",
);
max_giveable = loop {
sync().await?;
let new_max_givable = max_giveable_fn().await?;
if new_max_givable > max_giveable {
break new_max_givable;
}
tokio::time::sleep(Duration::from_secs(1)).await;
};
let new_balance = balance().await?;
tracing::info!(%new_balance, %max_giveable, "Received Bitcoin");
if max_giveable < bid_quote.min_quantity {
tracing::info!("Deposited amount is less than `min_quantity`");
continue;
}
break;
}
};
let balance = balance().await?;
let fees = balance - max_giveable;
let max_accepted = bid_quote.max_quantity;
let btc_swap_amount = min(max_giveable, max_accepted);
Ok((btc_swap_amount, fees))
}
#[cfg(test)]
mod tests {
use super::*;
use crate::determine_btc_to_swap;
use ::bitcoin::Amount;
use std::sync::Mutex;
use std::sync::{Arc, Mutex};
use std::time::Duration;
use swap::api::request::determine_btc_to_swap;
use swap::network::quote::BidQuote;
use swap::tracing_ext::capture_logs;
use tracing::level_filters::LevelFilter;
@ -635,7 +56,7 @@ mod tests {
let (amount, fees) = determine_btc_to_swap(
true,
async { Ok(quote_with_max(0.01)) },
quote_with_max(0.01),
get_dummy_address(),
|| async { Ok(Amount::from_btc(0.001)?) },
|| async {
@ -643,6 +64,7 @@ mod tests {
result.give()
},
|| async { Ok(()) },
|_| async { Ok(Amount::from_sat(1000)) },
)
.await
.unwrap();
@ -653,9 +75,10 @@ mod tests {
assert_eq!((amount, fees), (expected_amount, expected_fees));
assert_eq!(
writer.captured(),
r" INFO swap: Received quote price=0.00100000 BTC minimum_amount=0.00000000 BTC maximum_amount=0.01000000 BTC
INFO swap: Waiting for Bitcoin deposit deposit_address=1PdfytjS7C8wwd9Lq5o4x9aXA2YRqaCpH6 max_giveable=0.00000000 BTC minimum_amount=0.00000000 BTC maximum_amount=0.01000000 BTC
INFO swap: Received Bitcoin new_balance=0.00100000 BTC max_giveable=0.00090000 BTC
r" INFO swap::api::request: Received quote price=0.001 BTC minimum_amount=0 BTC maximum_amount=0.01 BTC
INFO swap::api::request: Deposit at least 0.00001 BTC to cover the min quantity with fee!
INFO swap::api::request: Waiting for Bitcoin deposit deposit_address=1PdfytjS7C8wwd9Lq5o4x9aXA2YRqaCpH6 min_deposit=0.00001 BTC max_giveable=0 BTC minimum_amount=0 BTC maximum_amount=0.01 BTC
INFO swap::api::request: Received Bitcoin new_balance=0.001 BTC max_giveable=0.0009 BTC
"
);
}
@ -670,7 +93,7 @@ mod tests {
let (amount, fees) = determine_btc_to_swap(
true,
async { Ok(quote_with_max(0.01)) },
quote_with_max(0.01),
get_dummy_address(),
|| async { Ok(Amount::from_btc(0.1001)?) },
|| async {
@ -678,6 +101,7 @@ mod tests {
result.give()
},
|| async { Ok(()) },
|_| async { Ok(Amount::from_sat(1000)) },
)
.await
.unwrap();
@ -688,15 +112,16 @@ mod tests {
assert_eq!((amount, fees), (expected_amount, expected_fees));
assert_eq!(
writer.captured(),
r" INFO swap: Received quote price=0.00100000 BTC minimum_amount=0.00000000 BTC maximum_amount=0.01000000 BTC
INFO swap: Waiting for Bitcoin deposit deposit_address=1PdfytjS7C8wwd9Lq5o4x9aXA2YRqaCpH6 max_giveable=0.00000000 BTC minimum_amount=0.00000000 BTC maximum_amount=0.01000000 BTC
INFO swap: Received Bitcoin new_balance=0.10010000 BTC max_giveable=0.10000000 BTC
r" INFO swap::api::request: Received quote price=0.001 BTC minimum_amount=0 BTC maximum_amount=0.01 BTC
INFO swap::api::request: Deposit at least 0.00001 BTC to cover the min quantity with fee!
INFO swap::api::request: Waiting for Bitcoin deposit deposit_address=1PdfytjS7C8wwd9Lq5o4x9aXA2YRqaCpH6 min_deposit=0.00001 BTC max_giveable=0 BTC minimum_amount=0 BTC maximum_amount=0.01 BTC
INFO swap::api::request: Received Bitcoin new_balance=0.1001 BTC max_giveable=0.1 BTC
"
);
}
#[tokio::test]
async fn given_initial_balance_below_max_quantity_swaps_max_givable() {
async fn given_initial_balance_below_max_quantity_swaps_max_giveable() {
let writer = capture_logs(LevelFilter::INFO);
let givable = Arc::new(Mutex::new(MaxGiveable::new(vec![
Amount::from_btc(0.0049).unwrap(),
@ -705,7 +130,7 @@ mod tests {
let (amount, fees) = determine_btc_to_swap(
true,
async { Ok(quote_with_max(0.01)) },
quote_with_max(0.01),
async { panic!("should not request new address when initial balance is > 0") },
|| async { Ok(Amount::from_btc(0.005)?) },
|| async {
@ -713,6 +138,7 @@ mod tests {
result.give()
},
|| async { Ok(()) },
|_| async { Ok(Amount::from_sat(1000)) },
)
.await
.unwrap();
@ -723,8 +149,7 @@ mod tests {
assert_eq!((amount, fees), (expected_amount, expected_fees));
assert_eq!(
writer.captured(),
r" INFO swap: Received quote price=0.00100000 BTC minimum_amount=0.00000000 BTC maximum_amount=0.01000000 BTC
"
" INFO swap::api::request: Received quote price=0.001 BTC minimum_amount=0 BTC maximum_amount=0.01 BTC\n"
);
}
@ -738,7 +163,7 @@ mod tests {
let (amount, fees) = determine_btc_to_swap(
true,
async { Ok(quote_with_max(0.01)) },
quote_with_max(0.01),
async { panic!("should not request new address when initial balance is > 0") },
|| async { Ok(Amount::from_btc(0.1001)?) },
|| async {
@ -746,6 +171,7 @@ mod tests {
result.give()
},
|| async { Ok(()) },
|_| async { Ok(Amount::from_sat(1000)) },
)
.await
.unwrap();
@ -756,8 +182,7 @@ mod tests {
assert_eq!((amount, fees), (expected_amount, expected_fees));
assert_eq!(
writer.captured(),
r" INFO swap: Received quote price=0.00100000 BTC minimum_amount=0.00000000 BTC maximum_amount=0.01000000 BTC
"
" INFO swap::api::request: Received quote price=0.001 BTC minimum_amount=0 BTC maximum_amount=0.01 BTC\n"
);
}
@ -771,7 +196,7 @@ mod tests {
let (amount, fees) = determine_btc_to_swap(
true,
async { Ok(quote_with_min(0.01)) },
quote_with_min(0.01),
get_dummy_address(),
|| async { Ok(Amount::from_btc(0.0101)?) },
|| async {
@ -779,6 +204,7 @@ mod tests {
result.give()
},
|| async { Ok(()) },
|_| async { Ok(Amount::from_sat(1000)) },
)
.await
.unwrap();
@ -789,9 +215,10 @@ mod tests {
assert_eq!((amount, fees), (expected_amount, expected_fees));
assert_eq!(
writer.captured(),
r" INFO swap: Received quote price=0.00100000 BTC minimum_amount=0.01000000 BTC maximum_amount=184467440737.09551615 BTC
INFO swap: Waiting for Bitcoin deposit deposit_address=1PdfytjS7C8wwd9Lq5o4x9aXA2YRqaCpH6 max_giveable=0.00000000 BTC minimum_amount=0.01000000 BTC maximum_amount=184467440737.09551615 BTC
INFO swap: Received Bitcoin new_balance=0.01010000 BTC max_giveable=0.01000000 BTC
r" INFO swap::api::request: Received quote price=0.001 BTC minimum_amount=0.01 BTC maximum_amount=184467440737.09551615 BTC
INFO swap::api::request: Deposit at least 0.01001 BTC to cover the min quantity with fee!
INFO swap::api::request: Waiting for Bitcoin deposit deposit_address=1PdfytjS7C8wwd9Lq5o4x9aXA2YRqaCpH6 min_deposit=0.01001 BTC max_giveable=0 BTC minimum_amount=0.01 BTC maximum_amount=184467440737.09551615 BTC
INFO swap::api::request: Received Bitcoin new_balance=0.0101 BTC max_giveable=0.01 BTC
"
);
}
@ -806,7 +233,7 @@ mod tests {
let (amount, fees) = determine_btc_to_swap(
true,
async { Ok(quote_with_min(0.01)) },
quote_with_min(0.01),
get_dummy_address(),
|| async { Ok(Amount::from_btc(0.0101)?) },
|| async {
@ -814,6 +241,7 @@ mod tests {
result.give()
},
|| async { Ok(()) },
|_| async { Ok(Amount::from_sat(1000)) },
)
.await
.unwrap();
@ -824,9 +252,10 @@ mod tests {
assert_eq!((amount, fees), (expected_amount, expected_fees));
assert_eq!(
writer.captured(),
r" INFO swap: Received quote price=0.00100000 BTC minimum_amount=0.01000000 BTC maximum_amount=184467440737.09551615 BTC
INFO swap: Waiting for Bitcoin deposit deposit_address=1PdfytjS7C8wwd9Lq5o4x9aXA2YRqaCpH6 max_giveable=0.00010000 BTC minimum_amount=0.01000000 BTC maximum_amount=184467440737.09551615 BTC
INFO swap: Received Bitcoin new_balance=0.01010000 BTC max_giveable=0.01000000 BTC
r" INFO swap::api::request: Received quote price=0.001 BTC minimum_amount=0.01 BTC maximum_amount=184467440737.09551615 BTC
INFO swap::api::request: Deposit at least 0.00991 BTC to cover the min quantity with fee!
INFO swap::api::request: Waiting for Bitcoin deposit deposit_address=1PdfytjS7C8wwd9Lq5o4x9aXA2YRqaCpH6 min_deposit=0.00991 BTC max_giveable=0.0001 BTC minimum_amount=0.01 BTC maximum_amount=184467440737.09551615 BTC
INFO swap::api::request: Received Bitcoin new_balance=0.0101 BTC max_giveable=0.01 BTC
"
);
}
@ -846,7 +275,7 @@ mod tests {
Duration::from_secs(1),
determine_btc_to_swap(
true,
async { Ok(quote_with_min(0.1)) },
quote_with_min(0.1),
get_dummy_address(),
|| async { Ok(Amount::from_btc(0.0101)?) },
|| async {
@ -854,6 +283,7 @@ mod tests {
result.give()
},
|| async { Ok(()) },
|_| async { Ok(Amount::from_sat(1000)) },
),
)
.await
@ -862,11 +292,13 @@ mod tests {
assert!(matches!(error, tokio::time::error::Elapsed { .. }));
assert_eq!(
writer.captured(),
r" INFO swap: Received quote price=0.00100000 BTC minimum_amount=0.10000000 BTC maximum_amount=184467440737.09551615 BTC
INFO swap: Waiting for Bitcoin deposit deposit_address=1PdfytjS7C8wwd9Lq5o4x9aXA2YRqaCpH6 max_giveable=0.00000000 BTC minimum_amount=0.10000000 BTC maximum_amount=184467440737.09551615 BTC
INFO swap: Received Bitcoin new_balance=0.01010000 BTC max_giveable=0.01000000 BTC
INFO swap: Deposited amount is less than `min_quantity`
INFO swap: Waiting for Bitcoin deposit deposit_address=1PdfytjS7C8wwd9Lq5o4x9aXA2YRqaCpH6 max_giveable=0.01000000 BTC minimum_amount=0.10000000 BTC maximum_amount=184467440737.09551615 BTC
r" INFO swap::api::request: Received quote price=0.001 BTC minimum_amount=0.1 BTC maximum_amount=184467440737.09551615 BTC
INFO swap::api::request: Deposit at least 0.10001 BTC to cover the min quantity with fee!
INFO swap::api::request: Waiting for Bitcoin deposit deposit_address=1PdfytjS7C8wwd9Lq5o4x9aXA2YRqaCpH6 min_deposit=0.10001 BTC max_giveable=0 BTC minimum_amount=0.1 BTC maximum_amount=184467440737.09551615 BTC
INFO swap::api::request: Received Bitcoin new_balance=0.0101 BTC max_giveable=0.01 BTC
INFO swap::api::request: Deposited amount is less than `min_quantity`
INFO swap::api::request: Deposit at least 0.09001 BTC to cover the min quantity with fee!
INFO swap::api::request: Waiting for Bitcoin deposit deposit_address=1PdfytjS7C8wwd9Lq5o4x9aXA2YRqaCpH6 min_deposit=0.09001 BTC max_giveable=0.01 BTC minimum_amount=0.1 BTC maximum_amount=184467440737.09551615 BTC
"
);
}
@ -891,7 +323,7 @@ mod tests {
Duration::from_secs(10),
determine_btc_to_swap(
true,
async { Ok(quote_with_min(0.1)) },
quote_with_min(0.1),
get_dummy_address(),
|| async { Ok(Amount::from_btc(0.21)?) },
|| async {
@ -900,6 +332,7 @@ mod tests {
result.give()
},
|| async { Ok(()) },
|_| async { Ok(Amount::from_sat(1000)) },
),
)
.await
@ -908,13 +341,41 @@ mod tests {
assert_eq!(
writer.captured(),
r" INFO swap: Received quote price=0.00100000 BTC minimum_amount=0.10000000 BTC maximum_amount=184467440737.09551615 BTC
INFO swap: Waiting for Bitcoin deposit deposit_address=1PdfytjS7C8wwd9Lq5o4x9aXA2YRqaCpH6 max_giveable=0.00000000 BTC minimum_amount=0.10000000 BTC maximum_amount=184467440737.09551615 BTC
INFO swap: Received Bitcoin new_balance=0.21000000 BTC max_giveable=0.20000000 BTC
r" INFO swap::api::request: Received quote price=0.001 BTC minimum_amount=0.1 BTC maximum_amount=184467440737.09551615 BTC
INFO swap::api::request: Deposit at least 0.10001 BTC to cover the min quantity with fee!
INFO swap::api::request: Waiting for Bitcoin deposit deposit_address=1PdfytjS7C8wwd9Lq5o4x9aXA2YRqaCpH6 min_deposit=0.10001 BTC max_giveable=0 BTC minimum_amount=0.1 BTC maximum_amount=184467440737.09551615 BTC
INFO swap::api::request: Received Bitcoin new_balance=0.21 BTC max_giveable=0.2 BTC
"
);
}
#[tokio::test]
async fn given_bid_quote_max_amount_0_return_error() {
let givable = Arc::new(Mutex::new(MaxGiveable::new(vec![
Amount::from_btc(0.0001).unwrap(),
Amount::from_btc(0.01).unwrap(),
])));
let determination_error = determine_btc_to_swap(
true,
quote_with_max(0.00),
get_dummy_address(),
|| async { Ok(Amount::from_btc(0.0101)?) },
|| async {
let mut result = givable.lock().unwrap();
result.give()
},
|| async { Ok(()) },
|_| async { Ok(Amount::from_sat(1000)) },
)
.await
.err()
.unwrap()
.to_string();
assert_eq!("Received quote of 0", determination_error);
}
struct MaxGiveable {
amounts: Vec<Amount>,
call_counter: usize,

@ -15,7 +15,8 @@ pub use crate::bitcoin::refund::TxRefund;
pub use crate::bitcoin::timelocks::{BlockHeight, ExpiredTimelocks};
pub use ::bitcoin::util::amount::Amount;
pub use ::bitcoin::util::psbt::PartiallySignedTransaction;
pub use ::bitcoin::{Address, Network, Transaction, Txid};
pub use ::bitcoin::{Address, AddressType, Network, Transaction, Txid};
use bitcoin::secp256k1::ecdsa;
pub use ecdsa_fun::adaptor::EncryptedSignature;
pub use ecdsa_fun::fun::Scalar;
pub use ecdsa_fun::Signature;
@ -25,9 +26,8 @@ pub use wallet::Wallet;
pub use wallet::WalletBuilder;
use crate::bitcoin::wallet::ScriptStatus;
use ::bitcoin::hashes::hex::ToHex;
use ::bitcoin::hashes::Hash;
use ::bitcoin::{secp256k1, SigHash};
use ::bitcoin::Sighash;
use anyhow::{bail, Context, Result};
use bdk::miniscript::descriptor::Wsh;
use bdk::miniscript::{Descriptor, Segwitv0};
@ -78,7 +78,7 @@ impl SecretKey {
self.inner.to_bytes()
}
pub fn sign(&self, digest: SigHash) -> Signature {
pub fn sign(&self, digest: Sighash) -> Signature {
let ecdsa = ECDSA::<Deterministic<Sha256>>::default();
ecdsa.sign(&self.inner, &digest.into_inner())
@ -98,7 +98,7 @@ impl SecretKey {
// alice now has s_a and s_b and can refund monero
// self = a, Y = S_b, digest = tx_refund
pub fn encsign(&self, Y: PublicKey, digest: SigHash) -> EncryptedSignature {
pub fn encsign(&self, Y: PublicKey, digest: Sighash) -> EncryptedSignature {
let adaptor = Adaptor::<
HashTranscript<Sha256, rand_chacha::ChaCha20Rng>,
Deterministic<Sha256>,
@ -108,7 +108,7 @@ impl SecretKey {
}
}
#[derive(Debug, Copy, Clone, Serialize, Deserialize, PartialEq)]
#[derive(Debug, Copy, Clone, Serialize, Deserialize, PartialEq, Eq)]
pub struct PublicKey(Point);
impl PublicKey {
@ -124,12 +124,12 @@ impl From<PublicKey> for Point {
}
}
impl From<PublicKey> for ::bitcoin::PublicKey {
fn from(from: PublicKey) -> Self {
::bitcoin::PublicKey {
compressed: true,
key: from.0.into(),
}
impl TryFrom<PublicKey> for bitcoin::PublicKey {
type Error = bitcoin::util::key::Error;
fn try_from(pubkey: PublicKey) -> Result<Self, Self::Error> {
let bytes = pubkey.0.to_bytes();
bitcoin::PublicKey::from_slice(&bytes)
}
}
@ -166,12 +166,12 @@ impl From<Scalar> for PublicKey {
pub fn verify_sig(
verification_key: &PublicKey,
transaction_sighash: &SigHash,
transaction_sighash: &Sighash,
sig: &Signature,
) -> Result<()> {
let ecdsa = ECDSA::verify_only();
if ecdsa.verify(&verification_key.0, &transaction_sighash.into_inner(), &sig) {
if ecdsa.verify(&verification_key.0, &transaction_sighash.into_inner(), sig) {
Ok(())
} else {
bail!(InvalidSignature)
@ -185,7 +185,7 @@ pub struct InvalidSignature;
pub fn verify_encsig(
verification_key: PublicKey,
encryption_key: PublicKey,
digest: &SigHash,
digest: &Sighash,
encsig: &EncryptedSignature,
) -> Result<()> {
let adaptor = Adaptor::<HashTranscript<Sha256>, Deterministic<Sha256>>::default();
@ -194,7 +194,7 @@ pub fn verify_encsig(
&verification_key.0,
&encryption_key.0,
&digest.into_inner(),
&encsig,
encsig,
) {
Ok(())
} else {
@ -206,20 +206,21 @@ pub fn verify_encsig(
#[error("encrypted signature is invalid")]
pub struct InvalidEncryptedSignature;
pub fn build_shared_output_descriptor(A: Point, B: Point) -> Descriptor<bitcoin::PublicKey> {
pub fn build_shared_output_descriptor(
A: Point,
B: Point,
) -> Result<Descriptor<bitcoin::PublicKey>> {
const MINISCRIPT_TEMPLATE: &str = "c:and_v(v:pk(A),pk_k(B))";
// NOTE: This shouldn't be a source of error, but maybe it is
let A = ToHex::to_hex(&secp256k1::PublicKey::from(A));
let B = ToHex::to_hex(&secp256k1::PublicKey::from(B));
let miniscript = MINISCRIPT_TEMPLATE.replace("A", &A).replace("B", &B);
let miniscript = MINISCRIPT_TEMPLATE
.replace('A', &A.to_string())
.replace('B', &B.to_string());
let miniscript =
bdk::miniscript::Miniscript::<bitcoin::PublicKey, Segwitv0>::from_str(&miniscript)
.expect("a valid miniscript");
Descriptor::Wsh(Wsh::new(miniscript).expect("a valid descriptor"))
Ok(Descriptor::Wsh(Wsh::new(miniscript)?))
}
pub fn recover(S: PublicKey, sig: Signature, encsig: EncryptedSignature) -> Result<SecretKey> {
@ -244,10 +245,72 @@ pub fn current_epoch(
}
if tx_lock_status.is_confirmed_with(cancel_timelock) {
return ExpiredTimelocks::Cancel;
return ExpiredTimelocks::Cancel {
blocks_left: tx_cancel_status.blocks_left_until(punish_timelock),
};
}
ExpiredTimelocks::None {
blocks_left: tx_lock_status.blocks_left_until(cancel_timelock),
}
}
pub mod bitcoin_address {
use anyhow::{bail, Result};
use serde::Serialize;
use std::str::FromStr;
#[derive(thiserror::Error, Debug, Clone, Copy, PartialEq, Serialize)]
#[error("Invalid Bitcoin address provided, expected address on network {expected:?} but address provided is on {actual:?}")]
pub struct BitcoinAddressNetworkMismatch {
#[serde(with = "crate::bitcoin::network")]
expected: bitcoin::Network,
#[serde(with = "crate::bitcoin::network")]
actual: bitcoin::Network,
}
pub fn parse(addr_str: &str) -> Result<bitcoin::Address> {
let address = bitcoin::Address::from_str(addr_str)?;
if address.address_type() != Some(bitcoin::AddressType::P2wpkh) {
anyhow::bail!("Invalid Bitcoin address provided, only bech32 format is supported!")
}
Ok(address)
}
ExpiredTimelocks::None
pub fn validate(
address: bitcoin::Address,
expected_network: bitcoin::Network,
) -> Result<bitcoin::Address> {
if address.network != expected_network {
bail!(BitcoinAddressNetworkMismatch {
expected: expected_network,
actual: address.network
});
}
Ok(address)
}
pub fn validate_is_testnet(
address: bitcoin::Address,
is_testnet: bool,
) -> Result<bitcoin::Address> {
let expected_network = if is_testnet {
bitcoin::Network::Testnet
} else {
bitcoin::Network::Bitcoin
};
validate(address, expected_network)
}
}
// Transform the ecdsa der signature bytes into a secp256kfun ecdsa signature type.
pub fn extract_ecdsa_sig(sig: &[u8]) -> Result<Signature> {
let data = &sig[..sig.len() - 1];
let sig = ecdsa::Signature::from_der(data)?.serialize_compact();
Signature::from_bytes(sig).ok_or(anyhow::anyhow!("invalid signature"))
}
/// Bitcoin error codes: https://github.com/bitcoin/bitcoin/blob/97d3500601c1d28642347d014a6de1e38f53ae4e/src/rpc/protocol.h#L23
@ -323,7 +386,10 @@ mod tests {
use super::*;
use crate::env::{GetConfig, Regtest};
use crate::protocol::{alice, bob};
use bitcoin::secp256k1;
use ecdsa_fun::fun::marker::{NonZero, Public};
use rand::rngs::OsRng;
use std::matches;
use uuid::Uuid;
#[test]
@ -338,7 +404,7 @@ mod tests {
tx_cancel_status,
);
assert_eq!(expired_timelock, ExpiredTimelocks::None)
assert!(matches!(expired_timelock, ExpiredTimelocks::None { .. }));
}
#[test]
@ -353,7 +419,7 @@ mod tests {
tx_cancel_status,
);
assert_eq!(expired_timelock, ExpiredTimelocks::Cancel)
assert!(matches!(expired_timelock, ExpiredTimelocks::Cancel { .. }));
}
#[test]
@ -373,8 +439,8 @@ mod tests {
#[tokio::test]
async fn calculate_transaction_weights() {
let alice_wallet = WalletBuilder::new(Amount::ONE_BTC.as_sat()).build();
let bob_wallet = WalletBuilder::new(Amount::ONE_BTC.as_sat()).build();
let alice_wallet = WalletBuilder::new(Amount::ONE_BTC.to_sat()).build();
let bob_wallet = WalletBuilder::new(Amount::ONE_BTC.to_sat()).build();
let spending_fee = Amount::from_sat(1_000);
let btc_amount = Amount::from_sat(500_000);
let xmr_amount = crate::monero::Amount::from_piconero(10000);
@ -457,7 +523,7 @@ mod tests {
// transactions have 2 signatures the weight can be up to 8 bytes less than
// the static weight (4 bytes per signature).
fn assert_weight(transaction: Transaction, expected_weight: usize, tx_name: &str) {
let is_weight = transaction.get_weight();
let is_weight = transaction.weight();
assert!(
expected_weight - is_weight <= 8,
@ -468,4 +534,16 @@ mod tests {
transaction
)
}
#[test]
fn compare_point_hex() {
// secp256kfun Point and secp256k1 PublicKey should have the same bytes and hex representation
let secp = secp256k1::Secp256k1::default();
let keypair = secp256k1::KeyPair::new(&secp, &mut OsRng);
let pubkey = keypair.public_key();
let point: Point<_, Public, NonZero> = Point::from_bytes(pubkey.serialize()).unwrap();
assert_eq!(pubkey.to_string(), point.to_string());
}
}

@ -3,10 +3,13 @@ use crate::bitcoin::wallet::Watchable;
use crate::bitcoin::{
build_shared_output_descriptor, Address, Amount, BlockHeight, PublicKey, Transaction, TxLock,
};
use ::bitcoin::util::bip143::SigHashCache;
use ::bitcoin::{OutPoint, Script, SigHash, SigHashType, TxIn, TxOut, Txid};
use ::bitcoin::util::sighash::SighashCache;
use ::bitcoin::{
secp256k1, EcdsaSighashType, OutPoint, PackedLockTime, Script, Sequence, Sighash, TxIn, TxOut,
Txid,
};
use anyhow::Result;
use bdk::miniscript::{Descriptor, DescriptorTrait};
use bdk::miniscript::Descriptor;
use ecdsa_fun::Signature;
use serde::{Deserialize, Serialize};
use std::cmp::Ordering;
@ -22,6 +25,12 @@ use std::ops::Add;
#[serde(transparent)]
pub struct CancelTimelock(u32);
impl From<CancelTimelock> for u32 {
fn from(cancel_timelock: CancelTimelock) -> Self {
cancel_timelock.0
}
}
impl CancelTimelock {
pub const fn new(number_of_blocks: u32) -> Self {
Self(number_of_blocks)
@ -62,6 +71,12 @@ impl fmt::Display for CancelTimelock {
#[serde(transparent)]
pub struct PunishTimelock(u32);
impl From<PunishTimelock> for u32 {
fn from(punish_timelock: PunishTimelock) -> Self {
punish_timelock.0
}
}
impl PunishTimelock {
pub const fn new(number_of_blocks: u32) -> Self {
Self(number_of_blocks)
@ -91,7 +106,7 @@ impl PartialEq<PunishTimelock> for u32 {
#[derive(Debug)]
pub struct TxCancel {
inner: Transaction,
digest: SigHash,
digest: Sighash,
pub(in crate::bitcoin) output_descriptor: Descriptor<::bitcoin::PublicKey>,
lock_output_descriptor: Descriptor<::bitcoin::PublicKey>,
}
@ -103,48 +118,50 @@ impl TxCancel {
A: PublicKey,
B: PublicKey,
spending_fee: Amount,
) -> Self {
let cancel_output_descriptor = build_shared_output_descriptor(A.0, B.0);
) -> Result<Self> {
let cancel_output_descriptor = build_shared_output_descriptor(A.0, B.0)?;
let tx_in = TxIn {
previous_output: tx_lock.as_outpoint(),
script_sig: Default::default(),
sequence: cancel_timelock.0,
witness: Vec::new(),
sequence: Sequence(cancel_timelock.0),
witness: Default::default(),
};
let tx_out = TxOut {
value: tx_lock.lock_amount().as_sat() - spending_fee.as_sat(),
value: tx_lock.lock_amount().to_sat() - spending_fee.to_sat(),
script_pubkey: cancel_output_descriptor.script_pubkey(),
};
let transaction = Transaction {
version: 2,
lock_time: 0,
lock_time: PackedLockTime(0),
input: vec![tx_in],
output: vec![tx_out],
};
let digest = SigHashCache::new(&transaction).signature_hash(
0, // Only one input: lock_input (lock transaction)
&tx_lock.output_descriptor.script_code(),
tx_lock.lock_amount().as_sat(),
SigHashType::All,
);
let digest = SighashCache::new(&transaction)
.segwit_signature_hash(
0, // Only one input: lock_input (lock transaction)
&tx_lock.output_descriptor.script_code().expect("scriptcode"),
tx_lock.lock_amount().to_sat(),
EcdsaSighashType::All,
)
.expect("sighash");
Self {
Ok(Self {
inner: transaction,
digest,
output_descriptor: cancel_output_descriptor,
lock_output_descriptor: tx_lock.output_descriptor.clone(),
}
})
}
pub fn txid(&self) -> Txid {
self.inner.txid()
}
pub fn digest(&self) -> SigHash {
pub fn digest(&self) -> Sighash {
self.digest
}
@ -198,16 +215,30 @@ impl TxCancel {
let A = ::bitcoin::PublicKey {
compressed: true,
key: A.0.into(),
inner: secp256k1::PublicKey::from_slice(&A.0.to_bytes())?,
};
let B = ::bitcoin::PublicKey {
compressed: true,
key: B.0.into(),
inner: secp256k1::PublicKey::from_slice(&B.0.to_bytes())?,
};
// The order in which these are inserted doesn't matter
satisfier.insert(A, (sig_a.into(), ::bitcoin::SigHashType::All));
satisfier.insert(B, (sig_b.into(), ::bitcoin::SigHashType::All));
let sig_a = secp256k1::ecdsa::Signature::from_compact(&sig_a.to_bytes())?;
let sig_b = secp256k1::ecdsa::Signature::from_compact(&sig_b.to_bytes())?;
satisfier.insert(
A,
::bitcoin::EcdsaSig {
sig: sig_a,
hash_ty: EcdsaSighashType::All,
},
);
satisfier.insert(
B,
::bitcoin::EcdsaSig {
sig: sig_b,
hash_ty: EcdsaSighashType::All,
},
);
satisfier
};
@ -227,21 +258,22 @@ impl TxCancel {
) -> Transaction {
let previous_output = self.as_outpoint();
let sequence = Sequence(sequence.map(|seq| seq.0).unwrap_or(0xFFFF_FFFF));
let tx_in = TxIn {
previous_output,
script_sig: Default::default(),
sequence: sequence.map(|seq| seq.0).unwrap_or(0xFFFF_FFFF),
witness: Vec::new(),
sequence,
witness: Default::default(),
};
let tx_out = TxOut {
value: self.amount().as_sat() - spending_fee.as_sat(),
value: self.amount().to_sat() - spending_fee.to_sat(),
script_pubkey: spend_address.script_pubkey(),
};
Transaction {
version: 2,
lock_time: 0,
lock_time: PackedLockTime(0),
input: vec![tx_in],
output: vec![tx_out],
}

@ -4,23 +4,25 @@ use crate::bitcoin::{
};
use ::bitcoin::util::psbt::PartiallySignedTransaction;
use ::bitcoin::{OutPoint, TxIn, TxOut, Txid};
use anyhow::{bail, Result};
use anyhow::{bail, Context, Result};
use bdk::database::BatchDatabase;
use bdk::miniscript::{Descriptor, DescriptorTrait};
use bitcoin::Script;
use bdk::miniscript::Descriptor;
use bdk::psbt::PsbtUtils;
use bitcoin::{PackedLockTime, Script, Sequence};
use serde::{Deserialize, Serialize};
const SCRIPT_SIZE: usize = 34;
const TX_LOCK_WEIGHT: usize = 485;
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
pub struct TxLock {
inner: PartiallySignedTransaction,
pub(in crate::bitcoin) output_descriptor: Descriptor<::bitcoin::PublicKey>,
}
impl TxLock {
pub async fn new<B, D, C>(
wallet: &Wallet<B, D, C>,
pub async fn new<D, C>(
wallet: &Wallet<D, C>,
amount: Amount,
A: PublicKey,
B: PublicKey,
@ -30,7 +32,7 @@ impl TxLock {
C: EstimateFeeRate,
D: BatchDatabase,
{
let lock_output_descriptor = build_shared_output_descriptor(A.0, B.0);
let lock_output_descriptor = build_shared_output_descriptor(A.0, B.0)?;
let address = lock_output_descriptor
.address(wallet.get_network())
.expect("can derive address from descriptor");
@ -56,15 +58,15 @@ impl TxLock {
B: PublicKey,
btc: Amount,
) -> Result<Self> {
let shared_output_candidate = match psbt.global.unsigned_tx.output.as_slice() {
[shared_output_candidate, _] if shared_output_candidate.value == btc.as_sat() => {
let shared_output_candidate = match psbt.unsigned_tx.output.as_slice() {
[shared_output_candidate, _] if shared_output_candidate.value == btc.to_sat() => {
shared_output_candidate
}
[_, shared_output_candidate] if shared_output_candidate.value == btc.as_sat() => {
[_, shared_output_candidate] if shared_output_candidate.value == btc.to_sat() => {
shared_output_candidate
}
// A single output is possible if Bob funds without any change necessary
[shared_output_candidate] if shared_output_candidate.value == btc.as_sat() => {
[shared_output_candidate] if shared_output_candidate.value == btc.to_sat() => {
shared_output_candidate
}
[_, _] => {
@ -82,7 +84,7 @@ impl TxLock {
}
};
let descriptor = build_shared_output_descriptor(A.0, B.0);
let descriptor = build_shared_output_descriptor(A.0, B.0)?;
let legit_shared_output_script = descriptor.script_pubkey();
if shared_output_candidate.script_pubkey != legit_shared_output_script {
@ -99,6 +101,15 @@ impl TxLock {
Amount::from_sat(self.inner.clone().extract_tx().output[self.lock_output_vout()].value)
}
pub fn fee(&self) -> Result<Amount> {
Ok(Amount::from_sat(
self.inner
.clone()
.fee_amount()
.context("The PSBT is missing a TxOut for an input")?,
))
}
pub fn txid(&self) -> Txid {
self.inner.clone().extract_tx().txid()
}
@ -139,14 +150,15 @@ impl TxLock {
) -> Transaction {
let previous_output = self.as_outpoint();
let sequence = Sequence(sequence.unwrap_or(0xFFFF_FFFF));
let tx_in = TxIn {
previous_output,
script_sig: Default::default(),
sequence: sequence.unwrap_or(0xFFFF_FFFF),
witness: Vec::new(),
sequence,
witness: Default::default(),
};
let fee = spending_fee.as_sat();
let fee = spending_fee.to_sat();
let tx_out = TxOut {
value: self.inner.clone().extract_tx().output[self.lock_output_vout()].value - fee,
script_pubkey: spend_address.script_pubkey(),
@ -156,11 +168,15 @@ impl TxLock {
Transaction {
version: 2,
lock_time: 0,
lock_time: PackedLockTime(0),
input: vec![tx_in],
output: vec![tx_out],
}
}
pub fn weight() -> usize {
TX_LOCK_WEIGHT
}
}
impl From<TxLock> for PartiallySignedTransaction {
@ -200,13 +216,14 @@ mod tests {
#[tokio::test]
async fn bob_can_fund_without_a_change_output() {
let (A, B) = alice_and_bob();
let fees = 610;
let fees = 300;
let agreed_amount = Amount::from_sat(10000);
let wallet = WalletBuilder::new(agreed_amount.as_sat() + fees).build();
let amount = agreed_amount.to_sat() + fees;
let wallet = WalletBuilder::new(amount).build();
let psbt = bob_make_psbt(A, B, &wallet, agreed_amount).await;
assert_eq!(
psbt.global.unsigned_tx.output.len(),
psbt.unsigned_tx.output.len(),
1,
"psbt should only have a single output"
);
@ -246,7 +263,7 @@ mod tests {
fn estimated_tx_lock_script_size_never_changes(a in crate::proptest::ecdsa_fun::point(), b in crate::proptest::ecdsa_fun::point()) {
proptest::prop_assume!(a != b);
let computed_size = build_shared_output_descriptor(a, b).script_pubkey().len();
let computed_size = build_shared_output_descriptor(a, b).unwrap().script_pubkey().len();
assert_eq!(computed_size, SCRIPT_SIZE);
}
@ -258,11 +275,11 @@ mod tests {
async fn bob_make_psbt(
A: PublicKey,
B: PublicKey,
wallet: &Wallet<(), bdk::database::MemoryDatabase, StaticFeeRate>,
wallet: &Wallet<bdk::database::MemoryDatabase, StaticFeeRate>,
amount: Amount,
) -> PartiallySignedTransaction {
let change = wallet.new_address().await.unwrap();
TxLock::new(&wallet, amount, A, B, change)
TxLock::new(wallet, amount, A, B, change)
.await
.unwrap()
.into()

@ -1,16 +1,16 @@
use crate::bitcoin::wallet::Watchable;
use crate::bitcoin::{self, Address, Amount, PunishTimelock, Transaction, TxCancel, Txid};
use ::bitcoin::util::bip143::SigHashCache;
use ::bitcoin::{SigHash, SigHashType};
use ::bitcoin::util::sighash::SighashCache;
use ::bitcoin::{secp256k1, EcdsaSighashType, Sighash};
use anyhow::{Context, Result};
use bdk::bitcoin::Script;
use bdk::miniscript::{Descriptor, DescriptorTrait};
use bdk::miniscript::Descriptor;
use std::collections::HashMap;
#[derive(Debug)]
pub struct TxPunish {
inner: Transaction,
digest: SigHash,
digest: Sighash,
cancel_output_descriptor: Descriptor<::bitcoin::PublicKey>,
watch_script: Script,
}
@ -25,12 +25,17 @@ impl TxPunish {
let tx_punish =
tx_cancel.build_spend_transaction(punish_address, Some(punish_timelock), spending_fee);
let digest = SigHashCache::new(&tx_punish).signature_hash(
0, // Only one input: cancel transaction
&tx_cancel.output_descriptor.script_code(),
tx_cancel.amount().as_sat(),
SigHashType::All,
);
let digest = SighashCache::new(&tx_punish)
.segwit_signature_hash(
0, // Only one input: cancel transaction
&tx_cancel
.output_descriptor
.script_code()
.expect("scriptcode"),
tx_cancel.amount().to_sat(),
EcdsaSighashType::All,
)
.expect("sighash");
Self {
inner: tx_punish,
@ -40,7 +45,7 @@ impl TxPunish {
}
}
pub fn digest(&self) -> SigHash {
pub fn digest(&self) -> Sighash {
self.digest
}
@ -56,12 +61,26 @@ impl TxPunish {
let satisfier = {
let mut satisfier = HashMap::with_capacity(2);
let A = a.public().into();
let B = B.into();
let A = a.public().try_into()?;
let B = B.try_into()?;
let sig_a = secp256k1::ecdsa::Signature::from_compact(&sig_a.to_bytes())?;
let sig_b = secp256k1::ecdsa::Signature::from_compact(&sig_b.to_bytes())?;
// The order in which these are inserted doesn't matter
satisfier.insert(A, (sig_a.into(), ::bitcoin::SigHashType::All));
satisfier.insert(B, (sig_b.into(), ::bitcoin::SigHashType::All));
satisfier.insert(
A,
::bitcoin::EcdsaSig {
sig: sig_a,
hash_ty: EcdsaSighashType::All,
},
);
satisfier.insert(
B,
::bitcoin::EcdsaSig {
sig: sig_b,
hash_ty: EcdsaSighashType::All,
},
);
satisfier
};

@ -3,11 +3,12 @@ use crate::bitcoin::{
verify_encsig, verify_sig, Address, Amount, EmptyWitnessStack, EncryptedSignature, NoInputs,
NotThreeWitnesses, PublicKey, SecretKey, TooManyInputs, Transaction, TxLock,
};
use ::bitcoin::util::bip143::SigHashCache;
use ::bitcoin::{SigHash, SigHashType, Txid};
use ::bitcoin::{Sighash, Txid};
use anyhow::{bail, Context, Result};
use bdk::miniscript::{Descriptor, DescriptorTrait};
use bitcoin::Script;
use bdk::miniscript::Descriptor;
use bitcoin::secp256k1;
use bitcoin::util::sighash::SighashCache;
use bitcoin::{EcdsaSighashType, Script};
use ecdsa_fun::adaptor::{Adaptor, HashTranscript};
use ecdsa_fun::fun::Scalar;
use ecdsa_fun::nonce::Deterministic;
@ -15,10 +16,12 @@ use ecdsa_fun::Signature;
use sha2::Sha256;
use std::collections::HashMap;
use super::extract_ecdsa_sig;
#[derive(Clone, Debug)]
pub struct TxRedeem {
inner: Transaction,
digest: SigHash,
digest: Sighash,
lock_output_descriptor: Descriptor<::bitcoin::PublicKey>,
watch_script: Script,
}
@ -29,12 +32,14 @@ impl TxRedeem {
// redeem transaction
let tx_redeem = tx_lock.build_spend_transaction(redeem_address, None, spending_fee);
let digest = SigHashCache::new(&tx_redeem).signature_hash(
0, // Only one input: lock_input (lock transaction)
&tx_lock.output_descriptor.script_code(),
tx_lock.lock_amount().as_sat(),
SigHashType::All,
);
let digest = SighashCache::new(&tx_redeem)
.segwit_signature_hash(
0, // Only one input: lock_input (lock transaction)
&tx_lock.output_descriptor.script_code().expect("scriptcode"),
tx_lock.lock_amount().to_sat(),
EcdsaSighashType::All,
)
.expect("sighash");
Self {
inner: tx_redeem,
@ -48,7 +53,7 @@ impl TxRedeem {
self.inner.txid()
}
pub fn digest(&self) -> SigHash {
pub fn digest(&self) -> Sighash {
self.digest
}
@ -61,7 +66,7 @@ impl TxRedeem {
) -> Result<Transaction> {
verify_encsig(
B,
PublicKey::from(s_a.clone()),
PublicKey::from(s_a),
&self.digest(),
&encrypted_signature,
)
@ -76,16 +81,30 @@ impl TxRedeem {
let A = ::bitcoin::PublicKey {
compressed: true,
key: a.public.into(),
inner: secp256k1::PublicKey::from_slice(&a.public.to_bytes())?,
};
let B = ::bitcoin::PublicKey {
compressed: true,
key: B.0.into(),
inner: secp256k1::PublicKey::from_slice(&B.0.to_bytes())?,
};
let sig_a = secp256k1::ecdsa::Signature::from_compact(&sig_a.to_bytes())?;
let sig_b = secp256k1::ecdsa::Signature::from_compact(&sig_b.to_bytes())?;
// The order in which these are inserted doesn't matter
satisfier.insert(A, (sig_a.into(), ::bitcoin::SigHashType::All));
satisfier.insert(B, (sig_b.into(), ::bitcoin::SigHashType::All));
satisfier.insert(
A,
::bitcoin::EcdsaSig {
sig: sig_a,
hash_ty: EcdsaSighashType::All,
},
);
satisfier.insert(
B,
::bitcoin::EcdsaSig {
sig: sig_b,
hash_ty: EcdsaSighashType::All,
},
);
satisfier
};
@ -105,30 +124,21 @@ impl TxRedeem {
let input = match candidate_transaction.input.as_slice() {
[input] => input,
[] => bail!(NoInputs),
[inputs @ ..] => bail!(TooManyInputs(inputs.len())),
inputs => bail!(TooManyInputs(inputs.len())),
};
let sigs = match input
.witness
.iter()
.map(|vec| vec.as_slice())
.collect::<Vec<_>>()
.as_slice()
{
let sigs = match input.witness.to_vec().as_slice() {
[sig_1, sig_2, _script] => [sig_1, sig_2]
.iter()
.map(|sig| {
bitcoin::secp256k1::Signature::from_der(&sig[..sig.len() - 1])
.map(Signature::from)
})
.collect::<std::result::Result<Vec<_>, _>>(),
.into_iter()
.map(|sig| extract_ecdsa_sig(sig))
.collect::<Result<Vec<_>, _>>(),
[] => bail!(EmptyWitnessStack),
[witnesses @ ..] => bail!(NotThreeWitnesses(witnesses.len())),
witnesses => bail!(NotThreeWitnesses(witnesses.len())),
}?;
let sig = sigs
.into_iter()
.find(|sig| verify_sig(&B, &self.digest(), &sig).is_ok())
.find(|sig| verify_sig(&B, &self.digest(), sig).is_ok())
.context("Neither signature on witness stack verifies against B")?;
Ok(sig)

@ -4,17 +4,20 @@ use crate::bitcoin::{
TooManyInputs, Transaction, TxCancel,
};
use crate::{bitcoin, monero};
use ::bitcoin::util::bip143::SigHashCache;
use ::bitcoin::{Script, SigHash, SigHashType, Txid};
use ::bitcoin::secp256k1;
use ::bitcoin::util::sighash::SighashCache;
use ::bitcoin::{EcdsaSighashType, Script, Sighash, Txid};
use anyhow::{bail, Context, Result};
use bdk::miniscript::{Descriptor, DescriptorTrait};
use bdk::miniscript::Descriptor;
use ecdsa_fun::Signature;
use std::collections::HashMap;
use super::extract_ecdsa_sig;
#[derive(Debug)]
pub struct TxRefund {
inner: Transaction,
digest: SigHash,
digest: Sighash,
cancel_output_descriptor: Descriptor<::bitcoin::PublicKey>,
watch_script: Script,
}
@ -23,12 +26,17 @@ impl TxRefund {
pub fn new(tx_cancel: &TxCancel, refund_address: &Address, spending_fee: Amount) -> Self {
let tx_refund = tx_cancel.build_spend_transaction(refund_address, None, spending_fee);
let digest = SigHashCache::new(&tx_refund).signature_hash(
0, // Only one input: cancel transaction
&tx_cancel.output_descriptor.script_code(),
tx_cancel.amount().as_sat(),
SigHashType::All,
);
let digest = SighashCache::new(&tx_refund)
.segwit_signature_hash(
0, // Only one input: cancel transaction
&tx_cancel
.output_descriptor
.script_code()
.expect("scriptcode"),
tx_cancel.amount().to_sat(),
EcdsaSighashType::All,
)
.expect("sighash");
Self {
inner: tx_refund,
@ -42,7 +50,7 @@ impl TxRefund {
self.inner.txid()
}
pub fn digest(&self) -> SigHash {
pub fn digest(&self) -> Sighash {
self.digest
}
@ -56,16 +64,30 @@ impl TxRefund {
let A = ::bitcoin::PublicKey {
compressed: true,
key: A.0.into(),
inner: secp256k1::PublicKey::from_slice(&A.0.to_bytes())?,
};
let B = ::bitcoin::PublicKey {
compressed: true,
key: B.0.into(),
inner: secp256k1::PublicKey::from_slice(&B.0.to_bytes())?,
};
let sig_a = secp256k1::ecdsa::Signature::from_compact(&sig_a.to_bytes())?;
let sig_b = secp256k1::ecdsa::Signature::from_compact(&sig_b.to_bytes())?;
// The order in which these are inserted doesn't matter
satisfier.insert(A, (sig_a.into(), ::bitcoin::SigHashType::All));
satisfier.insert(B, (sig_b.into(), ::bitcoin::SigHashType::All));
satisfier.insert(
A,
::bitcoin::EcdsaSig {
sig: sig_a,
hash_ty: EcdsaSighashType::All,
},
);
satisfier.insert(
B,
::bitcoin::EcdsaSig {
sig: sig_b,
hash_ty: EcdsaSighashType::All,
},
);
satisfier
};
@ -109,30 +131,21 @@ impl TxRefund {
let input = match candidate_transaction.input.as_slice() {
[input] => input,
[] => bail!(NoInputs),
[inputs @ ..] => bail!(TooManyInputs(inputs.len())),
inputs => bail!(TooManyInputs(inputs.len())),
};
let sigs = match input
.witness
.iter()
.map(|vec| vec.as_slice())
.collect::<Vec<_>>()
.as_slice()
{
let sigs = match input.witness.to_vec().as_slice() {
[sig_1, sig_2, _script] => [sig_1, sig_2]
.iter()
.map(|sig| {
bitcoin::secp256k1::Signature::from_der(&sig[..sig.len() - 1])
.map(Signature::from)
})
.collect::<std::result::Result<Vec<_>, _>>(),
.into_iter()
.map(|sig| extract_ecdsa_sig(sig))
.collect::<Result<Vec<_>, _>>(),
[] => bail!(EmptyWitnessStack),
[witnesses @ ..] => bail!(NotThreeWitnesses(witnesses.len())),
witnesses => bail!(NotThreeWitnesses(witnesses.len())),
}?;
let sig = sigs
.into_iter()
.find(|sig| verify_sig(&B, &self.digest(), &sig).is_ok())
.find(|sig| verify_sig(&B, &self.digest(), sig).is_ok())
.context("Neither signature on witness stack verifies against B")?;
Ok(sig)

@ -37,9 +37,9 @@ impl Add<u32> for BlockHeight {
}
}
#[derive(Debug, Clone, Copy, PartialEq)]
#[derive(Serialize, Debug, Clone, Copy, PartialEq, Eq)]
pub enum ExpiredTimelocks {
None,
Cancel,
None { blocks_left: u32 },
Cancel { blocks_left: u32 },
Punish,
}

@ -4,14 +4,14 @@ use crate::env;
use ::bitcoin::util::psbt::PartiallySignedTransaction;
use ::bitcoin::Txid;
use anyhow::{bail, Context, Result};
use bdk::blockchain::{noop_progress, Blockchain, ElectrumBlockchain};
use bdk::blockchain::{Blockchain, ElectrumBlockchain, GetTx};
use bdk::database::BatchDatabase;
use bdk::descriptor::Segwitv0;
use bdk::electrum_client::{ElectrumApi, GetHistoryRes};
use bdk::keys::DerivableKey;
use bdk::wallet::export::WalletExport;
use bdk::sled::Tree;
use bdk::wallet::export::FullyNodedExport;
use bdk::wallet::AddressIndex;
use bdk::{FeeRate, KeychainKind, SignOptions};
use bdk::{FeeRate, KeychainKind, SignOptions, SyncOptions};
use bitcoin::util::bip32::ExtendedPrivKey;
use bitcoin::{Network, Script};
use reqwest::Url;
use rust_decimal::prelude::*;
@ -24,6 +24,7 @@ use std::path::Path;
use std::sync::Arc;
use std::time::{Duration, Instant};
use tokio::sync::{watch, Mutex};
use tracing::{debug_span, Instrument};
const SLED_TREE_NAME: &str = "default_tree";
@ -33,9 +34,12 @@ const MAX_RELATIVE_TX_FEE: Decimal = dec!(0.03);
const MAX_ABSOLUTE_TX_FEE: Decimal = dec!(100_000);
const DUST_AMOUNT: u64 = 546;
pub struct Wallet<B = ElectrumBlockchain, D = bdk::sled::Tree, C = Client> {
const WALLET: &str = "wallet";
const WALLET_OLD: &str = "wallet-old";
pub struct Wallet<D = Tree, C = Client> {
client: Arc<Mutex<C>>,
wallet: Arc<Mutex<bdk::Wallet<B, D>>>,
wallet: Arc<Mutex<bdk::Wallet<D>>>,
finality_confirmations: u32,
network: Network,
target_block: usize,
@ -44,37 +48,33 @@ pub struct Wallet<B = ElectrumBlockchain, D = bdk::sled::Tree, C = Client> {
impl Wallet {
pub async fn new(
electrum_rpc_url: Url,
wallet_dir: &Path,
key: impl DerivableKey<Segwitv0> + Clone,
data_dir: impl AsRef<Path>,
xprivkey: ExtendedPrivKey,
env_config: env::Config,
target_block: usize,
) -> Result<Self> {
let config = bdk::electrum_client::ConfigBuilder::default()
.retry(5)
.build();
let client = bdk::electrum_client::Client::from_config(electrum_rpc_url.as_str(), config)
.context("Failed to initialize Electrum RPC client")?;
let db = bdk::sled::open(wallet_dir)?.open_tree(SLED_TREE_NAME)?;
let wallet = bdk::Wallet::new(
bdk::template::Bip84(key.clone(), KeychainKind::External),
Some(bdk::template::Bip84(key, KeychainKind::Internal)),
env_config.bitcoin_network,
db,
ElectrumBlockchain::from(client),
)?;
let data_dir = data_dir.as_ref();
let wallet_dir = data_dir.join(WALLET);
let database = bdk::sled::open(wallet_dir)?.open_tree(SLED_TREE_NAME)?;
let network = env_config.bitcoin_network;
let wallet = match bdk::Wallet::new(
bdk::template::Bip84(xprivkey, KeychainKind::External),
Some(bdk::template::Bip84(xprivkey, KeychainKind::Internal)),
network,
database,
) {
Ok(w) => w,
Err(bdk::Error::ChecksumMismatch) => Self::migrate(data_dir, xprivkey, network)?,
err => err?,
};
let electrum = bdk::electrum_client::Client::new(electrum_rpc_url.as_str())
.context("Failed to initialize Electrum RPC client")?;
let client = Client::new(electrum_rpc_url, env_config.bitcoin_sync_interval())?;
let network = wallet.network();
Ok(Self {
client: Arc::new(Mutex::new(Client::new(
electrum,
env_config.bitcoin_sync_interval(),
)?)),
client: Arc::new(Mutex::new(client)),
wallet: Arc::new(Mutex::new(wallet)),
finality_confirmations: env_config.bitcoin_finality_confirmations,
network,
@ -82,6 +82,32 @@ impl Wallet {
})
}
/// Create a new database for the wallet and rename the old one.
/// This is necessary when getting a ChecksumMismatch from a wallet
/// created with an older version of BDK. Only affected Testnet wallets.
// https://github.com/comit-network/xmr-btc-swap/issues/1182
fn migrate(
data_dir: &Path,
xprivkey: ExtendedPrivKey,
network: bitcoin::Network,
) -> Result<bdk::Wallet<Tree>> {
let from = data_dir.join(WALLET);
let to = data_dir.join(WALLET_OLD);
std::fs::rename(from, to)?;
let wallet_dir = data_dir.join(WALLET);
let database = bdk::sled::open(wallet_dir)?.open_tree(SLED_TREE_NAME)?;
let wallet = bdk::Wallet::new(
bdk::template::Bip84(xprivkey, KeychainKind::External),
Some(bdk::template::Bip84(xprivkey, KeychainKind::Internal)),
network,
database,
)?;
Ok(wallet)
}
/// Broadcast the given transaction to the network and emit a log statement
/// if done so successfully.
///
@ -99,13 +125,12 @@ impl Wallet {
.subscribe_to((txid, transaction.output[0].script_pubkey.clone()))
.await;
self.wallet
.lock()
.await
.broadcast(transaction)
.with_context(|| {
format!("Failed to broadcast Bitcoin {} transaction {}", kind, txid)
})?;
let client = self.client.lock().await;
let blockchain = client.blockchain();
blockchain.broadcast(&transaction).with_context(|| {
format!("Failed to broadcast Bitcoin {} transaction {}", kind, txid)
})?;
tracing::info!(%txid, %kind, "Published Bitcoin transaction");
@ -143,8 +168,6 @@ impl Wallet {
let mut last_status = None;
loop {
tokio::time::sleep(Duration::from_secs(5)).await;
let new_status = match client.lock().await.status_of_script(&tx) {
Ok(new_status) => new_status,
Err(error) => {
@ -152,21 +175,23 @@ impl Wallet {
ScriptStatus::Retrying
}
};
if new_status != ScriptStatus::Retrying
{
last_status = Some(print_status_change(txid, last_status, new_status));
let all_receivers_gone = sender.send(new_status).is_err();
if all_receivers_gone {
tracing::debug!(%txid, "All receivers gone, removing subscription");
client.lock().await.subscriptions.remove(&(txid, script));
return;
}
}
tokio::time::sleep(Duration::from_secs(5)).await;
}
});
}.instrument(debug_span!("BitcoinWalletSubscription")));
Subscription {
receiver,
@ -179,9 +204,9 @@ impl Wallet {
sub
}
pub async fn wallet_export(&self, role: &str) -> Result<WalletExport> {
pub async fn wallet_export(&self, role: &str) -> Result<FullyNodedExport> {
let wallet = self.wallet.lock().await;
match bdk::wallet::export::WalletExport::export_wallet(
match bdk::wallet::export::FullyNodedExport::export_wallet(
&wallet,
&format!("{}-{}", role, self.network),
true,
@ -248,7 +273,7 @@ impl Subscription {
pub async fn wait_until_confirmed_with<T>(&self, target: T) -> Result<()>
where
u32: PartialOrd<T>,
T: Into<u32>,
T: Copy,
{
self.wait_until(|status| status.is_confirmed_with(target))
@ -269,7 +294,7 @@ impl Subscription {
}
}
impl<B, D, C> Wallet<B, D, C>
impl<D, C> Wallet<D, C>
where
C: EstimateFeeRate,
D: BatchDatabase,
@ -293,6 +318,7 @@ where
Ok(tx)
}
/// Returns the total Bitcoin balance, which includes pending funds
pub async fn balance(&self) -> Result<Amount> {
let balance = self
.wallet
@ -301,7 +327,7 @@ where
.get_balance()
.context("Failed to calculate Bitcoin balance")?;
Ok(Amount::from_sat(balance))
Ok(Amount::from_sat(balance.get_total()))
}
pub async fn new_address(&self) -> Result<Address> {
@ -357,16 +383,16 @@ where
let script = address.script_pubkey();
let mut tx_builder = wallet.build_tx();
tx_builder.add_recipient(script.clone(), amount.as_sat());
tx_builder.add_recipient(script.clone(), amount.to_sat());
tx_builder.fee_rate(fee_rate);
let (psbt, _details) = tx_builder.finish()?;
let mut psbt: PartiallySignedTransaction = psbt;
match psbt.global.unsigned_tx.output.as_mut_slice() {
match psbt.unsigned_tx.output.as_mut_slice() {
// our primary output is the 2nd one? reverse the vectors
[_, second_txout] if second_txout.script_pubkey == script => {
psbt.outputs.reverse();
psbt.global.unsigned_tx.output.reverse();
psbt.unsigned_tx.output.reverse();
}
[first_txout, _] if first_txout.script_pubkey == script => {
// no need to do anything
@ -378,7 +404,7 @@ where
}
if let ([_, change], [_, psbt_output], Some(change_override)) = (
&mut psbt.global.unsigned_tx.output.as_mut_slice(),
&mut psbt.unsigned_tx.output.as_mut_slice(),
&mut psbt.outputs.as_mut_slice(),
change_override,
) {
@ -399,13 +425,13 @@ where
pub async fn max_giveable(&self, locking_script_size: usize) -> Result<Amount> {
let wallet = self.wallet.lock().await;
let balance = wallet.get_balance()?;
if balance < DUST_AMOUNT {
if balance.get_total() < DUST_AMOUNT {
return Ok(Amount::ZERO);
}
let client = self.client.lock().await;
let min_relay_fee = client.min_relay_fee()?.as_sat();
let min_relay_fee = client.min_relay_fee()?.to_sat();
if balance < min_relay_fee {
if balance.get_total() < min_relay_fee {
return Ok(Amount::ZERO);
}
@ -454,18 +480,18 @@ fn estimate_fee(
fee_rate: FeeRate,
min_relay_fee: Amount,
) -> Result<Amount> {
if transfer_amount.as_sat() <= 546 {
if transfer_amount.to_sat() <= 546 {
bail!("Amounts needs to be greater than Bitcoin dust amount.")
}
let fee_rate_svb = fee_rate.as_sat_vb();
let fee_rate_svb = fee_rate.as_sat_per_vb();
if fee_rate_svb <= 0.0 {
bail!("Fee rate needs to be > 0")
}
if fee_rate_svb > 100_000_000.0 || min_relay_fee.as_sat() > 100_000_000 {
if fee_rate_svb > 100_000_000.0 || min_relay_fee.to_sat() > 100_000_000 {
bail!("A fee_rate or min_relay_fee of > 1BTC does not make sense")
}
let min_relay_fee = if min_relay_fee.as_sat() == 0 {
let min_relay_fee = if min_relay_fee.to_sat() == 0 {
// if min_relay_fee is 0 we don't fail, we just set it to 1 satoshi;
Amount::ONE_SAT
} else {
@ -485,9 +511,9 @@ fn estimate_fee(
"Estimated fee for transaction",
);
let transfer_amount = Decimal::from(transfer_amount.as_sat());
let transfer_amount = Decimal::from(transfer_amount.to_sat());
let max_allowed_fee = transfer_amount * MAX_RELATIVE_TX_FEE;
let min_relay_fee = Decimal::from(min_relay_fee.as_sat());
let min_relay_fee = Decimal::from(min_relay_fee.to_sat());
let recommended_fee = if sats_per_vbyte < min_relay_fee {
tracing::warn!(
@ -518,29 +544,32 @@ fn estimate_fee(
Ok(amount)
}
impl<B, D, C> Wallet<B, D, C>
impl<D> Wallet<D>
where
B: Blockchain,
D: BatchDatabase,
{
pub async fn get_tx(&self, txid: Txid) -> Result<Option<Transaction>> {
let tx = self.wallet.lock().await.client().get_tx(&txid)?;
let client = self.client.lock().await;
let tx = client.get_tx(&txid)?;
Ok(tx)
}
pub async fn sync(&self) -> Result<()> {
let client = self.client.lock().await;
let blockchain = client.blockchain();
let sync_opts = SyncOptions::default();
self.wallet
.lock()
.await
.sync(noop_progress(), None)
.sync(blockchain, sync_opts)
.context("Failed to sync balance of Bitcoin wallet")?;
Ok(())
}
}
impl<B, D, C> Wallet<B, D, C> {
impl<D, C> Wallet<D, C> {
// TODO: Get rid of this by changing bounds on bdk::Wallet
pub fn get_network(&self) -> bitcoin::Network {
self.network
@ -570,6 +599,7 @@ impl EstimateFeeRate for StaticFeeRate {
}
#[cfg(test)]
#[derive(Debug)]
pub struct WalletBuilder {
utxo_amount: u64,
sats_per_vb: f32,
@ -621,9 +651,9 @@ impl WalletBuilder {
}
}
pub fn build(self) -> Wallet<(), bdk::database::MemoryDatabase, StaticFeeRate> {
use bdk::database::MemoryDatabase;
use bdk::testutils;
pub fn build(self) -> Wallet<bdk::database::MemoryDatabase, StaticFeeRate> {
use bdk::database::{BatchOperations, MemoryDatabase, SyncTime};
use bdk::{testutils, BlockTime};
let descriptors = testutils!(@descriptors (&format!("wpkh({}/*)", self.key)));
@ -638,9 +668,14 @@ impl WalletBuilder {
Some(100)
);
}
let block_time = bdk::BlockTime {
height: 100,
timestamp: 0,
};
let sync_time = SyncTime { block_time };
database.set_sync_time(sync_time).unwrap();
let wallet =
bdk::Wallet::new_offline(&descriptors.0, None, Network::Regtest, database).unwrap();
let wallet = bdk::Wallet::new(&descriptors.0, None, Network::Regtest, database).unwrap();
Wallet {
client: Arc::new(Mutex::new(StaticFeeRate {
@ -678,6 +713,7 @@ impl Watchable for (Txid, Script) {
pub struct Client {
electrum: bdk::electrum_client::Client,
blockchain: ElectrumBlockchain,
latest_block_height: BlockHeight,
last_sync: Instant,
sync_interval: Duration,
@ -686,26 +722,48 @@ pub struct Client {
}
impl Client {
fn new(electrum: bdk::electrum_client::Client, interval: Duration) -> Result<Self> {
fn new(electrum_rpc_url: Url, interval: Duration) -> Result<Self> {
let config = bdk::electrum_client::ConfigBuilder::default()
.retry(5)
.build();
let electrum = bdk::electrum_client::Client::from_config(electrum_rpc_url.as_str(), config)
.context("Failed to initialize Electrum RPC client")?;
// Initially fetch the latest block for storing the height.
// We do not act on this subscription after this call.
let latest_block = electrum
.block_headers_subscribe()
.context("Failed to subscribe to header notifications")?;
let client = bdk::electrum_client::Client::new(electrum_rpc_url.as_str())
.context("Failed to initialize Electrum RPC client")?;
let blockchain = ElectrumBlockchain::from(client);
let last_sync = Instant::now()
.checked_sub(interval)
.expect("no underflow since block time is only 600 secs");
Ok(Self {
electrum,
blockchain,
latest_block_height: BlockHeight::try_from(latest_block)?,
last_sync: Instant::now(),
last_sync,
sync_interval: interval,
script_history: Default::default(),
subscriptions: Default::default(),
})
}
fn update_state(&mut self) -> Result<()> {
fn blockchain(&self) -> &ElectrumBlockchain {
&self.blockchain
}
fn get_tx(&self, txid: &Txid) -> Result<Option<Transaction>, bdk::Error> {
self.blockchain.get_tx(txid)
}
fn update_state(&mut self, force_sync: bool) -> Result<()> {
let now = Instant::now();
if now < self.last_sync + self.sync_interval {
if !force_sync && now < self.last_sync + self.sync_interval {
return Ok(());
}
@ -725,9 +783,14 @@ impl Client {
if !self.script_history.contains_key(&script) {
self.script_history.insert(script.clone(), vec![]);
}
self.update_state()?;
// When we first subscribe to a script we want to immediately fetch its status
// Otherwise we would have to wait for the next sync interval, which can take a minute
// This would result in potentially inaccurate status updates until that next sync interval is hit
self.update_state(true)?;
} else {
self.update_state(false)?;
}
let history = self.script_history.entry(script).or_default();
@ -821,7 +884,7 @@ impl EstimateFeeRate for Client {
}
}
#[derive(Debug, Copy, Clone, PartialEq)]
#[derive(Debug, Copy, Clone, PartialEq, Eq)]
pub enum ScriptStatus {
Unseen,
InMempool,
@ -838,7 +901,7 @@ impl ScriptStatus {
}
}
#[derive(Debug, Copy, Clone, PartialEq)]
#[derive(Debug, Copy, Clone, PartialEq, Eq)]
pub struct Confirmed {
/// The depth of this transaction within the blockchain.
///
@ -869,9 +932,20 @@ impl Confirmed {
pub fn meets_target<T>(&self, target: T) -> bool
where
u32: PartialOrd<T>,
T: Into<u32>,
{
self.confirmations() >= target
self.confirmations() >= target.into()
}
pub fn blocks_left_until<T>(&self, target: T) -> u32
where
T: Into<u32> + Copy,
{
if self.meets_target(target) {
0
} else {
target.into() - self.confirmations()
}
}
}
@ -884,7 +958,7 @@ impl ScriptStatus {
/// Check if the script has met the given confirmation target.
pub fn is_confirmed_with<T>(&self, target: T) -> bool
where
u32: PartialOrd<T>,
T: Into<u32>,
{
match self {
ScriptStatus::Confirmed(inner) => inner.meets_target(target),
@ -892,6 +966,17 @@ impl ScriptStatus {
}
}
// Calculate the number of blocks left until the target is met.
pub fn blocks_left_until<T>(&self, target: T) -> u32
where
T: Into<u32> + Copy,
{
match self {
ScriptStatus::Confirmed(inner) => inner.blocks_left_until(target),
_ => target.into(),
}
}
pub fn has_been_seen(&self) -> bool {
matches!(self, ScriptStatus::InMempool | ScriptStatus::Confirmed(_))
}
@ -915,6 +1000,7 @@ mod tests {
use super::*;
use crate::bitcoin::{PublicKey, TxLock};
use crate::tracing_ext::capture_logs;
use bitcoin::hashes::Hash;
use proptest::prelude::*;
use tracing::level_filters::LevelFilter;
@ -922,7 +1008,7 @@ mod tests {
fn given_depth_0_should_meet_confirmation_target_one() {
let script = ScriptStatus::Confirmed(Confirmed { depth: 0 });
let confirmed = script.is_confirmed_with(1);
let confirmed = script.is_confirmed_with(1_u32);
assert!(confirmed)
}
@ -931,7 +1017,7 @@ mod tests {
fn given_confirmations_1_should_meet_confirmation_target_one() {
let script = ScriptStatus::from_confirmations(1);
let confirmed = script.is_confirmed_with(1);
let confirmed = script.is_confirmed_with(1_u32);
assert!(confirmed)
}
@ -946,6 +1032,33 @@ mod tests {
assert_eq!(confirmed.depth, 0)
}
#[test]
fn given_depth_0_should_return_0_blocks_left_until_1() {
let script = ScriptStatus::Confirmed(Confirmed { depth: 0 });
let blocks_left = script.blocks_left_until(1_u32);
assert_eq!(blocks_left, 0)
}
#[test]
fn given_depth_1_should_return_0_blocks_left_until_1() {
let script = ScriptStatus::Confirmed(Confirmed { depth: 1 });
let blocks_left = script.blocks_left_until(1_u32);
assert_eq!(blocks_left, 0)
}
#[test]
fn given_depth_0_should_return_1_blocks_left_until_2() {
let script = ScriptStatus::Confirmed(Confirmed { depth: 0 });
let blocks_left = script.blocks_left_until(2_u32);
assert_eq!(blocks_left, 1)
}
#[test]
fn given_one_BTC_and_100k_sats_per_vb_fees_should_not_hit_max() {
// 400 weight = 100 vbyte
@ -1014,7 +1127,7 @@ mod tests {
// weight / 4.0 * sat_per_vb would be greater than 3% hence we take total
// max allowed fee.
assert_eq!(is_fee.as_sat(), MAX_ABSOLUTE_TX_FEE.to_u64().unwrap());
assert_eq!(is_fee.to_sat(), MAX_ABSOLUTE_TX_FEE.to_u64().unwrap());
}
proptest! {
@ -1050,7 +1163,7 @@ mod tests {
let is_fee = estimate_fee(weight, amount, fee_rate, relay_fee).unwrap();
// weight / 4 * 1_000 is always lower than MAX_ABSOLUTE_TX_FEE
assert!(is_fee.as_sat() < MAX_ABSOLUTE_TX_FEE.to_u64().unwrap());
assert!(is_fee.to_sat() < MAX_ABSOLUTE_TX_FEE.to_u64().unwrap());
}
}
@ -1069,7 +1182,7 @@ mod tests {
let is_fee = estimate_fee(weight, amount, fee_rate, relay_fee).unwrap();
// weight / 4 * 1_000 is always higher than MAX_ABSOLUTE_TX_FEE
assert!(is_fee.as_sat() >= MAX_ABSOLUTE_TX_FEE.to_u64().unwrap());
assert!(is_fee.to_sat() >= MAX_ABSOLUTE_TX_FEE.to_u64().unwrap());
}
}
@ -1125,7 +1238,7 @@ mod tests {
let wallet = WalletBuilder::new(10_000).build();
let amount = wallet.max_giveable(TxLock::script_size()).await.unwrap();
assert!(amount.as_sat() > 0);
assert!(amount.to_sat() > 0);
}
/// This test ensures that the relevant script output of the transaction
@ -1195,7 +1308,8 @@ mod tests {
fn printing_status_change_doesnt_spam_on_same_status() {
let writer = capture_logs(LevelFilter::DEBUG);
let tx = Txid::default();
let inner = bitcoin::hashes::sha256d::Hash::all_zeros();
let tx = Txid::from_hash(inner);
let mut old = None;
old = Some(print_status_change(tx, old, ScriptStatus::Unseen));
old = Some(print_status_change(tx, old, ScriptStatus::InMempool));

@ -1,22 +1,21 @@
mod behaviour;
pub mod cancel;
pub mod cancel_and_refund;
pub mod command;
mod event_loop;
mod list_sellers;
pub mod refund;
pub mod tracing;
pub mod transport;
pub use behaviour::{Behaviour, OutEvent};
pub use cancel::cancel;
pub use cancel_and_refund::{cancel, cancel_and_refund, refund};
pub use event_loop::{EventLoop, EventLoopHandle};
pub use list_sellers::{list_sellers, Seller, Status as SellerStatus};
pub use refund::refund;
#[cfg(test)]
mod tests {
use super::*;
use crate::asb;
use crate::asb::rendezvous::RendezvousNode;
use crate::cli::list_sellers::{Seller, Status};
use crate::network::quote;
use crate::network::quote::BidQuote;
@ -35,10 +34,8 @@ mod tests {
async fn list_sellers_should_report_all_registered_asbs_with_a_quote() {
let namespace = XmrBtcNamespace::Mainnet;
let (rendezvous_address, rendezvous_peer_id) = setup_rendezvous_point().await;
let expected_seller_1 =
setup_asb(rendezvous_peer_id, rendezvous_address.clone(), namespace).await;
let expected_seller_2 =
setup_asb(rendezvous_peer_id, rendezvous_address.clone(), namespace).await;
let expected_seller_1 = setup_asb(rendezvous_peer_id, &rendezvous_address, namespace).await;
let expected_seller_2 = setup_asb(rendezvous_peer_id, &rendezvous_address, namespace).await;
let list_sellers = list_sellers(
rendezvous_peer_id,
@ -74,7 +71,7 @@ mod tests {
async fn setup_asb(
rendezvous_peer_id: PeerId,
rendezvous_address: Multiaddr,
rendezvous_address: &Multiaddr,
namespace: XmrBtcNamespace,
) -> Seller {
let static_quote = BidQuote {
@ -83,18 +80,18 @@ mod tests {
max_quantity: bitcoin::Amount::from_sat(9001),
};
let mut asb = new_swarm(|_, identity| StaticQuoteAsbBehaviour {
rendezvous: asb::rendezous::Behaviour::new(
identity,
rendezvous_peer_id,
rendezvous_address,
namespace,
None,
),
ping: Default::default(),
quote: quote::asb(),
static_quote,
registered: false,
let mut asb = new_swarm(|_, identity| {
let rendezvous_node =
RendezvousNode::new(rendezvous_address, rendezvous_peer_id, namespace, None);
let rendezvous = asb::rendezvous::Behaviour::new(identity, vec![rendezvous_node]);
StaticQuoteAsbBehaviour {
rendezvous,
ping: Default::default(),
quote: quote::asb(),
static_quote,
registered: false,
}
});
let asb_address = asb.listen_on_tcp_localhost().await;
@ -123,7 +120,7 @@ mod tests {
#[derive(libp2p::NetworkBehaviour)]
#[behaviour(event_process = true)]
struct StaticQuoteAsbBehaviour {
rendezvous: asb::rendezous::Behaviour,
rendezvous: asb::rendezvous::Behaviour,
// Support `Ping` as a workaround until https://github.com/libp2p/rust-libp2p/issues/2109 is fixed.
ping: libp2p::ping::Ping,
quote: quote::Behaviour,

@ -1,13 +1,15 @@
use crate::network::quote::BidQuote;
use crate::network::rendezvous::XmrBtcNamespace;
use crate::network::swap_setup::bob;
use crate::network::{encrypted_signature, quote, redial, transfer_proof};
use crate::protocol::bob::State2;
use crate::{bitcoin, env};
use anyhow::{anyhow, Error, Result};
use libp2p::core::Multiaddr;
use libp2p::identify::{Identify, IdentifyConfig, IdentifyEvent};
use libp2p::ping::{Ping, PingConfig, PingEvent};
use libp2p::request_response::{RequestId, ResponseChannel};
use libp2p::{NetworkBehaviour, PeerId};
use libp2p::{identity, NetworkBehaviour, PeerId};
use std::sync::Arc;
use std::time::Duration;
@ -64,6 +66,7 @@ pub struct Behaviour {
pub transfer_proof: transfer_proof::Behaviour,
pub encrypted_signature: encrypted_signature::Behaviour,
pub redial: redial::Behaviour,
pub identify: Identify,
/// Ping behaviour that ensures that the underlying network connection is
/// still alive. If the ping fails a connection close event will be
@ -76,7 +79,13 @@ impl Behaviour {
alice: PeerId,
env_config: env::Config,
bitcoin_wallet: Arc<bitcoin::Wallet>,
identify_params: (identity::Keypair, XmrBtcNamespace),
) -> Self {
let agentVersion = format!("cli/{} ({})", env!("CARGO_PKG_VERSION"), identify_params.1);
let protocolVersion = "/comit/xmr/btc/1.0.0".to_string();
let identifyConfig = IdentifyConfig::new(protocolVersion, identify_params.0.public())
.with_agent_version(agentVersion);
Self {
quote: quote::cli(),
swap_setup: bob::Behaviour::new(env_config, bitcoin_wallet),
@ -84,6 +93,7 @@ impl Behaviour {
encrypted_signature: encrypted_signature::bob(),
redial: redial::Behaviour::new(alice, Duration::from_secs(2)),
ping: Ping::new(PingConfig::new().with_keep_alive(true)),
identify: Identify::new(identifyConfig),
}
}
@ -100,3 +110,9 @@ impl From<PingEvent> for OutEvent {
OutEvent::Other
}
}
impl From<IdentifyEvent> for OutEvent {
fn from(_: IdentifyEvent) -> Self {
OutEvent::Other
}
}

@ -1,56 +0,0 @@
use crate::bitcoin::{parse_rpc_error_code, RpcErrorCode, Txid, Wallet};
use crate::protocol::bob::BobState;
use crate::protocol::Database;
use anyhow::{bail, Result};
use std::convert::TryInto;
use std::sync::Arc;
use uuid::Uuid;
pub async fn cancel(
swap_id: Uuid,
bitcoin_wallet: Arc<Wallet>,
db: Arc<dyn Database>,
) -> Result<(Txid, BobState)> {
let state = db.get_state(swap_id).await?.try_into()?;
let state6 = match state {
BobState::BtcLocked { state3, .. } => state3.cancel(),
BobState::XmrLockProofReceived { state, .. } => state.cancel(),
BobState::XmrLocked(state4) => state4.cancel(),
BobState::EncSigSent(state4) => state4.cancel(),
BobState::CancelTimelockExpired(state6) => state6,
BobState::BtcRefunded(state6) => state6,
BobState::BtcCancelled(state6) => state6,
BobState::Started { .. }
| BobState::SwapSetupCompleted(_)
| BobState::BtcRedeemed(_)
| BobState::XmrRedeemed { .. }
| BobState::BtcPunished { .. }
| BobState::SafelyAborted => bail!(
"Cannot cancel swap {} because it is in state {} which is not refundable.",
swap_id,
state
),
};
tracing::info!(%swap_id, "Manually cancelling swap");
let txid = match state6.submit_tx_cancel(bitcoin_wallet.as_ref()).await {
Ok(txid) => txid,
Err(err) => {
if let Ok(code) = parse_rpc_error_code(&err) {
if code == i64::from(RpcErrorCode::RpcVerifyAlreadyInChain) {
tracing::info!("Cancel transaction has already been confirmed on chain")
}
}
bail!(err);
}
};
let state = BobState::BtcCancelled(state6);
db.insert_latest_state(swap_id, state.clone().into())
.await?;
Ok((txid, state))
}

@ -0,0 +1,115 @@
use crate::bitcoin::wallet::Subscription;
use crate::bitcoin::{parse_rpc_error_code, RpcErrorCode, Wallet};
use crate::protocol::bob::BobState;
use crate::protocol::Database;
use anyhow::{bail, Result};
use bitcoin::Txid;
use std::sync::Arc;
use uuid::Uuid;
pub async fn cancel_and_refund(
swap_id: Uuid,
bitcoin_wallet: Arc<Wallet>,
db: Arc<dyn Database + Send + Sync>,
) -> Result<BobState> {
if let Err(err) = cancel(swap_id, bitcoin_wallet.clone(), db.clone()).await {
tracing::info!(%err, "Could not submit cancel transaction");
};
let state = match refund(swap_id, bitcoin_wallet, db).await {
Ok(s) => s,
Err(e) => bail!(e),
};
tracing::info!("Refund transaction submitted");
Ok(state)
}
pub async fn cancel(
swap_id: Uuid,
bitcoin_wallet: Arc<Wallet>,
db: Arc<dyn Database + Send + Sync>,
) -> Result<(Txid, Subscription, BobState)> {
let state = db.get_state(swap_id).await?.try_into()?;
let state6 = match state {
BobState::BtcLocked { state3, .. } => state3.cancel(),
BobState::XmrLockProofReceived { state, .. } => state.cancel(),
BobState::XmrLocked(state4) => state4.cancel(),
BobState::EncSigSent(state4) => state4.cancel(),
BobState::CancelTimelockExpired(state6) => state6,
BobState::BtcRefunded(state6) => state6,
BobState::BtcCancelled(state6) => state6,
BobState::Started { .. }
| BobState::SwapSetupCompleted(_)
| BobState::BtcRedeemed(_)
| BobState::XmrRedeemed { .. }
| BobState::BtcPunished { .. }
| BobState::SafelyAborted => bail!(
"Cannot cancel swap {} because it is in state {} which is not refundable.",
swap_id,
state
),
};
tracing::info!(%swap_id, "Manually cancelling swap");
let (txid, subscription) = match state6.submit_tx_cancel(bitcoin_wallet.as_ref()).await {
Ok(txid) => txid,
Err(err) => {
if let Ok(error_code) = parse_rpc_error_code(&err) {
tracing::debug!(%error_code, "parse rpc error");
if error_code == i64::from(RpcErrorCode::RpcVerifyAlreadyInChain) {
tracing::info!("Cancel transaction has already been confirmed on chain");
} else if error_code == i64::from(RpcErrorCode::RpcVerifyError) {
tracing::info!("General error trying to submit cancel transaction");
}
}
bail!(err);
}
};
let state = BobState::BtcCancelled(state6);
db.insert_latest_state(swap_id, state.clone().into())
.await?;
Ok((txid, subscription, state))
}
pub async fn refund(
swap_id: Uuid,
bitcoin_wallet: Arc<Wallet>,
db: Arc<dyn Database + Send + Sync>,
) -> Result<BobState> {
let state = db.get_state(swap_id).await?.try_into()?;
let state6 = match state {
BobState::BtcLocked { state3, .. } => state3.cancel(),
BobState::XmrLockProofReceived { state, .. } => state.cancel(),
BobState::XmrLocked(state4) => state4.cancel(),
BobState::EncSigSent(state4) => state4.cancel(),
BobState::CancelTimelockExpired(state6) => state6,
BobState::BtcCancelled(state6) => state6,
BobState::Started { .. }
| BobState::SwapSetupCompleted(_)
| BobState::BtcRedeemed(_)
| BobState::BtcRefunded(_)
| BobState::XmrRedeemed { .. }
| BobState::BtcPunished { .. }
| BobState::SafelyAborted => bail!(
"Cannot refund swap {} because it is in state {} which is not refundable.",
swap_id,
state
),
};
tracing::info!(%swap_id, "Manually refunding swap");
state6.publish_refund_btc(bitcoin_wallet.as_ref()).await?;
let state = BobState::BtcRefunded(state6);
db.insert_latest_state(swap_id, state.clone().into())
.await?;
Ok(state)
}

File diff suppressed because it is too large Load Diff

@ -1,14 +1,15 @@
use crate::bitcoin::EncryptedSignature;
use crate::cli::behaviour::{Behaviour, OutEvent};
use crate::monero;
use crate::network::encrypted_signature;
use crate::network::quote::BidQuote;
use crate::network::swap_setup::bob::NewSwap;
use crate::protocol::bob::State2;
use crate::{env, monero};
use anyhow::{Context, Result};
use futures::future::{BoxFuture, OptionFuture};
use futures::{FutureExt, StreamExt};
use libp2p::request_response::{RequestId, ResponseChannel};
use libp2p::swarm::dial_opts::DialOpts;
use libp2p::swarm::SwarmEvent;
use libp2p::{PeerId, Swarm};
use std::collections::HashMap;
@ -50,7 +51,6 @@ impl EventLoop {
swap_id: Uuid,
swarm: Swarm<Behaviour>,
alice_peer_id: PeerId,
env_config: env::Config,
) -> Result<(Self, EventLoopHandle)> {
let execution_setup = bmrng::channel_with_timeout(1, Duration::from_secs(60));
let transfer_proof = bmrng::channel_with_timeout(1, Duration::from_secs(60));
@ -76,14 +76,13 @@ impl EventLoop {
transfer_proof: transfer_proof.1,
encrypted_signature: encrypted_signature.0,
quote: quote.0,
env_config,
};
Ok((event_loop, handle))
}
pub async fn run(mut self) {
match self.swarm.dial(&self.alice_peer_id) {
match self.swarm.dial(DialOpts::from(self.alice_peer_id)) {
Ok(()) => {}
Err(e) => {
tracing::error!("Failed to initiate dial to Alice: {}", e);
@ -152,29 +151,30 @@ impl EventLoop {
return;
}
SwarmEvent::Behaviour(OutEvent::Failure { peer, error }) => {
tracing::warn!(%peer, "Communication error: {:#}", error);
tracing::warn!(%peer, err = %error, "Communication error");
return;
}
SwarmEvent::ConnectionEstablished { peer_id, endpoint, .. } if peer_id == self.alice_peer_id => {
tracing::info!("Connected to Alice at {}", endpoint.get_remote_address());
tracing::info!(peer_id = %endpoint.get_remote_address(), "Connected to Alice");
}
SwarmEvent::Dialing(peer_id) if peer_id == self.alice_peer_id => {
tracing::debug!("Dialling Alice at {}", peer_id);
tracing::debug!(%peer_id, "Dialling Alice");
}
SwarmEvent::ConnectionClosed { peer_id, endpoint, num_established, cause: Some(error) } if peer_id == self.alice_peer_id && num_established == 0 => {
tracing::warn!("Lost connection to Alice at {}, cause: {}", endpoint.get_remote_address(), error);
tracing::warn!(peer_id = %endpoint.get_remote_address(), cause = %error, "Lost connection to Alice");
}
SwarmEvent::ConnectionClosed { peer_id, num_established, cause: None, .. } if peer_id == self.alice_peer_id && num_established == 0 => {
// no error means the disconnection was requested
tracing::info!("Successfully closed connection to Alice");
return;
}
SwarmEvent::UnreachableAddr { peer_id, address, attempts_remaining, error } if peer_id == self.alice_peer_id && attempts_remaining == 0 => {
tracing::warn!(%address, "Failed to dial Alice: {}", error);
SwarmEvent::OutgoingConnectionError { peer_id: Some(alice_peer_id), error } if alice_peer_id == self.alice_peer_id => {
tracing::warn!(%error, "Failed to dial Alice");
if let Some(duration) = self.swarm.behaviour_mut().redial.until_next_redial() {
tracing::info!("Next redial attempt in {}s", duration.as_secs());
tracing::info!(seconds_until_next_redial = %duration.as_secs(), "Waiting for next redial attempt");
}
}
_ => {}
}
@ -220,7 +220,6 @@ pub struct EventLoopHandle {
transfer_proof: bmrng::RequestReceiver<monero::TransferProof, ()>,
encrypted_signature: bmrng::RequestSender<EncryptedSignature, ()>,
quote: bmrng::RequestSender<(), BidQuote>,
env_config: env::Config,
}
impl EventLoopHandle {
@ -242,6 +241,7 @@ impl EventLoopHandle {
}
pub async fn request_quote(&mut self) -> Result<BidQuote> {
tracing::debug!("Requesting quote");
Ok(self.quote.send_receive(()).await?)
}
@ -249,9 +249,8 @@ impl EventLoopHandle {
&mut self,
tx_redeem_encsig: EncryptedSignature,
) -> Result<(), bmrng::error::RequestError<EncryptedSignature>> {
Ok(self
.encrypted_signature
self.encrypted_signature
.send_receive(tx_redeem_encsig)
.await?)
.await
}
}

@ -6,6 +6,7 @@ use futures::StreamExt;
use libp2p::multiaddr::Protocol;
use libp2p::ping::{Ping, PingConfig, PingEvent};
use libp2p::request_response::{RequestResponseEvent, RequestResponseMessage};
use libp2p::swarm::dial_opts::DialOpts;
use libp2p::swarm::SwarmEvent;
use libp2p::{identity, rendezvous, Multiaddr, PeerId, Swarm};
use serde::Serialize;
@ -42,8 +43,9 @@ pub async fn list_sellers(
.behaviour_mut()
.quote
.add_address(&rendezvous_node_peer_id, rendezvous_node_addr.clone());
swarm
.dial(&rendezvous_node_peer_id)
.dial(DialOpts::from(rendezvous_node_peer_id))
.context("Failed to dial rendezvous node")?;
let event_loop = EventLoop::new(
@ -147,7 +149,7 @@ impl EventLoop {
swarm_event = self.swarm.select_next_some() => {
match swarm_event {
SwarmEvent::ConnectionEstablished { peer_id, endpoint, .. } => {
if peer_id == self.rendezvous_peer_id{
if peer_id == self.rendezvous_peer_id {
tracing::info!(
"Connected to rendezvous point, discovering nodes in '{}' namespace ...",
self.namespace
@ -161,35 +163,41 @@ impl EventLoop {
);
} else {
let address = endpoint.get_remote_address();
tracing::debug!(%peer_id, %address, "Connection established to peer");
self.reachable_asb_address.insert(peer_id, address.clone());
}
}
SwarmEvent::UnreachableAddr { peer_id, error, address, .. } => {
if address == self.rendezvous_addr {
tracing::error!(
"Failed to connect to rendezvous point at {}: {}",
address,
error
);
// if the rendezvous node is unreachable we just stop
return Vec::new();
} else {
tracing::debug!(
"Failed to connect to peer at {}: {}",
address,
error
);
self.unreachable_asb_address.insert(peer_id, address.clone());
match self.asb_quote_status.entry(peer_id) {
Entry::Occupied(mut entry) => {
entry.insert(QuoteStatus::Received(Status::Unreachable));
},
_ => {
tracing::debug!(%peer_id, %error, "Connection error with unexpected peer")
SwarmEvent::OutgoingConnectionError { peer_id, error } => {
if let Some(peer_id) = peer_id {
if peer_id == self.rendezvous_peer_id {
tracing::error!(
%peer_id,
%self.rendezvous_addr,
"Failed to connect to rendezvous point: {}",
error
);
// if the rendezvous node is unreachable we just stop
return Vec::new();
} else {
tracing::error!(
%peer_id,
"Failed to connect to peer: {}",
error
);
self.unreachable_asb_address.insert(peer_id, Multiaddr::empty());
match self.asb_quote_status.entry(peer_id) {
Entry::Occupied(mut entry) => {
entry.insert(QuoteStatus::Received(Status::Unreachable));
},
_ => {
tracing::debug!(%peer_id, %error, "Connection error with unexpected peer");
}
}
}
} else {
tracing::debug!("Failed to connect (no peer id): {}", error);
}
}
SwarmEvent::Behaviour(OutEvent::Rendezvous(
@ -271,7 +279,7 @@ impl EventLoop {
QuoteStatus::Received(Status::Online(quote)) => {
let address = self
.reachable_asb_address
.get(&peer_id)
.get(peer_id)
.expect("if we got a quote we must have stored an address");
Ok(Seller {
@ -282,7 +290,7 @@ impl EventLoop {
QuoteStatus::Received(Status::Unreachable) => {
let address = self
.unreachable_asb_address
.get(&peer_id)
.get(peer_id)
.expect("if we got a quote we must have stored an address");
Ok(Seller {
@ -342,23 +350,26 @@ mod tests {
list.sort();
assert_eq!(list, vec![
Seller {
multiaddr: "/ip4/127.0.0.1/tcp/5678".parse().unwrap(),
status: Status::Online(BidQuote {
price: Default::default(),
min_quantity: Default::default(),
max_quantity: Default::default(),
})
},
Seller {
multiaddr: Multiaddr::empty(),
status: Status::Unreachable
},
Seller {
multiaddr: "/ip4/127.0.0.1/tcp/1234".parse().unwrap(),
status: Status::Unreachable
},
])
assert_eq!(
list,
vec![
Seller {
multiaddr: "/ip4/127.0.0.1/tcp/5678".parse().unwrap(),
status: Status::Online(BidQuote {
price: Default::default(),
min_quantity: Default::default(),
max_quantity: Default::default(),
})
},
Seller {
multiaddr: Multiaddr::empty(),
status: Status::Unreachable
},
Seller {
multiaddr: "/ip4/127.0.0.1/tcp/1234".parse().unwrap(),
status: Status::Unreachable
},
]
)
}
}

@ -1,43 +0,0 @@
use crate::bitcoin::Wallet;
use crate::protocol::bob::BobState;
use crate::protocol::Database;
use anyhow::{bail, Result};
use std::convert::TryInto;
use std::sync::Arc;
use uuid::Uuid;
pub async fn refund(
swap_id: Uuid,
bitcoin_wallet: Arc<Wallet>,
db: Arc<dyn Database>,
) -> Result<BobState> {
let state = db.get_state(swap_id).await?.try_into()?;
let state6 = match state {
BobState::BtcLocked { state3, .. } => state3.cancel(),
BobState::XmrLockProofReceived { state, .. } => state.cancel(),
BobState::XmrLocked(state4) => state4.cancel(),
BobState::EncSigSent(state4) => state4.cancel(),
BobState::CancelTimelockExpired(state6) => state6,
BobState::BtcCancelled(state6) => state6,
BobState::Started { .. }
| BobState::SwapSetupCompleted(_)
| BobState::BtcRedeemed(_)
| BobState::BtcRefunded(_)
| BobState::XmrRedeemed { .. }
| BobState::BtcPunished { .. }
| BobState::SafelyAborted => bail!(
"Cannot refund swap {} because it is in state {} which is not refundable.",
swap_id,
state
),
};
state6.publish_refund_btc(bitcoin_wallet.as_ref()).await?;
let state = BobState::BtcRefunded(state6);
db.insert_latest_state(swap_id, state.clone().into())
.await?;
Ok(state)
}

@ -1,69 +1,39 @@
use anyhow::Result;
use std::option::Option::Some;
use std::path::Path;
use time::format_description::well_known::Rfc3339;
use tracing::subscriber::set_global_default;
use tracing::{Event, Level, Subscriber};
use tracing_subscriber::fmt::format::{DefaultFields, Format, JsonFields};
use tracing_subscriber::fmt::time::LocalTime;
use tracing_subscriber::fmt::time::UtcTime;
use tracing_subscriber::layer::{Context, SubscriberExt};
use tracing_subscriber::{fmt, EnvFilter, FmtSubscriber, Layer, Registry};
use uuid::Uuid;
use tracing_subscriber::{fmt, EnvFilter, Layer, Registry};
pub fn init(debug: bool, json: bool, dir: impl AsRef<Path>, swap_id: Option<Uuid>) -> Result<()> {
if let Some(swap_id) = swap_id {
let level_filter = EnvFilter::try_new("swap=debug")?;
pub fn init(debug: bool, json: bool, dir: impl AsRef<Path>) -> Result<()> {
let level_filter = EnvFilter::try_new("swap=debug")?;
let registry = Registry::default().with(level_filter);
let registry = Registry::default().with(level_filter);
let appender = tracing_appender::rolling::never(dir.as_ref(), "swap-all.log");
let appender = tracing_appender::rolling::never(dir, format!("swap-{}.log", swap_id));
let (appender, guard) = tracing_appender::non_blocking(appender);
std::mem::forget(guard);
let file_logger = fmt::layer()
let file_logger = registry.with(
fmt::layer()
.with_ansi(false)
.with_target(false)
.with_writer(appender);
if json && debug {
set_global_default(
registry
.with(file_logger.json())
.with(debug_json_terminal_printer()),
)?;
} else if json && !debug {
set_global_default(
registry
.with(file_logger.json())
.with(info_json_terminal_printer()),
)?;
} else if !json && debug {
set_global_default(registry.with(file_logger).with(debug_terminal_printer()))?;
} else {
set_global_default(registry.with(file_logger).with(info_terminal_printer()))?;
}
Ok(())
.json()
.with_writer(appender),
);
if json && debug {
set_global_default(file_logger.with(debug_json_terminal_printer()))?;
} else if json && !debug {
set_global_default(file_logger.with(info_json_terminal_printer()))?;
} else if !json && debug {
set_global_default(file_logger.with(debug_terminal_printer()))?;
} else {
let level = if debug { Level::DEBUG } else { Level::INFO };
let is_terminal = atty::is(atty::Stream::Stderr);
let builder = FmtSubscriber::builder()
.with_env_filter(format!("swap={}", level))
.with_writer(std::io::stderr)
.with_ansi(is_terminal)
.with_timer(LocalTime::new(Rfc3339))
.with_target(false);
if json {
builder.json().init();
} else {
builder.init();
}
Ok(())
set_global_default(file_logger.with(info_terminal_printer()))?;
}
tracing::info!("Logging initialized to {}", dir.as_ref().display());
Ok(())
}
pub struct StdErrPrinter<L> {
@ -71,39 +41,31 @@ pub struct StdErrPrinter<L> {
level: Level,
}
type StdErrLayer<S, T> = tracing_subscriber::fmt::Layer<
S,
DefaultFields,
Format<tracing_subscriber::fmt::format::Full, T>,
fn() -> std::io::Stderr,
>;
type StdErrLayer<S, T> =
fmt::Layer<S, DefaultFields, Format<fmt::format::Full, T>, fn() -> std::io::Stderr>;
type StdErrJsonLayer<S, T> = tracing_subscriber::fmt::Layer<
S,
JsonFields,
Format<tracing_subscriber::fmt::format::Json, T>,
fn() -> std::io::Stderr,
>;
type StdErrJsonLayer<S, T> =
fmt::Layer<S, JsonFields, Format<fmt::format::Json, T>, fn() -> std::io::Stderr>;
fn debug_terminal_printer<S>() -> StdErrPrinter<StdErrLayer<S, LocalTime<Rfc3339>>> {
fn debug_terminal_printer<S>() -> StdErrPrinter<StdErrLayer<S, UtcTime<Rfc3339>>> {
let is_terminal = atty::is(atty::Stream::Stderr);
StdErrPrinter {
inner: fmt::layer()
.with_ansi(is_terminal)
.with_target(false)
.with_timer(LocalTime::new(Rfc3339))
.with_timer(UtcTime::rfc_3339())
.with_writer(std::io::stderr),
level: Level::DEBUG,
}
}
fn debug_json_terminal_printer<S>() -> StdErrPrinter<StdErrJsonLayer<S, LocalTime<Rfc3339>>> {
fn debug_json_terminal_printer<S>() -> StdErrPrinter<StdErrJsonLayer<S, UtcTime<Rfc3339>>> {
let is_terminal = atty::is(atty::Stream::Stderr);
StdErrPrinter {
inner: fmt::layer()
.with_ansi(is_terminal)
.with_target(false)
.with_timer(LocalTime::new(Rfc3339))
.with_timer(UtcTime::rfc_3339())
.json()
.with_writer(std::io::stderr),
level: Level::DEBUG,

@ -0,0 +1,56 @@
use anyhow::anyhow;
const LATEST_RELEASE_URL: &str = "https://github.com/comit-network/xmr-btc-swap/releases/latest";
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum Version {
Current,
Available,
}
/// Check the latest release from GitHub API.
pub async fn check_latest_version(current_version: &str) -> anyhow::Result<Version> {
let response = reqwest::get(LATEST_RELEASE_URL).await?;
let e = "Failed to get latest release.";
let download_url = response.url();
let segments = download_url.path_segments().ok_or_else(|| anyhow!(e))?;
let latest_version = segments.last().ok_or_else(|| anyhow!(e))?;
let result = if is_latest_version(current_version, latest_version) {
Version::Current
} else {
tracing::warn!(%current_version, %latest_version, %download_url,
"You are not on the latest version",
);
Version::Available
};
Ok(result)
}
// todo: naive implementation can be improved using semver
fn is_latest_version(current: &str, latest: &str) -> bool {
current == latest
}
#[cfg(test)]
mod test {
use super::*;
#[test]
fn it_compares_versions() {
assert!(is_latest_version("0.10.2", "0.10.2"));
assert!(!is_latest_version("0.10.2", "0.10.3"));
assert!(!is_latest_version("0.10.2", "0.11.0"));
}
#[tokio::test]
#[ignore = "For local testing, makes http requests to github."]
async fn it_compares_with_github() {
let result = check_latest_version("0.11.0").await.unwrap();
assert_eq!(result, Version::Available);
let result = check_latest_version("0.11.1").await.unwrap();
assert_eq!(result, Version::Current);
}
}

@ -70,7 +70,7 @@ pub enum Alice {
Done(AliceEndState),
}
#[derive(Copy, Clone, strum::Display, Debug, Deserialize, Serialize, PartialEq)]
#[derive(Copy, Clone, strum::Display, Debug, Deserialize, Serialize, PartialEq, Eq)]
pub enum AliceEndState {
SafelyAborted,
BtcRedeemed,

@ -1,11 +1,12 @@
use crate::database::Swap;
use crate::monero::Address;
use crate::protocol::{Database, State};
use anyhow::{Context, Result};
use anyhow::{anyhow, Context, Result};
use async_trait::async_trait;
use libp2p::{Multiaddr, PeerId};
use sqlx::sqlite::Sqlite;
use sqlx::{Pool, SqlitePool};
use std::collections::HashMap;
use std::path::Path;
use std::str::FromStr;
use time::OffsetDateTime;
@ -149,7 +150,7 @@ impl Database for SqliteDatabase {
let rows = sqlx::query!(
r#"
SELECT address
SELECT DISTINCT address
FROM peer_addresses
WHERE peer_id = ?
"#,
@ -169,6 +170,25 @@ impl Database for SqliteDatabase {
addresses
}
async fn get_swap_start_date(&self, swap_id: Uuid) -> Result<String> {
let mut conn = self.pool.acquire().await?;
let swap_id = swap_id.to_string();
let row = sqlx::query!(
r#"
SELECT min(entered_at) as start_date
FROM swap_states
WHERE swap_id = ?
"#,
swap_id
)
.fetch_one(&mut conn)
.await?;
row.start_date
.ok_or_else(|| anyhow!("Could not get swap start date"))
}
async fn insert_latest_state(&self, swap_id: Uuid, state: State) -> Result<()> {
let mut conn = self.pool.acquire().await?;
let entered_at = OffsetDateTime::now_utc();
@ -249,6 +269,69 @@ impl Database for SqliteDatabase {
result
}
async fn get_states(&self, swap_id: Uuid) -> Result<Vec<State>> {
let mut conn = self.pool.acquire().await?;
let swap_id = swap_id.to_string();
// TODO: We should use query! instead of query here to allow for at-compile-time validation
// I didn't manage to generate the mappings for the query! macro because of problems with sqlx-cli
let rows = sqlx::query!(
r#"
SELECT state
FROM swap_states
WHERE swap_id = ?
"#,
swap_id
)
.fetch_all(&mut conn)
.await?;
let result = rows
.iter()
.map(|row| {
let state_str: &str = &row.state;
let state = match serde_json::from_str::<Swap>(state_str) {
Ok(a) => Ok(State::from(a)),
Err(e) => Err(e),
}?;
Ok(state)
})
.collect::<Result<Vec<State>>>();
result
}
async fn raw_all(&self) -> Result<HashMap<Uuid, Vec<serde_json::Value>>> {
let mut conn = self.pool.acquire().await?;
let rows = sqlx::query!(
r#"
SELECT swap_id, state
FROM swap_states
"#
)
.fetch_all(&mut conn)
.await?;
let mut swaps: HashMap<Uuid, Vec<serde_json::Value>> = HashMap::new();
for row in &rows {
let swap_id = Uuid::from_str(&row.swap_id)?;
let state = serde_json::from_str(&row.state)?;
if let std::collections::hash_map::Entry::Vacant(e) = swaps.entry(swap_id) {
e.insert(vec![state]);
} else {
swaps
.get_mut(&swap_id)
.ok_or_else(|| anyhow!("Error while retrieving the swap"))?
.push(state);
}
}
Ok(swaps)
}
}
#[cfg(test)]

@ -5,7 +5,7 @@ use std::cmp::max;
use std::time::Duration;
use time::ext::NumericalStdDuration;
#[derive(Debug, Copy, Clone, PartialEq, Serialize)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Serialize)]
pub struct Config {
pub bitcoin_lock_mempool_timeout: Duration,
pub bitcoin_lock_confirmed_timeout: Duration,
@ -46,9 +46,9 @@ pub struct Regtest;
impl GetConfig for Mainnet {
fn get_config() -> Config {
Config {
bitcoin_lock_mempool_timeout: 3.std_minutes(),
bitcoin_lock_mempool_timeout: 10.std_minutes(),
bitcoin_lock_confirmed_timeout: 2.std_hours(),
bitcoin_finality_confirmations: 2,
bitcoin_finality_confirmations: 1,
bitcoin_avg_block_time: 10.std_minutes(),
bitcoin_cancel_timelock: CancelTimelock::new(72),
bitcoin_punish_timelock: PunishTimelock::new(72),
@ -63,9 +63,9 @@ impl GetConfig for Mainnet {
impl GetConfig for Testnet {
fn get_config() -> Config {
Config {
bitcoin_lock_mempool_timeout: 3.std_minutes(),
bitcoin_lock_mempool_timeout: 10.std_minutes(),
bitcoin_lock_confirmed_timeout: 1.std_hours(),
bitcoin_finality_confirmations: 2,
bitcoin_finality_confirmations: 1,
bitcoin_avg_block_time: 10.std_minutes(),
bitcoin_cancel_timelock: CancelTimelock::new(12),
bitcoin_punish_timelock: PunishTimelock::new(6),
@ -138,7 +138,7 @@ mod monero_network {
Network::Stagenet => "stagenet",
Network::Testnet => "testnet",
};
s.serialize_str(&str)
s.serialize_str(str)
}
}

@ -45,7 +45,7 @@ pub fn connect(price_ticker_ws_url: Url) -> Result<PriceUpdates> {
}
}
Err(backoff::Error::Transient(anyhow!("stream ended")))
Err(backoff::Error::transient(anyhow!("stream ended")))
}
},
|error, next: Duration| {
@ -108,8 +108,8 @@ fn to_backoff(e: connection::Error) -> backoff::Error<anyhow::Error> {
match e {
// Connection closures and websocket errors will be retried
connection::Error::ConnectionClosed => Transient(anyhow::Error::from(e)),
connection::Error::WebSocket(_) => Transient(anyhow::Error::from(e)),
connection::Error::ConnectionClosed => backoff::Error::transient(anyhow::Error::from(e)),
connection::Error::WebSocket(_) => backoff::Error::transient(anyhow::Error::from(e)),
// Failures while parsing a message are permanent because they most likely present a
// programmer error
@ -230,7 +230,7 @@ mod wire {
use bitcoin::util::amount::ParseAmountError;
use serde_json::Value;
#[derive(Debug, Deserialize, PartialEq)]
#[derive(Debug, Deserialize, PartialEq, Eq)]
#[serde(tag = "event")]
pub enum Event {
#[serde(rename = "systemStatus")]
@ -275,8 +275,6 @@ mod wire {
pub struct TickerData {
#[serde(rename = "a")]
ask: Vec<RateElement>,
#[serde(rename = "b")]
bid: Vec<RateElement>,
}
#[derive(Debug, Deserialize)]

@ -16,9 +16,11 @@
missing_copy_implementations
)]
pub mod api;
pub mod asb;
pub mod bitcoin;
pub mod cli;
pub mod common;
pub mod database;
pub mod env;
pub mod fs;
@ -27,6 +29,7 @@ pub mod libp2p_ext;
pub mod monero;
pub mod network;
pub mod protocol;
pub mod rpc;
pub mod seed;
pub mod tor;
pub mod tracing_ext;

@ -39,9 +39,16 @@ pub fn private_key_from_secp256k1_scalar(scalar: bitcoin::Scalar) -> PrivateKey
PrivateKey::from_scalar(Scalar::from_bytes_mod_order(bytes))
}
#[derive(Clone, Copy, Debug, Serialize, Deserialize, PartialEq)]
#[derive(Clone, Copy, Debug, Serialize, Deserialize, PartialEq, Eq)]
pub struct PrivateViewKey(#[serde(with = "monero_private_key")] PrivateKey);
impl fmt::Display for PrivateViewKey {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
// Delegate to the Display implementation of PrivateKey
write!(f, "{}", self.0)
}
}
impl PrivateViewKey {
pub fn new_random<R: RngCore + CryptoRng>(rng: &mut R) -> Self {
let scalar = Scalar::random(rng);
@ -78,11 +85,11 @@ impl From<PublicViewKey> for PublicKey {
#[derive(Clone, Copy, Debug)]
pub struct PublicViewKey(PublicKey);
#[derive(Debug, Copy, Clone, Deserialize, Serialize, PartialEq, PartialOrd)]
#[derive(Debug, Copy, Clone, Deserialize, Serialize, PartialEq, Eq, PartialOrd)]
pub struct Amount(u64);
// Median tx fees on Monero as found here: https://www.monero.how/monero-transaction-fees, XMR 0.000_015 * 2 (to be on the safe side)
pub const MONERO_FEE: Amount = Amount::from_piconero(30000000);
// Median tx fees on Monero as found here: https://www.monero.how/monero-transaction-fees, XMR 0.000_008 * 2 (to be on the safe side)
pub const MONERO_FEE: Amount = Amount::from_piconero(16_000_000);
impl Amount {
pub const ZERO: Self = Self(0);
@ -95,10 +102,32 @@ impl Amount {
Amount(amount)
}
/// Return Monero Amount as Piconero.
pub fn as_piconero(&self) -> u64 {
self.0
}
/// Calculate the maximum amount of Bitcoin that can be bought at a given
/// asking price for this amount of Monero including the median fee.
pub fn max_bitcoin_for_price(&self, ask_price: bitcoin::Amount) -> Option<bitcoin::Amount> {
let pico_minus_fee = self.as_piconero().saturating_sub(MONERO_FEE.as_piconero());
if pico_minus_fee == 0 {
return Some(bitcoin::Amount::ZERO);
}
// safely convert the BTC/XMR rate to sat/pico
let ask_sats = Decimal::from(ask_price.to_sat());
let pico_per_xmr = Decimal::from(PICONERO_OFFSET);
let ask_sats_per_pico = ask_sats / pico_per_xmr;
let pico = Decimal::from(pico_minus_fee);
let max_sats = pico.checked_mul(ask_sats_per_pico)?;
let satoshi = max_sats.to_u64()?;
Some(bitcoin::Amount::from_sat(satoshi))
}
pub fn from_monero(amount: f64) -> Result<Self> {
let decimal = Decimal::try_from(amount)?;
Self::from_decimal(decimal)
@ -163,7 +192,7 @@ impl fmt::Display for Amount {
}
}
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
pub struct TransferProof {
tx_hash: TxHash,
#[serde(with = "monero_private_key")]
@ -183,7 +212,7 @@ impl TransferProof {
}
// TODO: add constructor/ change String to fixed length byte array
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
pub struct TxHash(pub String);
impl From<TxHash> for String {
@ -205,7 +234,7 @@ pub struct InsufficientFunds {
pub actual: Amount,
}
#[derive(thiserror::Error, Debug, Clone, PartialEq)]
#[derive(thiserror::Error, Debug, Clone, PartialEq, Eq)]
#[error("Overflow, cannot convert {0} to u64")]
pub struct OverflowError(pub String);
@ -298,6 +327,52 @@ pub mod monero_amount {
}
}
pub mod monero_address {
use anyhow::{bail, Context, Result};
use std::str::FromStr;
#[derive(thiserror::Error, Debug, Clone, Copy, PartialEq)]
#[error("Invalid monero address provided, expected address on network {expected:?} but address provided is on {actual:?}")]
pub struct MoneroAddressNetworkMismatch {
pub expected: monero::Network,
pub actual: monero::Network,
}
pub fn parse(s: &str) -> Result<monero::Address> {
monero::Address::from_str(s).with_context(|| {
format!(
"Failed to parse {} as a monero address, please make sure it is a valid address",
s
)
})
}
pub fn validate(
address: monero::Address,
expected_network: monero::Network,
) -> Result<monero::Address> {
if address.network != expected_network {
bail!(MoneroAddressNetworkMismatch {
expected: expected_network,
actual: address.network,
});
}
Ok(address)
}
pub fn validate_is_testnet(
address: monero::Address,
is_testnet: bool,
) -> Result<monero::Address> {
let expected_network = if is_testnet {
monero::Network::Stagenet
} else {
monero::Network::Mainnet
};
validate(address, expected_network)
}
}
#[cfg(test)]
mod tests {
use super::*;
@ -360,13 +435,98 @@ mod tests {
);
}
#[test]
fn max_bitcoin_to_trade() {
// sanity check: if the asking price is 1 BTC / 1 XMR
// and we have μ XMR + fee
// then max BTC we can buy is μ
let ask = bitcoin::Amount::from_btc(1.0).unwrap();
let xmr = Amount::parse_monero("1.0").unwrap() + MONERO_FEE;
let btc = xmr.max_bitcoin_for_price(ask).unwrap();
assert_eq!(btc, bitcoin::Amount::from_btc(1.0).unwrap());
let xmr = Amount::parse_monero("0.5").unwrap() + MONERO_FEE;
let btc = xmr.max_bitcoin_for_price(ask).unwrap();
assert_eq!(btc, bitcoin::Amount::from_btc(0.5).unwrap());
let xmr = Amount::parse_monero("2.5").unwrap() + MONERO_FEE;
let btc = xmr.max_bitcoin_for_price(ask).unwrap();
assert_eq!(btc, bitcoin::Amount::from_btc(2.5).unwrap());
let xmr = Amount::parse_monero("420").unwrap() + MONERO_FEE;
let btc = xmr.max_bitcoin_for_price(ask).unwrap();
assert_eq!(btc, bitcoin::Amount::from_btc(420.0).unwrap());
let xmr = Amount::parse_monero("0.00001").unwrap() + MONERO_FEE;
let btc = xmr.max_bitcoin_for_price(ask).unwrap();
assert_eq!(btc, bitcoin::Amount::from_btc(0.00001).unwrap());
// other ask prices
let ask = bitcoin::Amount::from_btc(0.5).unwrap();
let xmr = Amount::parse_monero("2").unwrap() + MONERO_FEE;
let btc = xmr.max_bitcoin_for_price(ask).unwrap();
assert_eq!(btc, bitcoin::Amount::from_btc(1.0).unwrap());
let ask = bitcoin::Amount::from_btc(2.0).unwrap();
let xmr = Amount::parse_monero("1").unwrap() + MONERO_FEE;
let btc = xmr.max_bitcoin_for_price(ask).unwrap();
assert_eq!(btc, bitcoin::Amount::from_btc(2.0).unwrap());
let ask = bitcoin::Amount::from_sat(382_900);
let xmr = Amount::parse_monero("10").unwrap();
let btc = xmr.max_bitcoin_for_price(ask).unwrap();
assert_eq!(btc, bitcoin::Amount::from_sat(3_828_993));
// example from https://github.com/comit-network/xmr-btc-swap/issues/1084
// with rate from kraken at that time
let ask = bitcoin::Amount::from_sat(685_800);
let xmr = Amount::parse_monero("0.826286435921").unwrap();
let btc = xmr.max_bitcoin_for_price(ask).unwrap();
assert_eq!(btc, bitcoin::Amount::from_sat(566_656));
}
#[test]
fn max_bitcoin_to_trade_overflow() {
let xmr = Amount::from_monero(30.0).unwrap();
let ask = bitcoin::Amount::from_sat(728_688);
let btc = xmr.max_bitcoin_for_price(ask).unwrap();
assert_eq!(bitcoin::Amount::from_sat(21_860_628), btc);
let xmr = Amount::from_piconero(u64::MAX);
let ask = bitcoin::Amount::from_sat(u64::MAX);
let btc = xmr.max_bitcoin_for_price(ask);
assert!(btc.is_none());
}
#[test]
fn geting_max_bitcoin_to_trade_with_balance_smaller_than_locking_fee() {
let ask = bitcoin::Amount::from_sat(382_900);
let xmr = Amount::parse_monero("0.00001").unwrap();
let btc = xmr.max_bitcoin_for_price(ask).unwrap();
assert_eq!(bitcoin::Amount::ZERO, btc);
}
use rand::rngs::OsRng;
use serde::{Deserialize, Serialize};
#[derive(Debug, Serialize, Deserialize, PartialEq)]
#[derive(Debug, Serialize, Deserialize, PartialEq, Eq)]
pub struct MoneroPrivateKey(#[serde(with = "monero_private_key")] crate::monero::PrivateKey);
#[derive(Debug, Serialize, Deserialize, PartialEq)]
#[derive(Debug, Serialize, Deserialize, PartialEq, Eq)]
pub struct MoneroAmount(#[serde(with = "monero_amount")] crate::monero::Amount);
#[test]

@ -26,15 +26,16 @@ impl Wallet {
pub async fn open_or_create(url: Url, name: String, env_config: Config) -> Result<Self> {
let client = wallet::Client::new(url)?;
let open_wallet_response = client.open_wallet(name.clone()).await;
if open_wallet_response.is_err() {
client.create_wallet(name.clone(), "English".to_owned()).await.context(
"Unable to create Monero wallet, please ensure that the monero-wallet-rpc is available",
)?;
tracing::debug!(monero_wallet_name = %name, "Created Monero wallet");
} else {
tracing::debug!(monero_wallet_name = %name, "Opened Monero wallet");
match client.open_wallet(name.clone()).await {
Err(error) => {
tracing::debug!(%error, "Open wallet response error");
client.create_wallet(name.clone(), "English".to_owned()).await.context(
"Unable to create Monero wallet, please ensure that the monero-wallet-rpc is available",
)?;
tracing::debug!(monero_wallet_name = %name, "Created Monero wallet");
}
Ok(_) => tracing::debug!(monero_wallet_name = %name, "Opened Monero wallet"),
}
Self::connect(client, name, env_config).await
@ -173,11 +174,6 @@ impl Wallet {
pub async fn transfer(&self, request: TransferRequest) -> Result<TransferProof> {
let inner = self.inner.lock().await;
inner
.open_wallet(self.name.clone())
.await
.with_context(|| format!("Failed to open wallet {}", self.name))?;
let TransferRequest {
public_spend_key,
public_view_key,
@ -253,10 +249,8 @@ impl Wallet {
}
/// Get the balance of the primary account.
pub async fn get_balance(&self) -> Result<Amount> {
let amount = self.inner.lock().await.get_balance(0).await?.balance;
Ok(Amount::from_piconero(amount))
pub async fn get_balance(&self) -> Result<wallet::GetBalance> {
Ok(self.inner.lock().await.get_balance(0).await?)
}
pub async fn block_height(&self) -> Result<BlockHeight> {
@ -314,8 +308,13 @@ async fn wait_for_confirmations<C: monero_rpc::wallet::MoneroWalletRpc<reqwest::
.await
{
Ok(proof) => proof,
Err(jsonrpc::Error::JsonRpc(jsonrpc::JsonRpcError { code: -1, .. })) => {
tracing::warn!(%txid, "`monero-wallet-rpc` failed to fetch transaction, may need to be restarted");
Err(jsonrpc::Error::JsonRpc(jsonrpc::JsonRpcError {
code: -1,
message,
data,
})) => {
tracing::debug!(message, ?data);
tracing::warn!(%txid, message, "`monero-wallet-rpc` failed to fetch transaction, may need to be restarted");
continue;
}
// TODO: Implement this using a generic proxy for each function call once https://github.com/thomaseizinger/rust-jsonrpc-client/issues/47 is fixed.

@ -1,34 +1,75 @@
use ::monero::Network;
use anyhow::{Context, Result};
use anyhow::{bail, Context, Error, Result};
use big_bytes::BigByte;
use data_encoding::HEXLOWER;
use futures::{StreamExt, TryStreamExt};
use monero_rpc::wallet::{Client, MoneroWalletRpc as _};
use reqwest::header::CONTENT_LENGTH;
use reqwest::Url;
use serde::Deserialize;
use sha2::{Digest, Sha256};
use std::fmt;
use std::fmt::{Debug, Display, Formatter};
use std::io::ErrorKind;
use std::path::{Path, PathBuf};
use std::process::Stdio;
use std::time::Duration;
use tokio::fs::{remove_file, OpenOptions};
use tokio::io::{AsyncBufReadExt, AsyncWriteExt, BufReader};
use tokio::process::{Child, Command};
use tokio_util::codec::{BytesCodec, FramedRead};
use tokio_util::io::StreamReader;
// See: https://www.moneroworld.com/#nodes, https://monero.fail
// We don't need any testnet nodes because we don't support testnet at all
const MONERO_DAEMONS: [MoneroDaemon; 17] = [
MoneroDaemon::new("xmr-node.cakewallet.com", 18081, Network::Mainnet),
MoneroDaemon::new("nodex.monerujo.io", 18081, Network::Mainnet),
MoneroDaemon::new("node.moneroworld.com", 18089, Network::Mainnet),
MoneroDaemon::new("nodes.hashvault.pro", 18081, Network::Mainnet),
MoneroDaemon::new("p2pmd.xmrvsbeast.com", 18081, Network::Mainnet),
MoneroDaemon::new("node.monerodevs.org", 18089, Network::Mainnet),
MoneroDaemon::new("xmr-node-usa-east.cakewallet.com", 18081, Network::Mainnet),
MoneroDaemon::new("xmr-node-uk.cakewallet.com", 18081, Network::Mainnet),
MoneroDaemon::new("node.community.rino.io", 18081, Network::Mainnet),
MoneroDaemon::new("testingjohnross.com", 20031, Network::Mainnet),
MoneroDaemon::new("xmr.litepay.ch", 18081, Network::Mainnet),
MoneroDaemon::new("node.trocador.app", 18089, Network::Mainnet),
MoneroDaemon::new("stagenet.xmr-tw.org", 38081, Network::Stagenet),
MoneroDaemon::new("node.monerodevs.org", 38089, Network::Stagenet),
MoneroDaemon::new("singapore.node.xmr.pm", 38081, Network::Stagenet),
MoneroDaemon::new("xmr-lux.boldsuck.org", 38081, Network::Stagenet),
MoneroDaemon::new("stagenet.community.rino.io", 38081, Network::Stagenet),
];
#[cfg(not(any(target_os = "macos", target_os = "linux", target_os = "windows")))]
compile_error!("unsupported operating system");
#[cfg(target_os = "macos")]
const DOWNLOAD_URL: &str = "http://downloads.getmonero.org/cli/monero-mac-x64-v0.17.2.0.tar.bz2";
#[cfg(all(target_os = "macos", target_arch = "x86_64"))]
const DOWNLOAD_URL: &str = "https://downloads.getmonero.org/cli/monero-mac-x64-v0.18.3.1.tar.bz2";
#[cfg(all(target_os = "macos", target_arch = "x86_64"))]
const DOWNLOAD_HASH: &str = "7f8bd9364ef16482b418aa802a65be0e4cc660c794bb5d77b2d17bc84427883a";
#[cfg(all(target_os = "macos", target_arch = "aarch64"))]
const DOWNLOAD_URL: &str = "https://downloads.getmonero.org/cli/monero-mac-armv8-v0.18.3.1.tar.bz2";
#[cfg(all(target_os = "macos", target_arch = "aarch64"))]
const DOWNLOAD_HASH: &str = "915288b023cb5811e626e10052adc6ac5323dd283c5a25b91059b0fb86a21fb6";
#[cfg(all(target_os = "linux", target_arch = "x86_64"))]
const DOWNLOAD_URL: &str = "https://downloads.getmonero.org/cli/monero-linux-x64-v0.17.2.0.tar.bz2";
const DOWNLOAD_URL: &str = "https://downloads.getmonero.org/cli/monero-linux-x64-v0.18.3.1.tar.bz2";
#[cfg(all(target_os = "linux", target_arch = "x86_64"))]
const DOWNLOAD_HASH: &str = "23af572fdfe3459b9ab97e2e9aa7e3c11021c955d6064b801a27d7e8c21ae09d";
#[cfg(all(target_os = "linux", target_arch = "arm"))]
const DOWNLOAD_URL: &str =
"https://downloads.getmonero.org/cli/monero-linux-armv7-v0.17.2.0.tar.bz2";
"https://downloads.getmonero.org/cli/monero-linux-armv7-v0.18.3.1.tar.bz2";
#[cfg(all(target_os = "linux", target_arch = "arm"))]
const DOWNLOAD_HASH: &str = "2ea2c8898cbab88f49423f4f6c15f2a94046cb4bbe827493dd061edc0fd5f1ca";
#[cfg(target_os = "windows")]
const DOWNLOAD_URL: &str = "https://downloads.getmonero.org/cli/monero-win-x64-v0.17.2.0.zip";
const DOWNLOAD_URL: &str = "https://downloads.getmonero.org/cli/monero-win-x64-v0.18.3.1.zip";
#[cfg(target_os = "windows")]
const DOWNLOAD_HASH: &str = "35dcc4bee4caad3442659d37837e0119e4649a77f2e3b5e80dd6d9b8fc4fb6ad";
#[cfg(any(target_os = "macos", target_os = "linux"))]
const PACKED_FILE: &str = "monero-wallet-rpc";
@ -36,6 +77,8 @@ const PACKED_FILE: &str = "monero-wallet-rpc";
#[cfg(target_os = "windows")]
const PACKED_FILE: &str = "monero-wallet-rpc.exe";
const WALLET_RPC_VERSION: &str = "v0.18.3.1";
#[derive(Debug, Clone, Copy, thiserror::Error)]
#[error("monero wallet rpc executable not found in downloaded archive")]
pub struct ExecutableNotFoundInArchive;
@ -45,6 +88,91 @@ pub struct WalletRpcProcess {
port: u16,
}
struct MoneroDaemon {
address: &'static str,
port: u16,
network: Network,
}
impl MoneroDaemon {
const fn new(address: &'static str, port: u16, network: Network) -> Self {
Self {
address,
port,
network,
}
}
/// Checks if the Monero daemon is available by sending a request to its `get_info` endpoint.
async fn is_available(&self, client: &reqwest::Client) -> Result<bool, Error> {
let url = format!("http://{}:{}/get_info", self.address, self.port);
let res = client
.get(url)
.send()
.await
.context("Failed to send request to get_info endpoint")?;
let json: MoneroDaemonGetInfoResponse = res
.json()
.await
.context("Failed to deserialize daemon get_info response")?;
let is_status_ok = json.status == "OK";
let is_synchronized = json.synchronized;
let is_correct_network = match self.network {
Network::Mainnet => json.mainnet,
Network::Stagenet => json.stagenet,
Network::Testnet => json.testnet,
};
Ok(is_status_ok && is_synchronized && is_correct_network)
}
}
impl Display for MoneroDaemon {
fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
write!(f, "{}:{}", self.address, self.port)
}
}
#[derive(Deserialize)]
struct MoneroDaemonGetInfoResponse {
status: String,
synchronized: bool,
mainnet: bool,
stagenet: bool,
testnet: bool,
}
/// Chooses an available Monero daemon based on the specified network.
async fn choose_monero_daemon(network: Network) -> Result<&'static MoneroDaemon, Error> {
let client = reqwest::Client::builder()
.timeout(Duration::from_secs(30))
.https_only(false)
.build()?;
// We only want to check for daemons that match the specified network
let network_matching_daemons = MONERO_DAEMONS
.iter()
.filter(|daemon| daemon.network == network);
for daemon in network_matching_daemons {
match daemon.is_available(&client).await {
Ok(true) => {
tracing::debug!(%daemon, "Found available Monero daemon");
return Ok(daemon);
}
Err(err) => {
tracing::debug!(%err, %daemon, "Failed to connect to Monero daemon");
continue;
}
Ok(false) => continue,
}
}
bail!("No Monero daemon could be found. Please specify one manually or try again later.")
}
impl WalletRpcProcess {
pub fn endpoint(&self) -> Url {
Url::parse(&format!("http://127.0.0.1:{}/json_rpc", self.port))
@ -72,6 +200,22 @@ impl WalletRpc {
remove_file(monero_wallet_rpc.archive_path()).await?;
}
// check the monero-wallet-rpc version
let exec_path = monero_wallet_rpc.exec_path();
tracing::debug!("RPC exec path: {}", exec_path.display());
if exec_path.exists() {
let output = Command::new(&exec_path).arg("--version").output().await?;
let version = String::from_utf8_lossy(&output.stdout);
tracing::debug!("RPC version output: {}", version);
if !version.contains(WALLET_RPC_VERSION) {
tracing::info!("Removing old version of monero-wallet-rpc");
tokio::fs::remove_file(exec_path).await?;
}
}
// if monero-wallet-rpc doesn't exist then download it
if !monero_wallet_rpc.exec_path().exists() {
let mut options = OpenOptions::new();
let mut file = options
@ -89,13 +233,20 @@ impl WalletRpc {
.parse::<u64>()?;
tracing::info!(
"Downloading monero-wallet-rpc ({}) from {}",
content_length.big_byte(2),
DOWNLOAD_URL
progress="0%",
size=%content_length.big_byte(2),
download_url=DOWNLOAD_URL,
"Downloading monero-wallet-rpc",
);
let mut hasher = Sha256::new();
let byte_stream = response
.bytes_stream()
.map_ok(|bytes| {
hasher.update(&bytes);
bytes
})
.map_err(|err| std::io::Error::new(ErrorKind::Other, err));
#[cfg(not(target_os = "windows"))]
@ -109,24 +260,70 @@ impl WalletRpc {
let mut stream = FramedRead::new(StreamReader::new(byte_stream), BytesCodec::new())
.map_ok(|bytes| bytes.freeze());
let (mut received, mut notified) = (0, 0);
while let Some(chunk) = stream.next().await {
file.write(&chunk?).await?;
let bytes = chunk?;
received += bytes.len();
// the stream is decompressed as it is downloaded
// file is compressed approx 3:1 in bz format
let total = 3 * content_length;
let percent = 100 * received as u64 / total;
if percent != notified && percent % 10 == 0 {
tracing::info!(
progress=format!("{}%", percent),
size=%content_length.big_byte(2),
download_url=DOWNLOAD_URL,
"Downloading monero-wallet-rpc",
);
notified = percent;
}
file.write_all(&bytes).await?;
}
tracing::info!(
progress="100%",
size=%content_length.big_byte(2),
download_url=DOWNLOAD_URL,
"Downloading monero-wallet-rpc",
);
let result = hasher.finalize();
let result_hash = HEXLOWER.encode(result.as_ref());
if result_hash != DOWNLOAD_HASH {
bail!(
"SHA256 of download ({}) does not match expected ({})!",
result_hash,
DOWNLOAD_HASH
);
} else {
tracing::debug!("Hashes match");
}
file.flush().await?;
tracing::debug!("Extracting archive");
Self::extract_archive(&monero_wallet_rpc).await?;
}
Ok(monero_wallet_rpc)
}
pub async fn run(&self, network: Network, daemon_address: &str) -> Result<WalletRpcProcess> {
pub async fn run(
&self,
network: Network,
daemon_address: Option<String>,
) -> Result<WalletRpcProcess> {
let port = tokio::net::TcpListener::bind("127.0.0.1:0")
.await?
.local_addr()?
.port();
let daemon_address = match daemon_address {
Some(daemon_address) => daemon_address,
None => choose_monero_daemon(network).await?.to_string(),
};
tracing::debug!(
%daemon_address,
%port,
"Starting monero-wallet-rpc"
);
@ -172,7 +369,7 @@ impl WalletRpc {
}
// If we do not hear from the monero_wallet_rpc process for 3 seconds we assume
// it is is ready
// it is ready
#[cfg(target_os = "windows")]
while let Ok(line) =
tokio::time::timeout(std::time::Duration::from_secs(3), reader.next_line()).await
@ -199,7 +396,6 @@ impl WalletRpc {
#[cfg(not(target_os = "windows"))]
async fn extract_archive(monero_wallet_rpc: &Self) -> Result<()> {
use anyhow::bail;
use tokio_tar::Archive;
let mut options = OpenOptions::new();
@ -264,3 +460,123 @@ impl WalletRpc {
Ok(())
}
}
#[cfg(test)]
mod tests {
use super::*;
fn extract_host_and_port(address: String) -> (&'static str, u16) {
let parts: Vec<&str> = address.split(':').collect();
if parts.len() == 2 {
let host = parts[0].to_string();
let port = parts[1].parse::<u16>().unwrap();
let static_str_host: &'static str = Box::leak(host.into_boxed_str());
return (static_str_host, port);
}
panic!("Could not extract host and port from address: {}", address)
}
#[tokio::test]
async fn test_is_daemon_available_success() {
let mut server = mockito::Server::new();
let _ = server
.mock("GET", "/get_info")
.with_status(200)
.with_body(
r#"
{
"status": "OK",
"synchronized": true,
"mainnet": true,
"stagenet": false,
"testnet": false
}
"#,
)
.create();
let (host, port) = extract_host_and_port(server.host_with_port());
let client = reqwest::Client::new();
let result = MoneroDaemon::new(host, port, Network::Mainnet)
.is_available(&client)
.await;
assert!(result.is_ok());
assert!(result.unwrap());
}
#[tokio::test]
async fn test_is_daemon_available_wrong_network_failure() {
let mut server = mockito::Server::new();
let _ = server
.mock("GET", "/get_info")
.with_status(200)
.with_body(
r#"
{
"status": "OK",
"synchronized": true,
"mainnet": true,
"stagenet": false,
"testnet": false
}
"#,
)
.create();
let (host, port) = extract_host_and_port(server.host_with_port());
let client = reqwest::Client::new();
let result = MoneroDaemon::new(host, port, Network::Stagenet)
.is_available(&client)
.await;
assert!(result.is_ok());
assert!(!result.unwrap());
}
#[tokio::test]
async fn test_is_daemon_available_not_synced_failure() {
let mut server = mockito::Server::new();
let _ = server
.mock("GET", "/get_info")
.with_status(200)
.with_body(
r#"
{
"status": "OK",
"synchronized": false,
"mainnet": true,
"stagenet": false,
"testnet": false
}
"#,
)
.create();
let (host, port) = extract_host_and_port(server.host_with_port());
let client = reqwest::Client::new();
let result = MoneroDaemon::new(host, port, Network::Mainnet)
.is_available(&client)
.await;
assert!(result.is_ok());
assert!(!result.unwrap());
}
#[tokio::test]
async fn test_is_daemon_available_network_error_failure() {
let client = reqwest::Client::new();
let result = MoneroDaemon::new("does.not.exist.com", 18081, Network::Mainnet)
.is_available(&client)
.await;
assert!(result.is_err());
}
}

@ -1,5 +1,5 @@
use crate::bitcoin::Scalar;
use ecdsa_fun::fun::marker::{Mark, NonZero, Secret};
use ecdsa_fun::fun::marker::{NonZero, Secret};
pub trait ScalarExt {
fn to_secpfun_scalar(&self) -> ecdsa_fun::fun::Scalar;
@ -14,7 +14,7 @@ impl ScalarExt for crate::monero::Scalar {
ecdsa_fun::fun::Scalar::from_bytes(big_endian_bytes)
.expect("valid scalar")
.mark::<NonZero>()
.non_zero()
.expect("non-zero scalar")
}
}

@ -19,7 +19,7 @@ pub struct CborCodec<P, Req, Res> {
impl<P, Req, Res> Default for CborCodec<P, Req, Res> {
fn default() -> Self {
Self {
phantom: PhantomData::default(),
phantom: PhantomData,
}
}
}

@ -25,7 +25,7 @@ pub struct JsonPullCodec<P, Res> {
impl<P, Res> Default for JsonPullCodec<P, Res> {
fn default() -> Self {
Self {
phantom: PhantomData::default(),
phantom: PhantomData,
}
}
}

@ -37,6 +37,10 @@ pub struct BidQuote {
pub max_quantity: bitcoin::Amount,
}
#[derive(Clone, Copy, Debug, thiserror::Error)]
#[error("Received quote of 0")]
pub struct ZeroQuoteReceived;
/// Constructs a new instance of the `quote` behaviour to be used by the ASB.
///
/// The ASB is always listening and only supports inbound connections, i.e.

@ -4,8 +4,9 @@ use backoff::ExponentialBackoff;
use futures::future::FutureExt;
use libp2p::core::connection::ConnectionId;
use libp2p::core::Multiaddr;
use libp2p::swarm::dial_opts::{DialOpts, PeerCondition};
use libp2p::swarm::protocols_handler::DummyProtocolsHandler;
use libp2p::swarm::{DialPeerCondition, NetworkBehaviour, NetworkBehaviourAction, PollParameters};
use libp2p::swarm::{NetworkBehaviour, NetworkBehaviourAction, PollParameters};
use libp2p::PeerId;
use std::pin::Pin;
use std::task::{Context, Poll};
@ -112,9 +113,10 @@ impl NetworkBehaviour for Behaviour {
self.sleep = Some(Box::pin(tokio::time::sleep(next_dial_in)));
Poll::Ready(NetworkBehaviourAction::DialPeer {
peer_id: self.peer,
condition: DialPeerCondition::Disconnected,
Poll::Ready(NetworkBehaviourAction::Dial {
opts: DialOpts::peer_id(self.peer)
.condition(PeerCondition::Disconnected)
.build(),
handler: Self::ProtocolsHandler::default(),
})
}

@ -1,7 +1,7 @@
use libp2p::rendezvous::Namespace;
use std::fmt;
#[derive(Debug, PartialEq, Clone, Copy)]
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
pub enum XmrBtcNamespace {
Mainnet,
Testnet,
@ -27,3 +27,13 @@ impl From<XmrBtcNamespace> for Namespace {
}
}
}
impl XmrBtcNamespace {
pub fn from_is_testnet(testnet: bool) -> XmrBtcNamespace {
if testnet {
XmrBtcNamespace::Testnet
} else {
XmrBtcNamespace::Mainnet
}
}
}

@ -37,7 +37,7 @@ pub mod protocol {
>;
}
#[derive(Serialize, Deserialize, Debug, Clone, Copy, PartialEq)]
#[derive(Serialize, Deserialize, Debug, Clone, Copy, PartialEq, Eq)]
pub struct BlockchainNetwork {
#[serde(with = "crate::bitcoin::network")]
pub bitcoin: bitcoin::Network,

@ -1,4 +1,5 @@
use crate::asb::LatestRate;
use crate::monero::Amount;
use crate::network::swap_setup;
use crate::network::swap_setup::{
protocol, BlockchainNetwork, SpotPriceError, SpotPriceRequest, SpotPriceResponse,
@ -42,7 +43,7 @@ pub enum OutEvent {
#[derive(Debug)]
pub struct WalletSnapshot {
balance: monero::Amount,
balance: monero_rpc::wallet::GetBalance,
lock_fee: monero::Amount,
// TODO: Consider using the same address for punish and redeem (they are mutually exclusive, so
@ -58,11 +59,17 @@ impl WalletSnapshot {
pub async fn capture(
bitcoin_wallet: &bitcoin::Wallet,
monero_wallet: &monero::Wallet,
external_redeem_address: &Option<bitcoin::Address>,
transfer_amount: bitcoin::Amount,
) -> Result<Self> {
let balance = monero_wallet.get_balance().await?;
let redeem_address = bitcoin_wallet.new_address().await?;
let punish_address = bitcoin_wallet.new_address().await?;
let redeem_address = external_redeem_address
.clone()
.unwrap_or(bitcoin_wallet.new_address().await?);
let punish_address = external_redeem_address
.clone()
.unwrap_or(bitcoin_wallet.new_address().await?);
let redeem_fee = bitcoin_wallet
.estimate_fee(bitcoin::TxRedeem::weight(), transfer_amount)
.await?;
@ -323,7 +330,8 @@ where
.sell_quote(btc)
.map_err(Error::SellQuoteCalculationFailed)?;
if wallet_snapshot.balance < xmr + wallet_snapshot.lock_fee {
let unlocked = Amount::from_piconero(wallet_snapshot.balance.unlocked_balance);
if unlocked < xmr + wallet_snapshot.lock_fee {
return Err(Error::BalanceTooLow {
balance: wallet_snapshot.balance,
buy: btc,
@ -479,9 +487,9 @@ pub enum Error {
max: bitcoin::Amount,
buy: bitcoin::Amount,
},
#[error("Balance {balance} too low to fulfill swapping {buy}")]
#[error("Unlocked balance ({balance}) too low to fulfill swapping {buy}")]
BalanceTooLow {
balance: monero::Amount,
balance: monero_rpc::wallet::GetBalance,
buy: bitcoin::Amount,
},
#[error("Failed to fetch latest rate")]

@ -155,13 +155,16 @@ impl ProtocolsHandler for Handler {
let env_config = self.env_config;
let protocol = tokio::time::timeout(self.timeout, async move {
write_cbor_message(&mut substream, SpotPriceRequest {
btc: info.btc,
blockchain_network: BlockchainNetwork {
bitcoin: env_config.bitcoin_network,
monero: env_config.monero_network,
write_cbor_message(
&mut substream,
SpotPriceRequest {
btc: info.btc,
blockchain_network: BlockchainNetwork {
bitcoin: env_config.bitcoin_network,
monero: env_config.monero_network,
},
},
})
)
.await?;
let xmr = Result::from(read_cbor_message::<SpotPriceResponse>(&mut substream).await?)?;
@ -258,7 +261,7 @@ impl From<SpotPriceResponse> for Result<monero::Amount, Error> {
}
}
#[derive(Clone, Debug, thiserror::Error, PartialEq)]
#[derive(Clone, Debug, thiserror::Error, PartialEq, Eq)]
pub enum Error {
#[error("Seller currently does not accept incoming swap requests, please try again later")]
NoSwapsAccepted,

@ -1,9 +1,9 @@
use crate::asb::LatestRate;
use crate::asb::{LatestRate, RendezvousNode};
use crate::libp2p_ext::MultiAddrExt;
use crate::network::rendezvous::XmrBtcNamespace;
use crate::seed::Seed;
use crate::{asb, bitcoin, cli, env, tor};
use anyhow::{Context, Result};
use anyhow::Result;
use libp2p::swarm::{NetworkBehaviour, SwarmBuilder};
use libp2p::{identity, Multiaddr, Swarm};
use std::fmt::Debug;
@ -16,22 +16,24 @@ pub fn asb<LR>(
latest_rate: LR,
resume_only: bool,
env_config: env::Config,
rendezvous_params: Option<(Multiaddr, XmrBtcNamespace)>,
namespace: XmrBtcNamespace,
rendezvous_addrs: &[Multiaddr],
) -> Result<Swarm<asb::Behaviour<LR>>>
where
LR: LatestRate + Send + 'static + Debug + Clone,
{
let identity = seed.derive_libp2p_identity();
let rendezvous_params = if let Some((address, namespace)) = rendezvous_params {
let peer_id = address
.extract_peer_id()
.context("Rendezvous node address must contain peer ID")?;
let rendezvous_nodes = rendezvous_addrs
.iter()
.map(|addr| {
let peer_id = addr
.extract_peer_id()
.expect("Rendezvous node address must contain peer ID");
Some((identity.clone(), peer_id, address, namespace))
} else {
None
};
RendezvousNode::new(addr, peer_id, namespace, None)
})
.collect();
let behaviour = asb::Behaviour::new(
min_buy,
@ -39,7 +41,8 @@ where
latest_rate,
resume_only,
env_config,
rendezvous_params,
(identity.clone(), namespace),
rendezvous_nodes,
);
let transport = asb::transport::new(&identity)?;

@ -21,7 +21,7 @@ struct GlobalSpawnTokioExecutor;
impl Executor for GlobalSpawnTokioExecutor {
fn exec(&self, future: Pin<Box<dyn Future<Output = ()> + Send>>) {
let _ = tokio::spawn(future);
tokio::spawn(future);
}
}
@ -40,7 +40,7 @@ where
.expect("failed to create dh_keys");
let noise = NoiseConfig::xx(dh_keys).into_authenticated();
let transport = MemoryTransport::default()
let transport = MemoryTransport
.or_transport(TokioTcpConfig::new())
.upgrade(Version::V1)
.authenticate(noise)
@ -129,8 +129,9 @@ where
<T as NetworkBehaviour>::OutEvent: Debug,
{
let addr_to_dial = other.external_addresses().next().unwrap().addr.clone();
let local_peer_id = *other.local_peer_id();
self.dial_addr(addr_to_dial.clone()).unwrap();
self.dial(addr_to_dial).unwrap();
let mut dialer_done = false;
let mut listener_done = false;
@ -144,8 +145,8 @@ where
SwarmEvent::ConnectionEstablished { .. } => {
dialer_done = true;
}
SwarmEvent::UnknownPeerUnreachableAddr { address, error } if address == addr_to_dial => {
panic!("Failed to dial address {}: {}", addr_to_dial, error)
SwarmEvent::OutgoingConnectionError { peer_id, error } if matches!(peer_id, Some(alice_peer_id) if alice_peer_id == local_peer_id) => {
panic!("Failed to dial address {}: {}", peer_id.unwrap(), error)
}
other => {
tracing::debug!("Ignoring {:?}", other);

@ -60,6 +60,28 @@ impl Transport for TorDialOnlyTransport {
fn address_translation(&self, _: &Multiaddr, _: &Multiaddr) -> Option<Multiaddr> {
None
}
fn dial_as_listener(self, addr: Multiaddr) -> Result<Self::Dial, TransportError<Self::Error>> {
let address = TorCompatibleAddress::from_multiaddr(Cow::Borrowed(&addr))?;
if address.is_certainly_not_reachable_via_tor_daemon() {
return Err(TransportError::MultiaddrNotSupported(addr));
}
let dial_future = async move {
tracing::debug!(address = %addr, "Establishing connection through Tor proxy");
let stream =
Socks5Stream::connect((Ipv4Addr::LOCALHOST, self.socks_port), address.to_string())
.await
.map_err(|e| io::Error::new(io::ErrorKind::ConnectionRefused, e))?;
tracing::debug!("Connection through Tor established");
Ok(TcpStream(stream.into_inner()))
};
Ok(dial_future.boxed())
}
}
/// Represents an address that is _compatible_ with Tor, i.e. can be resolved by

@ -2,16 +2,15 @@ use proptest::prelude::*;
pub mod ecdsa_fun {
use super::*;
use ::ecdsa_fun::fun::marker::{Mark, NonZero, Normal};
use ::ecdsa_fun::fun::{Point, Scalar, G};
pub fn point() -> impl Strategy<Value = Point> {
scalar().prop_map(|mut scalar| Point::from_scalar_mul(&G, &mut scalar).mark::<Normal>())
scalar().prop_map(|mut scalar| Point::even_y_from_scalar_mul(G, &mut scalar).normalize())
}
pub fn scalar() -> impl Strategy<Value = Scalar> {
prop::array::uniform32(0..255u8).prop_filter_map("generated the 0 element", |bytes| {
Scalar::from_bytes_mod_order(bytes).mark::<NonZero>()
Scalar::from_bytes_mod_order(bytes).non_zero()
})
}
}

@ -6,12 +6,12 @@ use crate::{bitcoin, monero};
use anyhow::Result;
use async_trait::async_trait;
use conquer_once::Lazy;
use ecdsa_fun::fun::marker::Mark;
use libp2p::{Multiaddr, PeerId};
use serde::{Deserialize, Serialize};
use sha2::Sha256;
use sigma_fun::ext::dl_secp256k1_ed25519_eq::{CrossCurveDLEQ, CrossCurveDLEQProof};
use sigma_fun::HashTranscript;
use std::collections::HashMap;
use std::convert::TryInto;
use uuid::Uuid;
@ -22,7 +22,7 @@ pub static CROSS_CURVE_PROOF_SYSTEM: Lazy<
CrossCurveDLEQ<HashTranscript<Sha256, rand_chacha::ChaCha20Rng>>,
> = Lazy::new(|| {
CrossCurveDLEQ::<HashTranscript<Sha256, rand_chacha::ChaCha20Rng>>::new(
(*ecdsa_fun::fun::G).mark::<ecdsa_fun::fun::marker::Normal>(),
(*ecdsa_fun::fun::G).normalize(),
curve25519_dalek::constants::ED25519_BASEPOINT_POINT,
)
});
@ -102,11 +102,11 @@ impl From<BobState> for State {
}
}
#[derive(thiserror::Error, Debug, Clone, Copy, PartialEq)]
#[derive(thiserror::Error, Debug, Clone, Copy, PartialEq, Eq)]
#[error("Not in the role of Alice")]
pub struct NotAlice;
#[derive(thiserror::Error, Debug, Clone, Copy, PartialEq)]
#[derive(thiserror::Error, Debug, Clone, Copy, PartialEq, Eq)]
#[error("Not in the role of Bob")]
pub struct NotBob;
@ -140,7 +140,10 @@ pub trait Database {
async fn get_monero_address(&self, swap_id: Uuid) -> Result<monero::Address>;
async fn insert_address(&self, peer_id: PeerId, address: Multiaddr) -> Result<()>;
async fn get_addresses(&self, peer_id: PeerId) -> Result<Vec<Multiaddr>>;
async fn get_swap_start_date(&self, swap_id: Uuid) -> Result<String>;
async fn insert_latest_state(&self, swap_id: Uuid, state: State) -> Result<()>;
async fn get_state(&self, swap_id: Uuid) -> Result<State>;
async fn get_states(&self, swap_id: Uuid) -> Result<Vec<State>>;
async fn all(&self) -> Result<Vec<(Uuid, State)>>;
async fn raw_all(&self) -> Result<HashMap<Uuid, Vec<serde_json::Value>>>;
}

@ -184,29 +184,32 @@ impl State0 {
let v = self.v_a + msg.v_b;
Ok((msg.swap_id, State1 {
a: self.a,
B: msg.B,
s_a: self.s_a,
S_a_monero: self.S_a_monero,
S_a_bitcoin: self.S_a_bitcoin,
S_b_monero: msg.S_b_monero,
S_b_bitcoin: msg.S_b_bitcoin,
v,
v_a: self.v_a,
dleq_proof_s_a: self.dleq_proof_s_a,
btc: self.btc,
xmr: self.xmr,
cancel_timelock: self.cancel_timelock,
punish_timelock: self.punish_timelock,
refund_address: msg.refund_address,
redeem_address: self.redeem_address,
punish_address: self.punish_address,
tx_redeem_fee: self.tx_redeem_fee,
tx_punish_fee: self.tx_punish_fee,
tx_refund_fee: msg.tx_refund_fee,
tx_cancel_fee: msg.tx_cancel_fee,
}))
Ok((
msg.swap_id,
State1 {
a: self.a,
B: msg.B,
s_a: self.s_a,
S_a_monero: self.S_a_monero,
S_a_bitcoin: self.S_a_bitcoin,
S_b_monero: msg.S_b_monero,
S_b_bitcoin: msg.S_b_bitcoin,
v,
v_a: self.v_a,
dleq_proof_s_a: self.dleq_proof_s_a,
btc: self.btc,
xmr: self.xmr,
cancel_timelock: self.cancel_timelock,
punish_timelock: self.punish_timelock,
refund_address: msg.refund_address,
redeem_address: self.redeem_address,
punish_address: self.punish_address,
tx_redeem_fee: self.tx_redeem_fee,
tx_punish_fee: self.tx_punish_fee,
tx_refund_fee: msg.tx_refund_fee,
tx_cancel_fee: msg.tx_cancel_fee,
},
))
}
}
@ -307,7 +310,8 @@ impl State2 {
self.a.public(),
self.B,
self.tx_cancel_fee,
);
)
.expect("valid cancel tx");
let tx_refund =
bitcoin::TxRefund::new(&tx_cancel, &self.refund_address, self.tx_refund_fee);
@ -332,7 +336,7 @@ impl State2 {
self.a.public(),
self.B,
self.tx_cancel_fee,
);
)?;
bitcoin::verify_sig(&self.B, &tx_cancel.digest(), &msg.tx_cancel_sig)
.context("Failed to verify cancel transaction")?;
let tx_punish = bitcoin::TxPunish::new(
@ -455,6 +459,7 @@ impl State3 {
self.B,
self.tx_cancel_fee,
)
.expect("valid cancel tx")
}
pub fn tx_refund(&self) -> TxRefund {

@ -112,7 +112,7 @@ where
}
AliceState::BtcLocked { state3 } => {
match state3.expired_timelocks(bitcoin_wallet).await? {
ExpiredTimelocks::None => {
ExpiredTimelocks::None { .. } => {
// Record the current monero wallet block height so we don't have to scan from
// block 0 for scenarios where we create a refund wallet.
let monero_wallet_restore_blockheight = monero_wallet.block_height().await?;
@ -135,7 +135,7 @@ where
transfer_proof,
state3,
} => match state3.expired_timelocks(bitcoin_wallet).await? {
ExpiredTimelocks::None => {
ExpiredTimelocks::None { .. } => {
monero_wallet
.watch_for_transfer(state3.lock_xmr_watch_request(transfer_proof.clone(), 1))
.await
@ -176,7 +176,7 @@ where
}
},
result = tx_lock_status.wait_until_confirmed_with(state3.cancel_timelock) => {
let _ = result?;
result?;
AliceState::CancelTimelockExpired {
monero_wallet_restore_blockheight,
transfer_proof,
@ -196,7 +196,7 @@ where
biased; // make sure the cancel timelock expiry future is polled first
result = tx_lock_status.wait_until_confirmed_with(state3.cancel_timelock) => {
let _ = result?;
result?;
AliceState::CancelTimelockExpired {
monero_wallet_restore_blockheight,
transfer_proof,
@ -221,7 +221,7 @@ where
encrypted_signature,
state3,
} => match state3.expired_timelocks(bitcoin_wallet).await? {
ExpiredTimelocks::None => {
ExpiredTimelocks::None { .. } => {
let tx_lock_status = bitcoin_wallet.subscribe_to(state3.tx_lock.clone()).await;
match state3.signed_redeem_transaction(*encrypted_signature) {
Ok(tx) => match bitcoin_wallet.broadcast(tx, "redeem").await {
@ -326,7 +326,7 @@ where
}
}
result = tx_cancel_status.wait_until_confirmed_with(state3.punish_timelock) => {
let _ = result?;
result?;
AliceState::BtcPunishable {
monero_wallet_restore_blockheight,

@ -1,4 +1,4 @@
use crate::bitcoin::wallet::EstimateFeeRate;
use crate::bitcoin::wallet::{EstimateFeeRate, Subscription};
use crate::bitcoin::{
self, current_epoch, CancelTimelock, ExpiredTimelocks, PunishTimelock, Transaction, TxCancel,
TxLock, Txid,
@ -21,9 +21,10 @@ use sigma_fun::ext::dl_secp256k1_ed25519_eq::CrossCurveDLEQProof;
use std::fmt;
use uuid::Uuid;
#[derive(Debug, Clone, PartialEq)]
#[derive(Debug, Clone, PartialEq, Serialize)]
pub enum BobState {
Started {
#[serde(with = "::bitcoin::util::amount::serde::as_sat")]
btc_amount: bitcoin::Amount,
change_address: bitcoin::Address,
},
@ -149,9 +150,9 @@ impl State0 {
}
}
pub async fn receive<B, D, C>(
pub async fn receive<D, C>(
self,
wallet: &bitcoin::Wallet<B, D, C>,
wallet: &bitcoin::Wallet<D, C>,
msg: Message1,
) -> Result<State1>
where
@ -242,7 +243,7 @@ impl State1 {
self.A,
self.b.public(),
self.tx_cancel_fee,
);
)?;
let tx_refund =
bitcoin::TxRefund::new(&tx_cancel, &self.refund_address, self.tx_refund_fee);
@ -287,13 +288,13 @@ pub struct State2 {
S_a_monero: monero::PublicKey,
S_a_bitcoin: bitcoin::PublicKey,
v: monero::PrivateViewKey,
xmr: monero::Amount,
cancel_timelock: CancelTimelock,
punish_timelock: PunishTimelock,
refund_address: bitcoin::Address,
pub xmr: monero::Amount,
pub cancel_timelock: CancelTimelock,
pub punish_timelock: PunishTimelock,
pub refund_address: bitcoin::Address,
redeem_address: bitcoin::Address,
punish_address: bitcoin::Address,
tx_lock: bitcoin::TxLock,
pub tx_lock: bitcoin::TxLock,
tx_cancel_sig_a: Signature,
tx_refund_encsig: bitcoin::EncryptedSignature,
min_monero_confirmations: u64,
@ -302,9 +303,9 @@ pub struct State2 {
#[serde(with = "::bitcoin::util::amount::serde::as_sat")]
tx_punish_fee: bitcoin::Amount,
#[serde(with = "::bitcoin::util::amount::serde::as_sat")]
tx_refund_fee: bitcoin::Amount,
pub tx_refund_fee: bitcoin::Amount,
#[serde(with = "::bitcoin::util::amount::serde::as_sat")]
tx_cancel_fee: bitcoin::Amount,
pub tx_cancel_fee: bitcoin::Amount,
}
impl State2 {
@ -315,7 +316,8 @@ impl State2 {
self.A,
self.b.public(),
self.tx_cancel_fee,
);
)
.expect("valid cancel tx");
let tx_cancel_sig = self.b.sign(tx_cancel.digest());
let tx_punish = bitcoin::TxPunish::new(
&tx_cancel,
@ -439,7 +441,7 @@ impl State3 {
self.tx_lock.txid()
}
pub async fn current_epoch(
pub async fn expired_timelock(
&self,
bitcoin_wallet: &bitcoin::Wallet,
) -> Result<ExpiredTimelocks> {
@ -449,7 +451,7 @@ impl State3 {
self.A,
self.b.public(),
self.tx_cancel_fee,
);
)?;
let tx_lock_status = bitcoin_wallet.status_of_script(&self.tx_lock).await?;
let tx_cancel_status = bitcoin_wallet.status_of_script(&tx_cancel).await?;
@ -487,6 +489,27 @@ pub struct State4 {
}
impl State4 {
pub async fn check_for_tx_redeem(&self, bitcoin_wallet: &bitcoin::Wallet) -> Result<State5> {
let tx_redeem =
bitcoin::TxRedeem::new(&self.tx_lock, &self.redeem_address, self.tx_redeem_fee);
let tx_redeem_encsig = self.b.encsign(self.S_a_bitcoin, tx_redeem.digest());
let tx_redeem_candidate = bitcoin_wallet.get_raw_transaction(tx_redeem.txid()).await?;
let tx_redeem_sig =
tx_redeem.extract_signature_by_key(tx_redeem_candidate, self.b.public())?;
let s_a = bitcoin::recover(self.S_a_bitcoin, tx_redeem_sig, tx_redeem_encsig)?;
let s_a = monero::private_key_from_secp256k1_scalar(s_a.into());
Ok(State5 {
s_a,
s_b: self.s_b,
v: self.v,
tx_lock: self.tx_lock.clone(),
monero_wallet_restore_blockheight: self.monero_wallet_restore_blockheight,
})
}
pub fn tx_redeem_encsig(&self) -> bitcoin::EncryptedSignature {
let tx_redeem =
bitcoin::TxRedeem::new(&self.tx_lock, &self.redeem_address, self.tx_redeem_fee);
@ -530,7 +553,7 @@ impl State4 {
self.A,
self.b.public(),
self.tx_cancel_fee,
);
)?;
let tx_lock_status = bitcoin_wallet.status_of_script(&self.tx_lock).await?;
let tx_cancel_status = bitcoin_wallet.status_of_script(&tx_cancel).await?;
@ -560,7 +583,7 @@ impl State4 {
}
}
#[derive(Debug, Clone, Deserialize, Serialize, PartialEq)]
#[derive(Debug, Clone, Deserialize, Serialize, PartialEq, Eq)]
pub struct State5 {
#[serde(with = "monero_private_key")]
s_a: monero::PrivateKey,
@ -611,7 +634,7 @@ impl State6 {
self.A,
self.b.public(),
self.tx_cancel_fee,
);
)?;
let tx_lock_status = bitcoin_wallet.status_of_script(&self.tx_lock).await?;
let tx_cancel_status = bitcoin_wallet.status_of_script(&tx_cancel).await?;
@ -634,33 +657,35 @@ impl State6 {
self.A,
self.b.public(),
self.tx_cancel_fee,
);
)?;
let tx = bitcoin_wallet.get_raw_transaction(tx_cancel.txid()).await?;
Ok(tx)
}
pub async fn submit_tx_cancel(&self, bitcoin_wallet: &bitcoin::Wallet) -> Result<Txid> {
pub async fn submit_tx_cancel(
&self,
bitcoin_wallet: &bitcoin::Wallet,
) -> Result<(Txid, Subscription)> {
let transaction = bitcoin::TxCancel::new(
&self.tx_lock,
self.cancel_timelock,
self.A,
self.b.public(),
self.tx_cancel_fee,
)
)?
.complete_as_bob(self.A, self.b.clone(), self.tx_cancel_sig_a.clone())
.context("Failed to complete Bitcoin cancel transaction")?;
let (tx_id, _) = bitcoin_wallet.broadcast(transaction, "cancel").await?;
let (tx_id, subscription) = bitcoin_wallet.broadcast(transaction, "cancel").await?;
Ok(tx_id)
Ok((tx_id, subscription))
}
pub async fn publish_refund_btc(&self, bitcoin_wallet: &bitcoin::Wallet) -> Result<()> {
let signed_tx_refund = self.signed_refund_transaction()?;
let (_, subscription) = bitcoin_wallet.broadcast(signed_tx_refund, "refund").await?;
subscription.wait_until_final().await?;
bitcoin_wallet.broadcast(signed_tx_refund, "refund").await?;
Ok(())
}
@ -672,7 +697,7 @@ impl State6 {
self.A,
self.b.public(),
self.tx_cancel_fee,
);
)?;
let tx_refund =
bitcoin::TxRefund::new(&tx_cancel, &self.refund_address, self.tx_refund_fee);

@ -117,7 +117,7 @@ async fn next_state(
} => {
let tx_lock_status = bitcoin_wallet.subscribe_to(state3.tx_lock.clone()).await;
if let ExpiredTimelocks::None = state3.current_epoch(bitcoin_wallet).await? {
if let ExpiredTimelocks::None { .. } = state3.expired_timelock(bitcoin_wallet).await? {
let transfer_proof_watcher = event_loop_handle.recv_transfer_proof();
let cancel_timelock_expires =
tx_lock_status.wait_until_confirmed_with(state3.cancel_timelock);
@ -137,7 +137,7 @@ async fn next_state(
}
},
result = cancel_timelock_expires => {
let _ = result?;
result?;
tracing::info!("Alice took too long to lock Monero, cancelling the swap");
let state4 = state3.cancel();
@ -156,7 +156,7 @@ async fn next_state(
} => {
let tx_lock_status = bitcoin_wallet.subscribe_to(state.tx_lock.clone()).await;
if let ExpiredTimelocks::None = state.current_epoch(bitcoin_wallet).await? {
if let ExpiredTimelocks::None { .. } = state.expired_timelock(bitcoin_wallet).await? {
let watch_request = state.lock_xmr_watch_request(lock_transfer_proof);
select! {
@ -174,7 +174,7 @@ async fn next_state(
}
}
result = tx_lock_status.wait_until_confirmed_with(state.cancel_timelock) => {
let _ = result?;
result?;
BobState::CancelTimelockExpired(state.cancel())
}
}
@ -183,9 +183,16 @@ async fn next_state(
}
}
BobState::XmrLocked(state) => {
// In case we send the encrypted signature to Alice, but she doesn't give us a confirmation
// We need to check if she still published the Bitcoin redeem transaction
// Otherwise we risk staying stuck in "XmrLocked"
if let Ok(state5) = state.check_for_tx_redeem(bitcoin_wallet).await {
return Ok(BobState::BtcRedeemed(state5));
}
let tx_lock_status = bitcoin_wallet.subscribe_to(state.tx_lock.clone()).await;
if let ExpiredTimelocks::None = state.expired_timelock(bitcoin_wallet).await? {
if let ExpiredTimelocks::None { .. } = state.expired_timelock(bitcoin_wallet).await? {
// Alice has locked Xmr
// Bob sends Alice his key
@ -198,7 +205,7 @@ async fn next_state(
}
},
result = tx_lock_status.wait_until_confirmed_with(state.cancel_timelock) => {
let _ = result?;
result?;
BobState::CancelTimelockExpired(state.cancel())
}
}
@ -207,15 +214,22 @@ async fn next_state(
}
}
BobState::EncSigSent(state) => {
// We need to make sure that Alice did not publish the redeem transaction while we were offline
// Even if the cancel timelock expired, if Alice published the redeem transaction while we were away we cannot miss it
// If we do we cannot refund and will never be able to leave the "CancelTimelockExpired" state
if let Ok(state5) = state.check_for_tx_redeem(bitcoin_wallet).await {
return Ok(BobState::BtcRedeemed(state5));
}
let tx_lock_status = bitcoin_wallet.subscribe_to(state.tx_lock.clone()).await;
if let ExpiredTimelocks::None = state.expired_timelock(bitcoin_wallet).await? {
if let ExpiredTimelocks::None { .. } = state.expired_timelock(bitcoin_wallet).await? {
select! {
state5 = state.watch_for_redeem_btc(bitcoin_wallet) => {
BobState::BtcRedeemed(state5?)
},
result = tx_lock_status.wait_until_confirmed_with(state.cancel_timelock) => {
let _ = result?;
result?;
BobState::CancelTimelockExpired(state.cancel())
}
}
@ -227,6 +241,9 @@ async fn next_state(
let (spend_key, view_key) = state.xmr_keys();
let wallet_file_name = swap_id.to_string();
tracing::info!(%wallet_file_name, "Generating and opening Monero wallet from the extracted keys to redeem the Monero");
if let Err(e) = monero_wallet
.create_from_and_load(
wallet_file_name.clone(),
@ -241,7 +258,7 @@ async fn next_state(
// might not be able to ever transfer the Monero.
tracing::warn!("Failed to generate monero wallet from keys: {:#}", e);
tracing::info!(%wallet_file_name,
"Falling back to trying to open the the wallet if it already exists",
"Falling back to trying to open the wallet if it already exists",
);
monero_wallet.open(wallet_file_name).await?;
}
@ -269,18 +286,21 @@ async fn next_state(
BobState::BtcCancelled(state) => {
// Bob has cancelled the swap
match state.expired_timelock(bitcoin_wallet).await? {
ExpiredTimelocks::None => {
ExpiredTimelocks::None { .. } => {
bail!(
"Internal error: canceled state reached before cancel timelock was expired"
);
}
ExpiredTimelocks::Cancel => {
ExpiredTimelocks::Cancel { .. } => {
state.publish_refund_btc(bitcoin_wallet).await?;
BobState::BtcRefunded(state)
}
ExpiredTimelocks::Punish => BobState::BtcPunished {
tx_lock_id: state.tx_lock_id(),
},
ExpiredTimelocks::Punish => {
tracing::info!("You have been punished for not refunding in time");
BobState::BtcPunished {
tx_lock_id: state.tx_lock_id(),
}
}
}
}
BobState::BtcRefunded(state4) => BobState::BtcRefunded(state4),

@ -0,0 +1,31 @@
use crate::api::Context;
use jsonrpsee::server::{RpcModule, ServerBuilder, ServerHandle};
use std::net::SocketAddr;
use std::sync::Arc;
use thiserror::Error;
pub mod methods;
#[derive(Debug, Error)]
pub enum Error {
#[error("Could not parse key value from params")]
ParseError,
}
pub async fn run_server(
server_address: SocketAddr,
context: Arc<Context>,
) -> anyhow::Result<(SocketAddr, ServerHandle)> {
let server = ServerBuilder::default().build(server_address).await?;
let mut modules = RpcModule::new(());
{
modules
.merge(methods::register_modules(Arc::clone(&context))?)
.expect("Could not register RPC modules")
}
let addr = server.local_addr()?;
let server_handle = server.start(modules)?;
Ok((addr, server_handle))
}

@ -0,0 +1,236 @@
use crate::api::request::{Method, Request};
use crate::api::Context;
use crate::bitcoin::bitcoin_address;
use crate::monero::monero_address;
use crate::{bitcoin, monero};
use anyhow::Result;
use jsonrpsee::server::RpcModule;
use jsonrpsee::types::Params;
use libp2p::core::Multiaddr;
use std::collections::HashMap;
use std::str::FromStr;
use std::sync::Arc;
use uuid::Uuid;
pub fn register_modules(context: Arc<Context>) -> Result<RpcModule<Arc<Context>>> {
let mut module = RpcModule::new(context);
module.register_async_method("suspend_current_swap", |params, context| async move {
execute_request(params, Method::SuspendCurrentSwap, &context).await
})?;
module.register_async_method("get_swap_info", |params_raw, context| async move {
let params: HashMap<String, serde_json::Value> = params_raw.parse()?;
let swap_id = params
.get("swap_id")
.ok_or_else(|| jsonrpsee_core::Error::Custom("Does not contain swap_id".to_string()))?;
let swap_id = as_uuid(swap_id)
.ok_or_else(|| jsonrpsee_core::Error::Custom("Could not parse swap_id".to_string()))?;
execute_request(params_raw, Method::GetSwapInfo { swap_id }, &context).await
})?;
module.register_async_method("get_bitcoin_balance", |params_raw, context| async move {
let params: HashMap<String, serde_json::Value> = params_raw.parse()?;
let force_refresh = params
.get("force_refresh")
.ok_or_else(|| {
jsonrpsee_core::Error::Custom("Does not contain force_refresh".to_string())
})?
.as_bool()
.ok_or_else(|| {
jsonrpsee_core::Error::Custom("force_refesh is not a boolean".to_string())
})?;
execute_request(params_raw, Method::Balance { force_refresh }, &context).await
})?;
module.register_async_method("get_history", |params, context| async move {
execute_request(params, Method::History, &context).await
})?;
module.register_async_method("get_raw_states", |params, context| async move {
execute_request(params, Method::GetRawStates, &context).await
})?;
module.register_async_method("resume_swap", |params_raw, context| async move {
let params: HashMap<String, serde_json::Value> = params_raw.parse()?;
let swap_id = params
.get("swap_id")
.ok_or_else(|| jsonrpsee_core::Error::Custom("Does not contain swap_id".to_string()))?;
let swap_id = as_uuid(swap_id)
.ok_or_else(|| jsonrpsee_core::Error::Custom("Could not parse swap_id".to_string()))?;
execute_request(params_raw, Method::Resume { swap_id }, &context).await
})?;
module.register_async_method("cancel_refund_swap", |params_raw, context| async move {
let params: HashMap<String, serde_json::Value> = params_raw.parse()?;
let swap_id = params
.get("swap_id")
.ok_or_else(|| jsonrpsee_core::Error::Custom("Does not contain swap_id".to_string()))?;
let swap_id = as_uuid(swap_id)
.ok_or_else(|| jsonrpsee_core::Error::Custom("Could not parse swap_id".to_string()))?;
execute_request(params_raw, Method::CancelAndRefund { swap_id }, &context).await
})?;
module.register_async_method(
"get_monero_recovery_info",
|params_raw, context| async move {
let params: HashMap<String, serde_json::Value> = params_raw.parse()?;
let swap_id = params.get("swap_id").ok_or_else(|| {
jsonrpsee_core::Error::Custom("Does not contain swap_id".to_string())
})?;
let swap_id = as_uuid(swap_id).ok_or_else(|| {
jsonrpsee_core::Error::Custom("Could not parse swap_id".to_string())
})?;
execute_request(params_raw, Method::MoneroRecovery { swap_id }, &context).await
},
)?;
module.register_async_method("withdraw_btc", |params_raw, context| async move {
let params: HashMap<String, String> = params_raw.parse()?;
let amount = if let Some(amount_str) = params.get("amount") {
Some(
::bitcoin::Amount::from_str_in(amount_str, ::bitcoin::Denomination::Bitcoin)
.map_err(|_| {
jsonrpsee_core::Error::Custom("Unable to parse amount".to_string())
})?,
)
} else {
None
};
let withdraw_address =
bitcoin::Address::from_str(params.get("address").ok_or_else(|| {
jsonrpsee_core::Error::Custom("Does not contain address".to_string())
})?)
.map_err(|err| jsonrpsee_core::Error::Custom(err.to_string()))?;
let withdraw_address =
bitcoin_address::validate(withdraw_address, context.config.env_config.bitcoin_network)?;
execute_request(
params_raw,
Method::WithdrawBtc {
amount,
address: withdraw_address,
},
&context,
)
.await
})?;
module.register_async_method("buy_xmr", |params_raw, context| async move {
let params: HashMap<String, String> = params_raw.parse()?;
let bitcoin_change_address =
bitcoin::Address::from_str(params.get("bitcoin_change_address").ok_or_else(|| {
jsonrpsee_core::Error::Custom("Does not contain bitcoin_change_address".to_string())
})?)
.map_err(|err| jsonrpsee_core::Error::Custom(err.to_string()))?;
let bitcoin_change_address = bitcoin_address::validate(
bitcoin_change_address,
context.config.env_config.bitcoin_network,
)?;
let monero_receive_address =
monero::Address::from_str(params.get("monero_receive_address").ok_or_else(|| {
jsonrpsee_core::Error::Custom("Does not contain monero_receiveaddress".to_string())
})?)
.map_err(|err| jsonrpsee_core::Error::Custom(err.to_string()))?;
let monero_receive_address = monero_address::validate(
monero_receive_address,
context.config.env_config.monero_network,
)?;
let seller =
Multiaddr::from_str(params.get("seller").ok_or_else(|| {
jsonrpsee_core::Error::Custom("Does not contain seller".to_string())
})?)
.map_err(|err| jsonrpsee_core::Error::Custom(err.to_string()))?;
execute_request(
params_raw,
Method::BuyXmr {
bitcoin_change_address,
monero_receive_address,
seller,
swap_id: Uuid::new_v4(),
},
&context,
)
.await
})?;
module.register_async_method("list_sellers", |params_raw, context| async move {
let params: HashMap<String, serde_json::Value> = params_raw.parse()?;
let rendezvous_point = params.get("rendezvous_point").ok_or_else(|| {
jsonrpsee_core::Error::Custom("Does not contain rendezvous_point".to_string())
})?;
let rendezvous_point = rendezvous_point
.as_str()
.and_then(|addr_str| Multiaddr::from_str(addr_str).ok())
.ok_or_else(|| {
jsonrpsee_core::Error::Custom("Could not parse valid multiaddr".to_string())
})?;
execute_request(
params_raw,
Method::ListSellers {
rendezvous_point: rendezvous_point.clone(),
},
&context,
)
.await
})?;
module.register_async_method("get_current_swap", |params, context| async move {
execute_request(params, Method::GetCurrentSwap, &context).await
})?;
Ok(module)
}
fn as_uuid(json_value: &serde_json::Value) -> Option<Uuid> {
if let Some(uuid_str) = json_value.as_str() {
Uuid::parse_str(uuid_str).ok()
} else {
None
}
}
async fn execute_request(
params: Params<'static>,
cmd: Method,
context: &Arc<Context>,
) -> Result<serde_json::Value, jsonrpsee_core::Error> {
// If we fail to parse the params as a String HashMap, it's most likely because its an empty object
// In that case, we want to make sure not to fail the request, so we set the log_reference_id to None
// and swallow the error
let reference_id = params
.parse::<HashMap<String, serde_json::Value>>()
.ok()
.and_then(|params_parsed| params_parsed.get("log_reference_id").cloned());
let request = Request::with_id(cmd, reference_id.map(|log_ref| log_ref.to_string()));
request
.call(Arc::clone(context))
.await
.map_err(|err| jsonrpsee_core::Error::Custom(format!("{:#}", err)))
}

@ -16,7 +16,7 @@ use torut::onion::TorSecretKeyV3;
pub const SEED_LENGTH: usize = 32;
#[derive(Eq, PartialEq)]
#[derive(Clone, Eq, PartialEq)]
pub struct Seed([u8; SEED_LENGTH]);
impl Seed {
@ -61,7 +61,7 @@ impl Seed {
let file_path = Path::new(&file_path_buf);
if file_path.exists() {
return Self::from_file(&file_path);
return Self::from_file(file_path);
}
tracing::debug!("No seed file found, creating at {}", file_path.display());
@ -106,11 +106,12 @@ impl Seed {
}
fn from_pem(pem: pem::Pem) -> Result<Self, Error> {
if pem.contents.len() != SEED_LENGTH {
Err(Error::IncorrectLength(pem.contents.len()))
let contents = pem.contents();
if contents.len() != SEED_LENGTH {
Err(Error::IncorrectLength(contents.len()))
} else {
let mut array = [0; SEED_LENGTH];
for (i, b) in pem.contents.iter().enumerate() {
for (i, b) in contents.iter().enumerate() {
array[i] = *b;
}
@ -122,10 +123,7 @@ impl Seed {
ensure_directory_exists(&seed_file)?;
let data = self.bytes();
let pem = Pem {
tag: String::from("SEED"),
contents: data.to_vec(),
};
let pem = Pem::new("SEED", data);
let pem_string = encode(&pem);
@ -187,6 +185,9 @@ mod tests {
#[test]
fn seed_from_pem_works() {
use base64::engine::general_purpose;
use base64::Engine;
let payload: &str = "syl9wSYaruvgxg9P5Q1qkZaq5YkM6GvXkxe+VYrL/XM=";
// 32 bytes base64 encoded.
@ -195,7 +196,7 @@ syl9wSYaruvgxg9P5Q1qkZaq5YkM6GvXkxe+VYrL/XM=
-----END SEED-----
";
let want = base64::decode(payload).unwrap();
let want = general_purpose::STANDARD.decode(payload).unwrap();
let pem = pem::parse(pem_string).unwrap();
let got = Seed::from_pem(pem).unwrap();
@ -221,19 +222,20 @@ VnZUNFZ4dlY=
}
#[test]
#[should_panic]
fn seed_from_pem_fails_for_long_seed() {
let long = "-----BEGIN SEED-----
mbKANv2qKGmNVg1qtquj6Hx1pFPelpqOfE2JaJJAMEg1FlFhNRNlFlE=
mbKANv2qKGmNVg1qtquj6Hx1pFPelpqOfE2JaJJAMEg1FlFhNRNlFlE=
MIIBPQIBAAJBAOsfi5AGYhdRs/x6q5H7kScxA0Kzzqe6WI6gf6+tc6IvKQJo5rQc
dWWSQ0nRGt2hOPDO+35NKhQEjBQxPh/v7n0CAwEAAQJBAOGaBAyuw0ICyENy5NsO
-----END SEED-----
";
let pem = pem::parse(long).unwrap();
assert_eq!(pem.contents().len(), 96);
match Seed::from_pem(pem) {
Ok(_) => panic!("should fail for long payload"),
Err(e) => {
match e {
Error::IncorrectLength(_) => {} // pass
Error::IncorrectLength(len) => assert_eq!(len, 96), // pass
_ => panic!("should fail with IncorrectLength error"),
}
}

@ -41,7 +41,7 @@ impl MakeCapturingWriter {
}
}
impl MakeWriter<'_> for MakeCapturingWriter {
impl<'a> MakeWriter<'a> for MakeCapturingWriter {
type Writer = CapturingWriter;
fn make_writer(&self) -> Self::Writer {

@ -50,7 +50,7 @@ async fn given_alice_and_bob_manually_refund_after_funds_locked_both_refund() {
// Bob manually cancels
bob_join_handle.abort();
let (_, state) = cli::cancel(bob_swap.id, bob_swap.bitcoin_wallet, bob_swap.db).await?;
let (_, _, state) = cli::cancel(bob_swap.id, bob_swap.bitcoin_wallet, bob_swap.db).await?;
assert!(matches!(state, BobState::BtcCancelled { .. }));
let (bob_swap, bob_join_handle) = ctx
@ -64,7 +64,7 @@ async fn given_alice_and_bob_manually_refund_after_funds_locked_both_refund() {
ctx.assert_bob_refunded(bob_state).await;
// manually refund ALice's swap
// manually refund Alice's swap
ctx.restart_alice().await;
let alice_swap = ctx.alice_next_swap().await;
let alice_state = asb::refund(

@ -0,0 +1,74 @@
pub mod harness;
use harness::alice_run_until::is_xmr_lock_transaction_sent;
use harness::bob_run_until::is_btc_locked;
use harness::FastCancelConfig;
use swap::asb::FixedRate;
use swap::protocol::alice::AliceState;
use swap::protocol::bob::BobState;
use swap::protocol::{alice, bob};
use swap::{asb, cli};
#[tokio::test]
async fn given_alice_and_bob_manually_cancel_and_refund_after_funds_locked_both_refund() {
harness::setup_test(FastCancelConfig, |mut ctx| async move {
let (bob_swap, bob_join_handle) = ctx.bob_swap().await;
let bob_swap_id = bob_swap.id;
let bob_swap = tokio::spawn(bob::run_until(bob_swap, is_btc_locked));
let alice_swap = ctx.alice_next_swap().await;
let alice_swap = tokio::spawn(alice::run_until(
alice_swap,
is_xmr_lock_transaction_sent,
FixedRate::default(),
));
let bob_state = bob_swap.await??;
assert!(matches!(bob_state, BobState::BtcLocked { .. }));
let alice_state = alice_swap.await??;
assert!(matches!(
alice_state,
AliceState::XmrLockTransactionSent { .. }
));
let (bob_swap, bob_join_handle) = ctx
.stop_and_resume_bob_from_db(bob_join_handle, bob_swap_id)
.await;
// Ensure cancel timelock is expired
if let BobState::BtcLocked { state3, .. } = bob_swap.state.clone() {
bob_swap
.bitcoin_wallet
.subscribe_to(state3.tx_lock)
.await
.wait_until_confirmed_with(state3.cancel_timelock)
.await?;
} else {
panic!("Bob in unexpected state {}", bob_swap.state);
}
// Bob manually cancels and refunds
bob_join_handle.abort();
let bob_state =
cli::cancel_and_refund(bob_swap.id, bob_swap.bitcoin_wallet, bob_swap.db).await?;
ctx.assert_bob_refunded(bob_state).await;
// manually refund Alice's swap
ctx.restart_alice().await;
let alice_swap = ctx.alice_next_swap().await;
let alice_state = asb::refund(
alice_swap.swap_id,
alice_swap.bitcoin_wallet,
alice_swap.monero_wallet,
alice_swap.db,
)
.await?;
ctx.assert_alice_refunded(alice_state).await;
Ok(())
})
.await
}

@ -0,0 +1,27 @@
#!/bin/bash
set -euxo pipefail
VERSION=0.11.1
mkdir bdk
stat ./target/debug/swap || exit 1
cp ./target/debug/swap bdk/swap-current
pushd bdk
echo "download swap $VERSION"
curl -L "https://github.com/comit-network/xmr-btc-swap/releases/download/${VERSION}/swap_${VERSION}_Linux_x86_64.tar" | tar xv
echo "create testnet wallet with $VERSION"
./swap --testnet --data-base-dir . --debug balance || exit 1
echo "check testnet wallet with this version"
./swap-current --testnet --data-base-dir . --debug balance || exit 1
echo "create mainnet wallet with $VERSION"
./swap --version || exit 1
./swap --data-base-dir . --debug balance || exit 1
echo "check mainnet wallet with this version"
./swap-current --version || exit 1
./swap-current --data-base-dir . --debug balance || exit 1
exit 0

@ -8,7 +8,7 @@ async fn ensure_same_swap_id_for_alice_and_bob() {
harness::setup_test(SlowCancelConfig, |mut ctx| async move {
let (bob_swap, _) = ctx.bob_swap().await;
let bob_swap_id = bob_swap.id;
let _ = tokio::spawn(bob::run(bob_swap));
tokio::spawn(bob::run(bob_swap));
// once Bob's swap is spawned we can retrieve Alice's swap and assert on the
// swap ID

@ -0,0 +1,44 @@
pub mod harness;
use crate::harness::bob_run_until::is_encsig_sent;
use swap::asb::FixedRate;
use swap::protocol::bob::BobState;
use swap::protocol::{alice, bob};
use tokio::join;
#[tokio::test]
async fn given_bob_restarts_while_alice_redeems_btc() {
harness::setup_test(harness::SlowCancelConfig, |mut ctx| async move {
let (bob_swap, bob_handle) = ctx.bob_swap().await;
let swap_id = bob_swap.id;
let bob_swap = tokio::spawn(bob::run_until(bob_swap, is_encsig_sent));
let alice_swap = ctx.alice_next_swap().await;
let alice_swap = tokio::spawn(alice::run(alice_swap, FixedRate::default()));
let (bob_state, alice_state) = join!(bob_swap, alice_swap);
ctx.assert_alice_redeemed(alice_state??).await;
assert!(matches!(bob_state??, BobState::EncSigSent { .. }));
let (bob_swap, _) = ctx.stop_and_resume_bob_from_db(bob_handle, swap_id).await;
if let BobState::EncSigSent(state4) = bob_swap.state.clone() {
bob_swap
.bitcoin_wallet
.subscribe_to(state4.tx_lock)
.await
.wait_until_confirmed_with(state4.cancel_timelock)
.await?;
} else {
panic!("Bob in unexpected state {}", bob_swap.state);
}
// Restart Bob
let bob_state = bob::run(bob_swap).await?;
ctx.assert_bob_redeemed(bob_state).await;
Ok(())
})
.await;
}

@ -1,6 +1,5 @@
use std::collections::HashMap;
use testcontainers::core::{Container, Docker, WaitForMessage};
use testcontainers::Image;
use std::collections::BTreeMap;
use testcontainers::{core::WaitFor, Image, ImageArgs};
pub const RPC_USER: &str = "admin";
pub const RPC_PASSWORD: &str = "123";
@ -10,57 +9,27 @@ pub const DATADIR: &str = "/home/bdk";
#[derive(Debug)]
pub struct Bitcoind {
args: BitcoindArgs,
entrypoint: Option<String>,
volume: Option<String>,
volumes: BTreeMap<String, String>,
}
impl Image for Bitcoind {
type Args = BitcoindArgs;
type EnvVars = HashMap<String, String>;
type Volumes = HashMap<String, String>;
type EntryPoint = str;
fn descriptor(&self) -> String {
"coblox/bitcoin-core:0.21.0".to_string()
fn name(&self) -> String {
"coblox/bitcoin-core".into()
}
fn wait_until_ready<D: Docker>(&self, container: &Container<'_, D, Self>) {
container
.logs()
.stdout
.wait_for_message(&"init message: Done loading")
.unwrap();
fn tag(&self) -> String {
"0.21.0".into()
}
fn args(&self) -> <Self as Image>::Args {
self.args.clone()
fn ready_conditions(&self) -> Vec<WaitFor> {
vec![WaitFor::message_on_stdout("init message: Done loading")]
}
fn volumes(&self) -> Self::Volumes {
let mut volumes = HashMap::new();
match self.volume.clone() {
None => {}
Some(volume) => {
volumes.insert(volume, DATADIR.to_string());
}
}
volumes
}
fn env_vars(&self) -> Self::EnvVars {
HashMap::new()
}
fn with_args(self, args: <Self as Image>::Args) -> Self {
Bitcoind { args, ..self }
}
fn with_entrypoint(self, entrypoint: &Self::EntryPoint) -> Self {
Self {
entrypoint: Some(entrypoint.to_string()),
..self
}
fn volumes(&self) -> Box<dyn Iterator<Item = (&String, &String)> + '_> {
Box::new(self.volumes.iter())
}
fn entrypoint(&self) -> Option<String> {
@ -71,16 +40,15 @@ impl Image for Bitcoind {
impl Default for Bitcoind {
fn default() -> Self {
Bitcoind {
args: BitcoindArgs::default(),
entrypoint: Some("/usr/bin/bitcoind".into()),
volume: None,
volumes: BTreeMap::default(),
}
}
}
impl Bitcoind {
pub fn with_volume(mut self, volume: String) -> Self {
self.volume = Some(volume);
self.volumes.insert(volume, DATADIR.to_string());
self
}
}
@ -109,7 +77,6 @@ impl IntoIterator for BitcoindArgs {
format!("-rpcuser={}", RPC_USER),
format!("-rpcpassword={}", RPC_PASSWORD),
"-printtoconsole".to_string(),
"-rest".to_string(),
"-fallbackfee=0.0002".to_string(),
format!("-datadir={}", DATADIR),
format!("-rpcport={}", RPC_PORT),
@ -120,3 +87,9 @@ impl IntoIterator for BitcoindArgs {
args.into_iter()
}
}
impl ImageArgs for BitcoindArgs {
fn into_iterator(self) -> Box<dyn Iterator<Item = String>> {
Box::new(self.into_iter())
}
}

@ -1,8 +1,8 @@
use std::collections::BTreeMap;
use crate::harness::bitcoind;
use bitcoin::Network;
use std::collections::HashMap;
use testcontainers::core::{Container, Docker, WaitForMessage};
use testcontainers::Image;
use testcontainers::{core::WaitFor, Image, ImageArgs};
pub const HTTP_PORT: u16 = 60401;
pub const RPC_PORT: u16 = 3002;
@ -13,51 +13,25 @@ pub struct Electrs {
args: ElectrsArgs,
entrypoint: Option<String>,
wait_for_message: String,
volume: String,
bitcoind_container_name: String,
volumes: BTreeMap<String, String>,
}
impl Image for Electrs {
type Args = ElectrsArgs;
type EnvVars = HashMap<String, String>;
type Volumes = HashMap<String, String>;
type EntryPoint = str;
fn descriptor(&self) -> String {
format!("vulpemventures/electrs:{}", self.tag)
}
fn wait_until_ready<D: Docker>(&self, container: &Container<'_, D, Self>) {
container
.logs()
.stderr
.wait_for_message(&self.wait_for_message)
.unwrap();
fn name(&self) -> String {
"vulpemventures/electrs".into()
}
fn args(&self) -> <Self as Image>::Args {
self.args.clone()
fn tag(&self) -> String {
self.tag.clone()
}
fn volumes(&self) -> Self::Volumes {
let mut volumes = HashMap::new();
volumes.insert(self.volume.clone(), bitcoind::DATADIR.to_string());
volumes
fn ready_conditions(&self) -> Vec<WaitFor> {
vec![WaitFor::message_on_stderr(self.wait_for_message.clone())]
}
fn env_vars(&self) -> Self::EnvVars {
HashMap::new()
}
fn with_args(self, args: <Self as Image>::Args) -> Self {
Electrs { args, ..self }
}
fn with_entrypoint(self, entrypoint: &Self::EntryPoint) -> Self {
Self {
entrypoint: Some(entrypoint.to_string()),
..self
}
fn volumes(&self) -> Box<dyn Iterator<Item = (&String, &String)> + '_> {
Box::new(self.volumes.iter())
}
fn entrypoint(&self) -> Option<String> {
@ -72,8 +46,7 @@ impl Default for Electrs {
args: ElectrsArgs::default(),
entrypoint: Some("/build/electrs".into()),
wait_for_message: "Running accept thread".to_string(),
volume: uuid::Uuid::new_v4().to_string(),
bitcoind_container_name: uuid::Uuid::new_v4().to_string(),
volumes: BTreeMap::default(),
}
}
}
@ -87,7 +60,7 @@ impl Electrs {
}
pub fn with_volume(mut self, volume: String) -> Self {
self.volume = volume;
self.volumes.insert(volume, bitcoind::DATADIR.to_string());
self
}
@ -95,6 +68,11 @@ impl Electrs {
self.args.daemon_rpc_addr = name;
self
}
pub fn self_and_args(self) -> (Self, ElectrsArgs) {
let args = self.args.clone();
(self, args)
}
}
#[derive(Debug, Clone)]
@ -139,7 +117,7 @@ impl IntoIterator for ElectrsArgs {
}
args.push("-vvvvv".to_string());
args.push(format!("--daemon-dir=={}", self.daemon_dir.as_str()));
args.push(format!("--daemon-dir={}", self.daemon_dir.as_str()));
args.push(format!("--daemon-rpc-addr={}", self.daemon_rpc_addr));
args.push(format!("--cookie={}", self.cookie));
args.push(format!("--http-addr={}", self.http_addr));
@ -149,3 +127,9 @@ impl IntoIterator for ElectrsArgs {
args.into_iter()
}
}
impl ImageArgs for ElectrsArgs {
fn into_iterator(self) -> Box<dyn Iterator<Item = String>> {
Box::new(self.into_iter())
}
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save