mojaloop / design-authority-project

This is the Issue and Decision Log for tracking mojaloop and related Designs
1 stars 2 forks source link

Multi-hop on Mojaloop #32

Closed NicoDuvenage closed 4 years ago

NicoDuvenage commented 5 years ago

Request:

Urgent discussion regarding the design and implementation of a Multi-hop functionality on Mojaloop is required.

Artifacts:

Decision(s):

Follow-up:

Dependencies:

Accountability:

Notes:

NicoDuvenage commented 5 years ago

From Adrian Hope-Bailie to Everyone: (17:33) 
https://bit.ly/2JDBt1J

adrianhopebailie commented 5 years ago

Feedback from a discussion today

I believe we have agreement on the following (let me know if not)

Actions:

adrianhopebailie commented 5 years ago

See sequence diagram here

We have elected to follow Option A as a model

adrianhopebailie commented 5 years ago

@MichaelJBRichards have you had any feedback from your discussions with implementors that would add some detail to this.

@elnyry what are our next steps?

MichaelJBRichards commented 5 years ago

@adrianhopebailie Yes, I have. I have a revised Mowali proposal in the form of a sequence diagram to which I am adding a presentation. I will circulate that to the DA participants from the discussion last week. It also covers some thinking about transaction objects. I'll make sure that I upload it here...

millerabel commented 5 years ago

I’m not following the Option A sequence diagram which appears to show a full path from payer to payee DFSP, which would not be possible in a cross-system environment. And it shows use of the FXP in a mode that I don’t follow. I understood the role of the FXP as an _intermediary facilitator. It is a member of two schemes and can handle all foreign scheme addressing and routing. So all quoting and transfers flow through the FXP, and are not directly addressed to the payee.

In the domestic, cross-currency case (which is a pretty narrow case), there are other optimizations, given that the FSP’s can directly address each other during quotation and transfer, but the switch must then handle multiple settlement currencies.

I’m not sure which scenario we are discussing, but don’t really see the fit of Option A to any of the common scenarios. Sorry for being dense. I’ll wait for the proposal, but please explain the (several) scenarios that give rise to FX treatment so we know which we are discussing.

NicoDuvenage commented 5 years ago

I will table this for the DA meeting tomorrow (Jul, 24) for discussion and clarification.

adrianhopebailie commented 5 years ago

@millerabel - repeating my comment from Slack:

This sequence diagram shows two scenarios:

We have assumed that, even though there are two settlement ledgers at the switch, the cross-currency transaction consists of two transfers (one in each currency) and the FXP is the payee of the first transfer and payer of the second.

In the Mowali case the FXP happens to be the same legal entity that runs the switch. i.e. This is the same way an FX transaction across two systems would be performed (two distinct domestic transfers) however in this case both transfers occur in the same system.

MichaelJBRichards commented 5 years ago

I promised at the end of the Design Authority meeting last week that I would revisit the proposed FX design for Mowali and propose a way in which it would align more closely with the ILP pattern for transfers. I attach a proposal which I think does this, together with a sequence diagram showing how a parties/quote/transfer process would work and the detail of the message content.

This model is relatively light on switch development, but requires the DFSPs to do more work than the original proposal, one of whose objectives was to minimise the amount of work required of DFSPs. It is also based on a set of assumptions about how the proposed changes to the ILP packet and the Transaction object will eventually be agreed. I think that these are documented in the sequence diagram; but I don't think that the proposal depends on them being solved in that particular way.

I'm afraid the sequence diagram is too large to be properly converted into a png file, and Github doesn't seem to allow the upload of svg files, so I have uploaded the source file. Let me know if you'd like me to mail the svg file.

ILP FX Transfer.txt Mojaloop aligned Mowali FX Proposal.pptx

mdebarros commented 5 years ago

@adrianhopebailie I think it would be great to have an SD where we can visualise the use-cases of where/when Condition-Fulfiments are generated.

MichaelJBRichards commented 5 years ago

I thought that our objective was that, in all cases, the Fulfilment and Condition should be generated by the (eventual) Payee DFSP at the point when the Payee DFSP approves a request for quotation. Have I misunderstood?

MichaelJBRichards commented 5 years ago

Mojaloop aligned Mowali FX Proposal.pptx

FX ILP for Mowali.pdf

Revised version of the presentation and the sequence diagram, based on our discussions yesterday.

MichaelJBRichards commented 4 years ago

Action is now with me and Adrian to review and propose changes to the Open API specification to support the agreed position

adrianhopebailie commented 4 years ago

Apologies for the delay in completing this. Aiming to have it done by 30 Aug

adrianhopebailie commented 4 years ago

Work on this is being done here: https://github.com/mojaloop/mojaloop-specification/pull/22

adrianhopebailie commented 4 years ago

@NicoDuvenage this can be closed, as I said above it is now being tracked in the API specification repo