@mojaloop/sdk-scheme-adapter 24.1.2 → 24.2.0-csi-1210.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (344) hide show
  1. package/.yarn/cache/{@apidevtools-json-schema-ref-parser-npm-11.9.0-687585503c-5b09f7d4bb.zip → @apidevtools-json-schema-ref-parser-npm-11.9.1-affeb92b0d-965c52ebd2.zip} +0 -0
  2. package/.yarn/cache/@babel-helper-create-class-features-plugin-npm-7.26.9-b0bf1b10a4-d445a660d2.zip +0 -0
  3. package/.yarn/cache/{@babel-runtime-npm-7.26.7-685f05ad2c-a1664a08f3.zip → @babel-runtime-npm-7.26.9-8369ff039f-838492d8a9.zip} +0 -0
  4. package/.yarn/cache/{@eslint-config-array-npm-0.19.1-2985276432-421aad712a.zip → @eslint-config-array-npm-0.19.2-9310e910a9-1c707e04fc.zip} +0 -0
  5. package/.yarn/cache/@eslint-core-npm-0.12.0-38bccca4dd-3979af3241.zip +0 -0
  6. package/.yarn/cache/@eslint-core-npm-0.9.1-e156c07571-33c8159842.zip +0 -0
  7. package/.yarn/cache/@eslint-eslintrc-npm-3.3.0-72b2f21ce8-1d8a4205c2.zip +0 -0
  8. package/.yarn/cache/{@eslint-js-npm-9.19.0-12d90bd733-bf4077b390.zip → @eslint-js-npm-9.15.0-299ff7a9ff-8b2aa35b62.zip} +0 -0
  9. package/.yarn/cache/{@eslint-object-schema-npm-2.1.5-9f81710c7d-5facffc832.zip → @eslint-object-schema-npm-2.1.6-a777ee59e8-e32e565319.zip} +0 -0
  10. package/.yarn/cache/{@eslint-plugin-kit-npm-0.2.5-aeb42dfdc6-423db33e67.zip → @eslint-plugin-kit-npm-0.2.7-c313bcf919-e5d9be6ae5.zip} +0 -0
  11. package/.yarn/cache/@humanwhocodes-retry-npm-0.4.2-78a05c1b69-764127449a.zip +0 -0
  12. package/.yarn/cache/@mojaloop-central-services-error-handling-npm-13.0.7-4af4c724e6-63e1af4094.zip +0 -0
  13. package/.yarn/cache/{@mojaloop-central-services-shared-npm-18.19.0-e14673dce9-2d984e3fba.zip → @mojaloop-central-services-shared-npm-18.21.0-6755b8831a-d6c57dbf15.zip} +0 -0
  14. package/.yarn/cache/@mojaloop-ml-schema-transformer-lib-npm-2.5.6-c7788ac913-3556a96a40.zip +0 -0
  15. package/.yarn/cache/{@mojaloop-sdk-standard-components-npm-19.7.0-04e9d9d599-fefb01a635.zip → @mojaloop-sdk-standard-components-npm-19.7.1-41bada4515-6b413699ea.zip} +0 -0
  16. package/.yarn/cache/{@mojaloop-sdk-standard-components-npm-19.6.4-3d5f991e58-7d42500cce.zip → @mojaloop-sdk-standard-components-npm-19.8.0-snapshot.4-193cd95852-71296babd7.zip} +0 -0
  17. package/.yarn/cache/@opentelemetry-api-logs-npm-0.57.2-97ef249ccb-9c654feea3.zip +0 -0
  18. package/.yarn/cache/@opentelemetry-auto-instrumentations-node-npm-0.56.1-956c504579-708bc207d5.zip +0 -0
  19. package/.yarn/cache/@opentelemetry-context-async-hooks-npm-1.30.1-6c85d1d7e3-9bc42d4be4.zip +0 -0
  20. package/.yarn/cache/@opentelemetry-context-base-npm-0.17.0-2cceb1e85b-4b29fa34ef.zip +0 -0
  21. package/.yarn/cache/@opentelemetry-core-npm-1.30.1-6bab40a361-fe71452fff.zip +0 -0
  22. package/.yarn/cache/@opentelemetry-exporter-logs-otlp-grpc-npm-0.57.2-619cd77b9d-6c35209222.zip +0 -0
  23. package/.yarn/cache/@opentelemetry-exporter-logs-otlp-http-npm-0.57.2-6094fba3fa-0f23020fde.zip +0 -0
  24. package/.yarn/cache/@opentelemetry-exporter-logs-otlp-proto-npm-0.57.2-e59c93f1a5-fda1b818b9.zip +0 -0
  25. package/.yarn/cache/@opentelemetry-exporter-metrics-otlp-grpc-npm-0.57.2-3c5de4d7af-9ee9555f0a.zip +0 -0
  26. package/.yarn/cache/@opentelemetry-exporter-metrics-otlp-http-npm-0.57.2-af3ab66c09-64505d43af.zip +0 -0
  27. package/.yarn/cache/@opentelemetry-exporter-metrics-otlp-proto-npm-0.57.2-feac7a7bc4-69da876c8e.zip +0 -0
  28. package/.yarn/cache/@opentelemetry-exporter-prometheus-npm-0.57.2-5c14591b74-c2c86f56fd.zip +0 -0
  29. package/.yarn/cache/@opentelemetry-exporter-trace-otlp-grpc-npm-0.57.2-db5f8456a2-5da93e55dd.zip +0 -0
  30. package/.yarn/cache/@opentelemetry-exporter-trace-otlp-http-npm-0.57.2-3647f3e1b5-4611a7d03f.zip +0 -0
  31. package/.yarn/cache/@opentelemetry-exporter-trace-otlp-proto-npm-0.57.2-593b040eac-0228cc97c4.zip +0 -0
  32. package/.yarn/cache/@opentelemetry-exporter-zipkin-npm-1.30.1-2b7dd3bbbe-915ced1a93.zip +0 -0
  33. package/.yarn/cache/@opentelemetry-instrumentation-amqplib-npm-0.46.1-fdfcf0fc10-97beb23c1a.zip +0 -0
  34. package/.yarn/cache/@opentelemetry-instrumentation-aws-lambda-npm-0.50.3-ae4ee0b7e4-f2c7923eed.zip +0 -0
  35. package/.yarn/cache/@opentelemetry-instrumentation-aws-sdk-npm-0.49.1-0eadc36342-327a437621.zip +0 -0
  36. package/.yarn/cache/@opentelemetry-instrumentation-bunyan-npm-0.45.1-1d3f6cc544-8066568c32.zip +0 -0
  37. package/.yarn/cache/@opentelemetry-instrumentation-cassandra-driver-npm-0.45.1-18bfd2b526-26e9dabc0d.zip +0 -0
  38. package/.yarn/cache/@opentelemetry-instrumentation-connect-npm-0.43.1-a5c04e486f-5d1f378040.zip +0 -0
  39. package/.yarn/cache/@opentelemetry-instrumentation-cucumber-npm-0.14.1-bde3ef2142-905d97d2ac.zip +0 -0
  40. package/.yarn/cache/@opentelemetry-instrumentation-dataloader-npm-0.16.1-85fa5db77c-7ee25069f1.zip +0 -0
  41. package/.yarn/cache/@opentelemetry-instrumentation-dns-npm-0.43.1-4f55fe2f06-ca2caca3e6.zip +0 -0
  42. package/.yarn/cache/@opentelemetry-instrumentation-express-npm-0.47.1-1f1413724e-be09e0df7a.zip +0 -0
  43. package/.yarn/cache/@opentelemetry-instrumentation-fastify-npm-0.44.2-0f514583d2-d5117a4992.zip +0 -0
  44. package/.yarn/cache/@opentelemetry-instrumentation-fs-npm-0.19.1-06ae3b08dd-771817e43f.zip +0 -0
  45. package/.yarn/cache/@opentelemetry-instrumentation-generic-pool-npm-0.43.1-6e499a6392-c89981bf8e.zip +0 -0
  46. package/.yarn/cache/@opentelemetry-instrumentation-graphql-npm-0.47.1-20a9742ed2-c51cf72854.zip +0 -0
  47. package/.yarn/cache/@opentelemetry-instrumentation-grpc-npm-0.57.2-2f552d16c1-f912585575.zip +0 -0
  48. package/.yarn/cache/@opentelemetry-instrumentation-hapi-npm-0.45.2-7b44edb8e6-208d37a906.zip +0 -0
  49. package/.yarn/cache/@opentelemetry-instrumentation-http-npm-0.57.2-14dfa84450-ade80431e9.zip +0 -0
  50. package/.yarn/cache/@opentelemetry-instrumentation-ioredis-npm-0.47.1-81202950dd-828999d2d5.zip +0 -0
  51. package/.yarn/cache/@opentelemetry-instrumentation-kafkajs-npm-0.7.1-576980f7ca-84e04579a8.zip +0 -0
  52. package/.yarn/cache/@opentelemetry-instrumentation-knex-npm-0.44.1-189f1469b7-e80a201b59.zip +0 -0
  53. package/.yarn/cache/@opentelemetry-instrumentation-koa-npm-0.47.1-b6790ae058-3bb9d41cf2.zip +0 -0
  54. package/.yarn/cache/@opentelemetry-instrumentation-lru-memoizer-npm-0.44.1-9797c03424-93df72f85e.zip +0 -0
  55. package/.yarn/cache/@opentelemetry-instrumentation-memcached-npm-0.43.1-e19ea54eb5-93857d00de.zip +0 -0
  56. package/.yarn/cache/@opentelemetry-instrumentation-mongodb-npm-0.52.0-1504cf67fd-a0d88afea9.zip +0 -0
  57. package/.yarn/cache/@opentelemetry-instrumentation-mongoose-npm-0.46.1-a846c79f5b-05ed52c5b7.zip +0 -0
  58. package/.yarn/cache/@opentelemetry-instrumentation-mysql-npm-0.45.1-362b5aa9f9-4117cda307.zip +0 -0
  59. package/.yarn/cache/@opentelemetry-instrumentation-mysql2-npm-0.45.2-11fa75524d-626fb29535.zip +0 -0
  60. package/.yarn/cache/@opentelemetry-instrumentation-nestjs-core-npm-0.44.1-d236b31d92-8fec82978c.zip +0 -0
  61. package/.yarn/cache/@opentelemetry-instrumentation-net-npm-0.43.1-af85cc9995-613d8a4b45.zip +0 -0
  62. package/.yarn/cache/@opentelemetry-instrumentation-npm-0.57.2-c480e6a5c7-8a494d2ea4.zip +0 -0
  63. package/.yarn/cache/@opentelemetry-instrumentation-pg-npm-0.51.1-7088d5dfa2-ebd36407a5.zip +0 -0
  64. package/.yarn/cache/@opentelemetry-instrumentation-pino-npm-0.46.1-7f37c636df-97dca1180d.zip +0 -0
  65. package/.yarn/cache/@opentelemetry-instrumentation-redis-4-npm-0.46.1-8e5d68a0bc-9350ab6d7c.zip +0 -0
  66. package/.yarn/cache/@opentelemetry-instrumentation-redis-npm-0.46.1-cd801212ee-52bfba4804.zip +0 -0
  67. package/.yarn/cache/@opentelemetry-instrumentation-restify-npm-0.45.1-02ab1eb140-db8addeb6d.zip +0 -0
  68. package/.yarn/cache/@opentelemetry-instrumentation-router-npm-0.44.1-5949767675-ffa9d2d0d0.zip +0 -0
  69. package/.yarn/cache/@opentelemetry-instrumentation-socket.io-npm-0.46.1-9d45e12557-de6df872b1.zip +0 -0
  70. package/.yarn/cache/@opentelemetry-instrumentation-tedious-npm-0.18.1-4409343a78-b46ef75a59.zip +0 -0
  71. package/.yarn/cache/@opentelemetry-instrumentation-undici-npm-0.10.1-9a8b9f0c5f-0f54bd14c9.zip +0 -0
  72. package/.yarn/cache/@opentelemetry-instrumentation-winston-npm-0.44.1-bd903159a0-9eea2912b1.zip +0 -0
  73. package/.yarn/cache/@opentelemetry-otlp-exporter-base-npm-0.57.2-9e7a510489-6bacc1dc96.zip +0 -0
  74. package/.yarn/cache/@opentelemetry-otlp-grpc-exporter-base-npm-0.57.2-f1366e7045-e947850f50.zip +0 -0
  75. package/.yarn/cache/@opentelemetry-otlp-transformer-npm-0.57.2-c2ce9fef04-6e67aa4ec0.zip +0 -0
  76. package/.yarn/cache/@opentelemetry-propagation-utils-npm-0.30.16-95a5675c60-eef5ca1b64.zip +0 -0
  77. package/.yarn/cache/@opentelemetry-propagator-b3-npm-1.30.1-590a976998-19e7a7667a.zip +0 -0
  78. package/.yarn/cache/@opentelemetry-propagator-jaeger-npm-1.30.1-7b2134bf11-ac8bab25e8.zip +0 -0
  79. package/.yarn/cache/@opentelemetry-redis-common-npm-0.36.2-15106e7250-b0a6f2c2dc.zip +0 -0
  80. package/.yarn/cache/@opentelemetry-resource-detector-alibaba-cloud-npm-0.30.1-c45df5f73c-04c1ae5b56.zip +0 -0
  81. package/.yarn/cache/@opentelemetry-resource-detector-aws-npm-1.12.0-a2ac2d249e-a3a678bde6.zip +0 -0
  82. package/.yarn/cache/@opentelemetry-resource-detector-azure-npm-0.6.1-89985e9e64-df9114159c.zip +0 -0
  83. package/.yarn/cache/@opentelemetry-resource-detector-container-npm-0.6.1-0e50d40971-e1fde0eec0.zip +0 -0
  84. package/.yarn/cache/@opentelemetry-resource-detector-gcp-npm-0.33.1-d8f6b8ac77-966e78efff.zip +0 -0
  85. package/.yarn/cache/@opentelemetry-resources-npm-1.30.1-1afce2cc97-a930d52fcd.zip +0 -0
  86. package/.yarn/cache/@opentelemetry-sdk-logs-npm-0.57.2-11059307d9-5e14cb81ee.zip +0 -0
  87. package/.yarn/cache/@opentelemetry-sdk-metrics-npm-1.30.1-1232d12cd6-b74d16b1a0.zip +0 -0
  88. package/.yarn/cache/@opentelemetry-sdk-node-npm-0.57.2-c0d3e9229f-e8a726e5d6.zip +0 -0
  89. package/.yarn/cache/@opentelemetry-sdk-trace-base-npm-1.30.1-6263d5195f-212c19fb25.zip +0 -0
  90. package/.yarn/cache/@opentelemetry-sdk-trace-node-npm-1.30.1-6bc52726d5-e9122c45b5.zip +0 -0
  91. package/.yarn/cache/@opentelemetry-semantic-conventions-npm-1.28.0-942b4f4e95-1d708afa65.zip +0 -0
  92. package/.yarn/cache/@opentelemetry-semantic-conventions-npm-1.30.0-ed4337027d-53d3489f11.zip +0 -0
  93. package/.yarn/cache/@opentelemetry-sql-common-npm-0.40.1-8e555e0757-2352974053.zip +0 -0
  94. package/.yarn/cache/{@redocly-openapi-core-npm-1.28.0-c4b1f1cf53-83f9fa2ed3.zip → @redocly-openapi-core-npm-1.31.1-fb4096a34f-bce3703b79.zip} +0 -0
  95. package/.yarn/cache/@rollup-rollup-linux-x64-musl-npm-4.34.9-ee6556627d-8.zip +0 -0
  96. package/.yarn/cache/@types-aws-lambda-npm-8.10.147-4e6dba6123-697348cb90.zip +0 -0
  97. package/.yarn/cache/@types-bunyan-npm-1.8.11-950d8551a4-9c8bf737bc.zip +0 -0
  98. package/.yarn/cache/@types-memcached-npm-2.2.10-80a23c7b39-c95e2ed494.zip +0 -0
  99. package/.yarn/cache/@types-mysql-npm-2.15.26-e8ee291ec4-c43395643a.zip +0 -0
  100. package/.yarn/cache/{@types-node-npm-22.12.0-7905337c99-2f6dd04abe.zip → @types-node-npm-22.13.9-565bb4cd14-d36ae841fa.zip} +0 -0
  101. package/.yarn/cache/@types-pg-npm-8.11.11-c5a8a91498-50c4a80348.zip +0 -0
  102. package/.yarn/cache/@types-pg-npm-8.6.1-6de7239b4b-a44710ff06.zip +0 -0
  103. package/.yarn/cache/@types-pg-pool-npm-2.0.6-ebe4ae949f-cc54ce9711.zip +0 -0
  104. package/.yarn/cache/@types-shimmer-npm-1.2.0-ff593a1ec3-f081a31d82.zip +0 -0
  105. package/.yarn/cache/@types-tedious-npm-4.0.14-11edc4a73d-88505dda8b.zip +0 -0
  106. package/.yarn/cache/{@typescript-eslint-eslint-plugin-npm-8.25.0-f1ecf3f166-8e6f525d9c.zip → @typescript-eslint-eslint-plugin-npm-8.26.0-64bda8e44c-fbfc0e65b9.zip} +0 -0
  107. package/.yarn/cache/{@typescript-eslint-parser-npm-8.25.0-31c155428a-5de468b96b.zip → @typescript-eslint-parser-npm-8.26.0-80aadd4d9c-6d8a8fcca1.zip} +0 -0
  108. package/.yarn/cache/@typescript-eslint-scope-manager-npm-8.26.0-ef399f862d-b1d35e8b4e.zip +0 -0
  109. package/.yarn/cache/{@typescript-eslint-type-utils-npm-8.25.0-948ec177d4-ee4bccb650.zip → @typescript-eslint-type-utils-npm-8.26.0-f34f57bfb3-eab175e5be.zip} +0 -0
  110. package/.yarn/cache/@typescript-eslint-types-npm-8.26.0-6090977dc6-dea8535575.zip +0 -0
  111. package/.yarn/cache/@typescript-eslint-typescript-estree-npm-8.26.0-352c786ebb-492ad542c1.zip +0 -0
  112. package/.yarn/cache/@typescript-eslint-utils-npm-8.26.0-50b78242aa-6bb6e7c9bd.zip +0 -0
  113. package/.yarn/cache/@typescript-eslint-visitor-keys-npm-8.26.0-ff1c3f4568-4209794bbd.zip +0 -0
  114. package/.yarn/cache/acorn-import-attributes-npm-1.9.5-d1e666eb35-1c0c49b6a2.zip +0 -0
  115. package/.yarn/cache/axios-npm-1.8.1-8a5eaf948f-3c434b86bb.zip +0 -0
  116. package/.yarn/cache/bignumber.js-npm-9.1.2-c2228c6a4a-582c03af77.zip +0 -0
  117. package/.yarn/cache/call-bind-apply-helpers-npm-1.0.2-3eedbea3bb-b2863d74fc.zip +0 -0
  118. package/.yarn/cache/caniuse-lite-npm-1.0.30001700-af88646d2b-0e5e1c8648.zip +0 -0
  119. package/.yarn/cache/cjs-module-lexer-npm-1.4.3-4a46e7bf6c-221a1661a9.zip +0 -0
  120. package/.yarn/cache/cli-table-npm-0.3.11-f912789cff-59fb61f992.zip +0 -0
  121. package/.yarn/cache/colors-npm-1.0.3-6c5d583ab3-234e8d3ab7.zip +0 -0
  122. package/.yarn/cache/compression-npm-1.8.0-5088616544-12ca3e326b.zip +0 -0
  123. package/.yarn/cache/cookie-npm-0.6.0-362d6a2e45-f56a7d32a0.zip +0 -0
  124. package/.yarn/cache/electron-to-chromium-npm-1.5.104-d9177e3237-5b8b22c0ae.zip +0 -0
  125. package/.yarn/cache/es-shim-unscopables-npm-1.1.0-13f1970345-33cfb1ebcb.zip +0 -0
  126. package/.yarn/cache/{eslint-npm-9.19.0-e70f56e959-173c77ac3f.zip → eslint-npm-9.15.0-5469d28713-50b7e1c4cb.zip} +0 -0
  127. package/.yarn/cache/exponential-backoff-npm-3.1.2-e030c582de-7e191e3dd6.zip +0 -0
  128. package/.yarn/cache/express-npm-4.19.2-f81334a22a-212dbd6c2c.zip +0 -0
  129. package/.yarn/cache/extend-npm-3.0.2-e1ca07ac54-a50a8309ca.zip +0 -0
  130. package/.yarn/cache/fast-xml-parser-npm-4.5.3-4c572a6316-cd6a184941.zip +0 -0
  131. package/.yarn/cache/fastq-npm-1.19.0-5e2713df98-c9203c9e48.zip +0 -0
  132. package/.yarn/cache/finalhandler-npm-1.2.0-593d001463-92effbfd32.zip +0 -0
  133. package/.yarn/cache/{flatted-npm-3.3.2-6bf77e6e67-ac3c159742.zip → flatted-npm-3.3.3-ca455563b2-8c96c02fbe.zip} +0 -0
  134. package/.yarn/cache/for-each-npm-0.3.5-b74c5c5ba7-3c986d7e11.zip +0 -0
  135. package/.yarn/cache/{foreground-child-npm-3.3.0-b8be745271-1989698488.zip → foreground-child-npm-3.3.1-b7775fda04-b2c1a6fc0b.zip} +0 -0
  136. package/.yarn/cache/form-data-npm-4.0.2-d2e89057d5-e887298b22.zip +0 -0
  137. package/.yarn/cache/forwarded-parse-npm-2.1.2-8cf38fd641-fca4df8898.zip +0 -0
  138. package/.yarn/cache/gaxios-npm-6.7.1-11467afb7c-ed59526553.zip +0 -0
  139. package/.yarn/cache/gcp-metadata-npm-6.1.1-049b8b370a-7dffe884fd.zip +0 -0
  140. package/.yarn/cache/get-intrinsic-npm-1.3.0-35558f27b6-301008e448.zip +0 -0
  141. package/.yarn/cache/glob-npm-9.3.5-2f602083f0-94b093adbc.zip +0 -0
  142. package/.yarn/cache/google-logging-utils-npm-0.0.2-598ff18186-270de74cde.zip +0 -0
  143. package/.yarn/cache/import-fresh-npm-3.3.1-1916794950-a06b19461b.zip +0 -0
  144. package/.yarn/cache/import-in-the-middle-npm-1.13.0-923c4ecf3f-f7a62d6fa1.zip +0 -0
  145. package/.yarn/cache/ini-npm-3.0.1-5000598340-947b582a82.zip +0 -0
  146. package/.yarn/cache/is-boolean-object-npm-1.2.2-ceb8c82b17-0415b181e8.zip +0 -0
  147. package/.yarn/cache/is-weakref-npm-1.1.1-e6458807f4-1769b9aed5.zip +0 -0
  148. package/.yarn/cache/json-bigint-npm-1.0.0-8e35bcb143-c67bb93ccb.zip +0 -0
  149. package/.yarn/cache/{koa-npm-2.15.4-5a729e75eb-cd2bf396fa.zip → koa-npm-2.16.0-fccb365a23-01be3231d4.zip} +0 -0
  150. package/.yarn/cache/long-npm-5.3.1-c44e0933f0-2a44ed1408.zip +0 -0
  151. package/.yarn/cache/merge-descriptors-npm-1.0.1-615287aaa8-5abc259d2a.zip +0 -0
  152. package/.yarn/cache/minimatch-npm-7.4.6-f3feee458c-1a6c8d2261.zip +0 -0
  153. package/.yarn/cache/minimatch-npm-8.0.4-bf57f0e98a-2e46cffb86.zip +0 -0
  154. package/.yarn/cache/minipass-npm-4.2.8-f05abfe254-7f4914d529.zip +0 -0
  155. package/.yarn/cache/module-details-from-path-npm-1.0.3-396d5203b4-378a8a2601.zip +0 -0
  156. package/.yarn/cache/nan-npm-2.22.1-09e9287ac1-984c07db9f.zip +0 -0
  157. package/.yarn/cache/node-gyp-npm-11.1.0-bd7044e197-b196da39a7.zip +0 -0
  158. package/.yarn/cache/npm-check-updates-npm-16.7.10-c7631e6e9a-003a1b618b.zip +0 -0
  159. package/.yarn/cache/oauth2-server-npm-4.0.0-dev.2-0a8b43e457-78a7fc8cfc.zip +0 -0
  160. package/.yarn/cache/object-inspect-npm-1.13.4-4e741f9806-582810c6a8.zip +0 -0
  161. package/.yarn/cache/obuf-npm-1.1.2-8db5fae8dd-41a2ba310e.zip +0 -0
  162. package/.yarn/cache/pacote-npm-15.1.1-61d4204b89-109388e873.zip +0 -0
  163. package/.yarn/cache/pg-int8-npm-1.0.1-5cd67f3e22-a1e3a05a69.zip +0 -0
  164. package/.yarn/cache/pg-numeric-npm-1.0.2-9026ec3427-8899f8200c.zip +0 -0
  165. package/.yarn/cache/pg-protocol-npm-1.7.1-5571ffdced-88df68e8c0.zip +0 -0
  166. package/.yarn/cache/pg-types-npm-2.2.0-a3360226c4-bf4ec3f594.zip +0 -0
  167. package/.yarn/cache/pg-types-npm-4.0.2-771d83bf15-c4b813382d.zip +0 -0
  168. package/.yarn/cache/possible-typed-array-names-npm-1.1.0-ce60ca4401-cfcd4f0526.zip +0 -0
  169. package/.yarn/cache/postcss-npm-8.5.3-37174aa03d-da574620eb.zip +0 -0
  170. package/.yarn/cache/postgres-array-npm-2.0.0-4f49dc1389-0e1e659888.zip +0 -0
  171. package/.yarn/cache/postgres-array-npm-3.0.2-da6a3f1fed-5955f9dffe.zip +0 -0
  172. package/.yarn/cache/postgres-bytea-npm-1.0.0-8c2b81fa73-d844ae4ca7.zip +0 -0
  173. package/.yarn/cache/postgres-bytea-npm-3.0.0-5de4c664f6-5f917a003f.zip +0 -0
  174. package/.yarn/cache/postgres-date-npm-1.0.7-aadfe5531e-5745001d47.zip +0 -0
  175. package/.yarn/cache/postgres-date-npm-2.1.0-710ac64466-5c573b0602.zip +0 -0
  176. package/.yarn/cache/postgres-interval-npm-1.2.0-ca6414744d-746b71f938.zip +0 -0
  177. package/.yarn/cache/postgres-interval-npm-3.0.0-936c769b98-c7a1cf006d.zip +0 -0
  178. package/.yarn/cache/postgres-range-npm-1.1.4-018d46d348-460af8c882.zip +0 -0
  179. package/.yarn/cache/prompts-ncu-npm-2.5.1-586a5abf0b-e8b6479305.zip +0 -0
  180. package/.yarn/cache/qs-npm-6.11.0-caf1bc9dea-6e1f29dd53.zip +0 -0
  181. package/.yarn/cache/registry-auth-token-npm-5.1.0-0b41e3c979-620c897167.zip +0 -0
  182. package/.yarn/cache/require-in-the-middle-npm-7.5.2-90474f7e4b-1b282e3b8b.zip +0 -0
  183. package/.yarn/cache/reusify-npm-1.1.0-96242be57f-64cb3142ac.zip +0 -0
  184. package/.yarn/cache/rimraf-npm-4.4.1-80b02e041a-b786adc026.zip +0 -0
  185. package/.yarn/cache/send-npm-0.18.0-faadf6353f-74fc07ebb5.zip +0 -0
  186. package/.yarn/cache/serve-static-npm-1.15.0-86c81879f5-af57fc13be.zip +0 -0
  187. package/.yarn/cache/shimmer-npm-1.2.1-8b50bf3206-aa0d6252ad.zip +0 -0
  188. package/.yarn/cache/{socks-npm-2.8.3-3532b59899-7a6b7f6eed.zip → socks-npm-2.8.4-8194b86bd0-cd1edc9244.zip} +0 -0
  189. package/.yarn/cache/strnum-npm-1.1.1-67836fb7cf-1be70c6ec3.zip +0 -0
  190. package/.yarn/cache/{swagger-ui-dist-npm-5.18.3-592e0fa048-3a2c17181b.zip → swagger-ui-dist-npm-5.19.0-1a4737b567-a2ae866b9f.zip} +0 -0
  191. package/.yarn/cache/{type-fest-npm-4.33.0-34a5b19843-42c9a4e305.zip → type-fest-npm-4.35.0-9c20cd5f20-14581e7b02.zip} +0 -0
  192. package/.yarn/cache/typescript-npm-5.8.2-b95d637f6a-7f9e3d7ac1.zip +0 -0
  193. package/.yarn/cache/typescript-patch-ef570fb450-a58d19ff98.zip +0 -0
  194. package/.yarn/cache/uuid-npm-9.0.1-39a8442bc6-39931f6da7.zip +0 -0
  195. package/.yarn/cache/{zod-npm-3.24.1-62ba4e84b3-dcd5334725.zip → zod-npm-3.24.2-ab80dc0969-c02455c096.zip} +0 -0
  196. package/.yarn/install-state.gz +0 -0
  197. package/CHANGELOG.md +7 -0
  198. package/modules/api-svc/package.json +55 -51
  199. package/modules/api-svc/src/InboundServer/handlers.js +4 -4
  200. package/modules/api-svc/src/InboundServer/index.js +3 -3
  201. package/modules/api-svc/src/InboundServer/middlewares.js +15 -20
  202. package/modules/api-svc/src/OutboundServer/handlers.js +1 -1
  203. package/modules/api-svc/src/OutboundServer/middlewares.js +9 -4
  204. package/modules/api-svc/src/index.js +2 -2
  205. package/modules/api-svc/src/lib/cache.js +1 -1
  206. package/modules/api-svc/src/lib/model/InboundTransfersModel.js +5 -5
  207. package/modules/api-svc/src/lib/model/OutboundTransfersModel.js +52 -13
  208. package/modules/api-svc/src/lib/router.js +4 -6
  209. package/modules/api-svc/test/unit/api/transfers/transfers.test.js +1 -2
  210. package/modules/api-svc/test/unit/api/transfers/utils.js +3 -0
  211. package/modules/api-svc/test/unit/lib/model/OutboundTransfersModel.test.js +27 -9
  212. package/modules/api-svc/test/unit/lib/model/PartiesModel.test.js +2 -1
  213. package/modules/api-svc/test/unit/lib/model/QuotesModel.test.js +2 -1
  214. package/modules/api-svc/test/unit/lib/model/TransfersModel.test.js +2 -1
  215. package/modules/api-svc/test/unit/mockLogger.js +6 -4
  216. package/modules/outbound-command-event-handler/package.json +30 -30
  217. package/modules/outbound-command-event-handler/src/api-server/app.ts +0 -22
  218. package/modules/outbound-command-event-handler/src/api-server/handlers/bulk-transactions.ts +0 -22
  219. package/modules/outbound-command-event-handler/src/api-server/handlers/health.ts +0 -22
  220. package/modules/outbound-command-event-handler/src/api-server/handlers/index.ts +0 -22
  221. package/modules/outbound-command-event-handler/src/api-server/index.ts +0 -22
  222. package/modules/outbound-command-event-handler/src/api-server/models/bulk-transaction.ts +0 -22
  223. package/modules/outbound-command-event-handler/src/api-server/models/health.ts +0 -22
  224. package/modules/outbound-command-event-handler/src/api-server/models/index.ts +0 -22
  225. package/modules/outbound-command-event-handler/src/api-server/services/bulk-transactions.ts +0 -22
  226. package/modules/outbound-command-event-handler/src/api-server/services/health.ts +0 -22
  227. package/modules/outbound-command-event-handler/src/application/errors.ts +0 -26
  228. package/modules/outbound-command-event-handler/src/application/handler.ts +0 -22
  229. package/modules/outbound-command-event-handler/src/application/index.ts +0 -22
  230. package/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/handlers/index.ts +0 -22
  231. package/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/handlers/prepare_sdk_outbound_bulk_response.ts +0 -22
  232. package/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/handlers/process_bulk_quotes_callback.ts +0 -22
  233. package/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/handlers/process_bulk_transfers_callback.ts +0 -22
  234. package/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/handlers/process_party_info_callback.ts +0 -22
  235. package/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/handlers/process_sdk_outbound_bulk_accept_party_info.ts +0 -22
  236. package/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/handlers/process_sdk_outbound_bulk_accept_quote.ts +0 -22
  237. package/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/handlers/process_sdk_outbound_bulk_party_info_request.ts +0 -22
  238. package/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/handlers/process_sdk_outbound_bulk_quotes_request.ts +0 -22
  239. package/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/handlers/process_sdk_outbound_bulk_request.ts +0 -22
  240. package/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/handlers/process_sdk_outbound_bulk_response_sent.ts +0 -22
  241. package/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/handlers/process_sdk_outbound_bulk_transfers_request.ts +0 -22
  242. package/modules/outbound-command-event-handler/src/domain/bulk_transaction_agg/index.ts +0 -22
  243. package/modules/outbound-command-event-handler/src/domain/index.ts +0 -22
  244. package/modules/outbound-command-event-handler/src/types/command_event_handler_options.ts +0 -22
  245. package/modules/outbound-command-event-handler/src/types/index.ts +0 -22
  246. package/modules/outbound-command-event-handler/src/types/repo_infra_types.ts +0 -26
  247. package/modules/outbound-command-event-handler/test/integration/application/agreement/process_bulk_quotes_callback.test.ts +0 -22
  248. package/modules/outbound-command-event-handler/test/integration/application/agreement/process_sdk_outbound_bulk_quotes_request.test.ts +0 -22
  249. package/modules/outbound-command-event-handler/test/integration/application/discovery/process_bulk_accept_party_info.test.ts +0 -22
  250. package/modules/outbound-command-event-handler/test/integration/application/discovery/process_bulk_party_info_request.test.ts +0 -22
  251. package/modules/outbound-command-event-handler/test/integration/application/discovery/process_bulk_request.test.ts +0 -22
  252. package/modules/outbound-command-event-handler/test/integration/application/discovery/process_party_info_callback.test.ts +0 -22
  253. package/modules/outbound-command-event-handler/test/integration/application/transfers/prepare_sdk_outbound_bulk_response.test.ts +0 -22
  254. package/modules/outbound-command-event-handler/test/integration/application/transfers/process_bulk_response_sent.test.ts +0 -22
  255. package/modules/outbound-command-event-handler/test/integration/application/transfers/process_bulk_transfers_callback.test.ts +0 -22
  256. package/modules/outbound-command-event-handler/test/integration/application/transfers/process_bulk_transfers_request.test.ts +0 -22
  257. package/modules/outbound-command-event-handler/test/integration/application/transfers/process_bulk_transfers_request_complete.test.ts +0 -22
  258. package/modules/outbound-command-event-handler/test/integration/application/transfers/process_prepare_bulk_response.test.ts +0 -22
  259. package/modules/outbound-command-event-handler/test/integration/application/transfers/process_sdk_outbound_bulk_accept_quote.test.ts +0 -22
  260. package/modules/outbound-command-event-handler/test/integration/application/transfers/process_sdk_outbound_bulk_response_sent.test.ts +0 -22
  261. package/modules/outbound-command-event-handler/test/integration/sample_events/process_sdk_outbound_bulk_transfers_request.test.ts +0 -24
  262. package/modules/outbound-command-event-handler/test/integration/sample_events/sdk_outbound_bulk_accept_party_info_received.test.ts +0 -24
  263. package/modules/outbound-command-event-handler/test/integration/sample_events/sdk_outbound_bulk_request_received.test.ts +0 -24
  264. package/modules/outbound-command-event-handler/test/unit/data/bulk_transaction_request.ts +0 -22
  265. package/modules/outbound-command-event-handler/test/unit/domain/bulk_transaction_agg/index.test.ts +0 -22
  266. package/modules/outbound-command-event-handler/test/unit/index.test.ts +0 -26
  267. package/modules/outbound-command-event-handler/test/util/generator.ts +0 -22
  268. package/modules/outbound-command-event-handler/test/util/index.ts +0 -22
  269. package/modules/outbound-command-event-handler/test/util/timer.ts +0 -22
  270. package/modules/outbound-domain-event-handler/package.json +28 -28
  271. package/modules/outbound-domain-event-handler/src/api-server/services/health.ts +0 -22
  272. package/modules/private-shared-lib/package.json +19 -19
  273. package/modules/private-shared-lib/src/values/enums.ts +0 -3
  274. package/package.json +28 -25
  275. package/.yarn/cache/@babel-compat-data-npm-7.26.5-b6047aeefb-7aaac0e79c.zip +0 -0
  276. package/.yarn/cache/@babel-core-npm-7.26.7-7cf6c69e74-017ad8db99.zip +0 -0
  277. package/.yarn/cache/@babel-generator-npm-7.26.5-8de063382c-baa42a98cd.zip +0 -0
  278. package/.yarn/cache/@babel-generator-npm-7.26.8-dfc15b983a-15ef65699a.zip +0 -0
  279. package/.yarn/cache/@babel-helper-create-class-features-plugin-npm-7.25.9-1efda825e9-91dd5f203e.zip +0 -0
  280. package/.yarn/cache/@babel-helpers-npm-7.26.7-284c12b13e-1c93604c7f.zip +0 -0
  281. package/.yarn/cache/@babel-parser-npm-7.26.7-ef2912fba4-22aafd7a6f.zip +0 -0
  282. package/.yarn/cache/@babel-parser-npm-7.26.8-5116d8ce65-2ede62d245.zip +0 -0
  283. package/.yarn/cache/@babel-template-npm-7.25.9-d903b7b6d5-103641fea1.zip +0 -0
  284. package/.yarn/cache/@babel-template-npm-7.26.8-9bdae70850-dfa79b33d4.zip +0 -0
  285. package/.yarn/cache/@babel-traverse-npm-7.26.7-18316b804e-22ea8aed13.zip +0 -0
  286. package/.yarn/cache/@babel-traverse-npm-7.26.8-616e5e7b7f-f8b2f4d994.zip +0 -0
  287. package/.yarn/cache/@babel-types-npm-7.26.7-0a324aa562-cfb12e8794.zip +0 -0
  288. package/.yarn/cache/@babel-types-npm-7.26.8-a2ea1f87c1-8f0f3bac37.zip +0 -0
  289. package/.yarn/cache/@colors-colors-npm-1.5.0-875af3a8b4-d64d5260be.zip +0 -0
  290. package/.yarn/cache/@eslint-core-npm-0.10.0-33fca4886d-851fa099b3.zip +0 -0
  291. package/.yarn/cache/@eslint-eslintrc-npm-3.2.0-1f7efe7868-c898e4d12f.zip +0 -0
  292. package/.yarn/cache/@humanwhocodes-retry-npm-0.4.1-44b0ee0d64-f11167c28e.zip +0 -0
  293. package/.yarn/cache/@mojaloop-central-services-error-handling-npm-13.0.4-3106885f50-9bb050e3f1.zip +0 -0
  294. package/.yarn/cache/@mojaloop-central-services-logger-npm-11.5.1-c8d0879908-d3b2019b7c.zip +0 -0
  295. package/.yarn/cache/@mojaloop-central-services-logger-npm-11.5.4-28fbcdf0be-676182b798.zip +0 -0
  296. package/.yarn/cache/@mojaloop-central-services-shared-npm-18.16.2-cb9431c1ea-5c444af44b.zip +0 -0
  297. package/.yarn/cache/@mojaloop-central-services-shared-npm-18.18.1-69bf11c401-704023ed97.zip +0 -0
  298. package/.yarn/cache/@mojaloop-inter-scheme-proxy-cache-lib-npm-2.3.1-b4fc6c209f-89d815d1f0.zip +0 -0
  299. package/.yarn/cache/@mojaloop-ml-schema-transformer-lib-npm-2.5.2-a22418b595-e9f2011e63.zip +0 -0
  300. package/.yarn/cache/@mojaloop-ml-schema-transformer-lib-npm-2.5.3-61baad09fa-f459689d3c.zip +0 -0
  301. package/.yarn/cache/@redocly-openapi-core-npm-1.27.2-c328c4b237-b5135f1d85.zip +0 -0
  302. package/.yarn/cache/@rollup-rollup-linux-x64-musl-npm-4.32.0-538515afc9-8.zip +0 -0
  303. package/.yarn/cache/@types-semver-utils-npm-1.1.3-f5c3f0e2c0-37f3bacf14.zip +0 -0
  304. package/.yarn/cache/@typescript-eslint-scope-manager-npm-8.22.0-e9d4565a7f-0aa51fbf3a.zip +0 -0
  305. package/.yarn/cache/@typescript-eslint-types-npm-8.22.0-cc19234a46-37fae8f21f.zip +0 -0
  306. package/.yarn/cache/@typescript-eslint-typescript-estree-npm-8.22.0-3f7a16feac-e7fd704869.zip +0 -0
  307. package/.yarn/cache/@typescript-eslint-utils-npm-8.22.0-5491e74318-976cd0e2ac.zip +0 -0
  308. package/.yarn/cache/@typescript-eslint-visitor-keys-npm-8.22.0-5832313ce6-df205177bc.zip +0 -0
  309. package/.yarn/cache/call-bind-apply-helpers-npm-1.0.1-cda777c96d-3c55343261.zip +0 -0
  310. package/.yarn/cache/caniuse-lite-npm-1.0.30001696-067c2f955f-079be180f3.zip +0 -0
  311. package/.yarn/cache/cjs-module-lexer-npm-1.4.1-4a824480ac-2556807a99.zip +0 -0
  312. package/.yarn/cache/cli-table3-npm-0.6.5-c3f24f9c39-ab7afbf4f8.zip +0 -0
  313. package/.yarn/cache/compression-npm-1.7.5-346039c027-d624b55624.zip +0 -0
  314. package/.yarn/cache/electron-to-chromium-npm-1.5.88-0030a5a506-90f58f1562.zip +0 -0
  315. package/.yarn/cache/es-shim-unscopables-npm-1.0.2-a3056a4c0d-432bd527c6.zip +0 -0
  316. package/.yarn/cache/exponential-backoff-npm-3.1.1-04df458b30-3d21519a4f.zip +0 -0
  317. package/.yarn/cache/fast-xml-parser-npm-4.5.1-77d072daa3-aab32d7f08.zip +0 -0
  318. package/.yarn/cache/fastq-npm-1.18.0-25fe4d7171-fb8d94318c.zip +0 -0
  319. package/.yarn/cache/for-each-npm-0.3.4-9925a6ce6e-7c094a28f9.zip +0 -0
  320. package/.yarn/cache/form-data-npm-4.0.1-f1a27a1c2e-ccee458cd5.zip +0 -0
  321. package/.yarn/cache/get-intrinsic-npm-1.2.7-2e0e0e7564-a1597b3b43.zip +0 -0
  322. package/.yarn/cache/import-fresh-npm-3.3.0-3e34265ca9-2cacfad06e.zip +0 -0
  323. package/.yarn/cache/ini-npm-4.1.3-56188f3216-004b2be423.zip +0 -0
  324. package/.yarn/cache/ioredis-npm-5.4.2-d393ad1d4d-6c40ef071c.zip +0 -0
  325. package/.yarn/cache/is-boolean-object-npm-1.2.1-ac39eabf5e-2672609f0f.zip +0 -0
  326. package/.yarn/cache/is-weakref-npm-1.1.0-65d773cc3c-2a2f3a1746.zip +0 -0
  327. package/.yarn/cache/long-npm-5.2.4-b96a88098c-abffed049d.zip +0 -0
  328. package/.yarn/cache/nan-npm-2.22.0-3750ad85d9-222e3a090e.zip +0 -0
  329. package/.yarn/cache/node-gyp-npm-11.0.0-669e34db1b-d7d5055ccc.zip +0 -0
  330. package/.yarn/cache/npm-check-updates-npm-16.14.20-a12a5ccfd5-85c69d05aa.zip +0 -0
  331. package/.yarn/cache/oauth2-server-npm-4.0.0-dev.3-2787680f69-91cee84582.zip +0 -0
  332. package/.yarn/cache/object-inspect-npm-1.13.3-b4e129b6d9-8c96210211.zip +0 -0
  333. package/.yarn/cache/pacote-npm-15.2.0-b9ed3321e9-c731572be2.zip +0 -0
  334. package/.yarn/cache/possible-typed-array-names-npm-1.0.0-3a8176348a-b32d403ece.zip +0 -0
  335. package/.yarn/cache/postcss-npm-8.5.1-90fd898a99-cfdcfcd019.zip +0 -0
  336. package/.yarn/cache/prompts-ncu-npm-3.0.2-a6ba800349-fe595b880c.zip +0 -0
  337. package/.yarn/cache/registry-auth-token-npm-5.0.3-6280f226c2-5976f822d6.zip +0 -0
  338. package/.yarn/cache/reusify-npm-1.0.4-95ac4aec11-c3076ebcc2.zip +0 -0
  339. package/.yarn/cache/semver-npm-7.7.0-2100277c86-a4eefdada9.zip +0 -0
  340. package/.yarn/cache/strnum-npm-1.0.5-9ba11d2a0a-651b2031db.zip +0 -0
  341. package/.yarn/cache/ts-api-utils-npm-2.0.0-1384745dce-f16f3e4e33.zip +0 -0
  342. package/.yarn/cache/typescript-npm-5.7.3-e71b273452-6c38b1e989.zip +0 -0
  343. package/.yarn/cache/typescript-patch-eafcb0b70d-633cd749d6.zip +0 -0
  344. package/.yarn/cache/winston-npm-3.14.2-d92fb20061-9021637d3a.zip +0 -0
@@ -63,63 +63,67 @@
63
63
  "url": "git@github.com:mojaloop/sdk-scheme-adapter.git"
64
64
  },
65
65
  "dependencies": {
66
- "@koa/cors": "^5.0.0",
66
+ "@koa/cors": "5.0.0",
67
67
  "@mojaloop/api-snippets": "17.8.0",
68
- "@mojaloop/central-services-error-handling": "^13.0.6",
69
- "@mojaloop/central-services-logger": "^11.5.5",
70
- "@mojaloop/central-services-metrics": "^12.4.5",
71
- "@mojaloop/central-services-shared": "^18.19.0",
72
- "@mojaloop/event-sdk": "^14.1.5",
68
+ "@mojaloop/central-services-error-handling": "13.0.7",
69
+ "@mojaloop/central-services-logger": "11.5.5",
70
+ "@mojaloop/central-services-metrics": "12.4.5",
71
+ "@mojaloop/central-services-shared": "18.21.0",
72
+ "@mojaloop/event-sdk": "14.1.5",
73
73
  "@mojaloop/logging-bc-client-lib": "0.5.8",
74
- "@mojaloop/ml-schema-transformer-lib": "^2.5.4",
74
+ "@mojaloop/ml-schema-transformer-lib": "2.5.6",
75
75
  "@mojaloop/sdk-scheme-adapter-private-shared-lib": "workspace:^",
76
- "@mojaloop/sdk-standard-components": "19.7.0",
76
+ "@mojaloop/sdk-standard-components": "19.8.0-snapshot.4",
77
+ "@opentelemetry/api": "^1.9.0",
78
+ "@opentelemetry/context-base": "^0.17.0",
77
79
  "ajv": "8.17.1",
78
- "axios": "^1.7.9",
79
- "body-parser": "^1.20.3",
80
- "co-body": "^6.2.0",
81
- "dotenv": "^16.4.7",
82
- "env-var": "^7.5.0",
83
- "express": "^4.21.2",
84
- "fast-json-patch": "^3.1.1",
85
- "fast-safe-stringify": "^2.1.1",
86
- "javascript-state-machine": "^3.1.0",
87
- "js-yaml": "^4.1.0",
88
- "json-schema-ref-parser": "^9.0.9",
89
- "koa": "^2.15.4",
90
- "koa-body": "^6.0.1",
91
- "lodash": "^4.17.21",
92
- "module-alias": "^2.2.3",
93
- "oauth2-server": "^4.0.0-dev.2",
94
- "openapi-jsonschema-parameters": "^12.1.3",
95
- "prom-client": "^15.1.3",
96
- "promise-timeout": "^1.3.0",
97
- "random-word-slugs": "^0.1.7",
98
- "redis": "^4.7.0",
99
- "uuidv4": "^6.2.13",
100
- "ws": "^8.18.1"
80
+ "axios": "1.8.1",
81
+ "body-parser": "1.20.3",
82
+ "co-body": "6.2.0",
83
+ "dotenv": "16.4.7",
84
+ "env-var": "7.5.0",
85
+ "express": "4.21.2",
86
+ "fast-json-patch": "3.1.1",
87
+ "fast-safe-stringify": "2.1.1",
88
+ "javascript-state-machine": "3.1.0",
89
+ "js-yaml": "4.1.0",
90
+ "json-schema-ref-parser": "9.0.9",
91
+ "koa": "2.16.0",
92
+ "koa-body": "6.0.1",
93
+ "lodash": "4.17.21",
94
+ "module-alias": "2.2.3",
95
+ "oauth2-server": "4.0.0-dev.2",
96
+ "openapi-jsonschema-parameters": "12.1.3",
97
+ "prom-client": "15.1.3",
98
+ "promise-timeout": "1.3.0",
99
+ "random-word-slugs": "0.1.7",
100
+ "redis": "4.7.0",
101
+ "uuidv4": "6.2.13",
102
+ "ws": "8.18.1"
101
103
  },
102
104
  "devDependencies": {
103
- "@babel/core": "^7.26.9",
104
- "@babel/preset-env": "^7.26.9",
105
- "@redocly/openapi-cli": "^1.0.0-beta.95",
106
- "@types/jest": "^29.5.14",
107
- "axios-mock-adapter": "^2.1.0",
108
- "babel-jest": "^29.7.0",
109
- "eslint": "^9.15.0",
110
- "eslint-config-airbnb-base": "^15.0.0",
111
- "eslint-plugin-import": "^2.31.0",
112
- "eslint-plugin-jest": "^28.11.0",
113
- "jest": "^29.7.0",
114
- "jest-junit": "^16.0.0",
115
- "npm-check-updates": "^16.7.10",
116
- "openapi-response-validator": "^12.1.3",
117
- "openapi-typescript": "^7.6.1",
118
- "redis-mock": "^0.56.3",
119
- "replace": "^1.2.2",
120
- "standard-version": "^9.5.0",
121
- "supertest": "^7.0.0",
122
- "swagger-cli": "^4.0.4"
105
+ "@babel/core": "7.26.9",
106
+ "@babel/preset-env": "7.26.9",
107
+ "@opentelemetry/auto-instrumentations-node": "^0.56.1",
108
+ "@opentelemetry/sdk-node": "^0.57.2",
109
+ "@redocly/openapi-cli": "1.0.0-beta.95",
110
+ "@types/jest": "29.5.14",
111
+ "axios-mock-adapter": "2.1.0",
112
+ "babel-jest": "29.7.0",
113
+ "eslint": "9.15.0",
114
+ "eslint-config-airbnb-base": "15.0.0",
115
+ "eslint-plugin-import": "2.31.0",
116
+ "eslint-plugin-jest": "28.11.0",
117
+ "jest": "29.7.0",
118
+ "jest-junit": "16.0.0",
119
+ "npm-check-updates": "16.7.10",
120
+ "openapi-response-validator": "12.1.3",
121
+ "openapi-typescript": "7.6.1",
122
+ "redis-mock": "0.56.3",
123
+ "replace": "1.2.2",
124
+ "standard-version": "9.5.0",
125
+ "supertest": "7.0.0",
126
+ "swagger-cli": "4.0.4"
123
127
  },
124
128
  "standard-version": {
125
129
  "scripts": {
@@ -996,8 +996,8 @@ const postFxQuotes = async (ctx) => {
996
996
  const model = createInboundTransfersModel(ctx);
997
997
 
998
998
  model.postFxQuotes({ body, headers }, sourceFspId)
999
- .then(response => logger.push({ response }).log(`${logPrefix} is done`))
1000
- .catch(err => logger.push({ err }).log(`${logPrefix} error`));
999
+ .then(response => logger.push({ response }).verbose(`${logPrefix} is done`))
1000
+ .catch(err => logger.push({ err }).error(`${logPrefix} error`));
1001
1001
 
1002
1002
  prepareResponse(ctx);
1003
1003
  };
@@ -1041,8 +1041,8 @@ const postFxTransfers = async (ctx) => {
1041
1041
 
1042
1042
  const model = createInboundTransfersModel(ctx);
1043
1043
  model.postFxTransfers({ body, headers }, sourceFspId)
1044
- .then(response => logger.push({ response }).log(`${logPrefix} is done`))
1045
- .catch(err => logger.push({ err }).log(`${logPrefix} error`));
1044
+ .then(response => logger.push({ response }).verbose(`${logPrefix} is done`))
1045
+ .catch(err => logger.push({ err }).error(`${logPrefix} error`));
1046
1046
 
1047
1047
  prepareResponse(ctx);
1048
1048
  };
@@ -118,14 +118,14 @@ class InboundApi extends EventEmitter {
118
118
 
119
119
  api.use(middlewares.createErrorHandler(logger));
120
120
  api.use(middlewares.createRequestIdGenerator(logger));
121
- api.use(middlewares.createHeaderValidator(conf, logger));
121
+ api.use(middlewares.createLogger(logger));
122
+ api.use(middlewares.createHeaderValidator(conf));
122
123
  if (conf.validateInboundJws) {
123
124
  const jwsExclusions = conf.validateInboundPutPartiesJws ? [] : ['putParties'];
124
125
  api.use(middlewares.createJwsValidator(logger, jwsVerificationKeys, jwsExclusions));
125
126
  }
126
127
 
127
128
  api.use(middlewares.applyState({ cache, wso2, conf, logExcludePaths }));
128
- api.use(middlewares.createLogger(logger));
129
129
  api.use(middlewares.createRequestValidator(validator));
130
130
  api.use(middlewares.assignFspiopIdentifier());
131
131
  if (conf.enableTestFeatures) {
@@ -133,7 +133,7 @@ class InboundApi extends EventEmitter {
133
133
  }
134
134
  api.use(router(handlers, conf));
135
135
  api.use(middlewares.createResponseBodyHandler());
136
- api.use(middlewares.createResponseLogging(logger));
136
+ api.use(middlewares.createResponseLogging());
137
137
 
138
138
  api.context.resourceVersions = conf.resourceVersions;
139
139
 
@@ -247,12 +247,13 @@ const createRequestIdGenerator = (logger) => async (ctx, next) => {
247
247
  * @return {Function}
248
248
  */
249
249
  //
250
- const createHeaderValidator = (conf, logger) => async (
250
+ const createHeaderValidator = (conf) => async (
251
251
  ctx,
252
252
  next,
253
253
  resources = defaultProtocolResources,
254
254
  supportedProtocolVersions = defaultProtocolVersions
255
255
  ) => {
256
+ const { logger } = ctx.state;
256
257
  const request = ctx.request;
257
258
 
258
259
  // First, extract the resource type from the path
@@ -369,6 +370,7 @@ const createHeaderValidator = (conf, logger) => async (
369
370
  * @return {Function}
370
371
  */
371
372
  const createJwsValidator = (logger, keys, exclusions) => {
373
+ // todo: take logger from ctx
372
374
  const jwsValidator = new Jws.validator({
373
375
  logger: logger,
374
376
  validationKeys: keys,
@@ -381,7 +383,7 @@ const createJwsValidator = (logger, keys, exclusions) => {
381
383
  if (exclusions.includes('putParties')
382
384
  && ctx.request.method === 'PUT'
383
385
  && ctx.request.path.startsWith('/parties/')) {
384
- logger.isDebugEnabled && logger.debug('Skipping jws validation on put parties. config flag is set');
386
+ logger.isInfoEnabled && logger.info('Skipping jws validation on put parties. config flag is set');
385
387
  return await next();
386
388
  }
387
389
 
@@ -389,7 +391,7 @@ const createJwsValidator = (logger, keys, exclusions) => {
389
391
  // todo: validate this requirement. No state is mutated by GETs but
390
392
  // there are potential security issues if message origin is used to
391
393
  // determine permission sets i.e. what is "readable"
392
- if(ctx.request.method !== 'GET') {
394
+ if (ctx.request.method !== 'GET') {
393
395
  logger.isDebugEnabled && logger.push({ request: ctx.request, body: ctx.request.body }).debug('Validating JWS');
394
396
  jwsValidator.validate(ctx.request, logger);
395
397
  }
@@ -439,19 +441,8 @@ const createLogger = (logger) => async (ctx, next) => {
439
441
  path: ctx.path,
440
442
  method: ctx.method
441
443
  }});
442
- await ctx.state.logger.isDebugEnabled && ctx.state.logger.debug('Request received');
443
- // TODO: we need to disable the following log message based on a configurable parameter like DEBUG
444
- if (!ctx.state.logExcludePaths.includes(ctx.path) && !ctx.path.startsWith('/bulk')) {
445
- ctx.state.logger.push({body: ctx.request.body}).debug('Request received');
446
- }
447
- try {
448
- await next();
449
- } catch (err) {
450
- ctx.state.logger.isErrorEnabled && ctx.state.logger.push(err).error('Error');
451
- }
452
- if (!ctx.state.logExcludePaths.includes(ctx.path)) {
453
- await ctx.state.logger.isDebugEnabled && ctx.state.logger.debug('Request processed');
454
- }
444
+
445
+ await next();
455
446
  };
456
447
 
457
448
 
@@ -510,18 +501,21 @@ const createResponseBodyHandler = () => async (ctx, next) => {
510
501
  return await next();
511
502
  };
512
503
 
513
- const createResponseLogging = (logger) => async (ctx, next) => {
514
- if (shouldLog(ctx.path, logger)) {
504
+
505
+ const logResponse = (ctx) => {
506
+ if (shouldLog(ctx.path, ctx.state.logger)) {
515
507
  const { method, path, id } = ctx.request;
516
508
  const { status = 'n/a' } = ctx.response;
517
509
  const processTime = ((Date.now() - ctx.state.receivedAt) / 1000).toFixed(1);
518
- logger.info(`[<== ${status}] ${method?.toUpperCase()} ${path} [${processTime}sec] - requestId: ${id}`);
510
+ ctx.state.logger.info(`[<== ${status}] ${method?.toUpperCase()} ${path} [${processTime}sec] - requestId: ${id}`);
519
511
  }
512
+ };
520
513
 
514
+ const createResponseLogging = () => async (ctx, next) => {
515
+ logResponse(ctx);
521
516
  return await next();
522
517
  };
523
518
 
524
-
525
519
  module.exports = {
526
520
  applyState,
527
521
  assignFspiopIdentifier,
@@ -534,4 +528,5 @@ module.exports = {
534
528
  createRequestValidator,
535
529
  createResponseBodyHandler,
536
530
  createResponseLogging,
531
+ logResponse,
537
532
  };
@@ -71,7 +71,7 @@ const handleError = (method, err, ctx, stateField) => {
71
71
  // the structure of the response object in depth to ascertain an underlying mojaloop API error code.
72
72
  const errorInformation = err[stateField].lastError.mojaloopError.errorInformation;
73
73
  ctx.response.body.statusCode = errorInformation.errorCode;
74
- ctx.state.logger.warn('errorInformation - ', errorInformation);
74
+ ctx.state.logger.push({ errorInformation }).warn('errorInformation:');
75
75
 
76
76
  // if we have been configured to use an error extensionList item as status code, look for it and use
77
77
  // it if it is present...
@@ -33,6 +33,7 @@ const {
33
33
  createLogger,
34
34
  createRequestIdGenerator,
35
35
  createResponseLogging,
36
+ logResponse,
36
37
  } = require('../InboundServer/middlewares');
37
38
 
38
39
 
@@ -42,25 +43,29 @@ const {
42
43
  * @return {Function}
43
44
  */
44
45
  const createRequestValidator = (validator) => async (ctx, next) => {
46
+ const { logger } = ctx.state;
47
+
45
48
  if (!ctx.state.logExcludePaths.includes(ctx.path)) {
46
- ctx.state.logger.isDebugEnabled && ctx.state.logger.debug('Validating request');
49
+ logger.isDebugEnabled && logger.debug('Validating request');
47
50
  }
48
51
  try {
49
- const matchedPathObject = validator.validateRequest(ctx, ctx.state.logger);
52
+ const matchedPathObject = validator.validateRequest(ctx, logger);
50
53
  ctx.state.path = {
51
54
  ...matchedPathObject
52
55
  };
53
56
  if (!ctx.state.logExcludePaths.includes(ctx.path)) {
54
- ctx.state.logger.isDebugEnabled && ctx.state.logger.debug('Request passed validation');
57
+ logger.isDebugEnabled && logger.debug('Request validation passed');
55
58
  }
56
59
  await next();
57
60
  } catch (err) {
58
- ctx.state.logger.isDebugEnabled && ctx.state.logger.push({ err }).debug('Request failed validation.');
61
+ const { method, path, id } = ctx.request;
62
+ logger.isWarnEnabled && logger.push({ err, method, path, id }).warn('Request validation failed');
59
63
  ctx.response.status = ReturnCodes.BADREQUEST.CODE;
60
64
  ctx.response.body = {
61
65
  message: `${err.dataPath ? err.dataPath + ' ' : ''}${err.message}`,
62
66
  statusCode: 400
63
67
  };
68
+ logResponse(ctx);
64
69
  }
65
70
  };
66
71
 
@@ -231,7 +231,7 @@ class Server extends EventEmitter {
231
231
  );
232
232
  this.inboundServer.on('error', (...args) => {
233
233
  const errMessage = 'Unhandled error in Inbound Server';
234
- this.logger.push({ args }).log(errMessage);
234
+ this.logger.push({ args }).error(errMessage);
235
235
  this.emit('error', errMessage);
236
236
  });
237
237
  await this.inboundServer.start();
@@ -251,7 +251,7 @@ class Server extends EventEmitter {
251
251
  );
252
252
  this.outboundServer.on('error', (...args) => {
253
253
  const errMessage = 'Unhandled error in Outbound Server';
254
- this.logger.push({ args }).log(errMessage);
254
+ this.logger.push({ args }).error(errMessage);
255
255
  this.emit('error', errMessage);
256
256
  });
257
257
  await this.outboundServer.start();
@@ -217,7 +217,7 @@ class Cache {
217
217
 
218
218
  this.subscribe(channel, (_, message) => {
219
219
  try {
220
- this._logger.push({ channel, message, needParse }).log('subscribeToOneMessageWithTimer is done');
220
+ this._logger.push({ channel, message, needParse }).debug('subscribeToOneMessageWithTimer is done');
221
221
  resolve(needParse ? JSON.parse(message) : message);
222
222
  } catch (err) {
223
223
  this._logger.push({ channel, err }).warn(`error in subscribeToOneMessageWithTimer: ${err.message}`);
@@ -595,9 +595,9 @@ class InboundTransfersModel {
595
595
 
596
596
  return res;
597
597
  } catch (err) {
598
- this._logger.push({ err }).log('Error in postFxQuotes');
598
+ this._logger.push({ err }).error('Error in postFxQuotes');
599
599
  const mojaloopError = await this._handleError(err);
600
- this._logger.push({ mojaloopError }).log(`Sending error response to ${sourceFspId}`);
600
+ this._logger.push({ mojaloopError }).info(`Sending error response to ${sourceFspId}`);
601
601
  return this._mojaloopRequests
602
602
  .putFxQuotesError(body.conversionRequestId, mojaloopError, sourceFspId);
603
603
  }
@@ -646,7 +646,7 @@ class InboundTransfersModel {
646
646
  return 'No response from FX backend';
647
647
  }
648
648
 
649
- this._logger.log(`fxTransfer accepted by backend returning homeTransactionId: ${beResponse.homeTransactionId} for mojaloop commitRequestId: ${body.commitRequestId}`);
649
+ this._logger.info(`fxTransfer accepted by backend returning homeTransactionId: ${beResponse.homeTransactionId} for mojaloop commitRequestId: ${body.commitRequestId}`);
650
650
  this.data.homeTransactionId = beResponse.homeTransactionId;
651
651
 
652
652
  // create a mojaloop fxTransfer fulfil response
@@ -663,9 +663,9 @@ class InboundTransfersModel {
663
663
 
664
664
  return res;
665
665
  } catch (err) {
666
- this._logger.push({ err }).log('Error in postFxTransfer');
666
+ this._logger.push({ err }).error('Error in postFxTransfer');
667
667
  const mojaloopError = await this._handleError(err);
668
- this._logger.push({ mojaloopError }).log(`Sending error response to ${sourceFspId}`);
668
+ this._logger.push({ mojaloopError }).info(`Sending error response to ${sourceFspId}`);
669
669
  return this._mojaloopRequests
670
670
  .putFxTransfersError(body.commitRequestId, mojaloopError, sourceFspId);
671
671
  }
@@ -26,10 +26,12 @@
26
26
  ******/
27
27
  'use strict';
28
28
 
29
+ const { randomBytes } = require('node:crypto');
29
30
  const safeStringify = require('fast-safe-stringify');
30
31
  const StateMachine = require('javascript-state-machine');
31
- const { Enum, Util: {id: idGenerator} } = require('@mojaloop/central-services-shared');
32
+ const { Enum, Util: { id: idGenerator } } = require('@mojaloop/central-services-shared');
32
33
  const { Ilp, MojaloopRequests } = require('@mojaloop/sdk-standard-components');
34
+
33
35
  const { API_TYPES } = require('../../constants');
34
36
  const dto = require('../dto');
35
37
  const shared = require('./lib/shared');
@@ -226,6 +228,7 @@ class OutboundTransfersModel {
226
228
  // add a transferId if one is not present e.g. on first submission
227
229
  if(!this.data.hasOwnProperty('transferId')) {
228
230
  this.data.transferId = this._idGenerator();
231
+ this.#generateTraceId();
229
232
  }
230
233
 
231
234
  // initialize the transfer state machine to its starting state
@@ -435,8 +438,13 @@ class OutboundTransfersModel {
435
438
  // a GET /parties request to the switch
436
439
  try {
437
440
  latencyTimerDone = this.metrics.partyLookupLatency.startTimer();
438
- const res = await this._requests.getParties(this.data.to.idType, this.data.to.idValue,
439
- this.data.to.idSubValue, this.data.to.fspId);
441
+ const res = await this._requests.getParties(
442
+ this.data.to.idType,
443
+ this.data.to.idValue,
444
+ this.data.to.idSubValue,
445
+ this.data.to.fspId,
446
+ this.#createOtelHeaders()
447
+ );
440
448
 
441
449
  this.data.getPartiesRequest = res.originalRequest;
442
450
 
@@ -545,8 +553,13 @@ class OutboundTransfersModel {
545
553
  // a GET /parties request to the switch
546
554
  try {
547
555
  latencyTimerDone = this.metrics.partyLookupLatency.startTimer();
548
- const res = await this._requests.getParties(this.data.to.idType, this.data.to.idValue,
549
- this.data.to.idSubValue);
556
+ const res = await this._requests.getParties(
557
+ this.data.to.idType,
558
+ this.data.to.idValue,
559
+ this.data.to.idSubValue,
560
+ undefined,
561
+ this.#createOtelHeaders()
562
+ );
550
563
  this.data.getPartiesRequest = res.originalRequest;
551
564
  this.metrics.partyLookupRequests.inc();
552
565
  this._logger.isErrorEnabled && this._logger.push({ peer: res }).error('Party lookup sent to peer');
@@ -577,7 +590,11 @@ class OutboundTransfersModel {
577
590
 
578
591
  const subscribing = this._cache.subscribeToOneMessageWithTimer(channel);
579
592
 
580
- const resp = await this._requests.postFxQuotes(payload, payload.conversionTerms.counterPartyFsp);
593
+ const resp = await this._requests.postFxQuotes(
594
+ payload,
595
+ payload.conversionTerms.counterPartyFsp,
596
+ this.#createOtelHeaders()
597
+ );
581
598
 
582
599
  const { originalRequest } = resp;
583
600
  // Setting the fxQuoteRequest to have the fspiop payload
@@ -720,7 +737,7 @@ class OutboundTransfersModel {
720
737
  // a POST /quotes request to the switch
721
738
  try {
722
739
  latencyTimerDone = this.metrics.quoteRequestLatency.startTimer();
723
- const res = await this._requests.postQuotes(quote, this.data.to.fspId);
740
+ const res = await this._requests.postQuotes(quote, this.data.to.fspId, this.#createOtelHeaders());
724
741
 
725
742
  this.data.quoteRequest = {
726
743
  body: quote,
@@ -816,7 +833,7 @@ class OutboundTransfersModel {
816
833
 
817
834
  const subscribing = this._cache.subscribeToOneMessageWithTimer(channel);
818
835
 
819
- const { originalRequest } = await this._requests.postFxTransfers(payload, payload.counterPartyFsp);
836
+ const { originalRequest } = await this._requests.postFxTransfers(payload, payload.counterPartyFsp, this.#createOtelHeaders());
820
837
  this.data.fxTransferRequest = { body: payload , headers: originalRequest.headers };
821
838
  this._logger.push({ originalRequest }).verbose('fxTransfers request is sent to hub');
822
839
 
@@ -931,8 +948,12 @@ class OutboundTransfersModel {
931
948
  completedTimestamp: (new Date()).toISOString(),
932
949
  transferState: TransferState.COMMITTED,
933
950
  };
934
- const res = this._requests.patchTransfers(this.data.transferId,
935
- patchNotification, this.data.quoteResponseSource);
951
+ const res = this._requests.patchTransfers(
952
+ this.data.transferId,
953
+ patchNotification,
954
+ this.data.quoteResponseSource,
955
+ this.#createOtelHeaders()
956
+ );
936
957
  this.data.patch = res.originalRequest;
937
958
  this._logger.isInfoEnabled && this._logger.info(`PATCH final notification sent to peer for transfer ${this.data.transferId}`);
938
959
  }
@@ -963,15 +984,16 @@ class OutboundTransfersModel {
963
984
  // a POST /transfers request to the switch
964
985
  try {
965
986
  latencyTimerDone = this.metrics.transferLatency.startTimer();
987
+ const headers = this.#createOtelHeaders();
966
988
 
967
989
  let res;
968
990
  if (this._apiType === API_TYPES.iso20022) {
969
991
  // Pass in quote request as context if needed for ISO20022 message generation
970
- res = await this._requests.postTransfers(prepare, this.data.quoteResponseSource, {
992
+ res = await this._requests.postTransfers(prepare, this.data.quoteResponseSource, headers, {
971
993
  isoPostQuoteResponse: this.data.quoteResponse.originalIso20022QuoteResponse
972
994
  });
973
995
  } else {
974
- res = await this._requests.postTransfers(prepare, this.data.quoteResponseSource, {});
996
+ res = await this._requests.postTransfers(prepare, this.data.quoteResponseSource, headers, {});
975
997
  }
976
998
 
977
999
  this.data.prepare = {
@@ -1050,7 +1072,7 @@ class OutboundTransfersModel {
1050
1072
  // now we have a timeout handler and a cache subscriber hooked up we can fire off
1051
1073
  // a GET /transfers request to the switch
1052
1074
  try {
1053
- const res = await this._requests.getTransfers(this.data.transferId);
1075
+ const res = await this._requests.getTransfers(this.data.transferId, undefined, this.#createOtelHeaders());
1054
1076
  this._logger.isVerboseEnabled && this._logger.push({ peer: res }).verbose(`getTransfers ${this.data.transferId} sent to peer`);
1055
1077
  }
1056
1078
  catch(err) {
@@ -1493,6 +1515,23 @@ class OutboundTransfersModel {
1493
1515
  throw err;
1494
1516
  }
1495
1517
  }
1518
+
1519
+ #createOtelHeaders() {
1520
+ const { traceId } = this.data;
1521
+ const spanId = randomBytes(8).toString('hex');
1522
+ const flags = '01';
1523
+
1524
+ return Object.freeze({
1525
+ traceparent: `00-${traceId}-${spanId}-${flags}`,
1526
+ });
1527
+ }
1528
+
1529
+ #generateTraceId() {
1530
+ // todo: add possibility to generate traceId based on transferId
1531
+ this.data.traceId = randomBytes(16).toString('hex');
1532
+ this._logger.isVerboseEnabled && this._logger.verbose(`generated traceId: ${this.data.traceId}`);
1533
+ return this.data.traceId;
1534
+ }
1496
1535
  }
1497
1536
 
1498
1537
  module.exports = OutboundTransfersModel;
@@ -31,19 +31,17 @@
31
31
  const { Enum } = require('@mojaloop/central-services-shared');
32
32
  const { ReturnCodes } = Enum.Http;
33
33
 
34
- const router = (handlerMap) => async (ctx, next) => {
34
+ const router = (handlerMap) => async function routeHandling (ctx, next) {
35
35
  const handlers = handlerMap[ctx.state.path.pattern];
36
- const handler = handlers ? handlers[ctx.method.toLowerCase()] : undefined;
37
- if (!handlers || !handler) {
36
+ const handler = handlers?.[ctx.method.toLowerCase()];
37
+
38
+ if (!handler) {
38
39
  ctx.state.logger.isErrorEnabled && ctx.state.logger.error('No handler found');
39
40
  ctx.response.status = ReturnCodes.NOTFOUND.CODE;
40
41
  // TODO: response content according to API spec. Should probably actually be a 404 here.
41
42
  ctx.response.body = { statusCode: 404, message: 'Not found' };
42
43
  }
43
44
  else {
44
- if (!ctx.state.logExcludePaths.includes(ctx.path)) {
45
- ctx.state.logger.isDebugEnabled && ctx.state.logger.push({handler}).debug('Found handler');
46
- }
47
45
  await handler(ctx);
48
46
  }
49
47
  await next();
@@ -150,8 +150,7 @@ describe('Outbound Transfers API', () => {
150
150
  2000)),
151
151
  },
152
152
  };
153
- return testPostTransfers(putBodyFn, 504,
154
- postTransfersErrorTimeoutResponse);
153
+ return testPostTransfers(putBodyFn, 504, postTransfersErrorTimeoutResponse);
155
154
  });
156
155
 
157
156
  test('should return mojaloop error response on party resolution', () => {
@@ -226,6 +226,7 @@ function createPostTransfersTester({
226
226
  if(body.transferState.prepare) {
227
227
  delete body.transferState.prepare;
228
228
  }
229
+ delete body.transferState.traceId;
229
230
  }
230
231
  if(body.quoteResponse) {
231
232
  delete body.quoteResponse.headers;
@@ -248,6 +249,8 @@ function createPostTransfersTester({
248
249
  if(body.quoteResponse?.originalIso20022QuoteResponse) {
249
250
  delete body.quoteResponse.originalIso20022QuoteResponse;
250
251
  }
252
+ delete body.traceId;
253
+
251
254
  expect(body).toEqual(responseBody);
252
255
  const responseValidator = new OpenAPIResponseValidator(apiSpecsOutbound.paths['/transfers'].post);
253
256
  const err = responseValidator.validateResponse(responseCode, body);
@@ -85,6 +85,18 @@ describe('OutboundTransfersModel Tests', () => {
85
85
  let cache;
86
86
  let metricsClient;
87
87
 
88
+ const createAndInitModel = async (customConfig = {}) => {
89
+ const model = new Model({
90
+ cache,
91
+ logger,
92
+ metricsClient,
93
+ ...config,
94
+ ...customConfig
95
+ });
96
+ await model.initialize(JSON.parse(JSON.stringify(transferRequest)));
97
+ return model;
98
+ };
99
+
88
100
  /**
89
101
  *
90
102
  * @param {Object} opts
@@ -202,17 +214,20 @@ describe('OutboundTransfersModel Tests', () => {
202
214
  });
203
215
 
204
216
  test('initializes to starting state', async () => {
205
- const model = new Model({
206
- cache,
207
- logger,
208
- metricsClient,
209
- ...config,
210
- });
211
-
212
- await model.initialize(JSON.parse(JSON.stringify(transferRequest)));
217
+ const model = await createAndInitModel();
213
218
  expect(StateMachine.__instance.state).toBe('start');
219
+ expect(model.data.transferId).toEqual(expect.any(String));
220
+ expect(model.data.traceId).toEqual(expect.any(String));
221
+ expect(model.data.traceId.length).toBe(32);
214
222
  });
215
223
 
224
+ // test('should generate traceId based on transferId value', async () => {
225
+ // const model = await createAndInitModel();
226
+ // expect(model.data.transferId.length).toBe(26);
227
+ // expect(model.data.traceId.length).toBe(32);
228
+ // // todo: check traceID value
229
+ // });
230
+
216
231
  test('executes all three transfer stages without halting when AUTO_ACCEPT_PARTY and AUTO_ACCEPT_QUOTES are true', async () => {
217
232
  config.autoAcceptParty = true;
218
233
  config.autoAcceptQuotes = true;
@@ -520,8 +535,11 @@ describe('OutboundTransfersModel Tests', () => {
520
535
  expect(result.currentState).toBe(SDKStateEnum.WAITING_FOR_PARTY_ACCEPTANCE);
521
536
  expect(StateMachine.__instance.state).toBe('payeeResolved');
522
537
 
538
+ const otelHeaders = expect.objectContaining({
539
+ traceparent: expect.any(String)
540
+ });
523
541
  // check getParties mojaloop requests method was called with the correct arguments
524
- expect(MojaloopRequests.__getParties).toHaveBeenCalledWith(req.to.idType, req.to.idValue, req.to.idSubValue, testFspId);
542
+ expect(MojaloopRequests.__getParties).toHaveBeenCalledWith(req.to.idType, req.to.idValue, req.to.idSubValue, testFspId, otelHeaders);
525
543
  });
526
544
 
527
545
  test('resolves multiple payees and halts', async () => {