-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Upgrade v0.20.0 #33
Upgrade v0.20.0 #33
Changes from 1 commit
a625367
968e9fa
00ce4a9
f008f55
4d3d429
5978c47
17d85c7
ed76b5c
c26983b
b5657ad
ad97d5f
1d0d971
0cd12ba
abc6eb7
14121f8
881b07d
35f6c74
2411bc3
0f72d24
cc718d3
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
## [0.18.0] | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. will this include an [0.20.0] at the top? or am I confusing payjoin-ffi version with payjoin crate version? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes, the changelog has been updated to include 0.20.0 |
||
This release updates the bindings libraries to `payjoin` version `0.18.0`. | ||
#### APIs changed | ||
- Upgrade `receive/v2` type state machine to resume multiple `payjoins` simultaneously ([#283](https://github.com/payjoin/rust-payjoin/pull/283)) | ||
- Refactor output substitution with new fallable `try_substitute_outputs` ([#277](https://github.com/payjoin/rust-payjoin/pull/277)) | ||
- Replaced `Enroller` with `SessionInitializer`. | ||
- Replaced `Enrolled` with `ActiveSession`. | ||
- Replaced `fallback_target()` with `pj_url`. | ||
#### APIs added | ||
- Exposed `PjUriBuilder` and `PjUri`. | ||
- Exposed `pjUrl_builder()` in `ActiveSession`. | ||
- Exposed `check_pj_supported()` in `PjUri`. | ||
- Exposed `fetch_ohttp_keys()` to fetch the `ohttp` keys from the specified `payjoin` directory. | ||
|
||
## [0.13.0] | ||
### Features & Modules | ||
#### Send module | ||
- ##### V1 | ||
- `RequestBuilder` exposes `from_psbt_and_uri`, `build_with_additional_fee`, `build_recommended`, `build_non_incentivizing`, `always_disable_output_substitution`. | ||
- `RequestContext` exposes `extract_contextV1` & `extract_contextV2`. | ||
- `ContextV1` exposes `process_response`. | ||
- ##### V2 | ||
- `ContextV2` exposes `process_response`. | ||
#### Receive module | ||
- ##### V1 | ||
- `UncheckedProposal` exposes `from_request`, `extract_tx_to_schedule_broadcast`, `check_broadcast_suitability`, `build_non_incentivizing`, | ||
`assume_interactive_receiver` &`always_disable_output_substitution`. | ||
- `MaybeInputsOwned` exposes `check_inputs_not_owned`. | ||
- `MaybeMixedInputScripts` exposes `check_no_mixed_input_scripts`. | ||
- `MaybeInputsSeen` exposes `check_no_inputs_seen_before`. | ||
- `OutputsUnknown` exposes `identify_receiver_outputs`. | ||
- `ProvisionalProposal` exposes `substitute_output_address`, `contribute_non_witness_input`, `contribute_witness_input`, `try_preserving_privacy` & | ||
`finalize_proposal`. | ||
- `PayjoinProposal` exposes `is_output_substitution_disabled`, `owned_vouts`, `psbt` & `utxos_to_be_locked`. | ||
- ##### V2 | ||
- `Enroller` exposes `from_directory_config`, `process_response` & `extract_request`. | ||
- `Enrolled` exposes `extract_request`, `process_response` & `fall_back_target`. | ||
- `V2UncheckedProposal` exposes `extract_tx_to_schedule_broadcast`, `check_broadcast_suitability` & `assume_interactive_receiver`. | ||
- `V2MaybeInputsOwned` exposes `check_inputs_not_owned`. | ||
- `V2MaybeMixedInputScripts` exposes `check_no_mixed_input_scripts`. | ||
- `V2MaybeInputsSeen` exposes `check_no_inputs_seen_before`. | ||
- `V2OutputsUnknown` exposes `identify_receiver_outputs`. | ||
- `V2ProvisionalProposal` exposes `substitute_output_address`, `contribute_non_witness_input`, `contribute_witness_input`, `try_preserving_privacy` & | ||
`finalize_proposal`. | ||
- `V2PayjoinProposal` exposes `deserialize_res`, `extract_v1_req`, `extract_v2_req`, `is_output_substitution_disabled`, `owned_vouts`, `psbt` & | ||
`utxos_to_be_locked`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If this isn't testing the code path used with the
uniffi
feature, what is it testing? Why have a second implementation for many functions likepj_uri_builder
?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Initially, we weren’t planning to test the code in Rust itself but rather in the platform code. However, we encountered an issue with signing using v2 in Flutter recently, which prompted us to create this integration test code as part of the debugging process.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The reason for having a second implementation for functions like
pj_uri_builder
is that we encountered a cannot move out of Arc error when using theuniffi
version of the code on the Flutter side.