@metamask/ramps-controller 20.3.0 → 22.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 (290) hide show
  1. package/CHANGELOG.md +42 -1
  2. package/dist/{NeoBankService-method-action-types.d.mts → NeoBankService-method-action-types.d.ts} +2 -2
  3. package/dist/NeoBankService-method-action-types.d.ts.map +1 -0
  4. package/dist/{NeoBankService-method-action-types.mjs → NeoBankService-method-action-types.js} +1 -1
  5. package/dist/NeoBankService-method-action-types.js.map +1 -0
  6. package/dist/{NeoBankService.d.cts → NeoBankService.d.ts} +8 -8
  7. package/dist/NeoBankService.d.ts.map +1 -0
  8. package/dist/NeoBankService.js +380 -0
  9. package/dist/NeoBankService.js.map +1 -0
  10. package/dist/{RampsController-method-action-types.d.mts → RampsController-method-action-types.d.ts} +18 -3
  11. package/dist/RampsController-method-action-types.d.ts.map +1 -0
  12. package/dist/{TransakService-method-action-types.mjs → RampsController-method-action-types.js} +1 -1
  13. package/dist/RampsController-method-action-types.js.map +1 -0
  14. package/dist/{RampsController.d.mts → RampsController.d.ts} +86 -23
  15. package/dist/RampsController.d.ts.map +1 -0
  16. package/dist/{RampsController.mjs → RampsController.js} +976 -634
  17. package/dist/RampsController.js.map +1 -0
  18. package/dist/{RampsService-method-action-types.d.cts → RampsService-method-action-types.d.ts} +2 -2
  19. package/dist/RampsService-method-action-types.d.ts.map +1 -0
  20. package/dist/{RampsService-method-action-types.mjs → RampsService-method-action-types.js} +1 -1
  21. package/dist/RampsService-method-action-types.js.map +1 -0
  22. package/dist/{RampsService.d.mts → RampsService.d.ts} +11 -5
  23. package/dist/RampsService.d.ts.map +1 -0
  24. package/dist/{RampsService.mjs → RampsService.js} +159 -147
  25. package/dist/RampsService.js.map +1 -0
  26. package/dist/{RequestCache.d.mts → RequestCache.d.ts} +3 -3
  27. package/dist/RequestCache.d.ts.map +1 -0
  28. package/dist/{RequestCache.mjs → RequestCache.js} +1 -1
  29. package/dist/RequestCache.js.map +1 -0
  30. package/dist/{TransakService-method-action-types.d.cts → TransakService-method-action-types.d.ts} +2 -2
  31. package/dist/TransakService-method-action-types.d.ts.map +1 -0
  32. package/dist/{RampsController-method-action-types.mjs → TransakService-method-action-types.js} +1 -1
  33. package/dist/TransakService-method-action-types.js.map +1 -0
  34. package/dist/{TransakService.d.cts → TransakService.d.ts} +6 -6
  35. package/dist/TransakService.d.ts.map +1 -0
  36. package/dist/TransakService.js +746 -0
  37. package/dist/TransakService.js.map +1 -0
  38. package/dist/{autoramp-types.d.cts → autoramp-types.d.ts} +1 -1
  39. package/dist/autoramp-types.d.ts.map +1 -0
  40. package/dist/autoramp-types.js +2 -0
  41. package/dist/autoramp-types.js.map +1 -0
  42. package/dist/{autorampAccount.d.mts → autorampAccount.d.ts} +3 -3
  43. package/dist/autorampAccount.d.ts.map +1 -0
  44. package/dist/{autorampAccount.mjs → autorampAccount.js} +1 -1
  45. package/dist/autorampAccount.js.map +1 -0
  46. package/dist/{client-identity.d.mts → client-identity.d.ts} +1 -1
  47. package/dist/client-identity.d.ts.map +1 -0
  48. package/dist/{client-identity.mjs → client-identity.js} +1 -1
  49. package/dist/client-identity.js.map +1 -0
  50. package/dist/{errorNormalization.d.mts → errorNormalization.d.ts} +1 -1
  51. package/dist/errorNormalization.d.ts.map +1 -0
  52. package/dist/{errorNormalization.mjs → errorNormalization.js} +1 -1
  53. package/dist/errorNormalization.js.map +1 -0
  54. package/dist/{featureFlags.d.mts → featureFlags.d.ts} +2 -2
  55. package/dist/featureFlags.d.ts.map +1 -0
  56. package/dist/{featureFlags.mjs → featureFlags.js} +1 -1
  57. package/dist/featureFlags.js.map +1 -0
  58. package/dist/{index.d.mts → index.d.ts} +37 -35
  59. package/dist/index.d.ts.map +1 -0
  60. package/dist/index.js +19 -0
  61. package/dist/index.js.map +1 -0
  62. package/dist/order-syncing/constants.d.ts +23 -0
  63. package/dist/order-syncing/constants.d.ts.map +1 -0
  64. package/dist/order-syncing/constants.js +23 -0
  65. package/dist/order-syncing/constants.js.map +1 -0
  66. package/dist/order-syncing/controller-integration.d.ts +91 -0
  67. package/dist/order-syncing/controller-integration.d.ts.map +1 -0
  68. package/dist/order-syncing/controller-integration.js +364 -0
  69. package/dist/order-syncing/controller-integration.js.map +1 -0
  70. package/dist/order-syncing/index.d.ts +7 -0
  71. package/dist/order-syncing/index.d.ts.map +1 -0
  72. package/dist/order-syncing/index.js +5 -0
  73. package/dist/order-syncing/index.js.map +1 -0
  74. package/dist/order-syncing/sync-utils.d.ts +9 -0
  75. package/dist/order-syncing/sync-utils.d.ts.map +1 -0
  76. package/dist/order-syncing/sync-utils.js +27 -0
  77. package/dist/order-syncing/sync-utils.js.map +1 -0
  78. package/dist/order-syncing/types.d.ts +66 -0
  79. package/dist/order-syncing/types.d.ts.map +1 -0
  80. package/dist/order-syncing/types.js +2 -0
  81. package/dist/order-syncing/types.js.map +1 -0
  82. package/dist/order-syncing/utils.d.ts +83 -0
  83. package/dist/order-syncing/utils.d.ts.map +1 -0
  84. package/dist/order-syncing/utils.js +144 -0
  85. package/dist/order-syncing/utils.js.map +1 -0
  86. package/dist/{orderStatus.d.mts → orderStatus.d.ts} +2 -2
  87. package/dist/orderStatus.d.ts.map +1 -0
  88. package/dist/{orderStatus.mjs → orderStatus.js} +2 -2
  89. package/dist/orderStatus.js.map +1 -0
  90. package/dist/{ownership-message.d.cts → ownership-message.d.ts} +1 -1
  91. package/dist/ownership-message.d.ts.map +1 -0
  92. package/dist/{ownership-message.mjs → ownership-message.js} +1 -1
  93. package/dist/ownership-message.js.map +1 -0
  94. package/dist/{paymentMethodMerge.d.cts → paymentMethodMerge.d.ts} +2 -2
  95. package/dist/paymentMethodMerge.d.ts.map +1 -0
  96. package/dist/{paymentMethodMerge.mjs → paymentMethodMerge.js} +1 -1
  97. package/dist/paymentMethodMerge.js.map +1 -0
  98. package/dist/{providerAvailability.d.cts → providerAvailability.d.ts} +2 -2
  99. package/dist/providerAvailability.d.ts.map +1 -0
  100. package/dist/{providerAvailability.mjs → providerAvailability.js} +1 -1
  101. package/dist/providerAvailability.js.map +1 -0
  102. package/dist/{quoteClassification.d.cts → quoteClassification.d.ts} +2 -2
  103. package/dist/quoteClassification.d.ts.map +1 -0
  104. package/dist/{quoteClassification.mjs → quoteClassification.js} +1 -1
  105. package/dist/quoteClassification.js.map +1 -0
  106. package/dist/{rampsErrorCodes.d.cts → rampsErrorCodes.d.ts} +2 -2
  107. package/dist/rampsErrorCodes.d.ts.map +1 -0
  108. package/dist/{rampsErrorCodes.mjs → rampsErrorCodes.js} +1 -1
  109. package/dist/rampsErrorCodes.js.map +1 -0
  110. package/dist/{selectors.d.mts → selectors.d.ts} +3 -3
  111. package/dist/selectors.d.ts.map +1 -0
  112. package/dist/{selectors.mjs → selectors.js} +2 -2
  113. package/dist/selectors.js.map +1 -0
  114. package/dist/{transakApiErrorUtils.d.cts → transakApiErrorUtils.d.ts} +1 -1
  115. package/dist/transakApiErrorUtils.d.ts.map +1 -0
  116. package/dist/{transakApiErrorUtils.mjs → transakApiErrorUtils.js} +3 -3
  117. package/dist/transakApiErrorUtils.js.map +1 -0
  118. package/dist/{transakErrorCodes.d.cts → transakErrorCodes.d.ts} +3 -3
  119. package/dist/transakErrorCodes.d.ts.map +1 -0
  120. package/dist/{transakErrorCodes.mjs → transakErrorCodes.js} +1 -1
  121. package/dist/transakErrorCodes.js.map +1 -0
  122. package/dist/{wallet-registration-machine.d.cts → wallet-registration-machine.d.ts} +1 -1
  123. package/dist/wallet-registration-machine.d.ts.map +1 -0
  124. package/dist/{wallet-registration-machine.mjs → wallet-registration-machine.js} +1 -1
  125. package/dist/wallet-registration-machine.js.map +1 -0
  126. package/dist/{wallet-registration-service.d.cts → wallet-registration-service.d.ts} +1 -1
  127. package/dist/wallet-registration-service.d.ts.map +1 -0
  128. package/dist/{wallet-registration-service.mjs → wallet-registration-service.js} +60 -69
  129. package/dist/wallet-registration-service.js.map +1 -0
  130. package/package.json +18 -21
  131. package/dist/NeoBankService-method-action-types.cjs +0 -7
  132. package/dist/NeoBankService-method-action-types.cjs.map +0 -1
  133. package/dist/NeoBankService-method-action-types.d.cts +0 -126
  134. package/dist/NeoBankService-method-action-types.d.cts.map +0 -1
  135. package/dist/NeoBankService-method-action-types.d.mts.map +0 -1
  136. package/dist/NeoBankService-method-action-types.mjs.map +0 -1
  137. package/dist/NeoBankService.cjs +0 -387
  138. package/dist/NeoBankService.cjs.map +0 -1
  139. package/dist/NeoBankService.d.cts.map +0 -1
  140. package/dist/NeoBankService.d.mts +0 -191
  141. package/dist/NeoBankService.d.mts.map +0 -1
  142. package/dist/NeoBankService.mjs +0 -379
  143. package/dist/NeoBankService.mjs.map +0 -1
  144. package/dist/RampsController-method-action-types.cjs +0 -7
  145. package/dist/RampsController-method-action-types.cjs.map +0 -1
  146. package/dist/RampsController-method-action-types.d.cts +0 -758
  147. package/dist/RampsController-method-action-types.d.cts.map +0 -1
  148. package/dist/RampsController-method-action-types.d.mts.map +0 -1
  149. package/dist/RampsController-method-action-types.mjs.map +0 -1
  150. package/dist/RampsController.cjs +0 -2799
  151. package/dist/RampsController.cjs.map +0 -1
  152. package/dist/RampsController.d.cts +0 -968
  153. package/dist/RampsController.d.cts.map +0 -1
  154. package/dist/RampsController.d.mts.map +0 -1
  155. package/dist/RampsController.mjs.map +0 -1
  156. package/dist/RampsService-method-action-types.cjs +0 -7
  157. package/dist/RampsService-method-action-types.cjs.map +0 -1
  158. package/dist/RampsService-method-action-types.d.cts.map +0 -1
  159. package/dist/RampsService-method-action-types.d.mts +0 -171
  160. package/dist/RampsService-method-action-types.d.mts.map +0 -1
  161. package/dist/RampsService-method-action-types.mjs.map +0 -1
  162. package/dist/RampsService.cjs +0 -708
  163. package/dist/RampsService.cjs.map +0 -1
  164. package/dist/RampsService.d.cts +0 -944
  165. package/dist/RampsService.d.cts.map +0 -1
  166. package/dist/RampsService.d.mts.map +0 -1
  167. package/dist/RampsService.mjs.map +0 -1
  168. package/dist/RequestCache.cjs +0 -103
  169. package/dist/RequestCache.cjs.map +0 -1
  170. package/dist/RequestCache.d.cts +0 -110
  171. package/dist/RequestCache.d.cts.map +0 -1
  172. package/dist/RequestCache.d.mts.map +0 -1
  173. package/dist/RequestCache.mjs.map +0 -1
  174. package/dist/TransakService-method-action-types.cjs +0 -7
  175. package/dist/TransakService-method-action-types.cjs.map +0 -1
  176. package/dist/TransakService-method-action-types.d.cts.map +0 -1
  177. package/dist/TransakService-method-action-types.d.mts +0 -140
  178. package/dist/TransakService-method-action-types.d.mts.map +0 -1
  179. package/dist/TransakService-method-action-types.mjs.map +0 -1
  180. package/dist/TransakService.cjs +0 -743
  181. package/dist/TransakService.cjs.map +0 -1
  182. package/dist/TransakService.d.cts.map +0 -1
  183. package/dist/TransakService.d.mts +0 -370
  184. package/dist/TransakService.d.mts.map +0 -1
  185. package/dist/TransakService.mjs +0 -734
  186. package/dist/TransakService.mjs.map +0 -1
  187. package/dist/autoramp-types.cjs +0 -3
  188. package/dist/autoramp-types.cjs.map +0 -1
  189. package/dist/autoramp-types.d.cts.map +0 -1
  190. package/dist/autoramp-types.d.mts +0 -22
  191. package/dist/autoramp-types.d.mts.map +0 -1
  192. package/dist/autoramp-types.mjs +0 -2
  193. package/dist/autoramp-types.mjs.map +0 -1
  194. package/dist/autorampAccount.cjs +0 -155
  195. package/dist/autorampAccount.cjs.map +0 -1
  196. package/dist/autorampAccount.d.cts +0 -126
  197. package/dist/autorampAccount.d.cts.map +0 -1
  198. package/dist/autorampAccount.d.mts.map +0 -1
  199. package/dist/autorampAccount.mjs.map +0 -1
  200. package/dist/client-identity.cjs +0 -28
  201. package/dist/client-identity.cjs.map +0 -1
  202. package/dist/client-identity.d.cts +0 -24
  203. package/dist/client-identity.d.cts.map +0 -1
  204. package/dist/client-identity.d.mts.map +0 -1
  205. package/dist/client-identity.mjs.map +0 -1
  206. package/dist/errorNormalization.cjs +0 -84
  207. package/dist/errorNormalization.cjs.map +0 -1
  208. package/dist/errorNormalization.d.cts +0 -56
  209. package/dist/errorNormalization.d.cts.map +0 -1
  210. package/dist/errorNormalization.d.mts.map +0 -1
  211. package/dist/errorNormalization.mjs.map +0 -1
  212. package/dist/featureFlags.cjs +0 -144
  213. package/dist/featureFlags.cjs.map +0 -1
  214. package/dist/featureFlags.d.cts +0 -82
  215. package/dist/featureFlags.d.cts.map +0 -1
  216. package/dist/featureFlags.d.mts.map +0 -1
  217. package/dist/featureFlags.mjs.map +0 -1
  218. package/dist/index.cjs +0 -82
  219. package/dist/index.cjs.map +0 -1
  220. package/dist/index.d.cts +0 -35
  221. package/dist/index.d.cts.map +0 -1
  222. package/dist/index.d.mts.map +0 -1
  223. package/dist/index.mjs +0 -18
  224. package/dist/index.mjs.map +0 -1
  225. package/dist/orderStatus.cjs +0 -34
  226. package/dist/orderStatus.cjs.map +0 -1
  227. package/dist/orderStatus.d.cts +0 -18
  228. package/dist/orderStatus.d.cts.map +0 -1
  229. package/dist/orderStatus.d.mts.map +0 -1
  230. package/dist/orderStatus.mjs.map +0 -1
  231. package/dist/ownership-message.cjs +0 -26
  232. package/dist/ownership-message.cjs.map +0 -1
  233. package/dist/ownership-message.d.cts.map +0 -1
  234. package/dist/ownership-message.d.mts +0 -22
  235. package/dist/ownership-message.d.mts.map +0 -1
  236. package/dist/ownership-message.mjs.map +0 -1
  237. package/dist/paymentMethodMerge.cjs +0 -51
  238. package/dist/paymentMethodMerge.cjs.map +0 -1
  239. package/dist/paymentMethodMerge.d.cts.map +0 -1
  240. package/dist/paymentMethodMerge.d.mts +0 -26
  241. package/dist/paymentMethodMerge.d.mts.map +0 -1
  242. package/dist/paymentMethodMerge.mjs.map +0 -1
  243. package/dist/providerAvailability.cjs +0 -134
  244. package/dist/providerAvailability.cjs.map +0 -1
  245. package/dist/providerAvailability.d.cts.map +0 -1
  246. package/dist/providerAvailability.d.mts +0 -101
  247. package/dist/providerAvailability.d.mts.map +0 -1
  248. package/dist/providerAvailability.mjs.map +0 -1
  249. package/dist/quoteClassification.cjs +0 -44
  250. package/dist/quoteClassification.cjs.map +0 -1
  251. package/dist/quoteClassification.d.cts.map +0 -1
  252. package/dist/quoteClassification.d.mts +0 -33
  253. package/dist/quoteClassification.d.mts.map +0 -1
  254. package/dist/quoteClassification.mjs.map +0 -1
  255. package/dist/rampsErrorCodes.cjs +0 -11
  256. package/dist/rampsErrorCodes.cjs.map +0 -1
  257. package/dist/rampsErrorCodes.d.cts.map +0 -1
  258. package/dist/rampsErrorCodes.d.mts +0 -9
  259. package/dist/rampsErrorCodes.d.mts.map +0 -1
  260. package/dist/rampsErrorCodes.mjs.map +0 -1
  261. package/dist/selectors.cjs +0 -85
  262. package/dist/selectors.cjs.map +0 -1
  263. package/dist/selectors.d.cts +0 -78
  264. package/dist/selectors.d.cts.map +0 -1
  265. package/dist/selectors.d.mts.map +0 -1
  266. package/dist/selectors.mjs.map +0 -1
  267. package/dist/transakApiErrorUtils.cjs +0 -15
  268. package/dist/transakApiErrorUtils.cjs.map +0 -1
  269. package/dist/transakApiErrorUtils.d.cts.map +0 -1
  270. package/dist/transakApiErrorUtils.d.mts +0 -3
  271. package/dist/transakApiErrorUtils.d.mts.map +0 -1
  272. package/dist/transakApiErrorUtils.mjs.map +0 -1
  273. package/dist/transakErrorCodes.cjs +0 -14
  274. package/dist/transakErrorCodes.cjs.map +0 -1
  275. package/dist/transakErrorCodes.d.cts.map +0 -1
  276. package/dist/transakErrorCodes.d.mts +0 -12
  277. package/dist/transakErrorCodes.d.mts.map +0 -1
  278. package/dist/transakErrorCodes.mjs.map +0 -1
  279. package/dist/wallet-registration-machine.cjs +0 -144
  280. package/dist/wallet-registration-machine.cjs.map +0 -1
  281. package/dist/wallet-registration-machine.d.cts.map +0 -1
  282. package/dist/wallet-registration-machine.d.mts +0 -81
  283. package/dist/wallet-registration-machine.d.mts.map +0 -1
  284. package/dist/wallet-registration-machine.mjs.map +0 -1
  285. package/dist/wallet-registration-service.cjs +0 -351
  286. package/dist/wallet-registration-service.cjs.map +0 -1
  287. package/dist/wallet-registration-service.d.cts.map +0 -1
  288. package/dist/wallet-registration-service.d.mts +0 -144
  289. package/dist/wallet-registration-service.d.mts.map +0 -1
  290. package/dist/wallet-registration-service.mjs.map +0 -1
@@ -1,743 +0,0 @@
1
- "use strict";
2
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
- if (kind === "m") throw new TypeError("Private method is not writable");
4
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
- };
8
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
- };
13
- var __importDefault = (this && this.__importDefault) || function (mod) {
14
- return (mod && mod.__esModule) ? mod : { "default": mod };
15
- };
16
- var _TransakService_instances, _TransakService_messenger, _TransakService_fetch, _TransakService_policy, _TransakService_noRetryPolicy, _TransakService_environment, _TransakService_context, _TransakService_orderRetryDelayMs, _TransakService_apiKey, _TransakService_accessToken, _TransakService_rampsApiBaseUrlOverride, _TransakService_referrerDomain, _TransakService_clientIdentity, _TransakService_ensureApiKey, _TransakService_ensureAccessToken, _TransakService_getHeaders, _TransakService_throwTransakApiError, _TransakService_transakGet, _TransakService_transakPost, _TransakService_transakPatch, _TransakService_transakDelete, _TransakService_getRampsApiBaseUrl, _TransakService_addRampsCommonParams, _TransakService_ordersApiGet;
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.TransakService = exports.TransakApiError = exports.TransakOrderIdTransformer = exports.TransakEnvironment = void 0;
19
- const controller_utils_1 = require("@metamask/controller-utils");
20
- const package_json_1 = __importDefault(require("../package.json"));
21
- const client_identity_js_1 = require("./client-identity.cjs");
22
- const RampsService_js_1 = require("./RampsService.cjs");
23
- const transakErrorCodes_js_1 = require("./transakErrorCodes.cjs");
24
- // === ENVIRONMENT ===
25
- var TransakEnvironment;
26
- (function (TransakEnvironment) {
27
- TransakEnvironment["Production"] = "production";
28
- TransakEnvironment["Staging"] = "staging";
29
- TransakEnvironment["Development"] = "development";
30
- })(TransakEnvironment || (exports.TransakEnvironment = TransakEnvironment = {}));
31
- var TransakApiProviders;
32
- (function (TransakApiProviders) {
33
- TransakApiProviders["TransakNative"] = "transak-native";
34
- TransakApiProviders["TransakNativeStaging"] = "transak-native-staging";
35
- })(TransakApiProviders || (TransakApiProviders = {}));
36
- // === ORDER ID UTILITIES ===
37
- class TransakOrderIdTransformer {
38
- static depositOrderIdToTransakOrderId(depositOrderId) {
39
- const parts = depositOrderId.split('/');
40
- return parts[parts.length - 1];
41
- }
42
- static transakOrderIdToDepositOrderId(transakOrderId, environment) {
43
- const provider = environment === TransakEnvironment.Production
44
- ? 'transak-native'
45
- : 'transak-native-staging';
46
- return `/providers/${provider}/orders/${transakOrderId}`;
47
- }
48
- static isDepositOrderId(orderId) {
49
- return orderId.startsWith('/providers/');
50
- }
51
- static extractTransakOrderId(orderId) {
52
- return this.isDepositOrderId(orderId)
53
- ? this.depositOrderIdToTransakOrderId(orderId)
54
- : orderId;
55
- }
56
- }
57
- exports.TransakOrderIdTransformer = TransakOrderIdTransformer;
58
- // === MESSENGER ===
59
- const serviceName = 'TransakService';
60
- const MESSENGER_EXPOSED_METHODS = [
61
- 'setApiKey',
62
- 'setAccessToken',
63
- 'clearAccessToken',
64
- 'sendUserOtp',
65
- 'verifyUserOtp',
66
- 'logout',
67
- 'getUserDetails',
68
- 'getBuyQuote',
69
- 'getKycRequirement',
70
- 'getAdditionalRequirements',
71
- 'createOrder',
72
- 'getOrder',
73
- 'getUserLimits',
74
- 'requestOtt',
75
- 'generatePaymentWidgetUrl',
76
- 'createWidgetUrl',
77
- 'submitPurposeOfUsageForm',
78
- 'patchUser',
79
- 'submitSsnDetails',
80
- 'confirmPayment',
81
- 'getTranslation',
82
- 'getIdProofStatus',
83
- 'cancelOrder',
84
- 'cancelAllActiveOrders',
85
- 'getActiveOrders',
86
- ];
87
- // === HELPER FUNCTIONS ===
88
- /**
89
- * Maps ramps API payment method IDs (e.g., "/payments/debit-credit-card")
90
- * to the deposit-format IDs expected by the translation endpoint
91
- * (e.g., "credit_debit_card").
92
- *
93
- * The translation endpoint only understands the deposit-format IDs.
94
- * Canonical IDs may arrive either with the "/payments/" prefix
95
- * (e.g., "/payments/apple-pay") or without it (e.g., "apple-pay"), so both
96
- * forms are accepted. If no mapping exists, the input is returned as-is (it
97
- * may already be in the deposit format).
98
- */
99
- const RAMPS_TO_DEPOSIT_PAYMENT_METHOD = {
100
- '/payments/debit-credit-card': 'credit_debit_card',
101
- '/payments/apple-pay': 'apple_pay',
102
- '/payments/google-pay': 'google_pay',
103
- '/payments/sepa-bank-transfer': 'sepa_bank_transfer',
104
- '/payments/wire-transfer': 'wire_transfer',
105
- '/payments/gbp-bank-transfer': 'gbp_bank_transfer',
106
- };
107
- const PAYMENTS_PREFIX = '/payments/';
108
- function normalizePaymentMethodForTranslation(paymentMethod) {
109
- if (!paymentMethod) {
110
- return undefined;
111
- }
112
- const prefixed = paymentMethod.startsWith(PAYMENTS_PREFIX)
113
- ? paymentMethod
114
- : `${PAYMENTS_PREFIX}${paymentMethod}`;
115
- return (RAMPS_TO_DEPOSIT_PAYMENT_METHOD[paymentMethod] ??
116
- RAMPS_TO_DEPOSIT_PAYMENT_METHOD[prefixed] ??
117
- paymentMethod);
118
- }
119
- function getTransakApiBaseUrl(environment) {
120
- switch (environment) {
121
- case TransakEnvironment.Production:
122
- return 'https://api-gateway.transak.com';
123
- // Transak has no dev environment; development uses their staging gateway.
124
- case TransakEnvironment.Staging:
125
- case TransakEnvironment.Development:
126
- return 'https://api-gateway-stg.transak.com';
127
- default:
128
- throw new Error(`Invalid Transak environment: ${String(environment)}`);
129
- }
130
- }
131
- function getRampsBaseUrl(environment) {
132
- switch (environment) {
133
- case TransakEnvironment.Production:
134
- return 'https://on-ramp.api.cx.metamask.io';
135
- case TransakEnvironment.Staging:
136
- return 'https://on-ramp.uat-api.cx.metamask.io';
137
- case TransakEnvironment.Development:
138
- return 'https://on-ramp.dev-api.cx.metamask.io';
139
- default:
140
- throw new Error(`Invalid Transak environment: ${String(environment)}`);
141
- }
142
- }
143
- function getRampsProviderPath(environment) {
144
- // The dev ramps API registers the same `transak-native-staging` provider
145
- // id as UAT; only production uses `transak-native`.
146
- const providerId = environment === TransakEnvironment.Production
147
- ? TransakApiProviders.TransakNative
148
- : TransakApiProviders.TransakNativeStaging;
149
- return `/providers/${providerId}`;
150
- }
151
- function getPaymentWidgetBaseUrl(environment) {
152
- switch (environment) {
153
- case TransakEnvironment.Production:
154
- return 'https://global.transak.com';
155
- // Transak has no dev environment; development uses their staging widget.
156
- case TransakEnvironment.Staging:
157
- case TransakEnvironment.Development:
158
- return 'https://global-stg.transak.com';
159
- default:
160
- throw new Error(`Invalid Transak environment: ${String(environment)}`);
161
- }
162
- }
163
- /**
164
- * Transak requires `referrerDomain` in `widgetParams` alongside the partner
165
- * API key (which the ramps API proxy injects server-side). Identifies the
166
- * MetaMask client to Transak. Default when the client does not pass a
167
- * `referrerDomain` constructor option (e.g. the mobile app passes its
168
- * package name / bundle id).
169
- */
170
- const TRANSAK_REFERRER_DOMAIN = 'metamask.io';
171
- // === TRANSAK API ERROR ===
172
- class TransakApiError extends controller_utils_1.HttpError {
173
- constructor(status, message, errorCode, apiMessage) {
174
- super(status, message);
175
- this.errorCode = errorCode;
176
- this.apiMessage = apiMessage;
177
- }
178
- }
179
- exports.TransakApiError = TransakApiError;
180
- // === SERVICE DEFINITION ===
181
- class TransakService {
182
- constructor({ messenger, environment = TransakEnvironment.Staging, context, fetch: fetchFunction, apiKey, policyOptions = {}, orderRetryDelayMs = 2000, rampsApiBaseUrlOverride, referrerDomain = TRANSAK_REFERRER_DOMAIN, clientProduct, clientVersion, }) {
183
- _TransakService_instances.add(this);
184
- _TransakService_messenger.set(this, void 0);
185
- _TransakService_fetch.set(this, void 0);
186
- _TransakService_policy.set(this, void 0);
187
- _TransakService_noRetryPolicy.set(this, void 0);
188
- _TransakService_environment.set(this, void 0);
189
- _TransakService_context.set(this, void 0);
190
- _TransakService_orderRetryDelayMs.set(this, void 0);
191
- _TransakService_apiKey.set(this, null);
192
- _TransakService_accessToken.set(this, null);
193
- /**
194
- * Optional ramps API base URL override for local development (mirrors
195
- * `RampsService`'s `baseUrlOverride`). Applies to the requests this service
196
- * sends to the ramps API (orders, widget-url proxy), not to direct Transak
197
- * API calls.
198
- */
199
- _TransakService_rampsApiBaseUrlOverride.set(this, void 0);
200
- /**
201
- * Identifies the client to Transak in `widgetParams` (e.g. the mobile app's
202
- * package name / bundle id). Defaults to `metamask.io`.
203
- */
204
- _TransakService_referrerDomain.set(this, void 0);
205
- _TransakService_clientIdentity.set(this, void 0);
206
- this.name = serviceName;
207
- __classPrivateFieldSet(this, _TransakService_messenger, messenger, "f");
208
- __classPrivateFieldSet(this, _TransakService_fetch, fetchFunction, "f");
209
- __classPrivateFieldSet(this, _TransakService_policy, (0, controller_utils_1.createServicePolicy)(policyOptions), "f");
210
- __classPrivateFieldSet(this, _TransakService_noRetryPolicy, (0, controller_utils_1.createServicePolicy)({
211
- ...policyOptions,
212
- maxRetries: 0,
213
- }), "f");
214
- __classPrivateFieldSet(this, _TransakService_environment, environment, "f");
215
- __classPrivateFieldSet(this, _TransakService_context, context, "f");
216
- __classPrivateFieldSet(this, _TransakService_apiKey, apiKey ?? null, "f");
217
- __classPrivateFieldSet(this, _TransakService_orderRetryDelayMs, orderRetryDelayMs, "f");
218
- __classPrivateFieldSet(this, _TransakService_rampsApiBaseUrlOverride, rampsApiBaseUrlOverride, "f");
219
- __classPrivateFieldSet(this, _TransakService_referrerDomain, referrerDomain, "f");
220
- __classPrivateFieldSet(this, _TransakService_clientIdentity, {
221
- clientProduct,
222
- clientVersion,
223
- }, "f");
224
- __classPrivateFieldGet(this, _TransakService_messenger, "f").registerMethodActionHandlers(this, MESSENGER_EXPOSED_METHODS);
225
- }
226
- setApiKey(apiKey) {
227
- __classPrivateFieldSet(this, _TransakService_apiKey, apiKey, "f");
228
- }
229
- getApiKey() {
230
- return __classPrivateFieldGet(this, _TransakService_apiKey, "f");
231
- }
232
- setAccessToken(token) {
233
- __classPrivateFieldSet(this, _TransakService_accessToken, token, "f");
234
- }
235
- getAccessToken() {
236
- return __classPrivateFieldGet(this, _TransakService_accessToken, "f");
237
- }
238
- clearAccessToken() {
239
- __classPrivateFieldSet(this, _TransakService_accessToken, null, "f");
240
- }
241
- // === PUBLIC API METHODS ===
242
- async sendUserOtp(email) {
243
- const result = await __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_transakPost).call(this, '/api/v2/auth/login', { email });
244
- return result;
245
- }
246
- async verifyUserOtp(email, verificationCode, stateToken) {
247
- const responseData = await __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_transakPost).call(this, '/api/v2/auth/verify', {
248
- email,
249
- otp: verificationCode,
250
- stateToken,
251
- }, { policy: __classPrivateFieldGet(this, _TransakService_noRetryPolicy, "f") });
252
- const accessToken = {
253
- accessToken: responseData.accessToken,
254
- ttl: responseData.ttl,
255
- created: new Date(responseData.created),
256
- };
257
- this.setAccessToken(accessToken);
258
- return accessToken;
259
- }
260
- async logout() {
261
- __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_ensureAccessToken).call(this);
262
- try {
263
- const result = await __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_transakPost).call(this, '/api/v1/auth/logout');
264
- this.clearAccessToken();
265
- return result;
266
- }
267
- catch (error) {
268
- if (error instanceof controller_utils_1.HttpError && error.httpStatus === 401) {
269
- this.clearAccessToken();
270
- return 'user was already logged out';
271
- }
272
- throw error;
273
- }
274
- }
275
- async getUserDetails() {
276
- __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_ensureAccessToken).call(this);
277
- return __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_transakGet).call(this, '/api/v2/user/');
278
- }
279
- async getBuyQuote(genericFiatCurrency, genericCryptoCurrency, genericNetwork, genericPaymentMethod, fiatAmount) {
280
- const normalizedPaymentMethod = normalizePaymentMethodForTranslation(genericPaymentMethod || undefined);
281
- const translationRequest = {
282
- cryptoCurrencyId: genericCryptoCurrency,
283
- chainId: genericNetwork,
284
- fiatCurrencyId: genericFiatCurrency,
285
- paymentMethod: normalizedPaymentMethod,
286
- };
287
- const translation = await this.getTranslation(translationRequest);
288
- const params = {
289
- fiatCurrency: translation.fiatCurrency,
290
- cryptoCurrency: translation.cryptoCurrency,
291
- isBuyOrSell: 'BUY',
292
- network: translation.network,
293
- fiatAmount,
294
- isFeeExcludedFromFiat: 'true',
295
- };
296
- if (translation.paymentMethod) {
297
- params.paymentMethod = translation.paymentMethod;
298
- }
299
- return __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_transakGet).call(this, '/api/v2/lookup/quotes', params);
300
- }
301
- async getKycRequirement(quoteId) {
302
- __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_ensureAccessToken).call(this);
303
- const result = await __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_transakGet).call(this, '/api/v2/kyc/requirement', {
304
- 'metadata[quoteId]': quoteId,
305
- });
306
- return result;
307
- }
308
- async getAdditionalRequirements(quoteId) {
309
- __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_ensureAccessToken).call(this);
310
- return __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_transakGet).call(this, '/api/v2/kyc/additional-requirements', { 'metadata[quoteId]': quoteId });
311
- }
312
- async createOrder(quoteId, walletAddress, paymentMethodId) {
313
- __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_ensureAccessToken).call(this);
314
- const normalizedPaymentMethod = normalizePaymentMethodForTranslation(paymentMethodId);
315
- const translation = await this.getTranslation({
316
- paymentMethod: normalizedPaymentMethod,
317
- });
318
- const paymentInstrumentId = translation.paymentMethod ?? normalizedPaymentMethod;
319
- try {
320
- const transakOrder = await __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_transakPost).call(this, '/api/v2/orders', {
321
- quoteId,
322
- walletAddress,
323
- paymentInstrumentId,
324
- });
325
- const depositOrderId = TransakOrderIdTransformer.transakOrderIdToDepositOrderId(transakOrder.orderId, __classPrivateFieldGet(this, _TransakService_environment, "f"));
326
- return this.getOrder(depositOrderId, transakOrder.walletAddress, transakOrder.paymentDetails);
327
- }
328
- catch (error) {
329
- if (error instanceof TransakApiError &&
330
- error.httpStatus === 409 &&
331
- error.errorCode === transakErrorCodes_js_1.TRANSAK_ERROR_CODES.ORDER_EXISTS) {
332
- await this.cancelAllActiveOrders();
333
- await new Promise((resolve) => setTimeout(resolve, __classPrivateFieldGet(this, _TransakService_orderRetryDelayMs, "f")));
334
- const retryOrder = await __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_transakPost).call(this, '/api/v2/orders', {
335
- quoteId,
336
- walletAddress,
337
- paymentInstrumentId,
338
- });
339
- const retryDepositOrderId = TransakOrderIdTransformer.transakOrderIdToDepositOrderId(retryOrder.orderId, __classPrivateFieldGet(this, _TransakService_environment, "f"));
340
- return this.getOrder(retryDepositOrderId, retryOrder.walletAddress, retryOrder.paymentDetails);
341
- }
342
- throw error;
343
- }
344
- }
345
- async getOrder(orderId, wallet, paymentDetails) {
346
- let depositOrderId;
347
- if (TransakOrderIdTransformer.isDepositOrderId(orderId)) {
348
- depositOrderId = orderId;
349
- }
350
- else {
351
- depositOrderId = TransakOrderIdTransformer.transakOrderIdToDepositOrderId(orderId, __classPrivateFieldGet(this, _TransakService_environment, "f"));
352
- }
353
- const transakOrderId = TransakOrderIdTransformer.extractTransakOrderId(depositOrderId);
354
- const order = await __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_ordersApiGet).call(this, `/orders/${transakOrderId}`, { wallet });
355
- const orderWithId = {
356
- ...order,
357
- id: depositOrderId,
358
- orderType: 'DEPOSIT',
359
- };
360
- if (paymentDetails && paymentDetails.length > 0) {
361
- return { ...orderWithId, paymentDetails };
362
- }
363
- if (__classPrivateFieldGet(this, _TransakService_accessToken, "f")?.accessToken) {
364
- try {
365
- const transakOrder = await __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_transakGet).call(this, `/api/v2/orders/${transakOrderId}`);
366
- return { ...orderWithId, paymentDetails: transakOrder.paymentDetails };
367
- }
368
- catch {
369
- return orderWithId;
370
- }
371
- }
372
- return orderWithId;
373
- }
374
- async getUserLimits(fiatCurrency, paymentMethod, kycType) {
375
- __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_ensureAccessToken).call(this);
376
- const translation = await this.getTranslation({
377
- paymentMethod: normalizePaymentMethodForTranslation(paymentMethod),
378
- });
379
- const params = {
380
- isBuyOrSell: 'BUY',
381
- kycType,
382
- fiatCurrency,
383
- };
384
- if (translation.paymentMethod) {
385
- params.paymentCategory = translation.paymentMethod;
386
- }
387
- return __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_transakGet).call(this, '/api/v2/orders/user-limit', params);
388
- }
389
- /**
390
- * @deprecated Use {@link createWidgetUrl} instead. The OTT flow requires the
391
- * partner API key on the client and Transak is deprecating `request-ott`.
392
- * @returns The one-time token response.
393
- */
394
- async requestOtt() {
395
- __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_ensureAccessToken).call(this);
396
- const result = await __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_transakPost).call(this, '/api/v2/auth/request-ott');
397
- return result;
398
- }
399
- /**
400
- * @deprecated Use {@link createWidgetUrl} instead. This builds the widget
401
- * URL client-side and embeds the partner API key in it.
402
- * @param ottToken - The one-time token for widget authentication.
403
- * @param quote - The buy quote to pre-fill in the widget.
404
- * @param walletAddress - The destination wallet address.
405
- * @param extraParams - Optional additional URL parameters.
406
- * @returns The fully constructed widget URL string.
407
- */
408
- generatePaymentWidgetUrl(ottToken, quote, walletAddress, extraParams) {
409
- const apiKey = __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_ensureApiKey).call(this);
410
- const widgetBaseUrl = getPaymentWidgetBaseUrl(__classPrivateFieldGet(this, _TransakService_environment, "f"));
411
- const defaultParams = {
412
- apiKey,
413
- ott: ottToken,
414
- fiatCurrency: quote.fiatCurrency,
415
- cryptoCurrencyCode: quote.cryptoCurrency,
416
- productsAvailed: 'BUY',
417
- fiatAmount: quote.fiatAmount.toString(),
418
- network: quote.network,
419
- hideExchangeScreen: 'true',
420
- walletAddress,
421
- disableWalletAddressForm: 'true',
422
- paymentMethod: quote.paymentMethod,
423
- redirectURL: 'https://on-ramp-content.api.cx.metamask.io/regions/fake-callback',
424
- hideMenu: 'true',
425
- };
426
- const params = new URLSearchParams({
427
- ...defaultParams,
428
- ...extraParams,
429
- });
430
- const widgetUrl = new URL(widgetBaseUrl);
431
- widgetUrl.search = params.toString();
432
- return widgetUrl.toString();
433
- }
434
- /**
435
- * Creates a Transak payment widget URL through the ramps API proxy
436
- * (`POST {rampsBaseUrl}/providers/{providerId}/widget-url`). The proxy
437
- * injects the partner API key and derives the user IP server-side, so
438
- * neither leaves the backend. Replaces the OTT flow ({@link requestOtt} +
439
- * {@link generatePaymentWidgetUrl}).
440
- *
441
- * Requires both a Transak access token (user must be logged in to Transak)
442
- * and a MetaMask bearer token from `AuthenticationController`.
443
- *
444
- * @param quote - The buy quote to pre-fill in the widget.
445
- * @param walletAddress - The destination wallet address.
446
- * @param extraParams - Optional additional widget parameters (e.g. theming).
447
- * Keys must be on the proxy's allowlist or the request is rejected.
448
- * @returns The single-use widget URL (expires after 5 minutes).
449
- */
450
- async createWidgetUrl(quote, walletAddress, extraParams) {
451
- __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_ensureAccessToken).call(this);
452
- const bearerToken = await __classPrivateFieldGet(this, _TransakService_messenger, "f").call('AuthenticationController:getBearerToken');
453
- const baseUrl = __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_getRampsApiBaseUrl).call(this);
454
- const providerPath = getRampsProviderPath(__classPrivateFieldGet(this, _TransakService_environment, "f"));
455
- const url = new URL(`${providerPath}/widget-url`, baseUrl);
456
- __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_addRampsCommonParams).call(this, url);
457
- const widgetParams = {
458
- referrerDomain: __classPrivateFieldGet(this, _TransakService_referrerDomain, "f"),
459
- fiatCurrency: quote.fiatCurrency,
460
- cryptoCurrencyCode: quote.cryptoCurrency,
461
- fiatAmount: quote.fiatAmount,
462
- network: quote.network,
463
- paymentMethod: quote.paymentMethod,
464
- walletAddress,
465
- hideExchangeScreen: 'true',
466
- disableWalletAddressEdit: 'true',
467
- hideMenu: 'true',
468
- redirectURL: 'https://on-ramp-content.api.cx.metamask.io/regions/fake-callback',
469
- ...extraParams,
470
- };
471
- const headers = {
472
- 'Content-Type': 'application/json',
473
- Accept: 'application/json',
474
- Authorization: `Bearer ${bearerToken}`,
475
- };
476
- if (__classPrivateFieldGet(this, _TransakService_accessToken, "f")?.accessToken) {
477
- headers['x-transak-access-token'] = __classPrivateFieldGet(this, _TransakService_accessToken, "f").accessToken;
478
- }
479
- const response = await __classPrivateFieldGet(this, _TransakService_policy, "f").execute(async () => {
480
- const fetchResponse = await __classPrivateFieldGet(this, _TransakService_fetch, "f").call(this, url.toString(), {
481
- method: 'POST',
482
- headers,
483
- body: JSON.stringify({ widgetParams }),
484
- });
485
- if (!fetchResponse.ok) {
486
- await __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_throwTransakApiError).call(this, fetchResponse, url);
487
- }
488
- return fetchResponse.json();
489
- });
490
- return response.widgetUrl;
491
- }
492
- async submitPurposeOfUsageForm(purpose) {
493
- __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_ensureAccessToken).call(this);
494
- await __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_transakPost).call(this, '/api/v2/kyc/purpose-of-usage', {
495
- purposeList: purpose,
496
- });
497
- }
498
- async patchUser(data) {
499
- __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_ensureAccessToken).call(this);
500
- return __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_transakPatch).call(this, '/api/v2/kyc/user', data);
501
- }
502
- async submitSsnDetails(ssn, quoteId) {
503
- __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_ensureAccessToken).call(this);
504
- return __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_transakPost).call(this, '/api/v2/kyc/ssn', { ssn, quoteId });
505
- }
506
- async confirmPayment(orderId, paymentMethodId) {
507
- __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_ensureAccessToken).call(this);
508
- const normalizedPaymentMethod = normalizePaymentMethodForTranslation(paymentMethodId);
509
- const translation = await this.getTranslation({
510
- paymentMethod: normalizedPaymentMethod,
511
- });
512
- const transakOrderId = TransakOrderIdTransformer.extractTransakOrderId(orderId);
513
- return __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_transakPost).call(this, '/api/v2/orders/payment-confirmation', {
514
- orderId: transakOrderId,
515
- paymentMethod: translation.paymentMethod ?? normalizedPaymentMethod,
516
- });
517
- }
518
- async getTranslation(translationRequest) {
519
- const baseUrl = getRampsBaseUrl(__classPrivateFieldGet(this, _TransakService_environment, "f"));
520
- const providerPath = getRampsProviderPath(__classPrivateFieldGet(this, _TransakService_environment, "f"));
521
- const url = new URL(`${providerPath}/native/translate`, baseUrl);
522
- url.searchParams.set('action', 'deposit');
523
- url.searchParams.set('context', __classPrivateFieldGet(this, _TransakService_context, "f"));
524
- const normalizedRequest = {
525
- ...translationRequest,
526
- paymentMethod: normalizePaymentMethodForTranslation(translationRequest.paymentMethod),
527
- };
528
- for (const [key, value] of Object.entries(normalizedRequest)) {
529
- if (value !== undefined) {
530
- url.searchParams.set(key, value);
531
- }
532
- }
533
- const response = await __classPrivateFieldGet(this, _TransakService_policy, "f").execute(async () => {
534
- const fetchResponse = await __classPrivateFieldGet(this, _TransakService_fetch, "f").call(this, url.toString(), {
535
- method: 'GET',
536
- headers: { Accept: 'application/json' },
537
- });
538
- if (!fetchResponse.ok) {
539
- throw new controller_utils_1.HttpError(fetchResponse.status, `Fetching '${url.toString()}' failed with status '${fetchResponse.status}'`);
540
- }
541
- return fetchResponse.json();
542
- });
543
- return response;
544
- }
545
- async getIdProofStatus(workFlowRunId) {
546
- __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_ensureAccessToken).call(this);
547
- return __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_transakGet).call(this, '/api/v2/kyc/id-proof-status', { workFlowRunId });
548
- }
549
- async cancelOrder(depositOrderId) {
550
- __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_ensureAccessToken).call(this);
551
- const transakOrderId = TransakOrderIdTransformer.extractTransakOrderId(depositOrderId);
552
- await __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_transakDelete).call(this, `/api/v2/orders/${transakOrderId}`, {
553
- cancelReason: 'Creating new order',
554
- });
555
- }
556
- async cancelAllActiveOrders() {
557
- __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_ensureAccessToken).call(this);
558
- const activeOrders = await this.getActiveOrders();
559
- const errors = [];
560
- await Promise.all(activeOrders.map(async (order) => {
561
- try {
562
- const depositOrderId = TransakOrderIdTransformer.transakOrderIdToDepositOrderId(order.orderId, __classPrivateFieldGet(this, _TransakService_environment, "f"));
563
- await this.cancelOrder(depositOrderId);
564
- }
565
- catch (error) {
566
- errors.push(error instanceof Error ? error : new Error(String(error)));
567
- }
568
- }));
569
- return errors;
570
- }
571
- async getActiveOrders() {
572
- __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_ensureAccessToken).call(this);
573
- return __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_transakGet).call(this, '/api/v2/active-orders');
574
- }
575
- }
576
- exports.TransakService = TransakService;
577
- _TransakService_messenger = new WeakMap(), _TransakService_fetch = new WeakMap(), _TransakService_policy = new WeakMap(), _TransakService_noRetryPolicy = new WeakMap(), _TransakService_environment = new WeakMap(), _TransakService_context = new WeakMap(), _TransakService_orderRetryDelayMs = new WeakMap(), _TransakService_apiKey = new WeakMap(), _TransakService_accessToken = new WeakMap(), _TransakService_rampsApiBaseUrlOverride = new WeakMap(), _TransakService_referrerDomain = new WeakMap(), _TransakService_clientIdentity = new WeakMap(), _TransakService_instances = new WeakSet(), _TransakService_ensureApiKey = function _TransakService_ensureApiKey() {
578
- if (!__classPrivateFieldGet(this, _TransakService_apiKey, "f")) {
579
- throw new Error('Transak API key is required but not set.');
580
- }
581
- return __classPrivateFieldGet(this, _TransakService_apiKey, "f");
582
- }, _TransakService_ensureAccessToken = function _TransakService_ensureAccessToken() {
583
- if (!__classPrivateFieldGet(this, _TransakService_accessToken, "f")?.accessToken) {
584
- throw new controller_utils_1.HttpError(401, 'Authentication required. Please log in to continue.');
585
- }
586
- const createdTime = new Date(__classPrivateFieldGet(this, _TransakService_accessToken, "f").created).getTime();
587
- const tokenAgeMs = Date.now() - createdTime;
588
- if (tokenAgeMs > __classPrivateFieldGet(this, _TransakService_accessToken, "f").ttl * 1000) {
589
- this.clearAccessToken();
590
- throw new controller_utils_1.HttpError(401, 'Authentication token has expired. Please log in again.');
591
- }
592
- }, _TransakService_getHeaders = function _TransakService_getHeaders() {
593
- const headers = {
594
- 'Content-Type': 'application/json',
595
- Accept: 'application/json',
596
- };
597
- if (__classPrivateFieldGet(this, _TransakService_accessToken, "f")?.accessToken) {
598
- headers.authorization = __classPrivateFieldGet(this, _TransakService_accessToken, "f").accessToken;
599
- }
600
- return headers;
601
- }, _TransakService_throwTransakApiError = async function _TransakService_throwTransakApiError(fetchResponse, url) {
602
- let errorBody = '';
603
- let errorCode;
604
- let apiMessage;
605
- try {
606
- errorBody = await fetchResponse.text();
607
- const parsed = JSON.parse(errorBody);
608
- errorCode =
609
- parsed?.error?.code ??
610
- (parsed?.error?.errorCode !== null &&
611
- parsed?.error?.errorCode !== undefined
612
- ? String(parsed.error.errorCode)
613
- : undefined);
614
- apiMessage =
615
- typeof parsed?.error?.message === 'string'
616
- ? parsed.error.message
617
- : undefined;
618
- }
619
- catch {
620
- // ignore body read/parse failures
621
- }
622
- throw new TransakApiError(fetchResponse.status, `Fetching '${url.toString()}' failed with status '${fetchResponse.status}'${errorBody ? `: ${errorBody}` : ''}`, errorCode, apiMessage);
623
- }, _TransakService_transakGet = async function _TransakService_transakGet(path, params) {
624
- const baseUrl = getTransakApiBaseUrl(__classPrivateFieldGet(this, _TransakService_environment, "f"));
625
- const url = new URL(path, baseUrl);
626
- if (params) {
627
- for (const [key, value] of Object.entries(params)) {
628
- if (value !== null && value !== undefined) {
629
- url.searchParams.set(key, value);
630
- }
631
- }
632
- }
633
- const apiKey = __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_ensureApiKey).call(this);
634
- url.searchParams.set('apiKey', apiKey);
635
- const response = await __classPrivateFieldGet(this, _TransakService_policy, "f").execute(async () => {
636
- const fetchResponse = await __classPrivateFieldGet(this, _TransakService_fetch, "f").call(this, url.toString(), {
637
- method: 'GET',
638
- headers: __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_getHeaders).call(this),
639
- });
640
- if (!fetchResponse.ok) {
641
- await __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_throwTransakApiError).call(this, fetchResponse, url);
642
- }
643
- return fetchResponse.json();
644
- });
645
- return response.data;
646
- }, _TransakService_transakPost = async function _TransakService_transakPost(path, body, options = {}) {
647
- const apiKey = __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_ensureApiKey).call(this);
648
- const baseUrl = getTransakApiBaseUrl(__classPrivateFieldGet(this, _TransakService_environment, "f"));
649
- const url = new URL(path, baseUrl);
650
- const requestBody = {
651
- ...(body ?? {}),
652
- apiKey,
653
- };
654
- const policy = options.policy ?? __classPrivateFieldGet(this, _TransakService_policy, "f");
655
- const response = await policy.execute(async () => {
656
- const fetchResponse = await __classPrivateFieldGet(this, _TransakService_fetch, "f").call(this, url.toString(), {
657
- method: 'POST',
658
- headers: __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_getHeaders).call(this),
659
- body: JSON.stringify(requestBody),
660
- });
661
- if (!fetchResponse.ok) {
662
- await __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_throwTransakApiError).call(this, fetchResponse, url);
663
- }
664
- return fetchResponse.json();
665
- });
666
- return response.data;
667
- }, _TransakService_transakPatch = async function _TransakService_transakPatch(path, body) {
668
- const apiKey = __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_ensureApiKey).call(this);
669
- const baseUrl = getTransakApiBaseUrl(__classPrivateFieldGet(this, _TransakService_environment, "f"));
670
- const url = new URL(path, baseUrl);
671
- url.searchParams.set('apiKey', apiKey);
672
- const response = await __classPrivateFieldGet(this, _TransakService_policy, "f").execute(async () => {
673
- const fetchResponse = await __classPrivateFieldGet(this, _TransakService_fetch, "f").call(this, url.toString(), {
674
- method: 'PATCH',
675
- headers: __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_getHeaders).call(this),
676
- body: JSON.stringify(body),
677
- });
678
- if (!fetchResponse.ok) {
679
- await __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_throwTransakApiError).call(this, fetchResponse, url);
680
- }
681
- return fetchResponse.json();
682
- });
683
- return response.data;
684
- }, _TransakService_transakDelete = async function _TransakService_transakDelete(path, params) {
685
- const apiKey = __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_ensureApiKey).call(this);
686
- const baseUrl = getTransakApiBaseUrl(__classPrivateFieldGet(this, _TransakService_environment, "f"));
687
- const url = new URL(path, baseUrl);
688
- url.searchParams.set('apiKey', apiKey);
689
- if (params) {
690
- for (const [key, value] of Object.entries(params)) {
691
- if (value !== null && value !== undefined) {
692
- url.searchParams.set(key, value);
693
- }
694
- }
695
- }
696
- await __classPrivateFieldGet(this, _TransakService_policy, "f").execute(async () => {
697
- const fetchResponse = await __classPrivateFieldGet(this, _TransakService_fetch, "f").call(this, url.toString(), {
698
- method: 'DELETE',
699
- headers: __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_getHeaders).call(this),
700
- });
701
- if (!fetchResponse.ok) {
702
- await __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_throwTransakApiError).call(this, fetchResponse, url);
703
- }
704
- });
705
- }, _TransakService_getRampsApiBaseUrl = function _TransakService_getRampsApiBaseUrl() {
706
- return __classPrivateFieldGet(this, _TransakService_rampsApiBaseUrlOverride, "f") ?? getRampsBaseUrl(__classPrivateFieldGet(this, _TransakService_environment, "f"));
707
- }, _TransakService_addRampsCommonParams = function _TransakService_addRampsCommonParams(url) {
708
- url.searchParams.set('action', 'deposit');
709
- url.searchParams.set('sdk', RampsService_js_1.RAMPS_SDK_VERSION);
710
- url.searchParams.set('controller', package_json_1.default.version);
711
- url.searchParams.set('context', __classPrivateFieldGet(this, _TransakService_context, "f"));
712
- // In the query string (not headers) so CDN-cached responses vary per
713
- // client product / version.
714
- (0, client_identity_js_1.addRampsClientIdentityParams)(url, __classPrivateFieldGet(this, _TransakService_clientIdentity, "f"));
715
- }, _TransakService_ordersApiGet = async function _TransakService_ordersApiGet(path, params) {
716
- const baseUrl = __classPrivateFieldGet(this, _TransakService_instances, "m", _TransakService_getRampsApiBaseUrl).call(this);
717
- const providerPath = getRampsProviderPath(__classPrivateFieldGet(this, _TransakService_environment, "f"));
718
- const url = new URL(`${providerPath}${path}`, baseUrl);
719
- url.searchParams.set('action', 'deposit');
720
- url.searchParams.set('context', __classPrivateFieldGet(this, _TransakService_context, "f"));
721
- // In the query string (not headers) so CDN-cached responses vary per
722
- // client product / version.
723
- (0, client_identity_js_1.addRampsClientIdentityParams)(url, __classPrivateFieldGet(this, _TransakService_clientIdentity, "f"));
724
- if (params) {
725
- for (const [key, value] of Object.entries(params)) {
726
- if (value !== null && value !== undefined) {
727
- url.searchParams.set(key, value);
728
- }
729
- }
730
- }
731
- const response = await __classPrivateFieldGet(this, _TransakService_policy, "f").execute(async () => {
732
- const fetchResponse = await __classPrivateFieldGet(this, _TransakService_fetch, "f").call(this, url.toString(), {
733
- method: 'GET',
734
- headers: { Accept: 'application/json' },
735
- });
736
- if (!fetchResponse.ok) {
737
- throw new controller_utils_1.HttpError(fetchResponse.status, `Fetching '${url.toString()}' failed with status '${fetchResponse.status}'`);
738
- }
739
- return fetchResponse.json();
740
- });
741
- return response;
742
- };
743
- //# sourceMappingURL=TransakService.cjs.map