feat(utxo-locking)!: Add commands to lock, unlock and list locked UTXOs#294
Open
tvpeter wants to merge 35 commits into
Open
feat(utxo-locking)!: Add commands to lock, unlock and list locked UTXOs#294tvpeter wants to merge 35 commits into
tvpeter wants to merge 35 commits into
Conversation
- move all blockchain clients code into the backend subdirectory - move commands.rs content into commands subdirectory
- split util fns into `descriptors` and `common`
- move persister into wallet subdirectory - update imports in payjoin module
- split handlers into top level commands config, key and descriptors
- move handler fns into offline, online, wallets modules
- split handler fns into repl - add entry point to the handlers subdir - add wallet subdir entry point
- add trait for formatting outputs - add types for presenting data to the output - refactor offline mod to use types
- add types for descriptor, key and wallets mods
- add simple table helper fn for creating tables - refactor types to use simple table helper - add type defs for key, wallets and descriptors
- rebase master for bip322 feature - update types to use simple table helper
- move wallet subdir into the persister module to simplify the structure as wallet was confusing
- remove --pretty flag - move types to utils - update commands
- add run fn in main to handle routing
- move execution logic into config, desc and key modules
- fix execution logic for subcommands under offline and online wallet subcommands
- Define Init state for when an execution does not need either the wallet or client for execution - Define the Offline wallet operations state for app context when an execution envt needs a wallet - Define the online wallet operations state for appcontext when an execution needs both the wallet and client - make app context generic over the state - make the app command and async app command generic over the execution context - deleted shorten fn as it was applicable to the pretty flag - removed tests for pretty flag
- apply app context with state to all the modules - cover case for commands when db is not required
- add wallet runtime module to serve as context manager - fix clippy errors
- rebase silent payment feature
- Add new address, unused address and createtx commands to list of commands that require loading existing db - adding persisting changes in offline and online commands
- add BdkCli helper struct and impl methods - add integration tests for the key subcommand operations
- Add integration tests for wallets, descriptor, compile and config modules
- add integration tests for offline wallet operations
- Add test for creating, signing, broadcasting tx - Add test for combining psbt, fee bump and other psbt related commands - Add bip322 tests
- add saving proxy_opts for electrum and esplora clients to config and reading values - fix prepare_home_dir util fn
- Update bdk_wallet to v3.1.0 - Replaced Network enum with NetworkKind - Replaced `include_output_redeem_witness_script` with `add_global_xpubs` - update bdk_redb to v0.2.0
- update bdk_kyoto to v0.17.0 - add ew broadcast/subscriber API for KyotoClient
- add wallet commands to lock, unlock and list locked utxos - update unspent command to show status of each outpoint
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR updates the Wallet API to v3.1.0 and adds wallet subcommands to lock and unlock UTXOs. Locked outpoints are excluded from coin selection, and the lock state is stored in the wallet. It also updates the
bdk_redbto v0.2.0 andbdk_kyototo v0.17.0.Fixes #293 and builds upon #289 and #278
Notes to the reviewers
Changelog notice
lock_utxocommandunlock_utxocommandlocked_uxtoscommandNetworkenum withNetworkKindinclude_output_redeem_witness_scriptwithadd_global_xpubsin TxBuildersubmit_packagewithbroadcast_randomfor broadcasting transactions in KyotoClientChecklists
All Submissions:
cargo fmtandcargo clippybefore committingNew Features:
CHANGELOG.md