@maxkabechani/mtn-momo-sdk 0.2.1 → 1.0.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 (101) hide show
  1. package/MIGRATION.md +79 -0
  2. package/README.md +68 -5
  3. package/lib/cjs/auth.d.ts +3 -3
  4. package/lib/cjs/auth.d.ts.map +1 -1
  5. package/lib/cjs/auth.js +31 -11
  6. package/lib/cjs/auth.js.map +1 -1
  7. package/lib/cjs/cli.js +5 -2
  8. package/lib/cjs/cli.js.map +1 -1
  9. package/lib/cjs/client.d.ts +6 -6
  10. package/lib/cjs/client.d.ts.map +1 -1
  11. package/lib/cjs/client.js +16 -44
  12. package/lib/cjs/client.js.map +1 -1
  13. package/lib/cjs/collections.d.ts +7 -6
  14. package/lib/cjs/collections.d.ts.map +1 -1
  15. package/lib/cjs/collections.js +45 -25
  16. package/lib/cjs/collections.js.map +1 -1
  17. package/lib/cjs/common.d.ts +13 -4
  18. package/lib/cjs/common.d.ts.map +1 -1
  19. package/lib/cjs/common.js.map +1 -1
  20. package/lib/cjs/disbursements.d.ts +8 -11
  21. package/lib/cjs/disbursements.d.ts.map +1 -1
  22. package/lib/cjs/disbursements.js +46 -31
  23. package/lib/cjs/disbursements.js.map +1 -1
  24. package/lib/cjs/errors.d.ts +16 -7
  25. package/lib/cjs/errors.d.ts.map +1 -1
  26. package/lib/cjs/errors.js +33 -23
  27. package/lib/cjs/errors.js.map +1 -1
  28. package/lib/cjs/httpClient.d.ts +90 -0
  29. package/lib/cjs/httpClient.d.ts.map +1 -0
  30. package/lib/cjs/httpClient.js +388 -0
  31. package/lib/cjs/httpClient.js.map +1 -0
  32. package/lib/cjs/index.d.ts +12 -11
  33. package/lib/cjs/index.d.ts.map +1 -1
  34. package/lib/cjs/index.js +30 -28
  35. package/lib/cjs/index.js.map +1 -1
  36. package/lib/cjs/remittance.d.ts +6 -6
  37. package/lib/cjs/remittance.d.ts.map +1 -1
  38. package/lib/cjs/remittance.js +58 -41
  39. package/lib/cjs/remittance.js.map +1 -1
  40. package/lib/cjs/security.d.ts +32 -0
  41. package/lib/cjs/security.d.ts.map +1 -0
  42. package/lib/cjs/security.js +253 -0
  43. package/lib/cjs/security.js.map +1 -0
  44. package/lib/cjs/users.d.ts +5 -3
  45. package/lib/cjs/users.d.ts.map +1 -1
  46. package/lib/cjs/users.js +17 -6
  47. package/lib/cjs/users.js.map +1 -1
  48. package/lib/cjs/validate.d.ts +7 -7
  49. package/lib/cjs/validate.d.ts.map +1 -1
  50. package/lib/cjs/validate.js +67 -84
  51. package/lib/cjs/validate.js.map +1 -1
  52. package/lib/esm/auth.d.ts +3 -3
  53. package/lib/esm/auth.d.ts.map +1 -1
  54. package/lib/esm/auth.js +28 -8
  55. package/lib/esm/auth.js.map +1 -1
  56. package/lib/esm/cli.js +5 -2
  57. package/lib/esm/cli.js.map +1 -1
  58. package/lib/esm/client.d.ts +6 -6
  59. package/lib/esm/client.d.ts.map +1 -1
  60. package/lib/esm/client.js +16 -11
  61. package/lib/esm/client.js.map +1 -1
  62. package/lib/esm/collections.d.ts +7 -6
  63. package/lib/esm/collections.d.ts.map +1 -1
  64. package/lib/esm/collections.js +38 -18
  65. package/lib/esm/collections.js.map +1 -1
  66. package/lib/esm/common.d.ts +13 -4
  67. package/lib/esm/common.d.ts.map +1 -1
  68. package/lib/esm/common.js.map +1 -1
  69. package/lib/esm/disbursements.d.ts +8 -11
  70. package/lib/esm/disbursements.d.ts.map +1 -1
  71. package/lib/esm/disbursements.js +34 -19
  72. package/lib/esm/disbursements.js.map +1 -1
  73. package/lib/esm/errors.d.ts +16 -7
  74. package/lib/esm/errors.d.ts.map +1 -1
  75. package/lib/esm/errors.js +16 -6
  76. package/lib/esm/errors.js.map +1 -1
  77. package/lib/esm/httpClient.d.ts +90 -0
  78. package/lib/esm/httpClient.d.ts.map +1 -0
  79. package/lib/esm/httpClient.js +378 -0
  80. package/lib/esm/httpClient.js.map +1 -0
  81. package/lib/esm/index.d.ts +12 -11
  82. package/lib/esm/index.d.ts.map +1 -1
  83. package/lib/esm/index.js +12 -11
  84. package/lib/esm/index.js.map +1 -1
  85. package/lib/esm/remittance.d.ts +6 -6
  86. package/lib/esm/remittance.d.ts.map +1 -1
  87. package/lib/esm/remittance.js +52 -35
  88. package/lib/esm/remittance.js.map +1 -1
  89. package/lib/esm/security.d.ts +32 -0
  90. package/lib/esm/security.d.ts.map +1 -0
  91. package/lib/esm/security.js +234 -0
  92. package/lib/esm/security.js.map +1 -0
  93. package/lib/esm/users.d.ts +5 -3
  94. package/lib/esm/users.d.ts.map +1 -1
  95. package/lib/esm/users.js +17 -6
  96. package/lib/esm/users.js.map +1 -1
  97. package/lib/esm/validate.d.ts +7 -7
  98. package/lib/esm/validate.d.ts.map +1 -1
  99. package/lib/esm/validate.js +66 -84
  100. package/lib/esm/validate.js.map +1 -1
  101. package/package.json +23 -7
@@ -1,14 +1,15 @@
1
- export type { Payment, PaymentRequest } from "./collections";
2
- export type { Transfer, TransferRequest } from "./disbursements";
3
- export type { Withdrawal, WithdrawalRequest, Deposit, DepositRequest, Refund, RefundRequest, CashTransfer, CashTransferRequest, } from "./common";
4
- export * from "./errors";
5
- export { PartyIdType as PayerType, TransactionStatus as Status, Environment, } from "./common";
6
- export type { ApiUserInfo, Party as Payer, Balance, FailureReason, GlobalConfig, ProductConfig, BasicUserInfo, BcAuthorizeRequest, BcAuthorizeResponse, OAuth2TokenRequest, OAuth2TokenResponse, ConsentKycResponse, DeliveryNotification, } from "./common";
7
- import Collections from "./collections";
8
- import Disbursements from "./disbursements";
9
- import Remittance from "./remittance";
10
- import Users from "./users";
11
- import type { GlobalConfig, ProductConfig, SubscriptionConfig } from "./common";
1
+ export type { Payment, PaymentRequest } from "./collections.js";
2
+ export type { Transfer, TransferRequest } from "./disbursements.js";
3
+ export type { Withdrawal, WithdrawalRequest, Deposit, DepositRequest, Refund, RefundRequest, CashTransfer, CashTransferRequest, } from "./common.js";
4
+ export * from "./errors.js";
5
+ export { generateReferenceId, type FinancialOperationOptions, } from "./security.js";
6
+ export { PartyIdType as PayerType, TransactionStatus as Status, Environment, } from "./common.js";
7
+ export type { ApiUserInfo, Party as Payer, Balance, FailureReason, GlobalConfig, ProductConfig, BasicUserInfo, BcAuthorizeRequest, BcAuthorizeResponse, OAuth2TokenRequest, OAuth2TokenResponse, ConsentKycResponse, DeliveryNotification, } from "./common.js";
8
+ import Collections from "./collections.js";
9
+ import Disbursements from "./disbursements.js";
10
+ import Remittance from "./remittance.js";
11
+ import Users from "./users.js";
12
+ import type { GlobalConfig, ProductConfig, SubscriptionConfig } from "./common.js";
12
13
  export interface MomoClient {
13
14
  Collections(productConfig: ProductConfig): Collections;
14
15
  Disbursements(productConfig: ProductConfig): Disbursements;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC7D,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACjE,YAAY,EACV,UAAU,EACV,iBAAiB,EACjB,OAAO,EACP,cAAc,EACd,MAAM,EACN,aAAa,EACb,YAAY,EACZ,mBAAmB,GACpB,MAAM,UAAU,CAAC;AAClB,cAAc,UAAU,CAAC;AACzB,OAAO,EACL,WAAW,IAAI,SAAS,EACxB,iBAAiB,IAAI,MAAM,EAC3B,WAAW,GACZ,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,WAAW,EACX,KAAK,IAAI,KAAK,EACd,OAAO,EACP,aAAa,EACb,YAAY,EACZ,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,UAAU,CAAC;AAIlB,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,SAAS,CAAC;AAgB5B,OAAO,KAAK,EAEV,YAAY,EACZ,aAAa,EACb,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,UAAU;IACzB,WAAW,CAAC,aAAa,EAAE,aAAa,GAAG,WAAW,CAAC;IACvD,aAAa,CAAC,aAAa,EAAE,aAAa,GAAG,aAAa,CAAC;IAC3D,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,UAAU,CAAC;IACrD,KAAK,CAAC,YAAY,EAAE,kBAAkB,GAAG,KAAK,CAAC;CAChD;AAOD;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,YAAY,EAAE,YAAY,GAAG,UAAU,CAoE7D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAChE,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACpE,YAAY,EACV,UAAU,EACV,iBAAiB,EACjB,OAAO,EACP,cAAc,EACd,MAAM,EACN,aAAa,EACb,YAAY,EACZ,mBAAmB,GACpB,MAAM,aAAa,CAAC;AACrB,cAAc,aAAa,CAAC;AAC5B,OAAO,EACL,mBAAmB,EACnB,KAAK,yBAAyB,GAC/B,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,WAAW,IAAI,SAAS,EACxB,iBAAiB,IAAI,MAAM,EAC3B,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,WAAW,EACX,KAAK,IAAI,KAAK,EACd,OAAO,EACP,aAAa,EACb,YAAY,EACZ,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAIrB,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,KAAK,MAAM,YAAY,CAAC;AAgB/B,OAAO,KAAK,EAEV,YAAY,EACZ,aAAa,EACb,kBAAkB,EACnB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,UAAU;IACzB,WAAW,CAAC,aAAa,EAAE,aAAa,GAAG,WAAW,CAAC;IACvD,aAAa,CAAC,aAAa,EAAE,aAAa,GAAG,aAAa,CAAC;IAC3D,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,UAAU,CAAC;IACrD,KAAK,CAAC,YAAY,EAAE,kBAAkB,GAAG,KAAK,CAAC;CAChD;AAOD;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,YAAY,EAAE,YAAY,GAAG,UAAU,CAoE7D"}
package/lib/cjs/index.js CHANGED
@@ -17,24 +17,26 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
17
17
  return (mod && mod.__esModule) ? mod : { "default": mod };
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.Environment = exports.Status = exports.PayerType = void 0;
20
+ exports.Environment = exports.Status = exports.PayerType = exports.generateReferenceId = void 0;
21
21
  exports.create = create;
22
- __exportStar(require("./errors"), exports);
23
- var common_1 = require("./common");
24
- Object.defineProperty(exports, "PayerType", { enumerable: true, get: function () { return common_1.PartyIdType; } });
25
- Object.defineProperty(exports, "Status", { enumerable: true, get: function () { return common_1.TransactionStatus; } });
26
- Object.defineProperty(exports, "Environment", { enumerable: true, get: function () { return common_1.Environment; } });
27
- const collections_1 = __importDefault(require("./collections"));
28
- const disbursements_1 = __importDefault(require("./disbursements"));
29
- const remittance_1 = __importDefault(require("./remittance"));
30
- const users_1 = __importDefault(require("./users"));
31
- const auth_1 = require("./auth");
32
- const client_1 = require("./client");
33
- const validate_1 = require("./validate");
34
- const common_2 = require("./common");
22
+ __exportStar(require("./errors.js"), exports);
23
+ var security_js_1 = require("./security.js");
24
+ Object.defineProperty(exports, "generateReferenceId", { enumerable: true, get: function () { return security_js_1.generateReferenceId; } });
25
+ var common_js_1 = require("./common.js");
26
+ Object.defineProperty(exports, "PayerType", { enumerable: true, get: function () { return common_js_1.PartyIdType; } });
27
+ Object.defineProperty(exports, "Status", { enumerable: true, get: function () { return common_js_1.TransactionStatus; } });
28
+ Object.defineProperty(exports, "Environment", { enumerable: true, get: function () { return common_js_1.Environment; } });
29
+ const collections_js_1 = __importDefault(require("./collections.js"));
30
+ const disbursements_js_1 = __importDefault(require("./disbursements.js"));
31
+ const remittance_js_1 = __importDefault(require("./remittance.js"));
32
+ const users_js_1 = __importDefault(require("./users.js"));
33
+ const auth_js_1 = require("./auth.js");
34
+ const client_js_1 = require("./client.js");
35
+ const validate_js_1 = require("./validate.js");
36
+ const common_js_2 = require("./common.js");
35
37
  const defaultGlobalConfig = {
36
38
  baseUrl: "https://sandbox.momodeveloper.mtn.com",
37
- environment: common_2.Environment.SANDBOX,
39
+ environment: common_js_2.Environment.SANDBOX,
38
40
  };
39
41
  /**
40
42
  * Initialise the library
@@ -42,47 +44,47 @@ const defaultGlobalConfig = {
42
44
  * @param globalConfig Global configuration required to use any product
43
45
  */
44
46
  function create(globalConfig) {
45
- (0, validate_1.validateGlobalConfig)(globalConfig);
47
+ (0, validate_js_1.validateGlobalConfig)(globalConfig);
46
48
  return {
47
49
  Collections(productConfig) {
48
- (0, validate_1.validateProductConfig)(productConfig);
50
+ (0, validate_js_1.validateProductConfig)(productConfig);
49
51
  const config = {
50
52
  ...defaultGlobalConfig,
51
53
  ...globalConfig,
52
54
  ...productConfig,
53
55
  };
54
- const client = (0, client_1.createAuthClient)((0, auth_1.createTokenRefresher)(auth_1.authorizeCollections, config), (0, client_1.createClient)(config));
55
- return new collections_1.default(client, config);
56
+ const client = (0, client_js_1.createAuthClient)((0, auth_js_1.createTokenRefresher)(auth_js_1.authorizeCollections, config), (0, client_js_1.createClient)(config));
57
+ return new collections_js_1.default(client, config);
56
58
  },
57
59
  Disbursements(productConfig) {
58
- (0, validate_1.validateProductConfig)(productConfig);
60
+ (0, validate_js_1.validateProductConfig)(productConfig);
59
61
  const config = {
60
62
  ...defaultGlobalConfig,
61
63
  ...globalConfig,
62
64
  ...productConfig,
63
65
  };
64
- const client = (0, client_1.createAuthClient)((0, auth_1.createTokenRefresher)(auth_1.authorizeDisbursements, config), (0, client_1.createClient)(config));
65
- return new disbursements_1.default(client, config);
66
+ const client = (0, client_js_1.createAuthClient)((0, auth_js_1.createTokenRefresher)(auth_js_1.authorizeDisbursements, config), (0, client_js_1.createClient)(config));
67
+ return new disbursements_js_1.default(client, config);
66
68
  },
67
69
  Remittance(productConfig) {
68
- (0, validate_1.validateProductConfig)(productConfig);
70
+ (0, validate_js_1.validateProductConfig)(productConfig);
69
71
  const config = {
70
72
  ...defaultGlobalConfig,
71
73
  ...globalConfig,
72
74
  ...productConfig,
73
75
  };
74
- const client = (0, client_1.createAuthClient)((0, auth_1.createTokenRefresher)(auth_1.authorizeRemittance, config), (0, client_1.createClient)(config));
75
- return new remittance_1.default(client, config);
76
+ const client = (0, client_js_1.createAuthClient)((0, auth_js_1.createTokenRefresher)(auth_js_1.authorizeRemittance, config), (0, client_js_1.createClient)(config));
77
+ return new remittance_js_1.default(client, config);
76
78
  },
77
79
  Users(subscriptionConfig) {
78
- (0, validate_1.validateSubscriptionConfig)(subscriptionConfig);
80
+ (0, validate_js_1.validateSubscriptionConfig)(subscriptionConfig);
79
81
  const config = {
80
82
  ...defaultGlobalConfig,
81
83
  ...globalConfig,
82
84
  ...subscriptionConfig,
83
85
  };
84
- const client = (0, client_1.createClient)(config);
85
- return new users_1.default(client);
86
+ const client = (0, client_js_1.createClient)(config);
87
+ return new users_js_1.default(client, config.environment ?? common_js_2.Environment.SANDBOX);
86
88
  },
87
89
  };
88
90
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AA+EA,wBAoEC;AAvID,2CAAyB;AACzB,mCAIkB;AAHhB,mGAAA,WAAW,OAAa;AACxB,gGAAA,iBAAiB,OAAU;AAC3B,qGAAA,WAAW,OAAA;AAoBb,gEAAwC;AACxC,oEAA4C;AAC5C,8DAAsC;AACtC,oDAA4B;AAE5B,iCAKgB;AAChB,qCAA0D;AAC1D,yCAIoB;AAEpB,qCAAuC;AAevC,MAAM,mBAAmB,GAAiB;IACxC,OAAO,EAAE,uCAAuC;IAChD,WAAW,EAAE,oBAAW,CAAC,OAAO;CACjC,CAAC;AAEF;;;;GAIG;AACH,SAAgB,MAAM,CAAC,YAA0B;IAC/C,IAAA,+BAAoB,EAAC,YAAY,CAAC,CAAC;IAEnC,OAAO;QACL,WAAW,CAAC,aAA4B;YACtC,IAAA,gCAAqB,EAAC,aAAa,CAAC,CAAC;YAErC,MAAM,MAAM,GAAW;gBACrB,GAAG,mBAAmB;gBACtB,GAAG,YAAY;gBACf,GAAG,aAAa;aACjB,CAAC;YAEF,MAAM,MAAM,GAAkB,IAAA,yBAAgB,EAC5C,IAAA,2BAAoB,EAAC,2BAAoB,EAAE,MAAM,CAAC,EAClD,IAAA,qBAAY,EAAC,MAAM,CAAC,CACrB,CAAC;YACF,OAAO,IAAI,qBAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzC,CAAC;QAED,aAAa,CAAC,aAA4B;YACxC,IAAA,gCAAqB,EAAC,aAAa,CAAC,CAAC;YAErC,MAAM,MAAM,GAAW;gBACrB,GAAG,mBAAmB;gBACtB,GAAG,YAAY;gBACf,GAAG,aAAa;aACjB,CAAC;YAEF,MAAM,MAAM,GAAkB,IAAA,yBAAgB,EAC5C,IAAA,2BAAoB,EAAC,6BAAsB,EAAE,MAAM,CAAC,EACpD,IAAA,qBAAY,EAAC,MAAM,CAAC,CACrB,CAAC;YAEF,OAAO,IAAI,uBAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3C,CAAC;QAED,UAAU,CAAC,aAA4B;YACrC,IAAA,gCAAqB,EAAC,aAAa,CAAC,CAAC;YAErC,MAAM,MAAM,GAAW;gBACrB,GAAG,mBAAmB;gBACtB,GAAG,YAAY;gBACf,GAAG,aAAa;aACjB,CAAC;YAEF,MAAM,MAAM,GAAkB,IAAA,yBAAgB,EAC5C,IAAA,2BAAoB,EAAC,0BAAmB,EAAE,MAAM,CAAC,EACjD,IAAA,qBAAY,EAAC,MAAM,CAAC,CACrB,CAAC;YAEF,OAAO,IAAI,oBAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxC,CAAC;QAED,KAAK,CAAC,kBAAsC;YAC1C,IAAA,qCAA0B,EAAC,kBAAkB,CAAC,CAAC;YAE/C,MAAM,MAAM,GAAsC;gBAChD,GAAG,mBAAmB;gBACtB,GAAG,YAAY;gBACf,GAAG,kBAAkB;aACtB,CAAC;YAEF,MAAM,MAAM,GAAkB,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC;YAEnD,OAAO,IAAI,eAAK,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAmFA,wBAoEC;AA3ID,8CAA4B;AAC5B,6CAGuB;AAFrB,kHAAA,mBAAmB,OAAA;AAGrB,yCAIqB;AAHnB,sGAAA,WAAW,OAAa;AACxB,mGAAA,iBAAiB,OAAU;AAC3B,wGAAA,WAAW,OAAA;AAoBb,sEAA2C;AAC3C,0EAA+C;AAC/C,oEAAyC;AACzC,0DAA+B;AAE/B,uCAKmB;AACnB,2CAA6D;AAC7D,+CAIuB;AAEvB,2CAA0C;AAe1C,MAAM,mBAAmB,GAAiB;IACxC,OAAO,EAAE,uCAAuC;IAChD,WAAW,EAAE,uBAAW,CAAC,OAAO;CACjC,CAAC;AAEF;;;;GAIG;AACH,SAAgB,MAAM,CAAC,YAA0B;IAC/C,IAAA,kCAAoB,EAAC,YAAY,CAAC,CAAC;IAEnC,OAAO;QACL,WAAW,CAAC,aAA4B;YACtC,IAAA,mCAAqB,EAAC,aAAa,CAAC,CAAC;YAErC,MAAM,MAAM,GAAW;gBACrB,GAAG,mBAAmB;gBACtB,GAAG,YAAY;gBACf,GAAG,aAAa;aACjB,CAAC;YAEF,MAAM,MAAM,GAAe,IAAA,4BAAgB,EACzC,IAAA,8BAAoB,EAAC,8BAAoB,EAAE,MAAM,CAAC,EAClD,IAAA,wBAAY,EAAC,MAAM,CAAC,CACrB,CAAC;YACF,OAAO,IAAI,wBAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzC,CAAC;QAED,aAAa,CAAC,aAA4B;YACxC,IAAA,mCAAqB,EAAC,aAAa,CAAC,CAAC;YAErC,MAAM,MAAM,GAAW;gBACrB,GAAG,mBAAmB;gBACtB,GAAG,YAAY;gBACf,GAAG,aAAa;aACjB,CAAC;YAEF,MAAM,MAAM,GAAe,IAAA,4BAAgB,EACzC,IAAA,8BAAoB,EAAC,gCAAsB,EAAE,MAAM,CAAC,EACpD,IAAA,wBAAY,EAAC,MAAM,CAAC,CACrB,CAAC;YAEF,OAAO,IAAI,0BAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3C,CAAC;QAED,UAAU,CAAC,aAA4B;YACrC,IAAA,mCAAqB,EAAC,aAAa,CAAC,CAAC;YAErC,MAAM,MAAM,GAAW;gBACrB,GAAG,mBAAmB;gBACtB,GAAG,YAAY;gBACf,GAAG,aAAa;aACjB,CAAC;YAEF,MAAM,MAAM,GAAe,IAAA,4BAAgB,EACzC,IAAA,8BAAoB,EAAC,6BAAmB,EAAE,MAAM,CAAC,EACjD,IAAA,wBAAY,EAAC,MAAM,CAAC,CACrB,CAAC;YAEF,OAAO,IAAI,uBAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxC,CAAC;QAED,KAAK,CAAC,kBAAsC;YAC1C,IAAA,wCAA0B,EAAC,kBAAkB,CAAC,CAAC;YAE/C,MAAM,MAAM,GAAsC;gBAChD,GAAG,mBAAmB;gBACtB,GAAG,YAAY;gBACf,GAAG,kBAAkB;aACtB,CAAC;YAEF,MAAM,MAAM,GAAe,IAAA,wBAAY,EAAC,MAAM,CAAC,CAAC;YAEhD,OAAO,IAAI,kBAAK,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,IAAI,uBAAW,CAAC,OAAO,CAAC,CAAC;QACtE,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,14 +1,14 @@
1
- import type { AxiosInstance } from "axios";
2
- import type { Balance, BasicUserInfo, BcAuthorizeRequest, BcAuthorizeResponse, CashTransfer, CashTransferRequest, ConsentKycResponse, OAuth2TokenRequest, OAuth2TokenResponse } from "./common";
3
- import { PartyIdType } from "./common";
4
- import type { Config } from "./common";
1
+ import type { HttpClient } from "./httpClient.js";
2
+ import type { Balance, BasicUserInfo, BcAuthorizeRequest, BcAuthorizeResponse, CashTransfer, CashTransferRequest, ConsentKycResponse, OAuth2TokenRequest, OAuth2TokenResponse } from "./common.js";
3
+ import { PartyIdType } from "./common.js";
4
+ import type { Config } from "./common.js";
5
5
  /**
6
6
  * Remittance product for cross-border money transfers with optional OAuth2 consent flows
7
7
  */
8
8
  export default class Remittance {
9
9
  private readonly client;
10
10
  private readonly config;
11
- constructor(client: AxiosInstance, config: Config);
11
+ constructor(client: HttpClient, config: Config);
12
12
  /**
13
13
  * Send money across borders to a beneficiary
14
14
  * @param request - The cash transfer request details (amount, currency, beneficiary, etc.)
@@ -53,7 +53,7 @@ export default class Remittance {
53
53
  * Requires prior OAuth2 user consent/login flow to obtain authorization
54
54
  * @returns A promise that resolves to the user's information and KYC consent details
55
55
  */
56
- getUserInfoWithConsent(): Promise<ConsentKycResponse>;
56
+ getUserInfoWithConsent(consentToken: string): Promise<ConsentKycResponse>;
57
57
  /**
58
58
  * Request Biometric Consent (BC) authorization.
59
59
  * This initiates the BC authorization flow for enhanced security.
@@ -1 +1 @@
1
- {"version":3,"file":"remittance.d.ts","sourceRoot":"","sources":["../../src/remittance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,KAAK,EACV,OAAO,EACP,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EAGpB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAqB,WAAW,EAAE,MAAM,UAAU,CAAC;AAG1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIvC;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,UAAU;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM;IAKjD;;;;OAIG;IACG,QAAQ,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;IA6B7D;;;;OAIG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAahE;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAMpC;;;;;OAKG;IACG,aAAa,CACjB,OAAO,EAAE,MAAM,EACf,WAAW,GAAE,WAAgC,GAC5C,OAAO,CAAC,OAAO,CAAC;IAcnB;;;;;;OAMG;IACI,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAQhE;;;;;OAKG;IACI,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAM/D;;;;OAIG;IACI,sBAAsB,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAM5D;;;;;;OAMG;IACI,WAAW,CAChB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,mBAAmB,CAAC;IA2B/B;;;;;;OAMG;IACI,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;IA6BlE;;;;;OAKG;IACI,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAYlE;;;;;OAKG;IACI,cAAc,CACnB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,mBAAmB,CAAC;CAahC"}
1
+ {"version":3,"file":"remittance.d.ts","sourceRoot":"","sources":["../../src/remittance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,KAAK,EACV,OAAO,EACP,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAqB,MAAM,aAAa,CAAC;AAG7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAW1C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,UAAU;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM;IAK9C;;;;OAIG;IACG,QAAQ,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;IA8B7D;;;;OAIG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAahE;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAMpC;;;;;OAKG;IACG,aAAa,CACjB,OAAO,EAAE,MAAM,EACf,WAAW,GAAE,WAAgC,GAC5C,OAAO,CAAC,OAAO,CAAC;IAqBnB;;;;;;OAMG;IACI,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAShE;;;;;OAKG;IACI,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ/D;;;;OAIG;IACI,sBAAsB,CAC3B,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,kBAAkB,CAAC;IAW9B;;;;;;OAMG;IACI,WAAW,CAChB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,mBAAmB,CAAC;IA2B/B;;;;;;OAMG;IACI,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;IA8BlE;;;;;OAKG;IACI,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAclE;;;;;OAKG;IACI,cAAc,CACnB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,mBAAmB,CAAC;CAehC"}
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const common_1 = require("./common");
4
- const errors_1 = require("./errors");
5
- const auth_1 = require("./auth");
6
- const uuid_1 = require("uuid");
3
+ const common_js_1 = require("./common.js");
4
+ const auth_js_1 = require("./auth.js");
5
+ const errors_js_1 = require("./errors.js");
6
+ const security_js_1 = require("./security.js");
7
+ const validate_js_1 = require("./validate.js");
7
8
  /**
8
9
  * Remittance product for cross-border money transfers with optional OAuth2 consent flows
9
10
  */
@@ -18,7 +19,8 @@ class Remittance {
18
19
  * @returns A promise that resolves to the financial transaction ID (referenceId)
19
20
  */
20
21
  async transfer(request) {
21
- const referenceId = (0, uuid_1.v4)();
22
+ await (0, validate_js_1.validateCashTransferRequest)(request);
23
+ const referenceId = (0, security_js_1.resolveReferenceId)(request.referenceId);
22
24
  await this.client.post(`/remittance/v1_0/transfer`, {
23
25
  amount: request.amount,
24
26
  currency: request.currency,
@@ -46,10 +48,10 @@ class Remittance {
46
48
  * @returns A promise that resolves to the transfer details and status
47
49
  */
48
50
  async getTransaction(referenceId) {
49
- const response = await this.client.get(`/remittance/v1_0/transfer/${referenceId}`);
51
+ const response = await this.client.get(`/remittance/v1_0/transfer/${(0, security_js_1.pathUuid)(referenceId)}`);
50
52
  const transaction = response.data;
51
- if (transaction.status === common_1.TransactionStatus.FAILED) {
52
- return Promise.reject((0, errors_1.getTransactionError)(transaction));
53
+ if (transaction.status === common_js_1.TransactionStatus.FAILED) {
54
+ return Promise.reject((0, errors_js_1.getTransactionError)(transaction));
53
55
  }
54
56
  return transaction;
55
57
  }
@@ -68,13 +70,18 @@ class Remittance {
68
70
  * @param partyIdType - The type of ID (MSISDN, EMAIL, or PARTY_CODE)
69
71
  * @returns A promise that resolves to true if the beneficiary is active, false otherwise
70
72
  */
71
- async isPayerActive(partyId, partyIdType = common_1.PartyIdType.MSISDN) {
73
+ async isPayerActive(partyId, partyIdType = common_js_1.PartyIdType.MSISDN) {
74
+ const safeType = (0, security_js_1.pathPartyType)(partyIdType);
75
+ const safeId = (0, security_js_1.pathPartyId)(safeType, partyId);
72
76
  try {
73
- const response = await this.client.get(`/remittance/v1_0/accountholder/${partyIdType}/${partyId}/active`);
74
- return response.status === 200;
77
+ const response = await this.client.get(`/remittance/v1_0/accountholder/${safeType}/${safeId}/active`);
78
+ return response.data?.result === true;
75
79
  }
76
80
  catch (error) {
77
- if (error.response?.status === 404) {
81
+ if (error &&
82
+ typeof error === "object" &&
83
+ "status" in error &&
84
+ error.status === 404) {
78
85
  return false;
79
86
  }
80
87
  throw error;
@@ -88,8 +95,9 @@ class Remittance {
88
95
  * @returns A promise that resolves to the basic user information
89
96
  */
90
97
  getBasicUserInfo(partyId) {
98
+ const safeId = (0, security_js_1.pathPartyId)(common_js_1.PartyIdType.MSISDN, partyId);
91
99
  return this.client
92
- .get(`/remittance/v1_0/accountholder/MSISDN/${partyId}/basicuserinfo`)
100
+ .get(`/remittance/v1_0/accountholder/MSISDN/${safeId}/basicuserinfo`)
93
101
  .then((response) => response.data);
94
102
  }
95
103
  /**
@@ -100,7 +108,7 @@ class Remittance {
100
108
  */
101
109
  getBalanceInCurrency(currency) {
102
110
  return this.client
103
- .get(`/remittance/v1_0/account/balance/${currency}`)
111
+ .get(`/remittance/v1_0/account/balance/${(0, security_js_1.pathCurrency)(currency)}`)
104
112
  .then((response) => response.data);
105
113
  }
106
114
  /**
@@ -108,9 +116,14 @@ class Remittance {
108
116
  * Requires prior OAuth2 user consent/login flow to obtain authorization
109
117
  * @returns A promise that resolves to the user's information and KYC consent details
110
118
  */
111
- getUserInfoWithConsent() {
119
+ getUserInfoWithConsent(consentToken) {
120
+ (0, security_js_1.validateAccessToken)(consentToken);
112
121
  return this.client
113
- .get(`/remittance/oauth2/v1_0/userinfo`)
122
+ .get("/remittance/oauth2/v1_0/userinfo", {
123
+ headers: {
124
+ Authorization: `Bearer ${consentToken}`,
125
+ },
126
+ })
114
127
  .then((response) => response.data);
115
128
  }
116
129
  /**
@@ -134,7 +147,7 @@ class Remittance {
134
147
  if (request.scope_instruction) {
135
148
  params.append("scope_instruction", request.scope_instruction);
136
149
  }
137
- const basicAuthToken = (0, auth_1.createBasicAuthToken)(this.config);
150
+ const basicAuthToken = (0, auth_js_1.createBasicAuthToken)(this.config);
138
151
  return this.client
139
152
  .post("/remittance/v1_0/bc-authorize", params, {
140
153
  headers: {
@@ -152,27 +165,29 @@ class Remittance {
152
165
  * @returns A promise that resolves to the reference ID
153
166
  */
154
167
  cashTransfer(request) {
155
- const referenceId = (0, uuid_1.v4)();
156
- return this.client
157
- .post("/remittance/v2_0/cashtransfer", {
158
- amount: request.amount,
159
- currency: request.currency,
160
- externalId: request.externalId,
161
- payee: request.payee,
162
- originatingCountry: request.originatingCountry,
163
- originalAmount: request.originalAmount,
164
- originalCurrency: request.originalCurrency,
165
- payerMessage: request.payerMessage,
166
- payeeNote: request.payeeNote,
167
- }, {
168
- headers: {
169
- "X-Reference-Id": referenceId,
170
- ...(request.callbackUrl
171
- ? { "X-Callback-Url": request.callbackUrl }
172
- : {}),
173
- },
174
- })
175
- .then(() => referenceId);
168
+ return (0, validate_js_1.validateCashTransferRequest)(request).then(() => {
169
+ const referenceId = (0, security_js_1.resolveReferenceId)(request.referenceId);
170
+ return this.client
171
+ .post("/remittance/v2_0/cashtransfer", {
172
+ amount: request.amount,
173
+ currency: request.currency,
174
+ externalId: request.externalId,
175
+ payee: request.payee,
176
+ originatingCountry: request.originatingCountry,
177
+ originalAmount: request.originalAmount,
178
+ originalCurrency: request.originalCurrency,
179
+ payerMessage: request.payerMessage,
180
+ payeeNote: request.payeeNote,
181
+ }, {
182
+ headers: {
183
+ "X-Reference-Id": referenceId,
184
+ ...(request.callbackUrl
185
+ ? { "X-Callback-Url": request.callbackUrl }
186
+ : {}),
187
+ },
188
+ })
189
+ .then(() => referenceId);
190
+ });
176
191
  }
177
192
  /**
178
193
  * Get the details and status of a cash transfer (V2).
@@ -182,11 +197,11 @@ class Remittance {
182
197
  */
183
198
  getCashTransfer(referenceId) {
184
199
  return this.client
185
- .get(`/remittance/v2_0/cashtransfer/${referenceId}`)
200
+ .get(`/remittance/v2_0/cashtransfer/${(0, security_js_1.pathUuid)(referenceId)}`)
186
201
  .then((response) => response.data)
187
202
  .then((transfer) => {
188
- if (transfer.status === common_1.TransactionStatus.FAILED) {
189
- return Promise.reject((0, errors_1.getTransactionError)(transfer));
203
+ if (transfer.status === common_js_1.TransactionStatus.FAILED) {
204
+ return Promise.reject((0, errors_js_1.getTransactionError)(transfer));
190
205
  }
191
206
  return transfer;
192
207
  });
@@ -201,9 +216,11 @@ class Remittance {
201
216
  const params = new URLSearchParams();
202
217
  params.append("grant_type", request.grant_type);
203
218
  params.append("auth_req_id", request.auth_req_id);
219
+ const basicAuthToken = (0, auth_js_1.createBasicAuthToken)(this.config);
204
220
  return this.client
205
221
  .post("/remittance/oauth2/token/", params, {
206
222
  headers: {
223
+ Authorization: `Basic ${basicAuthToken}`,
207
224
  "Content-Type": "application/x-www-form-urlencoded",
208
225
  },
209
226
  })
@@ -1 +1 @@
1
- {"version":3,"file":"remittance.js","sourceRoot":"","sources":["../../src/remittance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remittance.js","sourceRoot":"","sources":["../../src/remittance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { Environment, PartyIdType } from "./common.js";
2
+ import type { GlobalConfig, Party } from "./common.js";
3
+ export declare const DEFAULT_TIMEOUT_MS = 30000;
4
+ export declare const DEFAULT_MAX_RESPONSE_BYTES: number;
5
+ export declare const MAX_TIMEOUT_MS = 120000;
6
+ export declare const MAX_RESPONSE_BYTES: number;
7
+ export interface FinancialOperationOptions {
8
+ /**
9
+ * Stable MTN resource identifier for this logical financial operation.
10
+ *
11
+ * Production callers that may retry must generate and persist this value
12
+ * before the first request, then reuse it for every retry.
13
+ */
14
+ referenceId?: string;
15
+ }
16
+ export declare function generateReferenceId(): string;
17
+ export declare function requireUuidV4(value: unknown, name?: string): string;
18
+ export declare function resolveReferenceId(referenceId?: string): string;
19
+ export declare function pathUuid(value: unknown, name?: string): string;
20
+ export declare function pathCurrency(value: unknown): string;
21
+ export declare function pathPartyType(value: unknown): PartyIdType;
22
+ export declare function pathPartyId(type: PartyIdType, value: unknown): string;
23
+ export declare function validateParty(party: Party | undefined, name: string): void;
24
+ export declare function encodeStrictPathSegment(value: unknown, name: string): string;
25
+ export declare function validateFinancialAmount(amount: unknown, name?: string): asserts amount is string;
26
+ export declare function validateCurrency(currency: unknown): asserts currency is string;
27
+ export declare function validateAccessToken(token: unknown, name?: string): asserts token is string;
28
+ export declare function normalizeBaseUrl(baseUrl: string, environment: Environment): string;
29
+ export declare function validateGlobalSecurityConfig(config: GlobalConfig): void;
30
+ export declare function redactSensitiveText(value: string): string;
31
+ export declare function redactUrl(value: string): string;
32
+ //# sourceMappingURL=security.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/security.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAYvD,eAAO,MAAM,kBAAkB,QAAS,CAAC;AACzC,eAAO,MAAM,0BAA0B,QAAc,CAAC;AACtD,eAAO,MAAM,cAAc,SAAU,CAAC;AACtC,eAAO,MAAM,kBAAkB,QAAmB,CAAC;AAEnD,MAAM,WAAW,yBAAyB;IACxC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,SAAgB,GAAG,MAAM,CAQ1E;AAED,wBAAgB,kBAAkB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAI/D;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,SAAgB,GAAG,MAAM,CAErE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAQnD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CASzD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAgBrE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAY1E;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,GACX,MAAM,CAyCR;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,OAAO,EACf,IAAI,SAAW,GACd,OAAO,CAAC,MAAM,IAAI,MAAM,CAU1B;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,QAAQ,IAAI,MAAM,CAE5B;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,EACd,IAAI,SAAiB,GACpB,OAAO,CAAC,KAAK,IAAI,MAAM,CASzB;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,WAAW,GACvB,MAAM,CAiCR;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAiCvE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQzD;AA6BD,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAe/C"}