Commit Graph
96 Commits
Author SHA1 Message Date
Alekos Filini 43cb0331bf Rename the crate to just "magical" 2020-09-04 17:01:33 +02:00
Alekos Filini ac06e35c49 Add docs for Wallet 2020-09-04 16:29:25 +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 7a127d0275 [wallet] Add tests for Wallet::sign() 2020-08-30 20:38:24 +02:00
Alekos Filini ff50087de5 [wallet] Support signing the whole tx instead of individual inputs 2020-08-30 20:38:22 +02:00
Alekos Filini 991db28170 [wallet] Add explicit ordering for the signers 2020-08-30 20:38:20 +02:00
Alekos Filini 557f7ef8c9 [wallet] Add AddressValidators 2020-08-30 20:36:25 +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 77c95b93ac Compact Filters blockchain implementation 2020-08-30 17:23:33 +02:00
Alekos Filini c12aa3d327 Implement RBF and add a few tests 2020-08-14 12:48:07 +02:00
Alekos Filini 53b5f23fb2 [tests] Add tests for Wallet::create_tx() 2020-08-11 11:31:11 +02:00
Alekos Filini 9e5023670e [tests] Add a proc macro to generate tests for OnlineBlockchain types 2020-08-10 17:18:17 +02:00
Alekos Filini c90c752f21 [wallet] Add force_non_witness_utxo() to TxBuilder 2020-08-10 17:18:15 +02:00
Alekos Filini 8d9ccf8d0b [wallet] Allow limiting the use of internal utxos in TxBuilder 2020-08-10 17:18:13 +02:00
Alekos Filini 85090a28eb [wallet] Add RBF and custom versions in TxBuilder 2020-08-10 17:18:11 +02:00
Alekos Filini 0665c9e854 [wallet] TxOrdering, shuffle/bip69 support 2020-08-10 17:18:09 +02:00
Alekos Filini 7005a26fc5 [wallet] Nicer interface for WalletExport 2020-08-10 13:20:48 +02:00
Alekos Filini 08792b2fcd [wallet] Add a type convert fee units, add Wallet::estimate_fee() 2020-08-07 11:23:46 +02:00
Alekos Filini 5f80950971 [export] Implement the wallet import/export format from FullyNoded
This commit closes #31
2020-08-07 10:19:06 +02:00
Alekos Filini b67bbeb202 [wallet] Refill the address pool whenever necessary 2020-08-06 18:11:07 +02:00
Alekos Filini 7a23b2b558 [wallet] Abstract coin selection in a separate trait 2020-08-06 16:56:41 +02:00
Alekos Filini 499e579824 [wallet] Add a TxBuilder struct to simplify create_tx()'s interface 2020-08-06 14:28:22 +02:00
Alekos Filini 927c2f37b9 [wallet] Abstract, multi-platform datetime utils 2020-08-06 14:28:20 +02:00
Alekos Filini 0954049df0 [wallet] Cleanup, remove unnecessary mutable references 2020-08-06 14:28:12 +02:00
Alekos Filini 4fcf7ac89e Make the blockchain interface async again on wasm32-unknown-unknown
The procedural macro `#[maybe_async]` makes a method or every method of a trait
"async" whenever the target_arch is `wasm32`, and leaves them untouched on
every other platform.

The macro `maybe_await!($e:expr)` can be used to call `maybe_async` methods on
multi-platform code: it expands to `$e` on non-wasm32 platforms and to
`$e.await` on wasm32.

The macro `await_or_block!($e:expr)` can be used to contain async code as much
as possible: it expands to `tokio::runtime::Runtime::new().unwrap().block_on($e)`
on non-wasm32 platforms, and to `$e.await` on wasm32.
2020-07-20 20:02:24 +02:00
Alekos Filini 123984e99d Remove async, upgrade electrum-client 2020-07-17 09:44:01 +02:00
Alekos Filini c3923b66f8 Remove unused file 2020-06-30 17:21:56 +02:00
Alekos Filini ea62337f0d [database] Replace DerivationPaths with single u32s 2020-06-30 15:21:14 +02:00
Alekos Filini 2fb104824a [wallet] Add hd_keypaths to outputs 2020-06-30 14:01:38 +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 1ff9852cff [wasm] Fix SystemTime for wasm and refactor the cli part 2020-05-08 23:30:45 +02:00
Alekos Filini 0cc9e1cdea [blockchain] Use async I/O in the various blockchain impls 2020-05-07 17:36:45 +02:00
Alekos Filini e32559a06a [wallet] Add an option to change the assumed current height 2020-05-06 17:17:14 +02:00
Alekos Filini 75a9c30c9a Add a generalized "Blockchain" interface 2020-05-03 18:16:11 +02:00
Alekos Filini aa93a82904 Add a miniscript compiler CLI 2020-04-29 12:16:58 +02:00
Alekos Filini 04d04fd0b2 [wallet] Add assume_height_reached in PSBTSatisfier 2020-04-28 16:59:15 +02:00
Alekos Filini 3895b30083 [repl] Add broadcast command 2020-04-21 16:39:00 +02:00
Alekos Filini f605f4b34d Contribution improvements 2020-04-07 11:19:38 +02:00
Alekos Filini 2a7c7d5272 Policy and contribution 2020-04-07 11:17:46 +02:00
Daniela Brozzoni 7df3b4844e Small fix in sync 2020-04-07 11:16:55 +02:00
Alekos Filini 1a4e1bd96c Wallet logic 2020-04-07 11:16:53 +02:00