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