Steve Myers
4e5537acd2
Add SignOptions to Wallet.sign() params
2023-03-24 10:51:44 -05:00
Steve Myers
6be4ddaf7b
Merge bitcoindevkit/bdk-ffi#325 : Expose Address payload and network properties
...
cd10c75e96 Add to_qr_uri() method on Address type (thunderbiscuit)
cbd44249f3 Add kotlin api-docs for Address.payload() and Address.network() (Steve Myers)
20c31d5383 Expose Address payload and network properties (Steve Myers)
616cb21738 Update Cargo.lock (Steve Myers)
Pull request description:
### Description
Fixes #319
### Notes to the reviewers
The test data was generated with:
```
bitcoin-cli -rpcwallet="regtest2" -datadir=/tmp/regtest1/bitcoind -regtest validateaddress "bcrt1qqjn9gky9mkrm3c28e5e87t5akd3twg6xezp0tv"
{
"isvalid": true,
"address": "bcrt1qqjn9gky9mkrm3c28e5e87t5akd3twg6xezp0tv",
"scriptPubKey": "001404a6545885dd87b8e147cd327f2e9db362b72346",
"isscript": false,
"iswitness": true,
"witness_version": 0,
"witness_program": "04a6545885dd87b8e147cd327f2e9db362b72346"
}
```
### Changelog notice
Added
- Expose Address payload and network properties.
### Checklists
#### All Submissions:
* [x] I've signed all my commits
* [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk/blob/master/CONTRIBUTING.md )
* [x] I ran `cargo fmt` and `cargo clippy` before committing
#### New Features:
* [x] I've added tests for the new feature
* [x] I've added docs for the new feature
ACKs for top commit:
thunderbiscuit:
ACK cd10c75e96 .
Tree-SHA512: 65a1d550577fd4a35cfeb8fb765002e47e0703ff40fc7a68c07b78bc1ba642d33a0efbdfa8f9322024841ba84d25c0e289294c10ae4c1b4d52eb9beffa3d0e10
2023-03-23 16:39:00 -05:00
thunderbiscuit
cd10c75e96
Add to_qr_uri() method on Address type
2023-03-23 17:03:40 -04:00
Steve Myers
cbd44249f3
Add kotlin api-docs for Address.payload() and Address.network()
2023-03-23 15:41:17 -05:00
Steve Myers
20c31d5383
Expose Address payload and network properties
2023-03-23 15:41:17 -05:00
Steve Myers
616cb21738
Update Cargo.lock
2023-03-23 15:41:17 -05:00
Steve Myers
d3a6453eda
Merge bitcoindevkit/bdk-ffi#307 : Expose more of the Transaction type
...
cba69e681a Clean up of From traits implementations (thunderbiscuit)
35d8fb3139 Clean up extract_tx method on PSBT (thunderbiscuit)
f003a6275e Clean up conversion between BDK TransactionDetails to ffi TransactionDetails (thunderbiscuit)
2f62377eec Add Eq and PartialEq traits on the Transaction type (thunderbiscuit)
81e208222a Add uniffi/cli as default feature to cargo (thunderbiscuit)
3dc6596aa2 Add include_raw boolean parameter on wallet list_transactions method (thunderbiscuit)
2342265c26 Remove unused NetworkLocalUtxo type (thunderbiscuit)
6c561228c2 Use the latest version of the Android NDK (thunderbiscuit)
e86909ab3d Clean up input and output methods on Transaction type (thunderbiscuit)
8e51756a3a Fix clippy errors (thunderbiscuit)
40263b425e Remove deprecated bdk-ffi-bindgen tool (thunderbiscuit)
9437051668 Fix fmt and clippy errors (thunderbiscuit)
7557e214c8 Add optional transaction field on the TransactionDetails type (thunderbiscuit)
40ca62086c Expose all fields on the Transaction type (thunderbiscuit)
e0506deffa Add new utility methods on Transaction type (thunderbiscuit)
d3e183a498 Add Kotlin API docs for new Transaction methods (thunderbiscuit)
1e9ecfbe52 Add weight, size, and vsize methods on the Transaction type (thunderbiscuit)
Pull request description:
## Description
We've recently exposed the `Transaction` type, and I think a few methods on it would be useful. ~This is a draft PR with the first 3: `weight()`, `size()`, and `vsize()`~ _Edit: it's now much more_. I think there might be other methods we might want to expose as well. [Take a look at the docs to see them all](https://docs.rs/bitcoin/0.29.2/bitcoin/blockdata/transaction/struct.Transaction.html ).
Other candidates have now been added:
1. [is_explicitly_rbf](https://docs.rs/bitcoin/0.29.2/bitcoin/blockdata/transaction/struct.Transaction.html#method.is_explicitly_rbf )
2. [is_lock_time_enabled](https://docs.rs/bitcoin/0.29.2/bitcoin/blockdata/transaction/struct.Transaction.html#method.is_lock_time_enabled )
3. [is_absolute_timelock_satisfied](https://docs.rs/bitcoin/0.29.2/bitcoin/blockdata/transaction/struct.Transaction.html#method.is_absolute_timelock_satisfied )
4. [is_coin_base](https://docs.rs/bitcoin/0.29.2/bitcoin/blockdata/transaction/struct.Transaction.html#method.is_coin_base )
5. [txid](https://docs.rs/bitcoin/0.29.2/bitcoin/blockdata/transaction/struct.Transaction.html#method.txid )
This PR is growing in size but I decided to add all 4 fields on the `Transaction` type. This is useful because it means we can now add the `transaction` field on the `TransactionDetails` type (also added in this PR).
I still have a few questions regarding all the translation between the ffi and bdk/rust types, some of the traits I had to remove (Eq and PartialEq on the TransactionDetails type) as well as the usage of `Option<Arc<T>>` vs `Arc<Option<T>>`. Will outline those tomorrow.
Closes #303
Closes #187
## Changelog notice
```md
APIs Added
- `Transaction` type now exposes the `.weight()`, `.size()`, `.vsize()`, `is_explicitly_rbf()`, `is_lock_time_enabled()`, `is_coin_base(), and `txid()` methods [#307 ]
[#307 ]: https://github.com/bitcoindevkit/bdk-ffi/pull/307
```
## Checklists
#### All Submissions:
* [x] I've signed all my commits
* [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk/blob/master/CONTRIBUTING.md )
* [x] I ran `cargo fmt` and `cargo clippy` before committing
#### New Features:
* [ ] I've added tests for the new feature
* [x] I've added docs for the new feature
ACKs for top commit:
notmandatory:
ACK cba69e681a
Tree-SHA512: 83e860407b230b6cdca59c0d74a486e52e7ea34d655d418ddc115418551a61665cad8f1d6182858d8ed6d7d72a8558e595e61644efed6c704de8a0b6960a0df2
2023-03-23 15:40:19 -05:00
thunderbiscuit
cba69e681a
Clean up of From traits implementations
2023-03-23 15:16:53 -04:00
thunderbiscuit
35d8fb3139
Clean up extract_tx method on PSBT
2023-03-23 13:14:48 -04:00
thunderbiscuit
f003a6275e
Clean up conversion between BDK TransactionDetails to ffi TransactionDetails
2023-03-23 13:08:55 -04:00
thunderbiscuit
2f62377eec
Add Eq and PartialEq traits on the Transaction type
2023-03-23 12:48:04 -04:00
thunderbiscuit
81e208222a
Add uniffi/cli as default feature to cargo
2023-03-23 12:39:22 -04:00
thunderbiscuit
3dc6596aa2
Add include_raw boolean parameter on wallet list_transactions method
2023-03-23 12:32:54 -04:00
thunderbiscuit
2342265c26
Remove unused NetworkLocalUtxo type
2023-03-23 12:21:18 -04:00
thunderbiscuit
6c561228c2
Use the latest version of the Android NDK
2023-03-21 17:01:54 -04:00
thunderbiscuit
e86909ab3d
Clean up input and output methods on Transaction type
2023-03-20 15:16:39 -04:00
thunderbiscuit
8e51756a3a
Fix clippy errors
2023-03-14 08:22:05 -04:00
thunderbiscuit
40263b425e
Remove deprecated bdk-ffi-bindgen tool
2023-03-13 15:04:48 -04:00
thunderbiscuit
9437051668
Fix fmt and clippy errors
2023-03-13 14:52:17 -04:00
thunderbiscuit
7557e214c8
Add optional transaction field on the TransactionDetails type
2023-03-13 14:49:07 -04:00
thunderbiscuit
40ca62086c
Expose all fields on the Transaction type
2023-03-13 12:13:09 -04:00
thunderbiscuit
e0506deffa
Add new utility methods on Transaction type
...
This PR adds the txid(), is_coin_base(), is_explicitly_rbf(),
and is_lock_time_enabled() methods.
Fixes #303
2023-03-13 08:54:37 -04:00
thunderbiscuit
d3e183a498
Add Kotlin API docs for new Transaction methods
2023-03-13 08:54:31 -04:00
thunderbiscuit
1e9ecfbe52
Add weight, size, and vsize methods on the Transaction type
2023-03-13 08:54:25 -04:00
thunderbiscuit
d48bacd29b
Streamline CI workflows
2023-03-10 21:03:24 -05:00
thunderbiscuit
c1243f9e1c
Update publish Python CI workflow
2023-03-01 13:43:24 -05:00
thunderbiscuit
9c6069e389
Run tests in Python CI workflow
2023-03-01 11:37:08 -05:00
thunderbiscuit
488edf8bd2
Fix Python build workflow to account for Linux/Windows
2023-03-01 10:02:45 -05:00
thunderbiscuit
90763d42a2
Fix Swift script and CI workflow
2023-02-28 12:42:54 -05:00
thunderbiscuit
44b2ef1382
Fix cargo test workflow
2023-02-28 12:04:43 -05:00
thunderbiscuit
25617d1f23
Fix cargo clippy CI workflow
2023-02-28 09:27:56 -05:00
thunderbiscuit
2fcafe2b80
Fix Rust CI workflow
2023-02-28 08:31:51 -05:00
thunderbiscuit
5728b50100
Fix formatting warning in Gradle plugins
2023-02-27 20:07:02 -05:00
thunderbiscuit
d08317775b
Update Python build scripts for uniffi-rs 0.23.0
2023-02-27 20:04:32 -05:00
thunderbiscuit
c93f292b0e
Upgrade uniffi-rs to 0.23.0 and migrate Gradle plugins
2023-02-27 14:43:52 -05:00
thunderbiscuit
a75c868eb2
Update minor_release and patch_release templates
2023-02-22 14:27:03 -05:00
thunderbiscuit
974ff66caf
Bump snapshot and dev versions of libraries
2023-02-21 15:45:46 -05:00
thunderbiscuit
2309b19209
Update changelog for all versions since 0.10.0
2023-02-21 15:42:50 -05:00
thunderbiscuit
3128fad690
Update AddressIndex enum use in Python test and example
2023-02-18 09:53:13 -05:00
thunderbiscuit
a1b112cbbb
Remove license files from bdk-python
2023-02-18 09:42:33 -05:00
thunderbiscuit
553c337241
Update JVM readme
2023-02-17 17:31:00 -05:00
thunderbiscuit
90d12a96c5
Update Android readme to add section on x86 emulators
2023-02-17 16:00:41 -05:00
thunderbiscuit
5ca1d17adb
Fix Android tests to account for new AddressIndex sealed class
2023-02-17 15:49:20 -05:00
thunderbiscuit
f121372c73
Fix PartiallySignedTransaction type name in Kotlin API docs
2023-02-17 15:23:47 -05:00
Steve Myers
44a78cc459
Update bdk from 0.27 to 0.27.1
2023-02-17 09:14:28 -06:00
Steve Myers
2dbad2ddd5
Merge bitcoindevkit/bdk-ffi#308 : Bump bdk version to 0.27 and bdk-ffi to 0.27.0
...
ec71ef58be Bump bdk version to 0.27 and bdk-ffi to 0.27.0 (thunderbiscuit)
Pull request description:
## Description
This PR updates BDK to the latest version, `0.27.0`.
### Changelog notice
```txt
- Update BDK to latest version 0.27 [#308 ]
[#308 ](https://github.com/bitcoindevkit/bdk-ffi/pull/308 )
```
#### All Submissions:
* [x] I've signed all my commits
* [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk/blob/master/CONTRIBUTING.md )
* [x] I ran `cargo fmt` and `cargo clippy` before committing
ACKs for top commit:
notmandatory:
ACK ec71ef58be
Tree-SHA512: 2d97b2af5247a5021fb7e5db70a903ded243b8f298133da1b83f7610d4e8ffc5e8e1b65e60ae07a781334de9c1630dfc6f9d58f62ff240783c9c22afc1f8f907
2023-02-14 17:00:29 -06:00
thunderbiscuit
ec71ef58be
Bump bdk version to 0.27 and bdk-ffi to 0.27.0
2023-02-14 12:45:29 -06:00
thunderbiscuit
4ca7919ca9
Clean up samples in Kotlin API docs
2023-02-02 12:26:29 -05:00
thunderbiscuit
07aa1f8950
Add new AddressIndex variants to Kotlin API docs
2023-02-02 12:26:28 -05:00
Ed Ball
d42789db9b
fix: incorrect peek_address index
2023-02-02 12:26:27 -05:00