All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning as described in The Cargo Book.
0.6.4 - 2023-01-02
- Implement
From<trade::DealId>
andFrom<swap::SwapId>
forUuid
by @h4sh3d (#323)
- Don't persist master secret key in
KeyManager
and derive account level keys on initialization by @TheCharlatan (#322) - Rename
DoubleKeys
intoSwapRoleKeys
by @h4sh3d (#324) - Improve documentation for protocol functions by @h4sh3d (#326)
- Stand alone reveal proof message is removed and part of Alice and Bob reveal parameters by @h4sh3d (#325)
0.6.3 - 2022-12-28
- Derive strict encoding for FundingTx (segwit v0) by @TheCharlatan (#320)
0.6.2 - 2022-12-28
- Derive strict encoding for
Alice
(segwit v0),Bob
(segwit v0), andKeyManager
by @TheCharlatan (#318)
- Fee strategy
range
support is now under the new crate featurefee_range
and disable by default by @h4sh3d (#314) - Change Bitcoin fee unit from
sat/vB
tosat/kvB
by @h4sh3d (#315)
- Check input lenght when parsing deals from strings by @h4sh3d (#313])
- Add estimated witness when computing transaction fee by @h4sh3d (#317)
0.6.1 - 2022-12-14
- Implement
FromStr
forDealId
andSwapId
by @TheCharlatan (#307]) - Derive
PartialOrd
andOrd
forUuid
,DealId
, andSwapId
by @TheCharlatan (#308)
0.6.0 - 2022-12-13
Uuid
wrapper type againstuuid:Uuid
to identify trades and swaps, the wrapper implements strict encoding functionalities by @h4sh3d (#297)- New
DealId
andSwapId
types wrapping genericUuid
by @h4sh3d (#297)
- Module
negotiation
is renamed as thetrade
module by @h4sh3d and @Lederstrumpf (#296) Offer
andPublicOffer
are renamedDealParameters
andDeal
, these structs are used to initialized a swap during the trade setup and should be the outcome of a proper negotiation phase currently out-of-scope for this library by @h4sh3d and @Lederstrumpf (#296)- Deal
uuid
type is switched to a wrapper type by @h4sh3d (#297)
SwapId
is removed and use the newUuid
wrapper type by @h4sh3d (#297)lightning_encoding
is removed for the protocol messages by @h4sh3d (#298)
0.5.1 - 2022-08-15
- Offer
uuid
of typeUuid
(#292) - Offer and public offer
fingerprint
functions, returnsOfferFingerprint
(#292)
OfferId
andPublicOfferId
are replaced by the new offeruuid
andfingerprint
functions (#292)
0.5.0 - 2022-07-27
- Proper serde support on principal types (#259)
- Transaction label display and getters (#260)
- Impl
From
for timelocks (#265) - Impl some traits to replace node's
Coin
structure with core'sBlockchain
(#266) - More type transformation to ease usage in node (#275)
- Re-export concrete types for Bitcoin-Monero swap pair (#273)
- Replaced
Ctx: Swap
generic context with specific generics (#255, #256) - Re-work blockchain management and serialization (#264)
- Bump node related dependencies (#220, #281)
- Bump bitvec to version 1 (#238)
- Move to Rust edition 2021 (#279)
- Use bytes convertion to keep secpfun compatibility (#269)
- Bump MSRV (Minimum Supported Rust Version) from 1.54.0 to 1.59.0
- Fix key manager consensus decodable implementation (#239)
serde
feature is removed and always enabled- Remove instruction module and general clean up (#257, #271)
0.4.4 - 2022-02-27
- Bump lnp/bp dependencies (#215)
0.4.3 - 2021-12-06
- Add
strict_encoding
implementation forPublicOffer
type (#195) - Add
strict_encoding
implementation forPublicOfferId
type (#195)
0.4.2 - 2021-12-05
- Add
"monero"
and"xmr"
variants for MoneroFromStr
impl (#192) - Add
"bitcoin"
variant forBitcoin<Segwit>
implementation ofFromStr
(#193)
- Fix
Display
implementation to work with any given writer (#192)
0.4.1 - 2021-12-05
- Add
Display
implementation forOffer
type (#188)
- Remove
std::Range
fromFeeStrategy
and use custom struct with correct inclusive bound checks (#189) - Improve variants for
FromStr
network parsing (#184)
0.4.0 - 2021-11-17
- Add prefix
Offer
to serialized public offer (#173) - Switch from hex format to base58 (monero) format with checksum verification (#171)
- Update monero requirement from 0.15 to 0.16 (#175)
- Reimplement serde for
SwapId
,OfferId
andPublicOfferId
(#176)
0.3.0 - 2021-11-01
- Add strict encode + decode for
TxLabel
(#136)
- Correct publish been not triggered after release (#165)
- Monero network conversion from blockchain network (#156)
0.2.0 - 2021-10-29
- Workflow automation to manage releases
- Test ser/de strict encoding on protocol messages (#150)
- TxLabel::AccLock (#152)
- Add build on MSRV 1.54.0 in CI (#145)
- Encoding/Decoding support for DLEQ (#144)
- DLEQ implementation (#143)
- Manage accordant address (#142)
- Add correct accordant secret spend management (#139)
- Add PartialEq to events (#134)
- Taproot and key management (#126)
- Auto derive on syncer structs (#132)
- Cleanup and fix features (#149)
- Split out dleq proof from parameters (#153)
- Bump dependencies (#146, #147, #148)
- Update Bitcoin and Bitcoincore RPC deps (#141)
- Renaming some traits & structs (#138)
- Rename and move some files (#137)
- Modify segwit0 and extract witness (#133)
- RPC tests automation (#127, #131)
- Remove public keys from DLEQ proof (#151)
0.1.0 - 2021-08-24
- Swap offers
- Swap roles and trade roles
- Basic support for Bitcoin and Monero
- Basic transaction template for
Bitcoin<SegwitV0>
- experimental ECDSA adaptor signatures (with
ecdsa_fun
) - Messages exchanged between farcaster-node's microservices
- Tasks and blockchain events used by syncers