This release changes how the receiver's ownership guard identifies a coin, so
check_inputs_not_owned now takes a closure over &OutPoint rather than
&Script. This is a breaking change for receiver implementations. It also
hardens Original PSBT validation, unifies the BIP 77 mailbox derivation, and
expands the receiver interface documentation.
Selected Improvements:
API Changes
- Breaking:
check_inputs_not_ownedtakes
&mut impl FnMut(&OutPoint) -> Result<bool, ImplementationError>in place of
a closure over&Script. The closure must answer for every outpoint the
wallet can sign ShortIdimplementsFrom<&HpkePublicKey>, giving sender and receiver a
single BIP 77 mailbox derivation instead of two copies of the same hash
(#1763)
Bug Fixes
- Harden Original PSBT input validation and the proposal finalization checks
Documentation
- Revise and expand the receiver interface documentation across the v1 and v2
state machines (#1710)
What's Changed
- Update setuptools to 83.0.0 by @benalleng in #1768
- Unify mailbox ShortId derivation by @Jolah1 in #1763
- Expose PjParam::receiver_pubkey() over FFI by @DanGould in #1771
- Add and Revise Receiver Interface Comments by @xstoicunicornx in #1710
- Add comments to FFI interface by @xstoicunicornx in #1653
- Automate crates.io releases by @spacebear21 in #1770
- Add dangould release signing key by @DanGould in #1777
- Add benalleng release signing key by @benalleng in #1778
- Remove output substitution test helper by @lntutor in #1775
- Bump payjoin to version 1.0.0-rc.7 by @spacebear21 in #1782
New Contributors
Full Changelog: payjoin-cli-1.0.0-rc.1...payjoin-1.0.0-rc.7