The Central Settlements service is part of the Mojaloop project and deployment.
The central settlements service exposes Settlement API to manage the settlements between FSPs and the Central Hub. The service manages Settlement Windows and Settlements Event Triggers and provides information about FSPs accounts and settlements.
TBA
Currently the only configuration, necessary is kept here
Currently all is set into the config.
The Markdown version of API is available here The actual Swagger API documentation can be found here
Logs are sent to standard output by default.
Includes unit tests at the moment. Functional and integration are outstanding.
Running the tests:
npm run test:all
Tests include code coverage via istanbul. See the test/ folder for testing scripts.
If you want to run integration tests in a repetitive manner, you can startup the test containers using docker-compose
, login to running central-settlement
container like so:
docker-compose -f docker-compose.yml -f docker-compose.integration.yml up
#first time only:
docker exec -it cs_central-ledger sh
npm run migrate
#in a new shell
docker exec -it cs_central-settlement sh
npm run test:int
We use npm-audit-resolver
along with npm audit
to check dependencies for node vulnerabilities, and keep track of resolved dependencies with an audit-resolve.json
file.
To start a new resolution process, run:
npm run audit:resolve
You can then check to see if the CI will pass based on the current dependencies with:
npm run audit:check
And commit the changed audit-resolv.json
to ensure that CircleCI will build correctly.
As part of our CI/CD process, we use anchore-cli to scan our built docker container for vulnerabilities upon release.
If you find your release builds are failing, refer to the container scanning in our shared Mojaloop CI config repo. There is a good chance you simply need to update the mojaloop-policy-generator.js
file and re-run the circleci workflow.
For more information on anchore and anchore-cli, refer to: