Release 2.3.0
What's Changed
Summary
- Implement JSON RPC APIs to better support state transitions in transaction lifecycles. For details...
- Add a interface for interacting with different custodial service providers into the Anchor Platform, supporting:
- Generating address & memo pairs for receiving payments
- Listening for inbound payments
- Requesting outbound payments
- Confirming delivery of outbound payments
- Build a Fireblocks-specific implementation of the interface
- Unblock custodial clients with different destination accounts in SEP-24
- Support auth enforcement in SEP-38
- Bug fixes
RPC API
- SDFSOF-63 - Added implementation of endpoint for handling RPC calls with corresponding request validation and basic error handling by @MazurakIhor in #968
- SDFSOF-64 - Added handlers for notify_onchain_funds_received, notify_refund_initiated and notify_refund_sent. by @MazurakIhor in #972
- SDFSOF-63 - Added implementation of endpoint for handling RPC calls with corresponding request validation and basic error handling by @MazurakIhor in #969
- SDFSOF-64 - Added logic of do_stellar_refund handler. Added tests for notify_refund_sent and notify_refund_initiated. Changed DB schema by @MazurakIhor in #984
- SDFSOF-64-PR1: RPC Actions: implement logic and validations by @rkharevych in #976
- SDFSOF-64-PR2: RPC Actions: implement logic and validations by @rkharevych in #990
- SDFSOF-64 - Fixed issues with notify_refund_sent for cases when refund is missing, contains same/different id. Allow 0 for fee by @MazurakIhor in #991
- SDFSOF-64-PR2: RPC Actions: implement logic and validations by @MazurakIhor in #992
- SDFSOF-64-PR3: RPC Actions: implement logic and validations by @MazurakIhor in #1001
- SDFSOF-107: Implement notify_offchain_fuds_pending by @rkharevych in #1003
- SDFSOF-105- Added refunded amount validation for notify_refund_initiated action by @MazurakIhor in #1004
- SDFSOF-118 - Renamed notify_refund_initiated to notify_refund_pending by @MazurakIhor in #1005
- SDFSOF-119: Add validation of onchain and offchain asset by @rkharevych in #1008
- SDFSOF-120: Allow asset attribute in refund object by @rkharevych in #1009
- SDFSOF-64 - Transaction status can't be changed to Expired after funds were received by @MazurakIhor in #1012
- SDFSOF-64-PR3: RPC Actions: implement logic and validations by @MazurakIhor in #1002
- SDFSOF-67 - Updated Custody Server and Observer to use new RPC endpoint by @MazurakIhor in #994
- Sync softserve-develop with develop by @rkharevych in #1013
- SDFSOF-66: RPC Actions - implement Jobs (payments/trust) by @rkharevych in #987
- SDFSOF-68: RPC Actions - update Kotlin Reference Server to use new endpoint by @rkharevych in #996
- SDFSOF-92: RPC_Actions: Implement SEP 31 flow logic and validations by @rkharevych in #1026
- SDFSOF-70: RPC Actions - Integration and End2End tests by @MazurakIhor in #1048
- Sync softserve-develop with develop by @rkharevych in #1058
- SDFSOF-142: Rename RPC action to RPC request/method by @rkharevych in #1061
- Softserve develop sync by @rkharevych in #1079
- SDFSOF-123: End2End tests for SEP-31 and sync with develop by @rkharevych in #1076
- Fix RP comments by @MazurakIhor in #1082
- Softserve develop sync by @rkharevych in #1096
- Softserve develop sync by @MazurakIhor in #1102
- [ANCHOR-422] Custody integration and RPC API by @rkharevych in #1067
Custody Service and Fireblocks Integration
- platform: SDFSOF-17: Define Anchor template config for FB integration by @rkharevych in #841
- platform: SDFSOF-20: Update runner for Custody component by @rkharevych in #842
- platform: SFFSOF-21: Implement cron job scheduler for FB updates by @MazurakIhor in #843
- platform: SDFSOF-15: Implemented controller for handling Fireblocks webhook notifications. Added signature validation by @MazurakIhor in #845
- service-runner: SDFSOF-20: Investigate and create basic Fireblocks client by @rkharevych in #846
- platform: SDFSOF-15 - Changed packages structure and custody configuration hierarchy. Updated corresponding tests by @MazurakIhor in #849
- platform: Refactor code and fix issues after PR review by @rkharevych in #852
- kotlin-reference-server: Remove stellar prefix for deposit and withdrawal by @rkharevych in #853
- kotlin-reference-server: Revert removal of stellar asset prefix for deposit and withdrawal by @rkharevych in #854
- platform: Fix PR comment by @MazurakIhor in #862
- Fireblocks Integration: V1 by @rkharevych in #851
- platform: SDFSOF-10: Investigate and create basic Fireblocks client by @rkharevych in #844
- platform: SDFSOF-26: Create Custody Transaction by @rkharevych in #863
- platform: SDFSOF-26: Refactor custody transaction creation by @rkharevych in #869
- SDFSOF-24 - Added endpoints,business logic and error handling for Fireblocks transactions creation by @MazurakIhor in #872
- kotlin-reference-server: SDFSOF-30: Add suport for custodian mode for Kotlin reference server by @rkharevych in #873
- SDFSOF-24 - Added more tests by @MazurakIhor in #876
- SDFSOF-24 - Added mapping of stellar asset codes to fireblocks asset codes by @MazurakIhor in #877
- platform: Fix PR comments by @rkharevych in #886
- Fireblocks Integration: V2 by @MazurakIhor in #878
- custody-server: SDFSOF-22 / SDFSOF-23: Process inbound/outbound payments (Withdrawal/Deposit) via FB by @rkharevych in #879
- SDFSOF-31: Integration, end to end tests by @rkharevych in #896
- SDFSOF-25 - Added transaction reconciliation job logic by @MazurakIhor in #891
- custody-server: SDFSOF-25: Refactoring by @MazurakIhor in #908
- custody-server: SDFSOF-50 - Added additional validation to not start anchor platform if custody integration is enabled and account_creation or claimable_balances are enabled. Added additional tests by @MazurakIhor in #914
- SDFSOF-51 / SDFSOF-52 : Add amount check for receive operations / Pass memo of sep transaction to custody service and include it into stellar transaction by @rkharevych in #919
- custody-service: SDFSOF-53 - Handle webhook events with CONFIRMING status as completed(final). Events with COMPLETED status are ignored. by @MazurakIhor in #920
- custody-service: SDFSOF-32 - Added OpenApi specs for new endpoints. Reverted amount validation. Updated docs with Custody Server configuration by @MazurakIhor in #925
- custody-service: SDFSOF-32 - Added OpenApi specs for new endpoints. Reverted amount validation. Updated docs with Custody Server configuration by @MazurakIhor in #926
- Sync softserve-develop with develop by @rkharevych in #932
- SDFSOF-31: Add Custody End2End tests by @rkharevych in #935
- custody-service: SDFSOF-55 - Added a memo_type validation when integration with Fireblocks is enabled by @MazurakIhor in #936
- SDFSOF-31: Add possibility to run Custody End2End tests separately by @rkharevych in #937
- SDFSOF-56 - Added native XLM to a list of supported asset types by @MazurakIhor in #938
- Fireblocks Integration: V3 by @rkharevych in #897
- Sync softserve-develop with develop by @rkharevych in #959
Other Features and Bug Fixes
- [ANCHOR-440] Add @param to the status function parameter by @lijamie98 in #1104
- [ANCHOR-380] Add client_id to
getRate()
inSep31Service
by @lijamie98 in #1068 - [ANCHOR-401] Allow non-default destination account by @Ifropc in #1106
- Add
custody-server
to the readme doc for development env setup by @lijamie98 in #1111 - Remove Markdown comments from PR template by @philipliu in #1118
- Choose PR action runner: ubuntu-latest-16-cores. by @lijamie98 in #1128
- [ANCHOR-462] Junit tests parallelization (core/api-schema) by @lijamie98 in #1112
- [ANCHOR-418] Support auth with SEP10 in SEP38 by @JiahuiWho in #1130
- Improve logs for SEP10Service by @Ifropc in #1024
- [ANCHOR-490] Add MEMO_RETURN support by @lijamie98 in #1140
- [ANCHOR-497] Restructure Sep1Service functions for extensibility and customizability by @lijamie98 in #1142
Full Changelog: 2.2.2...2.3.0