Closed vijayg10 closed 1 week ago
I have gone through the sequence diagrams and discussed with @PaulGregoryBaker and came up with the following solution for this problem.
The participant account validations to be done based on the cyril result. i.e, In prepare handler, cyril should return a list of participant accounts (participantCurrencyIds) to be validated and then the prepare handler function iterates through the list and validate the accounts of existence and active status.
The following are the validations based on different FX use cases.
POST /fxTransfer
POST /transfers
POST /transfers
POST /fxTransfer
2 pts left Integration tests still outstanding.
In every case, whether currency conversion is initiated by the debtor or the creditor, the following reservations should be made by the switch:
The same obligations are always created, no matter who is doing the currency conversion; and they are always created after the transfer has completed:
Under no circumstances should any DFSP have an account at the switch in any currency other than its own.
Summary: Observed that some validations are not needed for FX transfer but are happening in the central services. For example:
Severity: High
Priority: Medium
Expected Behavior We should be able to make an FX transfer without onboarding both source and target currencies for payer.
Steps to Reproduce
prepareFxTestData
, remove target currency for payer by changing the lineSpecifications
Tasks
participantCurrencyId
Pull Requests: