Commit Graph
95 Commits
Author SHA1 Message Date
Alekos Filini c0a92bd084 [keys] Replace (Fingerprint, DerivationPath) with KeySource 2020-12-11 11:16:41 +01:00
Alekos Filini 9bafdfe2d4 [docs] Various fixes to the docs 2020-12-11 11:16:38 +01:00
Steve Myers 602ae3d63a Add TODOs for missing_docs 2020-12-07 18:25:16 -08:00
Riccardo Casatta 8b1a9d2518 [docs] descriptor/error.rs 2020-12-05 13:25:58 +01:00
Alekos Filini ebfe5db0c3 [wallet] Add a flag to fill-in PSBT_GLOBAL_XPUB 2020-12-01 16:43:38 +01:00
LLFourn d2490d9ce3 Fix to at least bitcoin ^0.25.2
And fix the fallout.
2020-11-23 15:06:13 +11:00
Justin Moon 9e2b2d04ba More consistent references with 'signers' variables 2020-11-19 10:27:34 -06:00
Justin Moon b1b2f2abd6 [wallet] Don't wrap SignersContainer arguments in Arc 2020-11-19 10:27:33 -06:00
Alekos Filini 6f4d2846d3 [descriptor] Add support for sortedmulti in descriptor! 2020-11-17 23:57:33 +01:00
Alekos Filini 7a42c5e095 Switch to "mainline" rust-miniscript 2020-11-17 23:57:28 +01:00
Alekos Filini 7c80aec454 [wallet] Take both spending policies into account in create_tx
This allows specifying different "policy paths" for the internal and external
descriptors, and adds additional checks to make sure they are compatibile (i.e.
the timelocks are expressed in the same unit).

It's still suboptimal, since the `n_sequence`s are per-input and not per-transaction,
so it should be possibile to spend different inputs with different, otherwise
incompatible, `CSV` timelocks, but that requires a larger refactor that
can be done in a future patch.

This commit also tries to clarify how the "policy path" should be used by adding
a fairly detailed example to the docs.
2020-11-13 12:55:42 +01:00
Steve Myers 8927d68a69 [descriptor] Comment out incomplete ExtractPolicy trait tests 2020-10-26 12:48:31 -07:00
Steve Myers 3a80e87ccb [descriptor] Fix compile errors after rebase 2020-10-26 12:48:27 -07:00
Steve Myers e31f5306d2 [descriptor] Add descriptor macro tests 2020-10-26 12:48:23 -07:00
Steve Myers 9fa9a304b9 [descriptor] Add get_checksum tests, cleanup tests 2020-10-26 12:48:19 -07:00
Steve Myers bc0e9c9831 [descriptor] Add ExtractPolicy trait tests 2020-10-26 12:48:15 -07:00
Alekos Filini 100f0aaa0a Bump rust-bitcoin to 0.25, fix Cargo dependencies
Closes #112, closes #113, closes #124
2020-10-13 10:39:48 +02:00
Steve Myers 070d481849 [ci] Fix clippy warnings for 1.47.0 2020-10-10 10:31:08 -07:00
Steve Myers aea9abff8a [ci] Fix clippy warnings, enable clippy checks 2020-10-10 10:31:07 -07:00
Alekos Filini 1faf0ed0a0 Fix the recovery of a descriptor given a PSBT
This commit upgrades `rust-miniscript` with a fix to only return the prefix that
matches a `hd_keypath` instead of the full derivation path, and then adapts the
signer code accordingly.

This commit closes #108 and #109.
2020-10-02 17:52:11 +02:00
Steve Myers eae15563d8 [descriptor] add ToWalletDescriptor trait tests 2020-09-25 22:21:11 -07:00
Alekos Filini c93cd1414a [descriptor] Add descriptor templates, add DerivableKey 2020-09-24 09:53:54 +02:00
Alekos Filini c51ba4a99f [keys] Add a way to restrict the networks in which keys are valid
Thanks to the `ToWalletDescriptor` trait we can also very easily validate the checksum
for descriptors that are loaded from strings, if they contain one. Fixes #20.
2020-09-24 09:53:51 +02:00
Alekos Filini bc8acaf088 [keys] Take ScriptContext into account when converting keys 2020-09-24 09:53:48 +02:00
Alekos Filini ab9d964868 [keys] Add BIP39 support 2020-09-24 09:53:46 +02:00
Alekos Filini 751a553925 [descriptor] Improve the descriptor macro, add traits for key and descriptor types 2020-09-24 09:53:42 +02:00
Alekos Filini 9832ecb660 [descriptor] Add a macro to write descriptors from code 2020-09-24 09:53:41 +02:00
Alekos Filini d7ee38cc52 Rename the library to bdk 2020-09-14 15:13:43 -07:00
Alekos Filini 43cb0331bf Rename the crate to just "magical" 2020-09-04 17:01:33 +02:00
Alekos Filini eee75219e0 Write more docs, make TxBuilder::with_recipients take Scripts 2020-09-04 16:07:41 +02:00
Alekos Filini 7065c1fed6 Write more docs 2020-09-04 11:44:49 +02:00
Alekos Filini c0867a6adc General cleanup for the docs 2020-08-31 15:04:27 +02:00
Alekos Filini d61e974dbe Add the license to every file 2020-08-31 11:48:25 +02:00
Alekos Filini 557f7ef8c9 [wallet] Add AddressValidators 2020-08-30 20:36:25 +02:00
Alekos Filini 37a7547e9c [descriptor] Tests for DescriptorMeta::derive_from_psbt_input() 2020-08-30 20:36:23 +02:00
Alekos Filini 5777431135 Use miniscript::DescriptorPublicKey
This allows us to remove all our custom "ExtendedDescriptor" implementation since that is
now built directly in miniscript.
2020-08-30 20:36:19 +02:00
Alekos Filini 4a51d50e1f Update miniscript to version 1.0 2020-07-19 19:31:40 +02:00
Alekos Filini 4f865ab2c0 [cli] Add a few commands to handle psbts 2020-05-17 18:01:52 +02:00
Alekos Filini fb4abfb99c [wallet] Specify the policy branch with a map 2020-05-16 16:48:31 +02:00
Alekos Filini c1b01e4d8c [descriptors] Transform a descriptor into its "public" version 2020-05-10 17:46:54 +02:00
Alekos Filini f605f4b34d Contribution improvements 2020-04-07 11:19:38 +02:00
Daniela Brozzoni 914719ccf4 Fix path calculation, fix test 2020-04-07 11:17:48 +02:00
Alekos Filini 2a7c7d5272 Policy and contribution 2020-04-07 11:17:46 +02:00
Alekos Filini 1a4e1bd96c Wallet logic 2020-04-07 11:16:53 +02:00
Alekos Filini 4919ff148b Move everything in the root 2020-02-07 12:27:10 +01:00