@metamask/ramps-controller 20.0.0 → 20.2.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 (72) hide show
  1. package/CHANGELOG.md +36 -1
  2. package/dist/RampsController-method-action-types.cjs.map +1 -1
  3. package/dist/RampsController-method-action-types.d.cts +44 -1
  4. package/dist/RampsController-method-action-types.d.cts.map +1 -1
  5. package/dist/RampsController-method-action-types.d.mts +44 -1
  6. package/dist/RampsController-method-action-types.d.mts.map +1 -1
  7. package/dist/RampsController-method-action-types.mjs.map +1 -1
  8. package/dist/RampsController.cjs +225 -18
  9. package/dist/RampsController.cjs.map +1 -1
  10. package/dist/RampsController.d.cts +76 -7
  11. package/dist/RampsController.d.cts.map +1 -1
  12. package/dist/RampsController.d.mts +76 -7
  13. package/dist/RampsController.d.mts.map +1 -1
  14. package/dist/RampsController.mjs +224 -17
  15. package/dist/RampsController.mjs.map +1 -1
  16. package/dist/RampsService.cjs +18 -4
  17. package/dist/RampsService.cjs.map +1 -1
  18. package/dist/RampsService.d.cts +20 -4
  19. package/dist/RampsService.d.cts.map +1 -1
  20. package/dist/RampsService.d.mts +20 -4
  21. package/dist/RampsService.d.mts.map +1 -1
  22. package/dist/RampsService.mjs +18 -4
  23. package/dist/RampsService.mjs.map +1 -1
  24. package/dist/TransakService.cjs +15 -3
  25. package/dist/TransakService.cjs.map +1 -1
  26. package/dist/TransakService.d.cts +3 -1
  27. package/dist/TransakService.d.cts.map +1 -1
  28. package/dist/TransakService.d.mts +3 -1
  29. package/dist/TransakService.d.mts.map +1 -1
  30. package/dist/TransakService.mjs +15 -3
  31. package/dist/TransakService.mjs.map +1 -1
  32. package/dist/client-identity.cjs +28 -0
  33. package/dist/client-identity.cjs.map +1 -0
  34. package/dist/client-identity.d.cts +24 -0
  35. package/dist/client-identity.d.cts.map +1 -0
  36. package/dist/client-identity.d.mts +24 -0
  37. package/dist/client-identity.d.mts.map +1 -0
  38. package/dist/client-identity.mjs +24 -0
  39. package/dist/client-identity.mjs.map +1 -0
  40. package/dist/index.cjs +9 -1
  41. package/dist/index.cjs.map +1 -1
  42. package/dist/index.d.cts +7 -4
  43. package/dist/index.d.cts.map +1 -1
  44. package/dist/index.d.mts +7 -4
  45. package/dist/index.d.mts.map +1 -1
  46. package/dist/index.mjs +3 -1
  47. package/dist/index.mjs.map +1 -1
  48. package/dist/orderStatus.cjs +34 -0
  49. package/dist/orderStatus.cjs.map +1 -0
  50. package/dist/orderStatus.d.cts +18 -0
  51. package/dist/orderStatus.d.cts.map +1 -0
  52. package/dist/orderStatus.d.mts +18 -0
  53. package/dist/orderStatus.d.mts.map +1 -0
  54. package/dist/orderStatus.mjs +30 -0
  55. package/dist/orderStatus.mjs.map +1 -0
  56. package/dist/paymentMethodMerge.cjs +51 -0
  57. package/dist/paymentMethodMerge.cjs.map +1 -0
  58. package/dist/paymentMethodMerge.d.cts +26 -0
  59. package/dist/paymentMethodMerge.d.cts.map +1 -0
  60. package/dist/paymentMethodMerge.d.mts +26 -0
  61. package/dist/paymentMethodMerge.d.mts.map +1 -0
  62. package/dist/paymentMethodMerge.mjs +46 -0
  63. package/dist/paymentMethodMerge.mjs.map +1 -0
  64. package/dist/providerAvailability.cjs +39 -8
  65. package/dist/providerAvailability.cjs.map +1 -1
  66. package/dist/providerAvailability.d.cts +30 -5
  67. package/dist/providerAvailability.d.cts.map +1 -1
  68. package/dist/providerAvailability.d.mts +30 -5
  69. package/dist/providerAvailability.d.mts.map +1 -1
  70. package/dist/providerAvailability.mjs +37 -7
  71. package/dist/providerAvailability.mjs.map +1 -1
  72. package/package.json +2 -2
@@ -10,12 +10,14 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
10
10
  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");
11
11
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
12
12
  };
13
- var _RampsController_instances, _RampsController_requestCacheTTL, _RampsController_requestCacheMaxSize, _RampsController_pendingRequests, _RampsController_pendingResourceCount, _RampsController_pendingResourceGeneration, _RampsController_orderPollingMeta, _RampsController_orderPollingTimer, _RampsController_isPolling, _RampsController_initPromise, _RampsController_clearPendingResourceCountForDependentResources, _RampsController_abortDependentRequests, _RampsController_resolveAllProvidersFlag, _RampsController_mutateRequests, _RampsController_removeRequestState, _RampsController_cleanupState, _RampsController_requireRegion, _RampsController_isRegionCurrent, _RampsController_isTokenCurrent, _RampsController_isProviderCurrent, _RampsController_updateResourceField, _RampsController_setResourceLoading, _RampsController_setResourceError, _RampsController_updateRequestState, _RampsController_runInit, _RampsController_syncUserRegionFromCountriesCatalog, _RampsController_pickWidenedQuote, _RampsController_getSupportingProvidersForRegion, _RampsController_filterProviderIdsBySupport, _RampsController_resolveProviderIdsForQuote, _RampsController_getPreferredProviderIdsFromOrders, _RampsController_refreshOrder, _RampsController_pollPendingOrders, _RampsController_syncTransakAuthOnError, _RampsController_getNormalizedTransakError;
13
+ var _RampsController_instances, _RampsController_requestCacheTTL, _RampsController_requestCacheMaxSize, _RampsController_pendingRequests, _RampsController_pendingResourceCount, _RampsController_pendingResourceGeneration, _RampsController_orderPollingMeta, _RampsController_orderPollingTimer, _RampsController_isPolling, _RampsController_initPromise, _RampsController_clearPendingResourceCountForDependentResources, _RampsController_abortDependentRequests, _RampsController_resolveAllProvidersFlag, _RampsController_mutateRequests, _RampsController_removeRequestState, _RampsController_cleanupState, _RampsController_requireRegion, _RampsController_isRegionCurrent, _RampsController_isTokenCurrent, _RampsController_isProviderCurrent, _RampsController_updateResourceField, _RampsController_setResourceLoading, _RampsController_setResourceError, _RampsController_updateRequestState, _RampsController_runInit, _RampsController_syncUserRegionFromCountriesCatalog, _RampsController_pickWidenedQuote, _RampsController_getSupportingProvidersForRegion, _RampsController_filterProviderIdsBySupport, _RampsController_resolveProviderIdsForQuote, _RampsController_resolveProviderIdsForPaymentMethods, _RampsController_getPreferredProviderIdsFromOrders, _RampsController_refreshOrder, _RampsController_pollPendingOrders, _RampsController_syncTransakAuthOnError, _RampsController_getNormalizedTransakError;
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.RampsController = exports.getInternalOrderCode = exports.getDefaultRampsControllerState = exports.RAMPS_CONTROLLER_REQUIRED_SERVICE_ACTIONS = exports.controllerName = void 0;
16
16
  const base_controller_1 = require("@metamask/base-controller");
17
17
  const controller_utils_1 = require("@metamask/controller-utils");
18
18
  const featureFlags_js_1 = require("./featureFlags.cjs");
19
+ const orderStatus_js_1 = require("./orderStatus.cjs");
20
+ const paymentMethodMerge_js_1 = require("./paymentMethodMerge.cjs");
19
21
  const providerAvailability_js_1 = require("./providerAvailability.cjs");
20
22
  const rampsErrorCodes_js_1 = require("./rampsErrorCodes.cjs");
21
23
  const RampsService_js_1 = require("./RampsService.cjs");
@@ -355,18 +357,6 @@ function getInternalOrderCode(orderOrId) {
355
357
  }
356
358
  exports.getInternalOrderCode = getInternalOrderCode;
357
359
  // === ORDER POLLING CONSTANTS ===
358
- const TERMINAL_ORDER_STATUSES = new Set([
359
- RampsService_js_1.RampsOrderStatus.Completed,
360
- RampsService_js_1.RampsOrderStatus.Failed,
361
- RampsService_js_1.RampsOrderStatus.Cancelled,
362
- RampsService_js_1.RampsOrderStatus.IdExpired,
363
- ]);
364
- const PENDING_ORDER_STATUSES = new Set([
365
- RampsService_js_1.RampsOrderStatus.Pending,
366
- RampsService_js_1.RampsOrderStatus.Created,
367
- RampsService_js_1.RampsOrderStatus.Unknown,
368
- RampsService_js_1.RampsOrderStatus.Precreated,
369
- ]);
370
360
  const DEFAULT_POLLING_INTERVAL_MS = 30000;
371
361
  const MAX_ERROR_COUNT = 5;
372
362
  // === CONTROLLER DEFINITION ===
@@ -383,6 +373,7 @@ const MESSENGER_EXPOSED_METHODS = [
383
373
  'setSelectedToken',
384
374
  'getProviders',
385
375
  'getPaymentMethods',
376
+ 'getPaymentMethodsForContext',
386
377
  'setSelectedPaymentMethod',
387
378
  'getQuotes',
388
379
  'addOrder',
@@ -422,8 +413,25 @@ const MESSENGER_EXPOSED_METHODS = [
422
413
  'transakGetActiveOrders',
423
414
  ];
424
415
  /**
425
- * Manages cryptocurrency on/off ramps functionality.
416
+ * Whether controller state still describes the context a payment-method
417
+ * request was issued for, so a completed request may write the Buy catalog.
418
+ *
419
+ * Compared at commit time rather than against a snapshot, so an older request
420
+ * that returns after the context moved on is dropped.
421
+ *
422
+ * @param state - Controller state at commit time.
423
+ * @param context - The context the request was issued for.
424
+ * @param context.region - Normalized region code.
425
+ * @param context.assetId - Canonicalized CAIP-19 asset id.
426
+ * @param context.providerId - Trimmed provider id, or an empty string.
427
+ * @returns Whether the write may proceed.
426
428
  */
429
+ function contextStillMatches(state, context) {
430
+ return (state.userRegion?.regionCode?.trim().toLowerCase() === context.region &&
431
+ (0, providerAvailability_js_1.normalizeRampsAssetId)(state.tokens.selected?.assetId ?? '') ===
432
+ context.assetId &&
433
+ (state.providers.selected?.id.trim() ?? '') === context.providerId);
434
+ }
427
435
  class RampsController extends base_controller_1.BaseController {
428
436
  /**
429
437
  * Clears the pending resource count map. Used only in tests to exercise the
@@ -896,7 +904,7 @@ class RampsController extends base_controller_1.BaseController {
896
904
  options?.crypto,
897
905
  options?.payments,
898
906
  ]);
899
- const { providers } = await this.executeRequest(cacheKey, async () => {
907
+ const response = await this.executeRequest(cacheKey, async () => {
900
908
  return this.messenger.call('RampsService:getProviders', normalizedRegion, {
901
909
  provider: options?.provider,
902
910
  crypto: options?.crypto,
@@ -907,13 +915,14 @@ class RampsController extends base_controller_1.BaseController {
907
915
  resourceType: 'providers',
908
916
  isResultCurrent: () => __classPrivateFieldGet(this, _RampsController_instances, "m", _RampsController_isRegionCurrent).call(this, normalizedRegion),
909
917
  });
918
+ const { providers } = response;
910
919
  this.update((state) => {
911
920
  const userRegionCode = state.userRegion?.regionCode;
912
921
  if (userRegionCode === undefined || userRegionCode === normalizedRegion) {
913
922
  state.providers.data = providers;
914
923
  }
915
924
  });
916
- return { providers };
925
+ return response;
917
926
  }
918
927
  /**
919
928
  * Fetches the list of payment methods for a given context.
@@ -970,6 +979,146 @@ class RampsController extends base_controller_1.BaseController {
970
979
  });
971
980
  return response;
972
981
  }
982
+ /**
983
+ * Fetches payment methods for a quoting context without coupling callers to
984
+ * the Buy flow's globally selected provider/token catalog.
985
+ *
986
+ * Provider contribution mirrors {@link getQuotes}:
987
+ * - explicit `providers` (optionally filtered when
988
+ * `restrictToKnownOrNativeProviders` is set)
989
+ * - auto-select / restrict path, including `moneyHeadlessAllProviders`
990
+ * widening: flag off uses the restricted/native resolver; flag on uses
991
+ * supporting providers, intersected with the flag allowlist when that
992
+ * allowlist is non-empty (pick-survivor set for picker methods)
993
+ * - when those resolution flags and `providers` are omitted, uses only
994
+ * `providers.selected` (UB2 selected-provider context)
995
+ *
996
+ * By default this is request-only: it does **not** mutate
997
+ * `paymentMethods.data` or `paymentMethods.selected`. Pass `updateState:
998
+ * true` only when the caller explicitly wants Buy-catalog write semantics
999
+ * (UB2). Headless / MM Pay selection stays TPC-owned. `updateState: true`
1000
+ * throws when the resolved provider set holds more than one provider, because
1001
+ * the write guards cannot tell two such requests apart.
1002
+ *
1003
+ * Methods are request-eligible for the resolved provider set; they are not
1004
+ * guaranteed to produce a quote for every amount (provider fiat limits still
1005
+ * apply at quote time).
1006
+ *
1007
+ * @param options - Context for the payment-method fetch.
1008
+ * @param options.region - Region code. Defaults to `userRegion`.
1009
+ * @param options.assetId - Required CAIP-19 quoting asset.
1010
+ * @param options.providers - Explicit provider ids.
1011
+ * @param options.autoSelectProvider - Resolve providers like `getQuotes`.
1012
+ * @param options.preferredProviderIds - Preferred ids for auto-selection.
1013
+ * @param options.restrictToKnownOrNativeProviders - Headless gating.
1014
+ * @param options.updateState - When true, write `paymentMethods` state.
1015
+ * @param options.preferPaymentMethodId - Preserve this id when still present.
1016
+ * @param options.forceRefresh - Bypass request cache for provider fetches.
1017
+ * @param options.ttl - Custom TTL for provider payment-method fetches.
1018
+ * @returns Deduped methods, a request-only suggested selection, and the
1019
+ * provider ids that contributed.
1020
+ */
1021
+ async getPaymentMethodsForContext(options) {
1022
+ const regionToUse = options.region ?? __classPrivateFieldGet(this, _RampsController_instances, "m", _RampsController_requireRegion).call(this);
1023
+ const normalizedRegion = regionToUse.toLowerCase().trim();
1024
+ const assetId = options.assetId.trim();
1025
+ if (assetId === '') {
1026
+ throw new Error('assetId is required.');
1027
+ }
1028
+ const normalizedAssetContext = (0, providerAvailability_js_1.normalizeRampsAssetId)(assetId);
1029
+ const updateState = options.updateState === true;
1030
+ const providerIdForState = options.providers?.length === 1
1031
+ ? options.providers[0].trim()
1032
+ : (this.state.providers.selected?.id.trim() ?? '');
1033
+ const providerIds = await __classPrivateFieldGet(this, _RampsController_instances, "m", _RampsController_resolveProviderIdsForPaymentMethods).call(this, {
1034
+ assetId,
1035
+ region: normalizedRegion,
1036
+ providers: options.providers,
1037
+ autoSelectProvider: options.autoSelectProvider,
1038
+ preferredProviderIds: options.preferredProviderIds,
1039
+ restrictToKnownOrNativeProviders: options.restrictToKnownOrNativeProviders,
1040
+ });
1041
+ // A fan-out across several providers produces a merged catalog whose value
1042
+ // depends on the provider set, but the write guards below only compare
1043
+ // region, selected token, and selected provider. Two concurrent
1044
+ // multi-provider requests share all three, so nothing distinguishes them
1045
+ // and the slower one would silently overwrite the faster one.
1046
+ if (updateState && providerIds.length > 1) {
1047
+ throw new Error(`getPaymentMethodsForContext cannot write paymentMethods state for ${providerIds.length} resolved providers. Use updateState: false, or request exactly one provider.`);
1048
+ }
1049
+ const writeContext = {
1050
+ region: normalizedRegion,
1051
+ assetId: normalizedAssetContext,
1052
+ providerId: providerIdForState,
1053
+ };
1054
+ if (providerIds.length === 0) {
1055
+ if (updateState) {
1056
+ this.update((state) => {
1057
+ if (contextStillMatches(state, writeContext)) {
1058
+ state.paymentMethods.data = [];
1059
+ state.paymentMethods.selected = null;
1060
+ }
1061
+ });
1062
+ }
1063
+ return { methods: [], selected: null, providerIds };
1064
+ }
1065
+ const settled = await Promise.allSettled(providerIds.map(async (providerId) => {
1066
+ const cacheKey = (0, RequestCache_js_1.createCacheKey)('getPaymentMethodsForContext', [
1067
+ normalizedRegion,
1068
+ assetId,
1069
+ providerId,
1070
+ ]);
1071
+ return this.executeRequest(cacheKey, async () => {
1072
+ return this.messenger.call('RampsService:getPaymentMethods', {
1073
+ region: normalizedRegion,
1074
+ assetId,
1075
+ provider: providerId,
1076
+ });
1077
+ }, {
1078
+ forceRefresh: options.forceRefresh,
1079
+ ttl: options.ttl,
1080
+ // Intentionally omit resourceType / isResultCurrent so this
1081
+ // request-only path never drives Buy paymentMethods loading or
1082
+ // selection state unless `updateState` is explicitly set below.
1083
+ });
1084
+ }));
1085
+ const successfulLists = [];
1086
+ const failures = [];
1087
+ for (const result of settled) {
1088
+ if (result.status === 'fulfilled') {
1089
+ successfulLists.push(result.value.payments);
1090
+ }
1091
+ else {
1092
+ failures.push(result.reason);
1093
+ }
1094
+ }
1095
+ if (successfulLists.length === 0) {
1096
+ const firstFailure = failures[0];
1097
+ throw firstFailure instanceof Error
1098
+ ? firstFailure
1099
+ : new Error('Failed to fetch payment methods for context.');
1100
+ }
1101
+ const methods = (0, paymentMethodMerge_js_1.mergePaymentMethodsById)(successfulLists);
1102
+ let selected = (0, paymentMethodMerge_js_1.pickPaymentMethod)(methods, [
1103
+ options.preferPaymentMethodId,
1104
+ this.state.paymentMethods.selected?.id,
1105
+ ]);
1106
+ if (updateState) {
1107
+ this.update((state) => {
1108
+ if (contextStillMatches(state, writeContext)) {
1109
+ // The stored selection outranks the caller's preference: the user may
1110
+ // have picked a method while this request was in flight.
1111
+ selected = (0, paymentMethodMerge_js_1.pickPaymentMethod)(methods, [
1112
+ state.paymentMethods.selected?.id,
1113
+ options.preferPaymentMethodId,
1114
+ ]);
1115
+ state.paymentMethods.data = methods;
1116
+ state.paymentMethods.selected = selected;
1117
+ }
1118
+ });
1119
+ }
1120
+ return { methods, selected, providerIds };
1121
+ }
973
1122
  /**
974
1123
  * Sets the user's selected payment method.
975
1124
  *
@@ -2123,6 +2272,64 @@ async function _RampsController_resolveProviderIdsForQuote({ assetId, region, pr
2123
2272
  return [];
2124
2273
  }
2125
2274
  return [supporting[0].id];
2275
+ }, _RampsController_resolveProviderIdsForPaymentMethods =
2276
+ /**
2277
+ * Resolves provider IDs that should contribute payment methods for a
2278
+ * quoting context. Mirrors {@link getQuotes} provider-set selection, with
2279
+ * one intentional difference on the widened path: when the all-providers
2280
+ * flag allowlist is non-empty, returns supporting providers intersected
2281
+ * with that allowlist (pick survivors for the picker). Does not mutate
2282
+ * state.
2283
+ *
2284
+ * @param options - Resolution inputs aligned with `getQuotes`.
2285
+ * @param options.assetId - CAIP-19 asset type identifier to resolve for.
2286
+ * @param options.region - Region to resolve providers for.
2287
+ * @param options.providers - Explicit provider IDs, when provided.
2288
+ * @param options.autoSelectProvider - Resolve providers like `getQuotes`.
2289
+ * @param options.preferredProviderIds - Preferred provider IDs in order.
2290
+ * @param options.restrictToKnownOrNativeProviders - Headless gating.
2291
+ * @returns Provider IDs for this request only.
2292
+ */
2293
+ async function _RampsController_resolveProviderIdsForPaymentMethods({ assetId, region, providers, autoSelectProvider, preferredProviderIds, restrictToKnownOrNativeProviders, }) {
2294
+ const wantsAutoSelection = !providers &&
2295
+ (autoSelectProvider === true ||
2296
+ restrictToKnownOrNativeProviders === true);
2297
+ const { enabled: allProvidersEnabled, allowlist: providerAllowlist } = wantsAutoSelection
2298
+ ? __classPrivateFieldGet(this, _RampsController_instances, "m", _RampsController_resolveAllProvidersFlag).call(this)
2299
+ : { enabled: false, allowlist: undefined };
2300
+ const widenToAllProviders = wantsAutoSelection && allProvidersEnabled;
2301
+ if (providers) {
2302
+ return restrictToKnownOrNativeProviders
2303
+ ? __classPrivateFieldGet(this, _RampsController_instances, "m", _RampsController_filterProviderIdsBySupport).call(this, {
2304
+ providerIds: providers,
2305
+ assetId,
2306
+ region,
2307
+ })
2308
+ : providers;
2309
+ }
2310
+ if (widenToAllProviders) {
2311
+ const { supporting } = await __classPrivateFieldGet(this, _RampsController_instances, "m", _RampsController_getSupportingProvidersForRegion).call(this, {
2312
+ assetId,
2313
+ region,
2314
+ });
2315
+ if (providerAllowlist && providerAllowlist.length > 0) {
2316
+ const allowedProviderIds = new Set(providerAllowlist.map(featureFlags_js_1.normalizeHeadlessProviderId));
2317
+ return supporting
2318
+ .filter((provider) => allowedProviderIds.has((0, featureFlags_js_1.normalizeHeadlessProviderId)(provider.id)))
2319
+ .map((provider) => provider.id);
2320
+ }
2321
+ return supporting.map((provider) => provider.id);
2322
+ }
2323
+ if (autoSelectProvider || restrictToKnownOrNativeProviders) {
2324
+ return __classPrivateFieldGet(this, _RampsController_instances, "m", _RampsController_resolveProviderIdsForQuote).call(this, {
2325
+ assetId,
2326
+ region,
2327
+ preferredProviderIds,
2328
+ restrictToKnownOrNative: restrictToKnownOrNativeProviders,
2329
+ });
2330
+ }
2331
+ const selectedId = this.state.providers.selected?.id;
2332
+ return selectedId ? [selectedId] : [];
2126
2333
  }, _RampsController_getPreferredProviderIdsFromOrders = function _RampsController_getPreferredProviderIdsFromOrders() {
2127
2334
  const orderedIds = [];
2128
2335
  const completedOrders = this.state.orders
@@ -2169,7 +2376,7 @@ async function _RampsController_refreshOrder(order) {
2169
2376
  previousStatus,
2170
2377
  });
2171
2378
  }
2172
- if (TERMINAL_ORDER_STATUSES.has(updatedOrder.status)) {
2379
+ if (orderStatus_js_1.TERMINAL_ORDER_STATUSES.has(updatedOrder.status)) {
2173
2380
  __classPrivateFieldGet(this, _RampsController_orderPollingMeta, "f").delete(order.providerOrderId);
2174
2381
  }
2175
2382
  }
@@ -2188,7 +2395,7 @@ async function _RampsController_refreshOrder(order) {
2188
2395
  }
2189
2396
  __classPrivateFieldSet(this, _RampsController_isPolling, true, "f");
2190
2397
  try {
2191
- const pendingOrders = this.state.orders.filter((order) => PENDING_ORDER_STATUSES.has(order.status));
2398
+ const pendingOrders = this.state.orders.filter((order) => orderStatus_js_1.PENDING_ORDER_STATUSES.has(order.status));
2192
2399
  const now = Date.now();
2193
2400
  await Promise.allSettled(pendingOrders.map(async (order) => {
2194
2401
  const meta = __classPrivateFieldGet(this, _RampsController_orderPollingMeta, "f").get(order.providerOrderId);