project icon indicating copy to clipboard operation
project copied to clipboard

[CENTRAL_Ledger] Add Timeout to FX transfers

Open PaulGregoryBaker opened this issue 11 months ago • 3 comments

Goal:

As a Mojaloop Community member making use of FX conversion in mojaloop I want to ensure that the FX implementation POC is matured so that it can be merged into master and ultimately included in a release of mojaloop and used. Note: This story covers the enhancing the central services components that are associated with the timing out fx transfers.

Acceptance Criteria:

  • [ ] New transfer state RECEIVED_FULFIL_DEPENDENT is added to transferState table and to enum in central-services-shared
  • [ ] Timeout handler: handler should be enhanced with new functionality to cater for these fx transfers
  • [ ] Fulfil handler: should be updated to move fxTransfer to a new state: RECEIVED_FULFIL_DEPENDENT
  • [ ] Position Timeout: ensure that position are timingout correctly on FX transfers
  • [ ] Notification handler is updated to deal with fx-timeout event
  • [ ] Verify that error cases are mapped and documented.
    • [ ] Verify that if a transfer fails, the transfer and the associated fx transfer timesout
    • [ ] Verify that if an fx transfer fails, the fx transfer and the associated transfer timesout
  • [ ] Verify that the integration test are added to test the error cases.
  • [ ] Verify that unit test are added
  • [ ] Verify that all mojaloop core standards are met

Complexity: <High|Medium|Low> > A short comment to remind the reason for the rating

Uncertainty: <High|Medium|Low> > A short comment to remind the reason for the rating


These tasks have been moved to seperate stories

  • [ ] #3902 Update Timeout handler to deal with fxTransfers timeout (with unit-tests)
  • [ ] #3903 Update Fulfil handler to move fxTransfer to a new state: RECEIVED_FULFIL_DEPENDENT (with unit-tests)
  • [ ] #3904 Update Position handler to deal with fx-timeout-reserved action for fxTransfers (with unit-tests)
  • [ ] #3905 Update Notification handler to deal with fx-timeout-received action for fxTransfers (with unit-tests)

Tasks:

  • [x] Create sequence diagrams ( @geka-evk ) - done
  • [x] Create transfer state diagrams ( @geka-evk ) - done
  • [x] And new transfer state RECEIVED_FULFIL_DEPENDENT (available only for fxTransfers) to transferState table and to TransferInternalState enum in central-services-shared ( @geka-evk )
  • [x] Create new tables fxTransferTimeout and fxTransferError ( @geka-evk )
  • [x] Add functional tests (@sri-miriyala )

Done

  • [ ] Acceptance Criteria pass
  • [ ] Designs are up-to date
  • [ ] Unit Tests pass
  • [ ] Integration Tests pass
  • [ ] Code Style & Coverage meets standards
  • [ ] Changes made to config (default.json) are broadcast to team and follow-up tasks added to update helm charts and other deployment config.
  • [ ] TBD

Pull Requests:

  • [x] https://github.com/mojaloop/central-ledger/pull/1029
  • [x] https://github.com/mojaloop/central-services-shared/pull/372

Follow-up:

  • N/A

Dependencies:

  • N/A

Accountability:

  • Owner: TBC
  • QA/Review: TBC

PaulGregoryBaker avatar Mar 19 '24 13:03 PaulGregoryBaker

Hey team! Please add your planning poker estimate with Zenhub @aaronreynoza @geka-evk @kleyow @sri-miriyala @vijayg10

PaulGregoryBaker avatar Apr 08 '24 17:04 PaulGregoryBaker

Please add your planning poker estimate with Zenhub @oderayi

PaulGregoryBaker avatar Apr 08 '24 17:04 PaulGregoryBaker

3 pts left

PaulGregoryBaker avatar May 20 '24 13:05 PaulGregoryBaker