From fef1a574f14567a577ce1b8329ca528df9911fe5 Mon Sep 17 00:00:00 2001 From: Kevin Leyow Date: Mon, 15 Jul 2024 10:35:08 -0500 Subject: [PATCH] feat(mojaloop/csi-190): add new state and functionality to handle proxied transfers (#1059) * diff * update diagram * chore: happy path * chore: int tests * chore(snapshot): 17.8.0-snapshot.0 * update tests * chore: add error cases * test: coverage * tests * tests * fix test * update dep --------- Co-authored-by: Kalin Krustev --- README.md | 4 +- .../transfer-internal-states-diagram.png | Bin 128817 -> 130208 bytes .../transfer-internal-states.plantuml | 13 +- package-lock.json | 211 +++++++++-- package.json | 6 +- seeds/transferState.js | 5 + src/domain/transfer/index.js | 17 + src/handlers/transfers/dto.js | 10 +- src/handlers/transfers/handler.js | 4 +- src/handlers/transfers/prepare.js | 59 +++- src/models/transfer/facade.js | 22 +- src/shared/constants.js | 3 +- .../handlers/transfers/handlers.test.js | 328 ++++++++++++++++++ .../position/fx-timeout-reserved.test.js | 10 +- test/unit/domain/transfer/index.test.js | 30 ++ test/unit/handlers/transfers/handler.test.js | 106 ++++++ test/unit/handlers/transfers/prepare.test.js | 79 +++++ 17 files changed, 864 insertions(+), 43 deletions(-) diff --git a/README.md b/README.md index 1e4ef3047..a343f72e5 100644 --- a/README.md +++ b/README.md @@ -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 \ . ``` @@ -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. diff --git a/documentation/state-diagrams/transfer-internal-states-diagram.png b/documentation/state-diagrams/transfer-internal-states-diagram.png index f960c9bf366c77459642a804a317697a4b25d381..d5a334788f1198b2f1a1d374bfd17a9f2f5d8cb7 100644 GIT binary patch literal 130208 zcmbUJcRbep`#%7mDk>zK?2w(Ey(%kY?;WzUL$XSC$O_rX4oP-4$H} zpYQK}JnnyP|6Dy>r}z6cj`2L6$MZOYl@(>KV3J`X5Qr=HWF=J*h>Io�CCK=ioP) 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

kU&0!wM=@k3dc8nU8(7l#iGjEthiko;%S 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

NtZA-H5Iu( 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 blf~s{yo$Yh63dSh|Dvg?r}F6F>8t+-+lfvm literal 128817 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
)`5FMpkv6?3E2Y- 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 r; 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 (commit funds, assign T. to settlement window) - 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 fulfilment check passed 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 fulfilment check passed +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 (commit funds, assign T. to settlement window) RECEIVED_FULFIL_DEPENDENT --> RESERVED_TIMEOUT : Dependant transfer is timed out +RESERVED_TIMEOUT --> EXPIRED_RESERVED : Hub aborts T. due to being EXPIRED + COMMITTED --> [*] ABORTED --> [*] diff --git a/package-lock.json b/package-lock.json index 00dc20e1d..3a4e65dd8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@mojaloop/central-ledger", - "version": "17.7.8", + "version": "17.8.0-snapshot.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@mojaloop/central-ledger", - "version": "17.7.8", + "version": "17.8.0-snapshot.0", "license": "Apache-2.0", "dependencies": { "@hapi/basic": "7.0.2", @@ -20,7 +20,7 @@ "@mojaloop/central-services-health": "15.0.0", "@mojaloop/central-services-logger": "11.3.1", "@mojaloop/central-services-metrics": "12.0.8", - "@mojaloop/central-services-shared": "18.5.2", + "@mojaloop/central-services-shared": "18.6.3", "@mojaloop/central-services-stream": "11.3.1", "@mojaloop/database-lib": "11.0.6", "@mojaloop/event-sdk": "14.1.1", @@ -37,7 +37,7 @@ "docdash": "2.0.2", "event-stream": "4.0.1", "five-bells-condition": "5.0.1", - "glob": "10.4.2", + "glob": "10.4.3", "hapi-auth-basic": "5.0.0", "hapi-auth-bearer-token": "8.0.0", "hapi-swagger": "17.2.1", @@ -1296,6 +1296,11 @@ "node": ">=6.9.0" } }, + "node_modules/@ioredis/commands": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.2.0.tgz", + "integrity": "sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==" + }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", @@ -1592,12 +1597,13 @@ } }, "node_modules/@mojaloop/central-services-shared": { - "version": "18.5.2", - "resolved": "https://registry.npmjs.org/@mojaloop/central-services-shared/-/central-services-shared-18.5.2.tgz", - "integrity": "sha512-qHCmmOMwjcNq6OkNqFznNCyX1lwgJfgu+tULbjqGxMtVMANf+LU01gFtJnD//M9wHcXDgP0VRu1waC+WqmAmOg==", + "version": "18.6.3", + "resolved": "https://registry.npmjs.org/@mojaloop/central-services-shared/-/central-services-shared-18.6.3.tgz", + "integrity": "sha512-GTMNxBB4lhjrW7V52OmZvuWKKx7IywmyihAfmcmSJ1zCtb+yL1CzF/pM4slOx2d6taE9Pn+q3S2Ucf/ZV2QzuA==", "dependencies": { "@hapi/catbox": "12.1.1", "@hapi/catbox-memory": "5.0.1", + "@mojaloop/inter-scheme-proxy-cache-lib": "1.4.0", "axios": "1.7.2", "clone": "2.1.2", "dotenv": "16.4.5", @@ -1743,6 +1749,21 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" }, + "node_modules/@mojaloop/inter-scheme-proxy-cache-lib": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@mojaloop/inter-scheme-proxy-cache-lib/-/inter-scheme-proxy-cache-lib-1.4.0.tgz", + "integrity": "sha512-jmAWWdjZxjxlSQ+wt8aUcMYOneVo1GNbIIs7yK/R2K9DBtKb0aYle2mWwdjm9ovk6zSWL2a9lH+n3hq7kb08Wg==", + "dependencies": { + "@mojaloop/central-services-logger": "^11.3.1", + "ajv": "^8.16.0", + "convict": "^6.2.4", + "fast-safe-stringify": "^2.1.1", + "ioredis": "^5.4.1" + }, + "engines": { + "node": ">=18.x" + } + }, "node_modules/@mojaloop/ml-number": { "version": "11.2.4", "resolved": "https://registry.npmjs.org/@mojaloop/ml-number/-/ml-number-11.2.4.tgz", @@ -3345,6 +3366,26 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/cacache/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/cacheable-lookup": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", @@ -3722,6 +3763,14 @@ "node": ">=0.8" } }, + "node_modules/cluster-key-slot": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz", + "integrity": "sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", @@ -4331,6 +4380,18 @@ "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", "dev": true }, + "node_modules/convict": { + "version": "6.2.4", + "resolved": "https://registry.npmjs.org/convict/-/convict-6.2.4.tgz", + "integrity": "sha512-qN60BAwdMVdofckX7AlohVJ2x9UvjTNoKVXCL2LxFk1l7757EJqf1nySdMkPQer0bt8kQ5lQiyZ9/2NvrFBuwQ==", + "dependencies": { + "lodash.clonedeep": "^4.5.0", + "yargs-parser": "^20.2.7" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/cookie": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", @@ -4671,6 +4732,14 @@ "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", "dev": true }, + "node_modules/denque": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", + "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==", + "engines": { + "node": ">=0.10" + } + }, "node_modules/depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", @@ -7198,9 +7267,9 @@ "dev": true }, "node_modules/glob": { - "version": "10.4.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.2.tgz", - "integrity": "sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==", + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.3.tgz", + "integrity": "sha512-Q38SGlYRpVtDBPSWEylRyctn7uDeTp4NQERTLiCT1FqA9JXPYWqAVmQU6qh4r/zMM5ehxTcbaO8EjhWnvEhmyg==", "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", @@ -7213,7 +7282,7 @@ "glob": "dist/esm/bin.mjs" }, "engines": { - "node": ">=16 || 14 >=14.18" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -8316,6 +8385,29 @@ "node": ">=4" } }, + "node_modules/ioredis": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.4.1.tgz", + "integrity": "sha512-2YZsvl7jopIa1gaePkeMtd9rAcSjOOjPtpcLlOeusyO+XH2SK5ZcT+UCrElPP+WVIInh2TzeI4XW9ENaSLVVHA==", + "dependencies": { + "@ioredis/commands": "^1.1.1", + "cluster-key-slot": "^1.1.0", + "debug": "^4.3.4", + "denque": "^2.1.0", + "lodash.defaults": "^4.2.0", + "lodash.isarguments": "^3.1.0", + "redis-errors": "^1.2.0", + "redis-parser": "^3.0.0", + "standard-as-callback": "^2.1.0" + }, + "engines": { + "node": ">=12.22.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ioredis" + } + }, "node_modules/ip-address": { "version": "9.0.5", "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", @@ -9056,14 +9148,14 @@ } }, "node_modules/jackspeak": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.1.2.tgz", - "integrity": "sha512-kWmLKn2tRtfYMF/BakihVVRzBKOxz4gJMiL2Rj91WnAB5TPZumSH99R/Yf1qE1u4uRimvCSJfm6hnxohXeEXjQ==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.2.tgz", + "integrity": "sha512-qH3nOSj8q/8+Eg8LUPOq3C+6HWkpUioIjDsq1+D4zY91oZvpPttw8GwtF1nReRYKXl+1AORyFqtm2f5Q1SB6/Q==", "dependencies": { "@isaacs/cliui": "^8.0.2" }, "engines": { - "node": ">=14" + "node": "14 >=14.21 || 16 >=16.20 || >=18" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -9642,6 +9734,16 @@ "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==" + }, + "node_modules/lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==" + }, "node_modules/lodash.flattendeep": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", @@ -9653,6 +9755,11 @@ "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==" }, + "node_modules/lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==" + }, "node_modules/lodash.isequal": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", @@ -12452,12 +12559,9 @@ } }, "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", - "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", - "engines": { - "node": "14 || >=16.14" - } + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" }, "node_modules/path-to-regexp": { "version": "0.1.7", @@ -13179,6 +13283,26 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/read-package-json/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/read-pkg": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", @@ -13408,6 +13532,25 @@ "node": ">=8" } }, + "node_modules/redis-errors": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz", + "integrity": "sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==", + "engines": { + "node": ">=4" + } + }, + "node_modules/redis-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz", + "integrity": "sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==", + "dependencies": { + "redis-errors": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/reflect.getprototypeof": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz", @@ -13971,6 +14114,26 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/rimraf/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -14857,6 +15020,11 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/standard-as-callback": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz", + "integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==" + }, "node_modules/standard-engine": { "version": "15.1.0", "resolved": "https://registry.npmjs.org/standard-engine/-/standard-engine-15.1.0.tgz", @@ -17270,7 +17438,6 @@ "version": "20.2.9", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, "engines": { "node": ">=10" } diff --git a/package.json b/package.json index 21585c8ab..a7d9315e8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@mojaloop/central-ledger", - "version": "17.7.8", + "version": "17.8.0-snapshot.0", "description": "Central ledger hosted by a scheme to record and settle transfers", "license": "Apache-2.0", "author": "ModusBox", @@ -92,7 +92,7 @@ "@mojaloop/central-services-health": "15.0.0", "@mojaloop/central-services-logger": "11.3.1", "@mojaloop/central-services-metrics": "12.0.8", - "@mojaloop/central-services-shared": "18.5.2", + "@mojaloop/central-services-shared": "18.6.3", "@mojaloop/central-services-stream": "11.3.1", "@mojaloop/database-lib": "11.0.6", "@mojaloop/event-sdk": "14.1.1", @@ -109,7 +109,7 @@ "docdash": "2.0.2", "event-stream": "4.0.1", "five-bells-condition": "5.0.1", - "glob": "10.4.2", + "glob": "10.4.3", "hapi-auth-basic": "5.0.0", "hapi-auth-bearer-token": "8.0.0", "hapi-swagger": "17.2.1", diff --git a/seeds/transferState.js b/seeds/transferState.js index 9fd134628..4135ae33b 100644 --- a/seeds/transferState.js +++ b/seeds/transferState.js @@ -100,6 +100,11 @@ const transferStates = [ transferStateId: 'SETTLED', enumeration: 'SETTLED', description: 'The switch has settled the transfer.' + }, + { + transferStateId: 'RESERVED_FORWARDED', + enumeration: 'RESERVED', + description: 'The switch has forwarded the transfer to a proxy participant' } ] diff --git a/src/domain/transfer/index.js b/src/domain/transfer/index.js index fb5ae70d9..5de1f17c8 100644 --- a/src/domain/transfer/index.js +++ b/src/domain/transfer/index.js @@ -57,6 +57,22 @@ const prepare = async (payload, stateReason = null, hasPassedValidation = true, } } +const forwardedPrepare = async (transferId) => { + const histTimerTransferServicePrepareEnd = Metrics.getHistogram( + 'domain_transfer', + 'prepare - Metrics for transfer domain', + ['success', 'funcName'] + ).startTimer() + try { + const result = await TransferFacade.updatePrepareReservedForwarded(transferId) + histTimerTransferServicePrepareEnd({ success: true, funcName: 'forwardedPrepare' }) + return result + } catch (err) { + histTimerTransferServicePrepareEnd({ success: false, funcName: 'forwardedPrepare' }) + throw ErrorHandler.Factory.reformatFSPIOPError(err) + } +} + const handlePayeeResponse = async (transferId, payload, action, fspiopError) => { const histTimerTransferServiceHandlePayeeResponseEnd = Metrics.getHistogram( 'domain_transfer', @@ -104,6 +120,7 @@ const TransferService = { prepare, handlePayeeResponse, logTransferError, + forwardedPrepare, getTransferErrorByTransferId: TransferErrorModel.getByTransferId, getTransferById: TransferModel.getById, getById: TransferFacade.getById, diff --git a/src/handlers/transfers/dto.js b/src/handlers/transfers/dto.js index 8a4a6aaae..2ee5433bf 100644 --- a/src/handlers/transfers/dto.js +++ b/src/handlers/transfers/dto.js @@ -16,10 +16,11 @@ const prepareInputDto = (error, messages) => { if (!message) throw new Error('No input kafka message') const payload = decodePayload(message.value.content.payload) - const isFx = !payload.transferId + const isForwarded = message.value.metadata.event.action === Action.FORWARDED + const isFx = !payload.transferId && !isForwarded const { action } = message.value.metadata.event - const isPrepare = [Action.PREPARE, Action.FX_PREPARE].includes(action) + const isPrepare = [Action.PREPARE, Action.FX_PREPARE, Action.FORWARDED].includes(action) const actionLetter = isPrepare ? Enum.Events.ActionLetter.prepare @@ -39,9 +40,10 @@ const prepareInputDto = (error, messages) => { action, functionality, isFx, - ID: payload.transferId || payload.commitRequestId, + isForwarded, + ID: payload.transferId || payload.commitRequestId || message.value.id, headers: message.value.content.headers, - metric: PROM_METRICS.transferPrepare(isFx), + metric: PROM_METRICS.transferPrepare(isFx, isForwarded), actionLetter // just for logging } } diff --git a/src/handlers/transfers/handler.js b/src/handlers/transfers/handler.js index a31440e48..4d2fde6ed 100644 --- a/src/handlers/transfers/handler.js +++ b/src/handlers/transfers/handler.js @@ -446,7 +446,9 @@ const processFulfilMessage = async (message, functionality, span) => { throw fspiopError } - if (transfer.transferState !== TransferState.RESERVED) { + if (transfer.transferState !== Enum.Transfers.TransferInternalState.RESERVED && + transfer.transferState !== Enum.Transfers.TransferInternalState.RESERVED_FORWARDED + ) { Logger.isInfoEnabled && Logger.info(Util.breadcrumb(location, `callbackErrorNonReservedState--${actionLetter}10`)) const fspiopError = ErrorHandler.Factory.createFSPIOPError(ErrorHandler.Enums.FSPIOPErrorCodes.VALIDATION_ERROR, 'non-RESERVED transfer state') const eventDetail = { functionality, action: TransferEventAction.COMMIT } diff --git a/src/handlers/transfers/prepare.js b/src/handlers/transfers/prepare.js index 1436af280..1ea3b80f2 100644 --- a/src/handlers/transfers/prepare.js +++ b/src/handlers/transfers/prepare.js @@ -36,6 +36,7 @@ const Participant = require('../../domain/participant') const createRemittanceEntity = require('./createRemittanceEntity') const Validator = require('./validator') const dto = require('./dto') +const TransferService = require('#src/domain/transfer/index') const { Kafka, Comparators } = Util const { TransferState } = Enum.Transfers @@ -99,7 +100,7 @@ const processDuplication = async ({ .getByIdLight(ID) const isFinalized = [TransferState.COMMITTED, TransferState.ABORTED].includes(transfer?.transferStateEnumeration) - const isPrepare = [Action.PREPARE, Action.FX_PREPARE].includes(action) + const isPrepare = [Action.PREPARE, Action.FX_PREPARE, Action.FORWARDED].includes(action) if (isFinalized && isPrepare) { logger.info(Util.breadcrumb(location, `finalized callback--${actionLetter}1`)) @@ -219,7 +220,7 @@ const prepare = async (error, messages) => { } const { - message, payload, isFx, ID, headers, action, actionLetter, functionality + message, payload, isFx, ID, headers, action, actionLetter, functionality, isForwarded } = input const contextFromMessage = EventSdk.Tracer.extractContextFromMessage(message.value) @@ -239,6 +240,60 @@ const prepare = async (error, messages) => { producer: Producer } + if (isForwarded) { + const transfer = await TransferService.getById(ID) + if (!transfer) { + const eventDetail = { + functionality: Enum.Events.Event.Type.NOTIFICATION, + action: Enum.Events.Event.Action.FORWARDED + } + const fspiopError = ErrorHandler.Factory.createFSPIOPError( + ErrorHandler.Enums.FSPIOPErrorCodes.ID_NOT_FOUND, + 'Forwarded transfer could not be found.' + ).toApiErrorObject(Config.ERROR_HANDLING) + // IMPORTANT: This singular message is taken by the ml-api-adapter and used to + // notify the payerFsp and proxy of the error. + // As long as the `to` and `from` message values are the payer and payee, + // and the action is `forwarded`, the ml-api-adapter will notify both. + await Kafka.proceed( + Config.KAFKA_CONFIG, + params, + { + consumerCommit, + fspiopError, + eventDetail + } + ) + return true + } + + if (transfer.transferState === Enum.Transfers.TransferInternalState.RESERVED) { + await TransferService.forwardedPrepare(ID) + } else { + const eventDetail = { + functionality: Enum.Events.Event.Type.NOTIFICATION, + action: Enum.Events.Event.Action.FORWARDED + } + const fspiopError = ErrorHandler.Factory.createInternalServerFSPIOPError( + `Invalid State: ${transfer.transferState} - expected: ${Enum.Transfers.TransferInternalState.RESERVED}` + ).toApiErrorObject(Config.ERROR_HANDLING) + // IMPORTANT: This singular message is taken by the ml-api-adapter and used to + // notify the payerFsp and proxy of the error. + // As long as the `to` and `from` message values are the payer and payee, + // and the action is `forwarded`, the ml-api-adapter will notify both. + await Kafka.proceed( + Config.KAFKA_CONFIG, + params, + { + consumerCommit, + fspiopError, + eventDetail + } + ) + } + return true + } + const duplication = await checkDuplication({ payload, isFx, ID, location }) if (duplication.hasDuplicateId) { const success = await processDuplication({ diff --git a/src/models/transfer/facade.js b/src/models/transfer/facade.js index 0ae904ad0..3d7be944e 100644 --- a/src/models/transfer/facade.js +++ b/src/models/transfer/facade.js @@ -988,7 +988,9 @@ const transferStateAndPositionUpdate = async function (param1, enums, trx = null .first() .transacting(trx) - if (param1.transferStateId === enums.transferState.COMMITTED) { + if (param1.transferStateId === enums.transferState.COMMITTED || + param1.transferStateId === TransferInternalState.RESERVED_FORWARDED + ) { await knex('transferStateChange') .insert({ transferId: param1.transferId, @@ -1088,6 +1090,21 @@ const transferStateAndPositionUpdate = async function (param1, enums, trx = null } } +const updatePrepareReservedForwarded = async function (transferId) { + try { + const knex = await Db.getKnex() + return await knex('transferStateChange') + .insert({ + transferId, + transferStateId: TransferInternalState.RESERVED_FORWARDED, + reason: null, + createdDate: Time.getUTCString(new Date()) + }) + } catch (err) { + throw ErrorHandler.Factory.reformatFSPIOPError(err) + } +} + const reconciliationTransferPrepare = async function (payload, transactionTimestamp, enums, trx = null) { try { const knex = await Db.getKnex() @@ -1436,7 +1453,8 @@ const TransferFacade = { reconciliationTransferCommit, reconciliationTransferAbort, getTransferParticipant, - recordFundsIn + recordFundsIn, + updatePrepareReservedForwarded } module.exports = TransferFacade diff --git a/src/shared/constants.js b/src/shared/constants.js index 79967880e..ac1f6c7cd 100644 --- a/src/shared/constants.js +++ b/src/shared/constants.js @@ -12,10 +12,11 @@ const TABLE_NAMES = Object.freeze({ }) const FX_METRIC_PREFIX = 'fx_' +const FORWARDED_METRIC_PREFIX = 'fwd_' const PROM_METRICS = Object.freeze({ transferGet: (isFx) => `${isFx ? FX_METRIC_PREFIX : ''}transfer_get`, - transferPrepare: (isFx) => `${isFx ? FX_METRIC_PREFIX : ''}transfer_prepare`, + transferPrepare: (isFx, isForwarded) => `${isFx ? FX_METRIC_PREFIX : ''}${isForwarded ? FORWARDED_METRIC_PREFIX : ''}transfer_prepare`, transferFulfil: (isFx) => `${isFx ? FX_METRIC_PREFIX : ''}transfer_fulfil`, transferFulfilError: (isFx) => `${isFx ? FX_METRIC_PREFIX : ''}transfer_fulfil_error` }) diff --git a/test/integration-override/handlers/transfers/handlers.test.js b/test/integration-override/handlers/transfers/handlers.test.js index 4869c82b0..303968ee6 100644 --- a/test/integration-override/handlers/transfers/handlers.test.js +++ b/test/integration-override/handlers/transfers/handlers.test.js @@ -50,6 +50,7 @@ const ParticipantCached = require('#src/models/participant/participantCached') const ParticipantCurrencyCached = require('#src/models/participant/participantCurrencyCached') const ParticipantLimitCached = require('#src/models/participant/participantLimitCached') const SettlementModelCached = require('#src/models/settlement/settlementModelCached') +const TransferService = require('#src/domain/transfer/index') const Handlers = { index: require('#src/handlers/register'), @@ -239,6 +240,30 @@ const prepareTestData = async (dataObj) => { } } + const messageProtocolPrepareForwarded = { + id: transferPayload.transferId, + from: 'payerFsp', + to: 'proxyFsp', + type: 'application/json', + content: { + payload: { + proxyId: 'test' + } + }, + metadata: { + event: { + id: transferPayload.transferId, + type: TransferEventType.PREPARE, + action: TransferEventAction.FORWARDED, + createdAt: dataObj.now, + state: { + status: 'success', + code: 0 + } + } + } + } + const messageProtocolFulfil = Util.clone(messageProtocolPrepare) messageProtocolFulfil.id = randomUUID() messageProtocolFulfil.from = transferPayload.payeeFsp @@ -271,6 +296,7 @@ const prepareTestData = async (dataObj) => { rejectPayload, errorPayload, messageProtocolPrepare, + messageProtocolPrepareForwarded, messageProtocolFulfil, messageProtocolReject, messageProtocolError, @@ -312,6 +338,19 @@ Test('Handlers test', async handlersTest => { Enum.Events.Event.Type.TRANSFER.toUpperCase(), Enum.Events.Event.Action.POSITION.toUpperCase() ) + }, + { + topicName: Utility.transformGeneralTopicName( + Config.KAFKA_CONFIG.TOPIC_TEMPLATES.GENERAL_TOPIC_TEMPLATE.TEMPLATE, + Enum.Events.Event.Type.NOTIFICATION, + Enum.Events.Event.Action.EVENT + ), + config: Utility.getKafkaConfig( + Config.KAFKA_CONFIG, + Enum.Kafka.Config.CONSUMER, + Enum.Events.Event.Type.NOTIFICATION.toUpperCase(), + Enum.Events.Event.Action.EVENT.toUpperCase() + ) } ]) @@ -366,6 +405,295 @@ Test('Handlers test', async handlersTest => { transferPrepare.end() }) + await handlersTest.test('transferForwarded should', async transferForwarded => { + await transferForwarded.test('should update transfer internal state on prepare event forwarded action', async (test) => { + const td = await prepareTestData(testData) + const prepareConfig = Utility.getKafkaConfig( + Config.KAFKA_CONFIG, + Enum.Kafka.Config.PRODUCER, + TransferEventType.TRANSFER.toUpperCase(), + TransferEventType.PREPARE.toUpperCase()) + prepareConfig.logger = Logger + await Producer.produceMessage(td.messageProtocolPrepare, td.topicConfTransferPrepare, prepareConfig) + + try { + const positionPrepare = await wrapWithRetries(() => testConsumer.getEventsForFilter({ + topicFilter: 'topic-transfer-position-batch', + action: 'prepare', + keyFilter: td.payer.participantCurrencyId.toString() + }), wrapWithRetriesConf.remainingRetries, wrapWithRetriesConf.timeout) + test.ok(positionPrepare[0], 'Position prepare message with key found') + } catch (err) { + test.notOk('Error should not be thrown') + console.error(err) + } + + await Producer.produceMessage(td.messageProtocolPrepareForwarded, td.topicConfTransferPrepare, prepareConfig) + + await new Promise(resolve => setTimeout(resolve, 5000)) + + try { + const transfer = await TransferService.getById(td.messageProtocolPrepare.content.payload.transferId) || {} + test.equal(transfer?.transferState, TransferInternalState.RESERVED_FORWARDED, 'Transfer state updated to RESERVED_FORWARDED') + } catch (err) { + Logger.error(err) + test.fail(err.message) + } + testConsumer.clearEvents() + test.end() + }) + + await transferForwarded.test('not timeout transfer in RESERVED_FORWARDED internal transfer state', async (test) => { + const td = await prepareTestData(testData) + const prepareConfig = Utility.getKafkaConfig( + Config.KAFKA_CONFIG, + Enum.Kafka.Config.PRODUCER, + TransferEventType.TRANSFER.toUpperCase(), + TransferEventType.PREPARE.toUpperCase()) + prepareConfig.logger = Logger + await Producer.produceMessage(td.messageProtocolPrepare, td.topicConfTransferPrepare, prepareConfig) + + try { + const positionPrepare = await wrapWithRetries(() => testConsumer.getEventsForFilter({ + topicFilter: 'topic-transfer-position-batch', + action: 'prepare', + keyFilter: td.payer.participantCurrencyId.toString() + }), wrapWithRetriesConf.remainingRetries, wrapWithRetriesConf.timeout) + test.ok(positionPrepare[0], 'Position prepare message with key found') + } catch (err) { + test.notOk('Error should not be thrown') + console.error(err) + } + + await Producer.produceMessage(td.messageProtocolPrepareForwarded, td.topicConfTransferPrepare, prepareConfig) + + await new Promise(resolve => setTimeout(resolve, 5000)) + + try { + const transfer = await TransferService.getById(td.messageProtocolPrepare.content.payload.transferId) || {} + test.equal(transfer?.transferState, TransferInternalState.RESERVED_FORWARDED, 'Transfer state updated to RESERVED_FORWARDED') + } catch (err) { + Logger.error(err) + test.fail(err.message) + } + + await new Promise(resolve => setTimeout(resolve, 5000)) + try { + const transfer = await TransferService.getById(td.messageProtocolPrepare.content.payload.transferId) || {} + test.equal(transfer?.transferState, TransferInternalState.RESERVED_FORWARDED, 'Transfer state is still RESERVED_FORWARDED') + } catch (err) { + Logger.error(err) + test.fail(err.message) + } + + testConsumer.clearEvents() + test.end() + }) + + await transferForwarded.test('should be able to transition from RESERVED_FORWARDED to RECEIVED_FULFIL and COMMITED on fulfil', async (test) => { + const td = await prepareTestData(testData) + const prepareConfig = Utility.getKafkaConfig( + Config.KAFKA_CONFIG, + Enum.Kafka.Config.PRODUCER, + TransferEventType.TRANSFER.toUpperCase(), + TransferEventType.PREPARE.toUpperCase()) + prepareConfig.logger = Logger + const fulfilConfig = Utility.getKafkaConfig( + Config.KAFKA_CONFIG, + Enum.Kafka.Config.PRODUCER, + TransferEventType.TRANSFER.toUpperCase(), + TransferEventType.FULFIL.toUpperCase()) + fulfilConfig.logger = Logger + await Producer.produceMessage(td.messageProtocolPrepare, td.topicConfTransferPrepare, prepareConfig) + + try { + const positionPrepare = await wrapWithRetries(() => testConsumer.getEventsForFilter({ + topicFilter: 'topic-transfer-position-batch', + action: 'prepare', + keyFilter: td.payer.participantCurrencyId.toString() + }), wrapWithRetriesConf.remainingRetries, wrapWithRetriesConf.timeout) + test.ok(positionPrepare[0], 'Position prepare message with key found') + } catch (err) { + test.notOk('Error should not be thrown') + console.error(err) + } + + await Producer.produceMessage(td.messageProtocolPrepareForwarded, td.topicConfTransferPrepare, prepareConfig) + + await new Promise(resolve => setTimeout(resolve, 5000)) + + try { + const transfer = await TransferService.getById(td.messageProtocolPrepare.content.payload.transferId) || {} + test.equal(transfer?.transferState, TransferInternalState.RESERVED_FORWARDED, 'Transfer state updated to RESERVED_FORWARDED') + } catch (err) { + Logger.error(err) + test.fail(err.message) + } + await Producer.produceMessage(td.messageProtocolFulfil, td.topicConfTransferFulfil, fulfilConfig) + + try { + const positionFulfil = await wrapWithRetries(() => testConsumer.getEventsForFilter({ + topicFilter: 'topic-transfer-position-batch', + action: 'commit', + keyFilter: td.payee.participantCurrencyId.toString() + }), wrapWithRetriesConf.remainingRetries, wrapWithRetriesConf.timeout) + test.ok(positionFulfil[0], 'Position fulfil message with key found') + } catch (err) { + test.notOk('Error should not be thrown') + console.error(err) + } + + try { + const transfer = await TransferService.getById(td.messageProtocolPrepare.content.payload.transferId) || {} + test.equal(transfer?.transferState, TransferInternalState.COMMITTED, 'Transfer state updated to COMMITTED') + } catch (err) { + Logger.error(err) + test.fail(err.message) + } + + testConsumer.clearEvents() + test.end() + }) + + await transferForwarded.test('should be able to transition from RESERVED_FORWARDED to RECEIVED_ERROR and ABORTED_ERROR on fulfil error', async (test) => { + const td = await prepareTestData(testData) + const prepareConfig = Utility.getKafkaConfig( + Config.KAFKA_CONFIG, + Enum.Kafka.Config.PRODUCER, + TransferEventType.TRANSFER.toUpperCase(), + TransferEventType.PREPARE.toUpperCase()) + prepareConfig.logger = Logger + const fulfilConfig = Utility.getKafkaConfig( + Config.KAFKA_CONFIG, + Enum.Kafka.Config.PRODUCER, + TransferEventType.TRANSFER.toUpperCase(), + TransferEventType.FULFIL.toUpperCase()) + fulfilConfig.logger = Logger + await Producer.produceMessage(td.messageProtocolPrepare, td.topicConfTransferPrepare, prepareConfig) + + try { + const positionPrepare = await wrapWithRetries(() => testConsumer.getEventsForFilter({ + topicFilter: 'topic-transfer-position-batch', + action: 'prepare', + keyFilter: td.payer.participantCurrencyId.toString() + }), wrapWithRetriesConf.remainingRetries, wrapWithRetriesConf.timeout) + test.ok(positionPrepare[0], 'Position prepare message with key found') + } catch (err) { + test.notOk('Error should not be thrown') + console.error(err) + } + + await Producer.produceMessage(td.messageProtocolPrepareForwarded, td.topicConfTransferPrepare, prepareConfig) + + await new Promise(resolve => setTimeout(resolve, 5000)) + + try { + const transfer = await TransferService.getById(td.messageProtocolPrepare.content.payload.transferId) || {} + test.equal(transfer?.transferState, TransferInternalState.RESERVED_FORWARDED, 'Transfer state updated to RESERVED_FORWARDED') + } catch (err) { + Logger.error(err) + test.fail(err.message) + } + await Producer.produceMessage(td.messageProtocolError, td.topicConfTransferFulfil, fulfilConfig) + + await new Promise(resolve => setTimeout(resolve, 5000)) + + try { + const transfer = await TransferService.getById(td.messageProtocolPrepare.content.payload.transferId) || {} + test.equal(transfer?.transferState, TransferInternalState.ABORTED_ERROR, 'Transfer state updated to ABORTED_ERROR') + } catch (err) { + Logger.error(err) + test.fail(err.message) + } + + testConsumer.clearEvents() + test.end() + }) + + await transferForwarded.test('should create notification message if transfer is not found', async (test) => { + const td = await prepareTestData(testData) + const prepareConfig = Utility.getKafkaConfig( + Config.KAFKA_CONFIG, + Enum.Kafka.Config.PRODUCER, + TransferEventType.TRANSFER.toUpperCase(), + TransferEventType.PREPARE.toUpperCase()) + prepareConfig.logger = Logger + + await Producer.produceMessage(td.messageProtocolPrepareForwarded, td.topicConfTransferPrepare, prepareConfig) + + try { + const notificationMessages = await wrapWithRetries(() => testConsumer.getEventsForFilter({ + topicFilter: 'topic-notification-event', + action: 'forwarded' + }), wrapWithRetriesConf.remainingRetries, wrapWithRetriesConf.timeout) + test.ok(notificationMessages[0], 'notification message found') + test.equal(notificationMessages[0].value.to, 'proxyFsp') + test.equal(notificationMessages[0].value.from, 'payerFsp') + test.equal( + notificationMessages[0].value.content.payload.errorInformation.errorDescription, + 'Generic ID not found - Forwarded transfer could not be found.' + ) + } catch (err) { + test.notOk('Error should not be thrown') + console.error(err) + } + + testConsumer.clearEvents() + test.end() + }) + + await transferForwarded.test('should create notification message if transfer is found in incorrect state', async (test) => { + const expiredTestData = Util.clone(testData) + expiredTestData.expiration = new Date((new Date()).getTime() + 1000) + const td = await prepareTestData(expiredTestData) + const prepareConfig = Utility.getKafkaConfig( + Config.KAFKA_CONFIG, + Enum.Kafka.Config.PRODUCER, + TransferEventType.TRANSFER.toUpperCase(), + TransferEventType.PREPARE.toUpperCase()) + prepareConfig.logger = Logger + await Producer.produceMessage(td.messageProtocolPrepare, td.topicConfTransferPrepare, prepareConfig) + + try { + await wrapWithRetries(async () => { + const transfer = await TransferService.getById(td.messageProtocolPrepare.content.payload.transferId) || {} + if (transfer?.transferState !== TransferInternalState.EXPIRED_RESERVED) { + if (debug) console.log(`retrying in ${retryDelay / 1000}s..`) + return null + } + return transfer + }, wrapWithRetriesConf.remainingRetries, wrapWithRetriesConf.timeout) + } catch (err) { + Logger.error(err) + test.fail(err.message) + } + + // Send the prepare forwarded message after the prepare message has timed out + await Producer.produceMessage(td.messageProtocolPrepareForwarded, td.topicConfTransferPrepare, prepareConfig) + + try { + const notificationMessages = await wrapWithRetries(() => testConsumer.getEventsForFilter({ + topicFilter: 'topic-notification-event', + action: 'forwarded' + }), wrapWithRetriesConf.remainingRetries, wrapWithRetriesConf.timeout) + test.ok(notificationMessages[0], 'notification message found') + test.equal(notificationMessages[0].value.to, 'proxyFsp') + test.equal(notificationMessages[0].value.from, 'payerFsp') + test.equal( + notificationMessages[0].value.content.payload.errorInformation.errorDescription, + 'Internal server error - Invalid State: EXPIRED_RESERVED - expected: RESERVED' + ) + } catch (err) { + test.notOk('Error should not be thrown') + console.error(err) + } + + testConsumer.clearEvents() + test.end() + }) + transferForwarded.end() + }) + await handlersTest.test('transferFulfil should', async transferFulfil => { await transferFulfil.test('should create position fulfil message to override topic name in config', async (test) => { const td = await prepareTestData(testData) diff --git a/test/unit/domain/position/fx-timeout-reserved.test.js b/test/unit/domain/position/fx-timeout-reserved.test.js index 8993d77b0..5cf119b3a 100644 --- a/test/unit/domain/position/fx-timeout-reserved.test.js +++ b/test/unit/domain/position/fx-timeout-reserved.test.js @@ -202,7 +202,7 @@ Test('timeout reserved domain', positionIndexTest => { t.end() }) - positionIndexTest.skip('processPositionFxTimeoutReservedBin should', changeParticipantPositionTest => { + positionIndexTest.test('processPositionFxTimeoutReservedBin should', changeParticipantPositionTest => { changeParticipantPositionTest.test('produce abort message for transfers not in the right transfer state', async (test) => { try { await processPositionFxTimeoutReservedBin( @@ -233,10 +233,14 @@ Test('timeout reserved domain', positionIndexTest => { }, { 'd6a036a5-65a3-48af-a0c7-ee089c412ada': { - amount: -10 + 51: { + value: 10 + } }, '7e3fa3f7-9a1b-4a81-83c9-5b41112dd7f5': { - amount: -5 + 51: { + value: 5 + } } } ) diff --git a/test/unit/domain/transfer/index.test.js b/test/unit/domain/transfer/index.test.js index 730c527a0..93287e9aa 100644 --- a/test/unit/domain/transfer/index.test.js +++ b/test/unit/domain/transfer/index.test.js @@ -209,5 +209,35 @@ Test('Transfer Service', transferIndexTest => { logTransferErrorTest.end() }) + transferIndexTest.test('forwardedPrepare should', handlePayeeResponseTest => { + handlePayeeResponseTest.test('commit transfer', async (test) => { + try { + TransferFacade.updatePrepareReservedForwarded.returns(Promise.resolve()) + await TransferService.forwardedPrepare(payload.transferId) + test.pass() + test.end() + } catch (err) { + Logger.error(`handlePayeeResponse failed with error - ${err}`) + test.fail() + test.end() + } + }) + + handlePayeeResponseTest.test('throw error', async (test) => { + try { + TransferFacade.updatePrepareReservedForwarded.throws(new Error()) + await TransferService.forwardedPrepare(payload.transferId) + test.fail('Error not thrown') + test.end() + } catch (err) { + Logger.error(`handlePayeeResponse failed with error - ${err}`) + test.pass('Error thrown') + test.end() + } + }) + + handlePayeeResponseTest.end() + }) + transferIndexTest.end() }) diff --git a/test/unit/handlers/transfers/handler.test.js b/test/unit/handlers/transfers/handler.test.js index c69729212..9d228e3ed 100644 --- a/test/unit/handlers/transfers/handler.test.js +++ b/test/unit/handlers/transfers/handler.test.js @@ -998,6 +998,41 @@ Test('Transfer handler', transferHandlerTest => { test.end() }) + fulfilTest.test('produce message to position topic when validations pass with RESERVED_FORWARDED state', async (test) => { + const localfulfilMessages = MainUtil.clone(fulfilMessages) + await Consumer.createHandler(topicName, config, command) + Kafka.transformGeneralTopicName.returns(topicName) + + TransferService.getById.returns(Promise.resolve({ + condition: 'condition', + payeeFsp: 'dfsp2', + payerFsp: 'proxyFsp', + transferState: TransferInternalState.RESERVED_FORWARDED + })) + ilp.update.returns(Promise.resolve()) + Validator.validateFulfilCondition.returns(true) + localfulfilMessages[0].value.content.headers['fspiop-source'] = 'dfsp2' + localfulfilMessages[0].value.content.headers['fspiop-destination'] = 'proxyFsp' + localfulfilMessages[0].value.content.payload.fulfilment = 'condition' + Kafka.proceed.returns(true) + + TransferService.getTransferDuplicateCheck.returns(Promise.resolve(null)) + TransferService.saveTransferDuplicateCheck.returns(Promise.resolve(null)) + Comparators.duplicateCheckComparator.withArgs(transfer.transferId, localfulfilMessages[0].value.content.payload).returns(Promise.resolve({ + hasDuplicateId: false, + hasDuplicateHash: false + })) + + const result = await allTransferHandlers.fulfil(null, localfulfilMessages) + const kafkaCallOne = Kafka.proceed.getCall(0) + + test.equal(kafkaCallOne.args[2].eventDetail.functionality, Enum.Events.Event.Type.POSITION) + test.equal(kafkaCallOne.args[2].eventDetail.action, Enum.Events.Event.Action.COMMIT) + test.equal(kafkaCallOne.args[2].messageKey, '1') + test.equal(result, true) + test.end() + }) + fulfilTest.test('fail if event type is not fulfil', async (test) => { const localfulfilMessages = MainUtil.clone(fulfilMessages) await Consumer.createHandler(topicName, config, command) @@ -1071,6 +1106,47 @@ Test('Transfer handler', transferHandlerTest => { test.end() }) + fulfilTest.test('produce message to position topic when validations pass if Cyril result is fx enabled on RESERVED_FORWARDED transfer state', async (test) => { + const localfulfilMessages = MainUtil.clone(fulfilMessages) + await Consumer.createHandler(topicName, config, command) + Kafka.transformGeneralTopicName.returns(topicName) + Cyril.processFulfilMessage.returns({ + isFx: true, + positionChanges: [{ + participantCurrencyId: 1 + }] + }) + + TransferService.getById.returns(Promise.resolve({ + condition: 'condition', + payeeFsp: 'dfsp2', + payerFsp: 'dfsp1', + transferState: TransferInternalState.RESERVED_FORWARDED + })) + ilp.update.returns(Promise.resolve()) + Validator.validateFulfilCondition.returns(true) + localfulfilMessages[0].value.content.headers['fspiop-source'] = 'dfsp2' + localfulfilMessages[0].value.content.headers['fspiop-destination'] = 'dfsp1' + localfulfilMessages[0].value.content.payload.fulfilment = 'condition' + Kafka.proceed.returns(true) + + TransferService.getTransferDuplicateCheck.returns(Promise.resolve(null)) + TransferService.saveTransferDuplicateCheck.returns(Promise.resolve(null)) + Comparators.duplicateCheckComparator.withArgs(transfer.transferId, localfulfilMessages[0].value.content.payload).returns(Promise.resolve({ + hasDuplicateId: false, + hasDuplicateHash: false + })) + + const result = await allTransferHandlers.fulfil(null, localfulfilMessages) + const kafkaCallOne = Kafka.proceed.getCall(0) + + test.equal(kafkaCallOne.args[2].eventDetail.functionality, Enum.Events.Event.Type.POSITION) + test.equal(kafkaCallOne.args[2].eventDetail.action, Enum.Events.Event.Action.COMMIT) + test.equal(kafkaCallOne.args[2].messageKey, '1') + test.equal(result, true) + test.end() + }) + fulfilTest.test('fail when Cyril result contains no positionChanges', async (test) => { const localfulfilMessages = MainUtil.clone(fulfilMessages) await Consumer.createHandler(topicName, config, command) @@ -1815,6 +1891,36 @@ Test('Transfer handler', transferHandlerTest => { test.end() }) + fulfilTest.test('set transfer ABORTED when valid errorInformation is provided from RESERVED_FORWARDED state', async (test) => { + const invalidEventMessage = MainUtil.clone(fulfilMessages)[0] + await Consumer.createHandler(topicName, config, command) + Kafka.transformGeneralTopicName.returns(topicName) + Validator.validateFulfilCondition.returns(true) + TransferService.getById.returns(Promise.resolve({ + condition: 'condition', + payeeFsp: 'dfsp2', + payerFsp: 'dfsp1', + transferState: TransferInternalState.RESERVED_FORWARDED + })) + TransferService.handlePayeeResponse.returns(Promise.resolve({ transferErrorRecord: { errorCode: '5000', errorDescription: 'error text' } })) + invalidEventMessage.value.metadata.event.action = 'abort' + invalidEventMessage.value.content.payload = errInfo + invalidEventMessage.value.content.headers['fspiop-source'] = 'dfsp2' + invalidEventMessage.value.content.headers['fspiop-destination'] = 'dfsp1' + Kafka.proceed.returns(true) + + TransferService.getTransferDuplicateCheck.returns(Promise.resolve(null)) + TransferService.saveTransferDuplicateCheck.returns(Promise.resolve(null)) + Comparators.duplicateCheckComparator.withArgs(transfer.transferId, invalidEventMessage.value.content.payload).returns(Promise.resolve({ + hasDuplicateId: false, + hasDuplicateHash: false + })) + + const result = await allTransferHandlers.fulfil(null, invalidEventMessage) + test.equal(result, true) + test.end() + }) + fulfilTest.test('log error', async (test) => { // TODO: extend and enable unit test const invalidEventMessage = MainUtil.clone(fulfilMessages)[0] await Consumer.createHandler(topicName, config, command) diff --git a/test/unit/handlers/transfers/prepare.test.js b/test/unit/handlers/transfers/prepare.test.js index 726277b69..651ea7dd0 100644 --- a/test/unit/handlers/transfers/prepare.test.js +++ b/test/unit/handlers/transfers/prepare.test.js @@ -35,6 +35,7 @@ optionally within square brackets . const Sinon = require('sinon') const Test = require('tapes')(require('tape')) const Kafka = require('@mojaloop/central-services-shared').Util.Kafka +const ErrorHandler = require('@mojaloop/central-services-error-handling') const Validator = require('../../../../src/handlers/transfers/validator') const TransferService = require('../../../../src/domain/transfer') const Cyril = require('../../../../src/domain/fx/cyril') @@ -187,6 +188,32 @@ const fxMessageProtocol = { pp: '' } +const messageForwardedProtocol = { + id: randomUUID(), + from: '', + to: '', + type: 'application/json', + content: { + uriParams: { id: transfer.transferId }, + payload: { + proxyId: '' + } + }, + metadata: { + event: { + id: randomUUID(), + type: 'prepare', + action: 'forwarded', + createdAt: new Date(), + state: { + status: 'success', + code: 0 + } + } + }, + pp: '' +} + const messageProtocolBulkPrepare = MainUtil.clone(messageProtocol) messageProtocolBulkPrepare.metadata.event.action = 'bulk-prepare' const messageProtocolBulkCommit = MainUtil.clone(messageProtocol) @@ -212,6 +239,13 @@ const fxMessages = [ } ] +const forwardedMessages = [ + { + topic: topicName, + value: messageForwardedProtocol + } +] + const config = { options: { mode: 2, @@ -889,6 +923,51 @@ Test('Transfer handler', transferHandlerTest => { } }) + prepareTest.test('update reserved transfer on forwarded prepare message', async (test) => { + await Consumer.createHandler(topicName, config, command) + Kafka.transformAccountToTopicName.returns(topicName) + Kafka.proceed.returns(true) + TransferService.getById.returns(Promise.resolve({ transferState: Enum.Transfers.TransferInternalState.RESERVED })) + Comparators.duplicateCheckComparator.withArgs(transfer.transferId, transfer).returns(Promise.resolve({ + hasDuplicateId: false, + hasDuplicateHash: false + })) + const result = await allTransferHandlers.prepare(null, forwardedMessages[0]) + test.ok(TransferService.forwardedPrepare.called) + test.equal(result, true) + test.end() + }) + + prepareTest.test('produce error for unexpected state', async (test) => { + await Consumer.createHandler(topicName, config, command) + Kafka.transformAccountToTopicName.returns(topicName) + Kafka.proceed.returns(true) + TransferService.getById.returns(Promise.resolve({ transferState: Enum.Transfers.TransferInternalState.RESERVED_TIMEOUT })) + Comparators.duplicateCheckComparator.withArgs(transfer.transferId, transfer).returns(Promise.resolve({ + hasDuplicateId: false, + hasDuplicateHash: false + })) + const result = await allTransferHandlers.prepare(null, forwardedMessages[0]) + test.equal(Kafka.proceed.getCall(0).args[2].fspiopError.errorInformation.errorCode, ErrorHandler.Enums.FSPIOPErrorCodes.INTERNAL_SERVER_ERROR.code) + test.equal(result, true) + test.end() + }) + + prepareTest.test('produce error on transfer not found', async (test) => { + await Consumer.createHandler(topicName, config, command) + Kafka.transformAccountToTopicName.returns(topicName) + Kafka.proceed.returns(true) + TransferService.getById.returns(Promise.resolve(null)) + Comparators.duplicateCheckComparator.withArgs(transfer.transferId, transfer).returns(Promise.resolve({ + hasDuplicateId: false, + hasDuplicateHash: false + })) + const result = await allTransferHandlers.prepare(null, forwardedMessages[0]) + test.equal(result, true) + test.equal(Kafka.proceed.getCall(0).args[2].fspiopError.errorInformation.errorCode, ErrorHandler.Enums.FSPIOPErrorCodes.ID_NOT_FOUND.code) + test.end() + }) + prepareTest.end() })