Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(mojaloop/csi-190): add new state and functionality to handle proxied transfers #1059

Merged
merged 16 commits into from
Jul 15, 2024
Merged
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ Or via docker build directly:

```bash
docker build \
--build-arg NODE_VERSION="$(cat .nvmrc)-alpine" \
--build-arg NODE_VERSION="$(cat .nvmrc)-alpine3.19" \
-t mojaloop/ml-api-adapter:local \
.
```
Expand Down Expand Up @@ -403,4 +403,4 @@ push a release triggering another subsequent build that also publishes a docker
is a boon.

- It is unknown if a race condition might occur with multiple merges with main in
quick succession, but this is a suspected edge case.
quick succession, but this is a suspected edge case.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
13 changes: 10 additions & 3 deletions documentation/state-diagrams/transfer-internal-states.plantuml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ state RECEIVED {
state RESERVED_ {
state RESERVED {
}
state RESERVED_FORWARDED {
}
state RECEIVED_FULFIL {
}
state RECEIVED_FULFIL_DEPENDENT {
Expand Down Expand Up @@ -48,20 +50,25 @@ RECEIVED_PREPARE --> RECEIVED_REJECT : Reject callback from Payee with status "A
RECEIVED_PREPARE --> RECEIVED_ERROR : Transfer Error callback from Payee

RECEIVED_FULFIL --> COMMITTED : Transfer committed [Position handler] \n <i>(commit funds, assign T. to settlement window)</i>

RECEIVED_REJECT --> ABORTED_REJECTED : Transfer Aborted by Payee
RECEIVED_ERROR --> ABORTED_ERROR : Hub aborts T.
RECEIVED_PREPARE --> EXPIRED_PREPARED : Timeout handler \n detects T. being EXPIRED

RESERVED --> RECEIVED_FULFIL : Fulfil callback from Payee \n with status "COMMITTED" \n [Fulfil handler]: \n <i>fulfilment check passed</i>
RESERVED --> RECEIVED_ERROR : Fulfil callback from Payee fails validation\n [Fulfil handler]
RESERVED --> RECEIVED_FULFIL_DEPENDENT : Recieved FX transfer fulfilment
RESERVED --> RESERVED_FORWARDED : A Proxy participant has acknowledged the transfer to be forwarded
RESERVED --> RESERVED_TIMEOUT : Timeout handler
RESERVED_TIMEOUT --> EXPIRED_RESERVED : Hub aborts T. due to being EXPIRED

RESERVED --> RECEIVED_FULFIL_DEPENDENT : Recieved FX transfer fulfilment
RESERVED_FORWARDED --> RECEIVED_FULFIL : Fulfil callback from Payee \n with status "COMMITTED" \n [Fulfil handler]: \n <i>fulfilment check passed</i>
RESERVED_FORWARDED --> RECEIVED_ERROR : Fulfil callback from Payee fails validation\n [Fulfil handler]
RESERVED_FORWARDED --> RECEIVED_FULFIL_DEPENDENT : Recieved FX transfer fulfilment

RECEIVED_FULFIL_DEPENDENT --> COMMITTED : Dependant transfer committed [Position handler] \n <i>(commit funds, assign T. to settlement window)</i>
RECEIVED_FULFIL_DEPENDENT --> RESERVED_TIMEOUT : Dependant transfer is timed out

RESERVED_TIMEOUT --> EXPIRED_RESERVED : Hub aborts T. due to being EXPIRED

COMMITTED --> [*]
ABORTED --> [*]

Expand Down
Loading