Skip to content

Latest commit

 

History

History
347 lines (306 loc) · 33.7 KB

CHANGELOG.md

File metadata and controls

347 lines (306 loc) · 33.7 KB

Changelog

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.

0.8.4 - 2023-01-16

Changed

  • Swapd: Refactor key manager init by @TheCharlatan in #919
  • Fix: filter by network all deal list responses by @h4sh3d in #920
  • Fix(grpc): list Monero funding addresses by @h4sh3d in #922
  • Fix(state report): accordant lock used arbitrating params by @h4sh3d in #926
  • Syncer: Bump Monero to ring size 16 by @TheCharlatan in #929
  • Fix(tsm): swaps restoring by @h4sh3d in #925

0.8.3 - 2023-01-02

Changed

  • Swapd: Don't add color coding to progress message by @TheCharlatan in #903
  • Farcasterd: Add delay between xmr auto-funding reattempts by @Lederstrumpf in #733
  • Swapd: Simplify key manager encoding by @TheCharlatan in #906
  • Swapd: Simplify commitment creation by @TheCharlatan in #908
  • Doc: Update diagrams by @TheCharlatan in #911 and #909
  • Swapd: Some simple refactors by @TheCharlatan in #913
  • Config: Improved deal validation by @h4sh3d in #910
  • TSM: Log with SwapLogging trait by @TheCharlatan in #912
  • Chore: update core to version 0.6.4 by @h4sh3d in #915

0.8.2 - 2022-12-28

Changed

  • Syncer(monero): Disregard unlock time transactions by @TheCharlatan in #874
  • Syncer: Lower the time spent sleeping on the syncer receiver by @TheCharlatan in #873
  • Swapd: Refactor retrieving txs in syncer client by @TheCharlatan in #870
  • Errors: Wrap error types in Error enum instead of converting to Farcaster::Error by @TheCharlatan in #864
  • Syncer: Some Refactors for better logging and ergonomics by @TheCharlatan in #866
  • Cli: health check ignore local by default by @h4sh3d in #878
  • Grpcd: Add helper function for executing health check by @TheCharlatan in #883
  • Logs: move syncer state transitions logs to debug level by @h4sh3d in #884
  • Swapd: Use transaction directly from transaction confirmations by @TheCharlatan in #879
  • Swapd: Cache all transaction related syncer events by @TheCharlatan in #881
  • Swap: If punish only end when punish final, and Bob check punish too by @Lederstrumpf in #842
  • Swapd: Complete swap key manager refactor by @TheCharlatan in #882
  • Refactor: temporal safety renaming and cleaning by @h4sh3d in #885
  • Swapd: Fix broken build by @TheCharlatan in #888
  • Swapd: Only make accesses to swap key manager mut that need to be by @TheCharlatan in #889
  • Swapd: Remove local trade role from SwapKeyManager by @TheCharlatan in #890
  • Syncer: Remove Boolean type and replace with raw type by @TheCharlatan in #891
  • Swapd: Always abort all tasks on swap end by @TheCharlatan in #887
  • Swap: Move transactions from Runtime to State machine by @TheCharlatan in #892
  • Swap: Move AccLockHeight from Runtime to State by @TheCharlatan in #893
  • Core: update to version 0.6.2 by @h4sh3d in #894
  • Swap: Add swap logging to syncer client by @TheCharlatan in #896

0.8.1 - 2022-12-21

Changed

  • Swapd: Logging improvements by @TheCharlatan in #850
  • Deps: Run cargo update by @TheCharlatan in #849
  • Bob verifies Alice's Reveal eagerly by @Lederstrumpf in #841
  • Feat: log errors outside of farcaster too by @h4sh3d in #858
  • Syncer health patch by @TheCharlatan in #859
  • Swap state: Don't emit Bob aborted swap message twice by @TheCharlatan in #844
  • Syncer State Machine: Handle Task Aborted by @TheCharlatan in #831
  • Syncer: Support Incoming and Outgoing AddressTransaction events by @TheCharlatan in #855
  • Swap State Machine: Remove Alice Punish state by @TheCharlatan in #863
  • Service: Implement Reporter trait by @TheCharlatan in #848
  • Deal or No Deal? by @TheCharlatan in #852
  • Chore: fix url for ci badge by @h4sh3d in #867
  • Chore: Handle some clippy findings by @TheCharlatan in #869
  • Swapd: Handle re-orgs and possible mempool drops of broadcasted txs. by @TheCharlatan in #865
  • Grpc: Add deal suffix to selector by @TheCharlatan in #871
  • Grpc: Handle handler drops (usually on client disconnect) by @TheCharlatan in #872
  • Database: Cleanup Open Deals as well on CleanDanglingDeals by @TheCharlatan in #851
  • Feature: Add and consume trade role and status in deal history by @TheCharlatan in #861

0.8.0 - 2022-12-15

Changed

  • Swap state machine by @TheCharlatan in #804
  • Deps: Bump monero-rpc to latest version (v0.3.2) by @TheCharlatan in #821
  • Grpc: Added decoded OfferInfo field to returned offers by @TheCharlatan in #817
  • TSM: Remove unneeded peerd check by @TheCharlatan in #829
  • Monero syncer: Use creation height when checking balance by @TheCharlatan in #830
  • Database: Improve error handling by @TheCharlatan in #832
  • Remove swapd.runtime.syncer_state.{bitcoin,monero}_amount by @Lederstrumpf in #838
  • Monero socks proxy by @TheCharlatan in #824
  • Grpc: Add network selectors to data queries by @TheCharlatan in #818
  • Alice: broadcast cancel tx eventually even if Alice overfunded by @Lederstrumpf in #840
  • Grpcd: Remove commented dead code block by @TheCharlatan in #843
  • Deps: Update core to v0.6 by @TheCharlatan in #836
  • Swapd: state refactors by @Lederstrumpf in #839

0.7.0 - 2022-12-13

Changed

  • Swap wallet by @TheCharlatan in #789
  • Config: expose swap finality parameters by @h4sh3d in #800
  • Tests: Add retries to grpc progress message test by @TheCharlatan in #823
  • Grpc: Handle recoverable server runtime panics by @TheCharlatan in #816
  • Feat: Use creation height when sweeping Monero by @TheCharlatan in #784
  • Relisten maker restore by @TheCharlatan in #772
  • Syncer: Chunk Txs to overcome strict encoding limitation by @TheCharlatan in #820
  • Chore: update headers and housekeeping by @h4sh3d in #807

0.6.0 - 2022-12-06

Changed

  • Grpc: Add retries when retrieving the funding info by @TheCharlatan in #802
  • Auto-restore checkpoint on startup by @TheCharlatan in #773
  • Busses: Remove transcoders from bridge bus senders by @TheCharlatan in #790
  • Syncer: Logic for conditional broadcast by @TheCharlatan in #750
  • Cli: Implement endpoint for listing funding addresses by @TheCharlatan in #764
  • Config: Define global static bind address by @TheCharlatan in #766
  • Farcaster: Handle take offer failure by @TheCharlatan in #796
  • Grpc/Server: Add network args to health check by @TheCharlatan in #803

0.5.0 - 2022-12-05

Changed

  • Refactor: Improve reliability of peerd connections by @TheCharlatan in #792
  • Add richer data to the progress messages by @TheCharlatan in #761
  • Swapd: Simplify checkpoint encoding by @TheCharlatan in #786
  • Swapd: Some patches and improvements by @TheCharlatan in #783
  • Farcaster: Cleanup dangling swap info on restart by @TheCharlatan in #779
  • Database: Change secret key encoding by @TheCharlatan in #782
  • Tests: Use retries until swap id is available in grpc test by @TheCharlatan in #797
  • Cli: Implement endpoint for checking syncer health by @TheCharlatan in #755

0.4.0 - 2022-11-30

Changed

  • doc: move documentation to wiki by @h4sh3d in #642
  • Add Support for electrum client Tor proxy by @TheCharlatan in #645
  • swapd: improve PendingRequests and add associated fn defer_request by @zkao in #637
  • fix(nix): fix git revision and format file according to statix by @LeoNero in #653
  • ci: remove nightly usage by @h4sh3d in #656
  • Deps: Bump to core 0.5.1 by @TheCharlatan in #655
  • ci: bumps containers in tests by @h4sh3d in #614
  • Walletd: Remove funding information by @TheCharlatan in #659
  • Swap: Remove log used while debugging by @TheCharlatan in #662
  • Syncers: Add better controls to task receiver loop by @TheCharlatan in #663
  • Small improvements by @LeoNero in #665
  • syncerclient: rm unneeded mut by @zkao in #668
  • Syncer: Remove polling switch by @TheCharlatan in #654
  • wallet: improve wallet permission by @zkao in #646
  • Some clippy fixes by @TheCharlatan in #671
  • Swap: Remove unused/dead storage by @TheCharlatan in #672
  • Support TLS monerod servers and fix warning in functional-swap test by @LeoNero in #667
  • docs(lnp): remove old lnp docs by @LeoNero in #678
  • Add shell completions for databased and grpcd by @LeoNero in #681
  • Remove configure_me from project by @LeoNero in #682
  • Docs: Correct s/checkpoint/database/ in sequence diagram by @TheCharlatan in #688
  • refactor: display for rpc msg by @h4sh3d in #675
  • Add few comments with some explanations for some decisions by @LeoNero in #679
  • Fix /compose and Dockerfile by @LeoNero in #685
  • Disallow dead code and unused imports by @LeoNero in #680
  • Swapd: Update peer service id on reconnect if it has not been set yet by @TheCharlatan in #691
  • Farcasterd: Warm-up phase by @TheCharlatan in #670
  • Lint: Remove unused imports to fix compilation by @TheCharlatan in #696
  • Request: Encode PublicOffer as itself, not as a String by @TheCharlatan in #694
  • refactor: shell completion generation by @h4sh3d in #692
  • Farcasterd: Add 10 retries for Monero auto-funding by @TheCharlatan in #686
  • Functional tests: Add bitcoin manual sweep test by @TheCharlatan in #697
  • Some tests improvements (fix warnings, etc) by @LeoNero in #702
  • Fix some typos and comments by @LeoNero in #699
  • Fix warning in functional-swap test by @LeoNero in #684
  • Improve formatting by @LeoNero in #700
  • Small style improvements (formatting, removing comments, etc) by @LeoNero in #683
  • Doc/wiki sync and diagrams by @h4sh3d in #703
  • electrs failures: reattempt script_get_history(...) by @Lederstrumpf in #708
  • Syncer: normalize treatment between different failure cases when polling transactions by @TheCharlatan in #713
  • Farcasterd state machines by @TheCharlatan in #693
  • Sweep address streamline by @TheCharlatan in #718
  • fix sweep failures on intermittent daemon irresponsiveness by @Lederstrumpf in #725
  • Refactor: introduce sync and rpc buses by @h4sh3d in #707
  • tests: remove --rpc-ssl on monerod container by @LeoNero in #720
  • chore(deps): bump actions/checkout from 2 to 3 by @dependabot in #721
  • bump electrum-client to 0.11.0 by @Lederstrumpf in #735
  • Swap: Force transition to buy state if Buy transaction is retrieved by @TheCharlatan in #698
  • Restore swap refactor by @TheCharlatan in #704
  • Farcasterd connect refactor by @TheCharlatan in #711
  • State machines: Add Executor trait by @TheCharlatan in #705
  • feat: log as info level p2p msg sent and received per swap by @h4sh3d in #738
  • Feat: improve swap-cli commands by @h4sh3d in #731
  • Style: improve logs and colors by @h4sh3d in #730
  • chore(deps): bump Swatinem/rust-cache from 2.0.0 to 2.0.1 by @dependabot in #741
  • chore(deps): bump Swatinem/rust-cache from 2.0.1 to 2.0.2 by @dependabot in #749
  • Refactor: implement strict bus usage and message type by @h4sh3d in #742
  • Restore key entry by @TheCharlatan in #716
  • Bugfix: Use refund address for sweeping bitcoin through walletd by @TheCharlatan in #744
  • Fix(syncer_client): remove dangerous unwrap in handle tx confs by @h4sh3d in #740
  • Cli: Return exit code 1 on error by @TheCharlatan in #753
  • chore(deps): bump Swatinem/rust-cache from 2.0.2 to 2.1.0 by @dependabot in #760
  • chore(deps): bump Swatinem/rust-cache from 2.1.0 to 2.2.0 by @dependabot in #767
  • Feature: Extend Grpc implementation by @TheCharlatan in #739
  • Syncer: Check for dust amount in sweep bitcoin method by @TheCharlatan in #748
  • Cli: Handle routing errors when routing through farcasterd by @TheCharlatan in #754
  • Database (Bugfix): Correct delete checkpoint info by @TheCharlatan in #763
  • Grpc: Wait longer for swap id to show up by @TheCharlatan in #775
  • Test: Wait 10s more for lock in grpc test by @TheCharlatan in #776
  • Database: Remove spammy debug log by @TheCharlatan in #781
  • Refactor: reunite reveal messages by @h4sh3d in #743
  • Swap: Check empty funding before funding Alice by @TheCharlatan in #747
  • Peerd: Use message receipts to confirm receival by @TheCharlatan in #759
  • Enforce msg and bus coupling by @TheCharlatan in #765
  • Ci: update containers by @h4sh3d in #734
  • Feat: new grpc config options by @h4sh3d in #791
  • Cli: send encoded funding info by @TheCharlatan in #751
  • Grpc: Support list offers endpoint by @TheCharlatan in #778
  • Grpc improve error handling by @TheCharlatan in #785
  • Add richer data to the swap info by @TheCharlatan in #769
  • Database: Add NodeInfo to CheckpointEntry by @TheCharlatan in #770

0.3.0 - 2022-08-10

Changed

  • fix typos by @Lederstrumpf in #381
  • Reduce log level of Docker Compose and add container name declarations for each container by @sethforprivacy in #386
  • Taker Command: Display exchange rate when reviewing offer by @TheCharlatan in #394
  • Bitcoin syncer: Unblock event loop by @TheCharlatan in #388
  • Peerd: Handle remote shutdown by @TheCharlatan in #391
  • Peerd single port multi connections by @TheCharlatan in #393
  • Relax existing listening address warning to debug level by @TheCharlatan in #398
  • farcasterd: only accepts TakerCommit from peerd by @zkao in #314
  • Fee estimation by @TheCharlatan in #395
  • Lws support by @TheCharlatan in #401
  • Lws logging by @TheCharlatan in #413
  • Config: Add lws to example config file by @TheCharlatan in #415
  • Merge syncer address tests by @Lederstrumpf in #416
  • Close and delete wallet after sweep by @TheCharlatan in #418
  • Monero Syncer: Require a minimum sweep balance by @TheCharlatan in #417
  • Peer info: Use remote address to assemble internal id by @TheCharlatan in #420
  • Farcasterd: Simplify LaunchSwap peer ServiceId recreation by @TheCharlatan in #421
  • add userpass auth option for bitcoin rpc by @Lederstrumpf in #439
  • State clean up by @zkao in #442
  • Align dependencies with lnp-node e81e693d1a92fc5aef10c423648db43e4b755e97 by @TheCharlatan in #404
  • Cli: Fix make command failure reporting by @TheCharlatan in #436
  • Make offer / take offer cli yaml serializable by @TheCharlatan in #437
  • GRPCD: A service daemon for a farcaster grpc api by @TheCharlatan in #443
  • Reconnect peerd if connection is dropped during running swap by @TheCharlatan in #426
  • Peerd: Remove UpdateSwapId request handling by @TheCharlatan in #456
  • Functionality: Add ability to revoke offers by @TheCharlatan in #463
  • Make progress serializable - alternative by @h4sh3d in #479
  • Peerd: Only send whitelisted Msg's over the bridge by @TheCharlatan in #475
  • feature: make progress waiting on new messages by @h4sh3d in #482
  • Farcasterd: Check if peerd listen launched successfully by @TheCharlatan in #484
  • Swapd runtime refactor: extract self contained data structures into their own files -- syncer client extraction by @zkao in #445
  • Syncer: Only farcaster is allowed to terminate by @TheCharlatan in #494
  • Grpc: Correct bridge address s/syncer/grpc/ by @TheCharlatan in #495
  • extract from Swapd runtime temporal safety by @zkao in #447
  • extract from swapd runtime State by @zkao in #446
  • State recovery by @Lederstrumpf in #422
  • Cli: Add endpoint to print information about a passed-in offer by @TheCharlatan in #496
  • State Recovery management implementation by @TheCharlatan in #477
  • Syncer: Sweep Btc by @TheCharlatan in #499
  • State Recovery Swapd Implementation by @TheCharlatan in #485
  • Persist funding address secret key by @TheCharlatan in #506
  • Cancel swap by @TheCharlatan in #504
  • Persist offer history by @TheCharlatan in #507
  • Offer history by @TheCharlatan in #512
  • Swap: Allow cancel for alice refundsig before arb lock by @TheCharlatan in #518
  • Cli: Implement sweep address call by @TheCharlatan in #517
  • Swap: Ensure a checkpoint is only set once and in the correct order by @TheCharlatan in #520
  • Fix Checkpoint race condition by @TheCharlatan in #521
  • Swap: Add public offer to GetInfo by @TheCharlatan in #524
  • Syncer: Cache estimate fee values by @TheCharlatan in #536
  • Swap: Handle monero under- and overfunding by @TheCharlatan in #534
  • Swap: Handle bitcoin under- and overfunding by @TheCharlatan in #539
  • Swap: Remove extra 0.02 XMR funding amount by @TheCharlatan in #544
  • Bug(Wallet): persist funding address secret key for Bob Taker by @TheCharlatan in #545
  • Persist monero addresses by @TheCharlatan in #540
  • swapd: fee estimate from syncer (electrum) by @zkao in #533
  • syncer trivial: replace match by map by @zkao in #557
  • swapd: removing nesting by @zkao in #558
  • do not use ping from ligthing peer message by @zkao in #556
  • Syncer: Add explicit retry flag to the sweep tasks by @TheCharlatan in #548
  • farcasterd: launch syncers before launching swapd, not after by @zkao in #555
  • Swapd: create better API for handling PendingRequests by @zkao in #561
  • farcaster-swapd-syncer race-free initiation interplay: improve sequence of msgs by @zkao in #574
  • Manual monero sweep by @TheCharlatan in #542
  • Configuration: Change Monero stagenet node by @TheCharlatan in #579
  • Syncer: Rename EstimateFee to WatchEstimateFee by @TheCharlatan in #580
  • Swap: Only report abort back to client by @TheCharlatan in #582
  • Database: Expand to full path for lmdb file location by @TheCharlatan in #585
  • Database: Log debug, not error, when removed entry does not exist by @TheCharlatan in #592
  • Use RUST_LOG to configure loggers instead of --verbose flag by @h4sh3d in #590
  • use syncer types and associated fns to avoid race condition between swapd, monero syncer and bitcoin syncer by @zkao in #588
  • Update core to version 0.5.0 by @h4sh3d in #567
  • Checkpointing: Remove multipart message chunking by @TheCharlatan in #595
  • Monero strict encoding types by @TheCharlatan in #599
  • Types: Use bitcoin secret key wherever possible by @TheCharlatan in #600
  • Refactor: Sweep monero rename by @TheCharlatan in #601
  • Refactor: Use core's Blockchain instead of syncer's Coin type by @TheCharlatan in #602
  • Peer: Use Brontozaur for session encryption by @TheCharlatan in #605
  • Types: Use core's network conversion by @TheCharlatan in #603
  • Grpc: Fix test and binding address by @TheCharlatan in #606
  • Farcasterd: Improve report by @TheCharlatan in #610

0.2.0 - 2021-12-15

Internal stress-testing bugfixes. Preparation for external release.

  • Support running parallel swaps over different peer connections through different ports

0.1.0 - 2021-12-10

Initial version of Farcaster Node 🎉

Added

  • Bitcoin SegWit v0 support as arbitrating chain
  • Monero support as accordant chain
  • Bitcoin and Monero syncers
  • Swap daemon to manage single swap execution
  • Peer daemon to manage p2p connection during swaps
  • Farcaster daemon to orchestrate the micro-services
  • Swap cli to control farcasterd and other services