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

Change the basis for the liquidity check #90

Closed
4 tasks
mjbrichards opened this issue Apr 13, 2022 · 1 comment
Closed
4 tasks

Change the basis for the liquidity check #90

mjbrichards opened this issue Apr 13, 2022 · 1 comment

Comments

@mjbrichards
Copy link

Request Summary:

Make the liquidity check a comparison between the position account and the settled funds account as modified by the NDC, instead of between the position account and the NDC.

Request Details:

  • Deadline: Resource is available to make this change quickly, if approved.
  • Impact (Teams): Core components team
  • Impact (Components): Transfer prepare

At present, the liquidity check performed as part of transfer preparation compares the position account (plus the amount of the proposed transfer) against the NDC. If a participant makes changes to their settled funds via deposit and withdrawal, then the NDC needs to be adjusted as well before the change can be effective in the liquidity cover calculation.

The proposal is to use the settlement account (for the settlement model in operation) instead of the NDC as the funds available to cover transactions in the system, and to reserve the NDC as a way of inflecting the funds available for liquidity cover: for instance, if a participant is a net creditor in the system but wishes to protect itself against fraudulent withdrawals, it can specify that only a given amount of its settled funds may be used for liquidity cover.

The proposed form of the liquidity check will be: if the net of the position account and (the settlement account as inflected by the NDC) is greater than the amount of the proposed transfer, then the transfer request will be accepted; if not, it will be rejected.

Artifacts:

Dependencies:

  • If Applicable

Accountability:

  • Owner: Paul Baker
  • Raised By: Michael Richards

Decision(s):

  • Approved By:

Details

  • Actual decision made as a result of discussion

Follow-up:

  • Actions to implement the decisions
@mdebarros
Copy link
Member

Approved 2022-04-20 by DA.

vijayg10 added a commit to mojaloop/central-ledger that referenced this issue May 17, 2022
- feat:
  - Added additional liquidity check [design-authority-project/issues/90](mojaloop/design-authority-project#90)

- chore:
  - refactored fundsIn in admin handler
  - updated dependencies
  - fixed audit-resolve issues
  - fixed unit tests

- fix:
  - changed the default config for running integration tests
  - fixed an issue with an integration test
correctly into a object
  - Added unit tests for config changes

BREAKING CHANGE: Transfer will be successful only if the payer has settlement account balance. This is the additional check that has been added in this PR. And also the error message is changed for NDC limit check from `PAYER_FSP_INSUFFICIENT_LIQUIDITY` to `PAYER_LIMIT_ERROR`. Now the error message `PAYER_FSP_INSUFFICIENT_LIQUIDITY` occurs when the payer has insufficient settlement account balance.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants