Merge bitcoindevkit/bdk-cli#236: feat: add BIP353 DNS payment instructions
943b4b648f89c1958cbf5bcd085b28e80e1077a1 fix: separate CreateTx from CreateDnsTx (Sonkeng Maldini)
550918c1c83fbdd941880a7a837fce29550b0a77 fix: unifying recipients before send (Sonkeng Maldini)
6ea1b217a695ba4bb9f1a27b4b2ca1e49fc68801 fix: add log when resolving (Sonkeng Maldini)
e3c8efcf6d805beff974fc0c1dfa7545f42045c1 discard pretty flag and apply reviews (Sonkeng Maldini)
7a2c5dfef61885494391a88d23ebc6edd14add3e feat: integrate BIP 353 dns payment instructions (Sonkeng Maldini)
Pull request description:
<!-- You can erase any parts of this template not applicable to your Pull Request. -->
### Description
This PR adds support for BIP353 payment instructions.
The following notable changes are done:
- Adding of an option `resolve_dns_recipient` which receives a Human Readable Name (HRN) and returns the associated address
- Modify the `create_tx` for it to support user specifying recipients as `HRN`.
### Notes to the reviewers
<!-- In this section you can include notes directed to the reviewers, like explaining why some parts
of the PR were done in a specific way -->
Here is a list of HRN that could be used to test the implementation:
- pay@dunxen.dev: Supports BOLT 12 Payment method only (CAUTION: mainnet)
- send.some@satsto.me: Supports BOLT 12 payment and On Chain (CAUTION: mainnet)
- Testing resolving: `bdk-cli -n testnet resolve_dns_recipient testnet@bitdevsyde.org`
- Testing create tx: `bdk-cli -n testnet wallet -w regtest_default_wallet create_tx --to "bcrt1qe497k549sgw9trzym50tdlegq3xx4apjqynjqm:1000" --to_dns "testnet@bitdevsyde.org:5000"`
## Changelog notice
<!-- Notice the release manager should include in the release tag message changelog -->
<!-- See https://keepachangelog.com/en/1.0.0/ for examples -->
- Add top level command `resolve_dns_recipient` to resolve the DNS payment instructions
- Add option `--to_dns` to `create_tx` command to allow sending to a Human Readable Name (HRN)
### Checklists
#### All Submissions:
* [x] I've signed all my commits
* [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk-cli/blob/master/CONTRIBUTING.md)
* [x] I ran `cargo fmt` and `cargo clippy` before committing
#### New Features:
* [ ] I've added tests for the new feature
* [ ] I've added docs for the new feature
* [ ] I've updated `CHANGELOG.md`
Top commit has no ACKs.
Tree-SHA512: 1bd0d0b26e80f3a271c647cd81ae5e7ab9e6813c7b1776141f05765519bcbc27025801f69f3f9cb72e1ecbe4314373d5e9c3262dfd8a4a1511d176a04bedad3d