@metamask/ramps-controller 12.0.1 → 13.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.
- package/CHANGELOG.md +36 -1
- package/dist/RampsController-method-action-types.cjs +1 -1
- package/dist/RampsController-method-action-types.cjs.map +1 -1
- package/dist/RampsController-method-action-types.d.cts +18 -10
- package/dist/RampsController-method-action-types.d.cts.map +1 -1
- package/dist/RampsController-method-action-types.d.mts +18 -10
- package/dist/RampsController-method-action-types.d.mts.map +1 -1
- package/dist/RampsController-method-action-types.mjs +1 -1
- package/dist/RampsController-method-action-types.mjs.map +1 -1
- package/dist/RampsController.cjs +103 -95
- package/dist/RampsController.cjs.map +1 -1
- package/dist/RampsController.d.cts +28 -11
- package/dist/RampsController.d.cts.map +1 -1
- package/dist/RampsController.d.mts +28 -11
- package/dist/RampsController.d.mts.map +1 -1
- package/dist/RampsController.mjs +103 -95
- package/dist/RampsController.mjs.map +1 -1
- package/dist/RampsService-method-action-types.cjs +1 -1
- package/dist/RampsService-method-action-types.cjs.map +1 -1
- package/dist/RampsService-method-action-types.d.cts +5 -3
- package/dist/RampsService-method-action-types.d.cts.map +1 -1
- package/dist/RampsService-method-action-types.d.mts +5 -3
- package/dist/RampsService-method-action-types.d.mts.map +1 -1
- package/dist/RampsService-method-action-types.mjs +1 -1
- package/dist/RampsService-method-action-types.mjs.map +1 -1
- package/dist/RampsService.cjs +11 -5
- package/dist/RampsService.cjs.map +1 -1
- package/dist/RampsService.d.cts +4 -2
- package/dist/RampsService.d.cts.map +1 -1
- package/dist/RampsService.d.mts +4 -2
- package/dist/RampsService.d.mts.map +1 -1
- package/dist/RampsService.mjs +11 -5
- package/dist/RampsService.mjs.map +1 -1
- package/dist/TransakService-method-action-types.cjs +1 -1
- package/dist/TransakService-method-action-types.cjs.map +1 -1
- package/dist/TransakService-method-action-types.d.cts +1 -1
- package/dist/TransakService-method-action-types.d.mts +1 -1
- package/dist/TransakService-method-action-types.mjs +1 -1
- package/dist/TransakService-method-action-types.mjs.map +1 -1
- package/package.json +5 -5
|
@@ -124,6 +124,13 @@ export type RampsControllerState = {
|
|
|
124
124
|
* and persists them.
|
|
125
125
|
*/
|
|
126
126
|
orders: RampsOrder[];
|
|
127
|
+
/**
|
|
128
|
+
* Whether the currently selected provider was auto-selected by the system
|
|
129
|
+
* (no order history, no Transak) rather than chosen by the user or derived
|
|
130
|
+
* from order history. When true, the UI should silently switch providers on
|
|
131
|
+
* token conflict instead of showing the "Token Not Available" modal.
|
|
132
|
+
*/
|
|
133
|
+
providerAutoSelected: boolean;
|
|
127
134
|
};
|
|
128
135
|
/**
|
|
129
136
|
* Constructs the default {@link RampsController} state. This allows
|
|
@@ -260,14 +267,21 @@ export declare class RampsController extends BaseController<typeof controllerNam
|
|
|
260
267
|
*/
|
|
261
268
|
setUserRegion(region: string, options?: ExecuteRequestOptions): Promise<UserRegion>;
|
|
262
269
|
/**
|
|
263
|
-
* Sets the user's selected provider
|
|
264
|
-
*
|
|
265
|
-
*
|
|
270
|
+
* Sets the user's selected provider.
|
|
271
|
+
*
|
|
272
|
+
* Accepts either a Provider object (stored directly) or a provider ID
|
|
273
|
+
* string (looked up from state). The object form is preferred when the
|
|
274
|
+
* caller already has the full data (e.g. from React Query cache).
|
|
266
275
|
*
|
|
267
|
-
* @param
|
|
268
|
-
* @
|
|
276
|
+
* @param providerOrId - A Provider object, a provider ID string (e.g., "/providers/moonpay"), or null to clear.
|
|
277
|
+
* @param options - Optional settings for the selection.
|
|
278
|
+
* @param options.autoSelected - When true, marks the provider as system-guessed
|
|
279
|
+
* (soft selection). The UI will silently auto-switch on token conflict instead
|
|
280
|
+
* of showing the "Token Not Available" modal. Defaults to false.
|
|
269
281
|
*/
|
|
270
|
-
setSelectedProvider(
|
|
282
|
+
setSelectedProvider(providerOrId: string | Provider | null, options?: {
|
|
283
|
+
autoSelected?: boolean;
|
|
284
|
+
}): void;
|
|
271
285
|
/**
|
|
272
286
|
* Initializes the controller by fetching the user's region from geolocation.
|
|
273
287
|
* This should be called once at app startup to set up the initial region.
|
|
@@ -348,13 +362,16 @@ export declare class RampsController extends BaseController<typeof controllerNam
|
|
|
348
362
|
provider?: string;
|
|
349
363
|
}): Promise<PaymentMethodsResponse>;
|
|
350
364
|
/**
|
|
351
|
-
* Sets the user's selected payment method
|
|
352
|
-
*
|
|
365
|
+
* Sets the user's selected payment method.
|
|
366
|
+
*
|
|
367
|
+
* Accepts either a payment method ID (looked up from state) or a full
|
|
368
|
+
* PaymentMethod object (stored directly). The object form is preferred
|
|
369
|
+
* when the caller already has the full data (e.g. from React Query cache),
|
|
370
|
+
* as it avoids depending on controller state being populated.
|
|
353
371
|
*
|
|
354
|
-
* @param
|
|
355
|
-
* @throws If payment methods are not loaded or payment method is not found.
|
|
372
|
+
* @param paymentMethodOrId - A PaymentMethod object, a payment method ID string, or undefined/null to clear.
|
|
356
373
|
*/
|
|
357
|
-
setSelectedPaymentMethod(
|
|
374
|
+
setSelectedPaymentMethod(paymentMethodOrId?: string | PaymentMethod | null): void;
|
|
358
375
|
/**
|
|
359
376
|
* Fetches quotes from all providers for a given set of parameters.
|
|
360
377
|
* Uses the controller's request cache; callers manage the response in local state.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RampsController.d.cts","sourceRoot":"","sources":["../src/RampsController.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"RampsController.d.cts","sourceRoot":"","sources":["../src/RampsController.ts"],"names":[],"mappings":"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"}
|
|
@@ -124,6 +124,13 @@ export type RampsControllerState = {
|
|
|
124
124
|
* and persists them.
|
|
125
125
|
*/
|
|
126
126
|
orders: RampsOrder[];
|
|
127
|
+
/**
|
|
128
|
+
* Whether the currently selected provider was auto-selected by the system
|
|
129
|
+
* (no order history, no Transak) rather than chosen by the user or derived
|
|
130
|
+
* from order history. When true, the UI should silently switch providers on
|
|
131
|
+
* token conflict instead of showing the "Token Not Available" modal.
|
|
132
|
+
*/
|
|
133
|
+
providerAutoSelected: boolean;
|
|
127
134
|
};
|
|
128
135
|
/**
|
|
129
136
|
* Constructs the default {@link RampsController} state. This allows
|
|
@@ -260,14 +267,21 @@ export declare class RampsController extends BaseController<typeof controllerNam
|
|
|
260
267
|
*/
|
|
261
268
|
setUserRegion(region: string, options?: ExecuteRequestOptions): Promise<UserRegion>;
|
|
262
269
|
/**
|
|
263
|
-
* Sets the user's selected provider
|
|
264
|
-
*
|
|
265
|
-
*
|
|
270
|
+
* Sets the user's selected provider.
|
|
271
|
+
*
|
|
272
|
+
* Accepts either a Provider object (stored directly) or a provider ID
|
|
273
|
+
* string (looked up from state). The object form is preferred when the
|
|
274
|
+
* caller already has the full data (e.g. from React Query cache).
|
|
266
275
|
*
|
|
267
|
-
* @param
|
|
268
|
-
* @
|
|
276
|
+
* @param providerOrId - A Provider object, a provider ID string (e.g., "/providers/moonpay"), or null to clear.
|
|
277
|
+
* @param options - Optional settings for the selection.
|
|
278
|
+
* @param options.autoSelected - When true, marks the provider as system-guessed
|
|
279
|
+
* (soft selection). The UI will silently auto-switch on token conflict instead
|
|
280
|
+
* of showing the "Token Not Available" modal. Defaults to false.
|
|
269
281
|
*/
|
|
270
|
-
setSelectedProvider(
|
|
282
|
+
setSelectedProvider(providerOrId: string | Provider | null, options?: {
|
|
283
|
+
autoSelected?: boolean;
|
|
284
|
+
}): void;
|
|
271
285
|
/**
|
|
272
286
|
* Initializes the controller by fetching the user's region from geolocation.
|
|
273
287
|
* This should be called once at app startup to set up the initial region.
|
|
@@ -348,13 +362,16 @@ export declare class RampsController extends BaseController<typeof controllerNam
|
|
|
348
362
|
provider?: string;
|
|
349
363
|
}): Promise<PaymentMethodsResponse>;
|
|
350
364
|
/**
|
|
351
|
-
* Sets the user's selected payment method
|
|
352
|
-
*
|
|
365
|
+
* Sets the user's selected payment method.
|
|
366
|
+
*
|
|
367
|
+
* Accepts either a payment method ID (looked up from state) or a full
|
|
368
|
+
* PaymentMethod object (stored directly). The object form is preferred
|
|
369
|
+
* when the caller already has the full data (e.g. from React Query cache),
|
|
370
|
+
* as it avoids depending on controller state being populated.
|
|
353
371
|
*
|
|
354
|
-
* @param
|
|
355
|
-
* @throws If payment methods are not loaded or payment method is not found.
|
|
372
|
+
* @param paymentMethodOrId - A PaymentMethod object, a payment method ID string, or undefined/null to clear.
|
|
356
373
|
*/
|
|
357
|
-
setSelectedPaymentMethod(
|
|
374
|
+
setSelectedPaymentMethod(paymentMethodOrId?: string | PaymentMethod | null): void;
|
|
358
375
|
/**
|
|
359
376
|
* Fetches quotes from all providers for a given set of parameters.
|
|
360
377
|
* Uses the controller's request cache; callers manage the response in local state.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RampsController.d.mts","sourceRoot":"","sources":["../src/RampsController.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"RampsController.d.mts","sourceRoot":"","sources":["../src/RampsController.ts"],"names":[],"mappings":"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"}
|
package/dist/RampsController.mjs
CHANGED
|
@@ -9,7 +9,7 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
|
|
|
9
9
|
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");
|
|
10
10
|
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
11
11
|
};
|
|
12
|
-
var _RampsController_instances, _RampsController_requestCacheTTL, _RampsController_requestCacheMaxSize, _RampsController_pendingRequests, _RampsController_pendingResourceCount, _RampsController_orderPollingMeta, _RampsController_orderPollingTimer, _RampsController_isPolling, _RampsController_initPromise, _RampsController_clearPendingResourceCountForDependentResources, _RampsController_abortDependentRequests, _RampsController_mutateRequests, _RampsController_removeRequestState, _RampsController_cleanupState,
|
|
12
|
+
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_mutateRequests, _RampsController_removeRequestState, _RampsController_cleanupState, _RampsController_requireRegion, _RampsController_isRegionCurrent, _RampsController_isTokenCurrent, _RampsController_isProviderCurrent, _RampsController_updateResourceField, _RampsController_setResourceLoading, _RampsController_setResourceError, _RampsController_updateRequestState, _RampsController_runInit, _RampsController_refreshOrder, _RampsController_pollPendingOrders, _RampsController_syncTransakAuthOnError;
|
|
13
13
|
import { BaseController } from "@metamask/base-controller";
|
|
14
14
|
import { RampsOrderStatus } from "./RampsService.mjs";
|
|
15
15
|
import { DEFAULT_REQUEST_CACHE_TTL, DEFAULT_REQUEST_CACHE_MAX_SIZE, createCacheKey, isCacheExpired, createLoadingState, createSuccessState, createErrorState, RequestStatus } from "./RequestCache.mjs";
|
|
@@ -82,13 +82,13 @@ const rampsControllerMetadata = {
|
|
|
82
82
|
usedInUi: true,
|
|
83
83
|
},
|
|
84
84
|
providers: {
|
|
85
|
-
persist:
|
|
85
|
+
persist: false,
|
|
86
86
|
includeInDebugSnapshot: true,
|
|
87
87
|
includeInStateLogs: true,
|
|
88
88
|
usedInUi: true,
|
|
89
89
|
},
|
|
90
90
|
tokens: {
|
|
91
|
-
persist:
|
|
91
|
+
persist: false,
|
|
92
92
|
includeInDebugSnapshot: true,
|
|
93
93
|
includeInStateLogs: true,
|
|
94
94
|
usedInUi: true,
|
|
@@ -117,6 +117,12 @@ const rampsControllerMetadata = {
|
|
|
117
117
|
includeInStateLogs: true,
|
|
118
118
|
usedInUi: true,
|
|
119
119
|
},
|
|
120
|
+
providerAutoSelected: {
|
|
121
|
+
persist: true,
|
|
122
|
+
includeInDebugSnapshot: true,
|
|
123
|
+
includeInStateLogs: true,
|
|
124
|
+
usedInUi: true,
|
|
125
|
+
},
|
|
120
126
|
};
|
|
121
127
|
/**
|
|
122
128
|
* Creates a default resource state object.
|
|
@@ -160,6 +166,7 @@ export function getDefaultRampsControllerState() {
|
|
|
160
166
|
},
|
|
161
167
|
},
|
|
162
168
|
orders: [],
|
|
169
|
+
providerAutoSelected: false,
|
|
163
170
|
};
|
|
164
171
|
}
|
|
165
172
|
const DEPENDENT_RESOURCE_KEYS = [
|
|
@@ -169,12 +176,11 @@ const DEPENDENT_RESOURCE_KEYS = [
|
|
|
169
176
|
];
|
|
170
177
|
const DEPENDENT_RESOURCE_KEYS_SET = new Set(DEPENDENT_RESOURCE_KEYS);
|
|
171
178
|
function resetResource(state, resourceType, defaultResource) {
|
|
172
|
-
const def = defaultResource ?? getDefaultRampsControllerState()[resourceType];
|
|
173
179
|
const resource = state[resourceType];
|
|
174
|
-
resource.data =
|
|
175
|
-
resource.selected =
|
|
176
|
-
resource.isLoading =
|
|
177
|
-
resource.error =
|
|
180
|
+
resource.data = defaultResource.data;
|
|
181
|
+
resource.selected = defaultResource.selected;
|
|
182
|
+
resource.isLoading = defaultResource.isLoading;
|
|
183
|
+
resource.error = defaultResource.error;
|
|
178
184
|
}
|
|
179
185
|
/**
|
|
180
186
|
* Resets region-dependent resources (userRegion, providers, tokens, paymentMethods).
|
|
@@ -192,6 +198,7 @@ function resetDependentResources(state, options) {
|
|
|
192
198
|
for (const key of DEPENDENT_RESOURCE_KEYS) {
|
|
193
199
|
resetResource(state, key, defaultState[key]);
|
|
194
200
|
}
|
|
201
|
+
state.providerAutoSelected = false;
|
|
195
202
|
}
|
|
196
203
|
// === HELPER FUNCTIONS ===
|
|
197
204
|
/**
|
|
@@ -368,6 +375,11 @@ export class RampsController extends BaseController {
|
|
|
368
375
|
* Used so isLoading is only cleared when the last request for that resource finishes.
|
|
369
376
|
*/
|
|
370
377
|
_RampsController_pendingResourceCount.set(this, new Map());
|
|
378
|
+
/**
|
|
379
|
+
* Monotonic generation per resource type used to invalidate stale in-flight
|
|
380
|
+
* requests after region/token/provider dependent-resource resets.
|
|
381
|
+
*/
|
|
382
|
+
_RampsController_pendingResourceGeneration.set(this, new Map());
|
|
371
383
|
_RampsController_orderPollingMeta.set(this, new Map());
|
|
372
384
|
_RampsController_orderPollingTimer.set(this, null);
|
|
373
385
|
_RampsController_isPolling.set(this, false);
|
|
@@ -423,6 +435,9 @@ export class RampsController extends BaseController {
|
|
|
423
435
|
const abortController = new AbortController();
|
|
424
436
|
const lastFetchedAt = Date.now();
|
|
425
437
|
const { resourceType } = options ?? {};
|
|
438
|
+
const resourceGeneration = resourceType
|
|
439
|
+
? (__classPrivateFieldGet(this, _RampsController_pendingResourceGeneration, "f").get(resourceType) ?? 0)
|
|
440
|
+
: undefined;
|
|
426
441
|
// Update state to loading
|
|
427
442
|
__classPrivateFieldGet(this, _RampsController_instances, "m", _RampsController_updateRequestState).call(this, cacheKey, createLoadingState());
|
|
428
443
|
// Set resource-level loading state (only on cache miss). Ref-count so concurrent
|
|
@@ -471,14 +486,17 @@ export class RampsController extends BaseController {
|
|
|
471
486
|
}
|
|
472
487
|
// Clear resource-level loading state only when no requests for this resource remain
|
|
473
488
|
if (resourceType && !abortController.signal.aborted) {
|
|
474
|
-
const
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
489
|
+
const currentGeneration = __classPrivateFieldGet(this, _RampsController_pendingResourceGeneration, "f").get(resourceType) ?? 0;
|
|
490
|
+
if (currentGeneration === resourceGeneration) {
|
|
491
|
+
const count = __classPrivateFieldGet(this, _RampsController_pendingResourceCount, "f").get(resourceType) ?? 0;
|
|
492
|
+
const next = Math.max(0, count - 1);
|
|
493
|
+
if (next === 0) {
|
|
494
|
+
__classPrivateFieldGet(this, _RampsController_pendingResourceCount, "f").delete(resourceType);
|
|
495
|
+
__classPrivateFieldGet(this, _RampsController_instances, "m", _RampsController_setResourceLoading).call(this, resourceType, false);
|
|
496
|
+
}
|
|
497
|
+
else {
|
|
498
|
+
__classPrivateFieldGet(this, _RampsController_pendingResourceCount, "f").set(resourceType, next);
|
|
499
|
+
}
|
|
482
500
|
}
|
|
483
501
|
}
|
|
484
502
|
}
|
|
@@ -536,12 +554,14 @@ export class RampsController extends BaseController {
|
|
|
536
554
|
__classPrivateFieldGet(this, _RampsController_instances, "m", _RampsController_cleanupState).call(this);
|
|
537
555
|
throw new Error(`Region "${normalizedRegion}" not found in countries data. Cannot set user region without valid country information.`);
|
|
538
556
|
}
|
|
539
|
-
const regionChanged =
|
|
540
|
-
|
|
541
|
-
!this.state.tokens.data ||
|
|
542
|
-
this.state.providers.data.length === 0;
|
|
557
|
+
const regionChanged = Boolean(options?.forceRefresh) ||
|
|
558
|
+
normalizedRegion !== this.state.userRegion?.regionCode;
|
|
543
559
|
if (regionChanged) {
|
|
544
|
-
|
|
560
|
+
// Note: we intentionally do NOT abort in-flight requests here.
|
|
561
|
+
// Aborting causes data loss during rapid region switching (e.g.
|
|
562
|
+
// user taps France → Finland → France quickly). Instead we let
|
|
563
|
+
// old requests complete naturally; isResultCurrent guards in
|
|
564
|
+
// getProviders/getPaymentMethods discard stale results.
|
|
545
565
|
__classPrivateFieldGet(this, _RampsController_instances, "m", _RampsController_clearPendingResourceCountForDependentResources).call(this);
|
|
546
566
|
}
|
|
547
567
|
this.update((state) => {
|
|
@@ -550,18 +570,6 @@ export class RampsController extends BaseController {
|
|
|
550
570
|
}
|
|
551
571
|
state.userRegion = userRegion;
|
|
552
572
|
});
|
|
553
|
-
if (needsRefetch) {
|
|
554
|
-
const refetchPromises = [];
|
|
555
|
-
if (regionChanged || !this.state.tokens.data) {
|
|
556
|
-
refetchPromises.push(this.getTokens(userRegion.regionCode, 'buy', options));
|
|
557
|
-
}
|
|
558
|
-
if (regionChanged || this.state.providers.data.length === 0) {
|
|
559
|
-
refetchPromises.push(this.getProviders(userRegion.regionCode, options));
|
|
560
|
-
}
|
|
561
|
-
if (refetchPromises.length > 0) {
|
|
562
|
-
__classPrivateFieldGet(this, _RampsController_instances, "m", _RampsController_fireAndForget).call(this, Promise.all(refetchPromises));
|
|
563
|
-
}
|
|
564
|
-
}
|
|
565
573
|
return userRegion;
|
|
566
574
|
}
|
|
567
575
|
catch (error) {
|
|
@@ -570,44 +578,44 @@ export class RampsController extends BaseController {
|
|
|
570
578
|
}
|
|
571
579
|
}
|
|
572
580
|
/**
|
|
573
|
-
* Sets the user's selected provider
|
|
574
|
-
*
|
|
575
|
-
*
|
|
581
|
+
* Sets the user's selected provider.
|
|
582
|
+
*
|
|
583
|
+
* Accepts either a Provider object (stored directly) or a provider ID
|
|
584
|
+
* string (looked up from state). The object form is preferred when the
|
|
585
|
+
* caller already has the full data (e.g. from React Query cache).
|
|
576
586
|
*
|
|
577
|
-
* @param
|
|
578
|
-
* @
|
|
587
|
+
* @param providerOrId - A Provider object, a provider ID string (e.g., "/providers/moonpay"), or null to clear.
|
|
588
|
+
* @param options - Optional settings for the selection.
|
|
589
|
+
* @param options.autoSelected - When true, marks the provider as system-guessed
|
|
590
|
+
* (soft selection). The UI will silently auto-switch on token conflict instead
|
|
591
|
+
* of showing the "Token Not Available" modal. Defaults to false.
|
|
579
592
|
*/
|
|
580
|
-
setSelectedProvider(
|
|
581
|
-
if (
|
|
593
|
+
setSelectedProvider(providerOrId, options) {
|
|
594
|
+
if (providerOrId === null) {
|
|
582
595
|
this.update((state) => {
|
|
583
596
|
state.providers.selected = null;
|
|
584
|
-
|
|
597
|
+
state.providerAutoSelected = false;
|
|
585
598
|
});
|
|
586
599
|
return;
|
|
587
600
|
}
|
|
588
|
-
|
|
601
|
+
__classPrivateFieldGet(this, _RampsController_instances, "m", _RampsController_requireRegion).call(this);
|
|
602
|
+
// If a full Provider object is passed, store it directly (avoids
|
|
603
|
+
// depending on state.providers.data being populated).
|
|
604
|
+
if (typeof providerOrId !== 'string') {
|
|
605
|
+
this.update((state) => {
|
|
606
|
+
state.providers.selected = providerOrId;
|
|
607
|
+
state.providerAutoSelected = options?.autoSelected ?? false;
|
|
608
|
+
});
|
|
609
|
+
return;
|
|
610
|
+
}
|
|
611
|
+
// ID string: look up from state
|
|
589
612
|
const providers = this.state.providers.data;
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
}
|
|
597
|
-
const selectedToken = this.state.tokens.selected;
|
|
598
|
-
const supportedCryptos = provider.supportedCryptoCurrencies;
|
|
599
|
-
// Only fetch payment methods if the selected token is supported by the new
|
|
600
|
-
// provider. If it isn't, the payment methods request would fail or return
|
|
601
|
-
// empty for the wrong reason; the UI will show the Token Not Available modal
|
|
602
|
-
// so the user can change token or pick a different provider.
|
|
603
|
-
const assetId = selectedToken?.assetId;
|
|
604
|
-
const tokenSupportedByProvider = !(assetId && supportedCryptos?.[assetId] === false);
|
|
605
|
-
this.update((state) => {
|
|
606
|
-
state.providers.selected = provider;
|
|
607
|
-
resetResource(state, 'paymentMethods');
|
|
608
|
-
});
|
|
609
|
-
if (tokenSupportedByProvider) {
|
|
610
|
-
__classPrivateFieldGet(this, _RampsController_instances, "m", _RampsController_fireAndForget).call(this, this.getPaymentMethods(regionCode, { provider: provider.id }));
|
|
613
|
+
const provider = providers?.find((prov) => prov.id === providerOrId);
|
|
614
|
+
if (provider) {
|
|
615
|
+
this.update((state) => {
|
|
616
|
+
state.providers.selected = provider;
|
|
617
|
+
state.providerAutoSelected = options?.autoSelected ?? false;
|
|
618
|
+
});
|
|
611
619
|
}
|
|
612
620
|
}
|
|
613
621
|
/**
|
|
@@ -702,11 +710,10 @@ export class RampsController extends BaseController {
|
|
|
702
710
|
if (!assetId) {
|
|
703
711
|
this.update((state) => {
|
|
704
712
|
state.tokens.selected = null;
|
|
705
|
-
resetResource(state, 'paymentMethods');
|
|
706
713
|
});
|
|
707
714
|
return;
|
|
708
715
|
}
|
|
709
|
-
|
|
716
|
+
__classPrivateFieldGet(this, _RampsController_instances, "m", _RampsController_requireRegion).call(this);
|
|
710
717
|
const tokens = this.state.tokens.data;
|
|
711
718
|
if (!tokens) {
|
|
712
719
|
throw new Error('Tokens not loaded. Cannot set selected token before tokens are fetched.');
|
|
@@ -718,9 +725,7 @@ export class RampsController extends BaseController {
|
|
|
718
725
|
}
|
|
719
726
|
this.update((state) => {
|
|
720
727
|
state.tokens.selected = token;
|
|
721
|
-
resetResource(state, 'paymentMethods');
|
|
722
728
|
});
|
|
723
|
-
__classPrivateFieldGet(this, _RampsController_instances, "m", _RampsController_fireAndForget).call(this, this.getPaymentMethods(regionCode, { assetId: token.assetId }));
|
|
724
729
|
}
|
|
725
730
|
/**
|
|
726
731
|
* Fetches the list of providers for a given region.
|
|
@@ -828,29 +833,35 @@ export class RampsController extends BaseController {
|
|
|
828
833
|
return response;
|
|
829
834
|
}
|
|
830
835
|
/**
|
|
831
|
-
* Sets the user's selected payment method
|
|
832
|
-
*
|
|
836
|
+
* Sets the user's selected payment method.
|
|
837
|
+
*
|
|
838
|
+
* Accepts either a payment method ID (looked up from state) or a full
|
|
839
|
+
* PaymentMethod object (stored directly). The object form is preferred
|
|
840
|
+
* when the caller already has the full data (e.g. from React Query cache),
|
|
841
|
+
* as it avoids depending on controller state being populated.
|
|
833
842
|
*
|
|
834
|
-
* @param
|
|
835
|
-
* @throws If payment methods are not loaded or payment method is not found.
|
|
843
|
+
* @param paymentMethodOrId - A PaymentMethod object, a payment method ID string, or undefined/null to clear.
|
|
836
844
|
*/
|
|
837
|
-
setSelectedPaymentMethod(
|
|
838
|
-
if (!
|
|
845
|
+
setSelectedPaymentMethod(paymentMethodOrId) {
|
|
846
|
+
if (!paymentMethodOrId) {
|
|
839
847
|
this.update((state) => {
|
|
840
848
|
state.paymentMethods.selected = null;
|
|
841
849
|
});
|
|
842
850
|
return;
|
|
843
851
|
}
|
|
844
|
-
|
|
845
|
-
if (
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
throw new Error(`Payment method with ID "${paymentMethodId}" not found in available payment methods.`);
|
|
852
|
+
// If a full object is passed, store it directly
|
|
853
|
+
if (typeof paymentMethodOrId !== 'string') {
|
|
854
|
+
this.update((state) => {
|
|
855
|
+
state.paymentMethods.selected = paymentMethodOrId;
|
|
856
|
+
});
|
|
857
|
+
return;
|
|
851
858
|
}
|
|
859
|
+
// ID string: look up from state
|
|
860
|
+
const paymentMethodId = paymentMethodOrId;
|
|
861
|
+
const paymentMethods = this.state.paymentMethods.data;
|
|
862
|
+
const paymentMethod = paymentMethods?.find((pm) => pm.id === paymentMethodId);
|
|
852
863
|
this.update((state) => {
|
|
853
|
-
state.paymentMethods.selected = paymentMethod;
|
|
864
|
+
state.paymentMethods.selected = paymentMethod ?? null;
|
|
854
865
|
});
|
|
855
866
|
}
|
|
856
867
|
/**
|
|
@@ -1109,7 +1120,8 @@ export class RampsController extends BaseController {
|
|
|
1109
1120
|
* @returns The unified order data.
|
|
1110
1121
|
*/
|
|
1111
1122
|
async getOrderFromCallback(providerCode, callbackUrl, wallet) {
|
|
1112
|
-
|
|
1123
|
+
const order = await this.messenger.call('RampsService:getOrderFromCallback', providerCode, callbackUrl, wallet);
|
|
1124
|
+
return order;
|
|
1113
1125
|
}
|
|
1114
1126
|
/**
|
|
1115
1127
|
* Sets the Transak API key used for all Transak API requests.
|
|
@@ -1506,9 +1518,11 @@ export class RampsController extends BaseController {
|
|
|
1506
1518
|
}
|
|
1507
1519
|
}
|
|
1508
1520
|
}
|
|
1509
|
-
_RampsController_requestCacheTTL = new WeakMap(), _RampsController_requestCacheMaxSize = new WeakMap(), _RampsController_pendingRequests = new WeakMap(), _RampsController_pendingResourceCount = new WeakMap(), _RampsController_orderPollingMeta = new WeakMap(), _RampsController_orderPollingTimer = new WeakMap(), _RampsController_isPolling = new WeakMap(), _RampsController_initPromise = new WeakMap(), _RampsController_instances = new WeakSet(), _RampsController_clearPendingResourceCountForDependentResources = function _RampsController_clearPendingResourceCountForDependentResources() {
|
|
1521
|
+
_RampsController_requestCacheTTL = new WeakMap(), _RampsController_requestCacheMaxSize = new WeakMap(), _RampsController_pendingRequests = new WeakMap(), _RampsController_pendingResourceCount = new WeakMap(), _RampsController_pendingResourceGeneration = new WeakMap(), _RampsController_orderPollingMeta = new WeakMap(), _RampsController_orderPollingTimer = new WeakMap(), _RampsController_isPolling = new WeakMap(), _RampsController_initPromise = new WeakMap(), _RampsController_instances = new WeakSet(), _RampsController_clearPendingResourceCountForDependentResources = function _RampsController_clearPendingResourceCountForDependentResources() {
|
|
1510
1522
|
for (const resourceType of DEPENDENT_RESOURCE_KEYS) {
|
|
1511
1523
|
__classPrivateFieldGet(this, _RampsController_pendingResourceCount, "f").delete(resourceType);
|
|
1524
|
+
const generation = __classPrivateFieldGet(this, _RampsController_pendingResourceGeneration, "f").get(resourceType) ?? 0;
|
|
1525
|
+
__classPrivateFieldGet(this, _RampsController_pendingResourceGeneration, "f").set(resourceType, generation + 1);
|
|
1512
1526
|
}
|
|
1513
1527
|
}, _RampsController_abortDependentRequests = function _RampsController_abortDependentRequests() {
|
|
1514
1528
|
for (const [cacheKey, pending] of __classPrivateFieldGet(this, _RampsController_pendingRequests, "f").entries()) {
|
|
@@ -1532,8 +1546,6 @@ _RampsController_requestCacheTTL = new WeakMap(), _RampsController_requestCacheM
|
|
|
1532
1546
|
__classPrivateFieldGet(this, _RampsController_instances, "m", _RampsController_abortDependentRequests).call(this);
|
|
1533
1547
|
__classPrivateFieldGet(this, _RampsController_instances, "m", _RampsController_clearPendingResourceCountForDependentResources).call(this);
|
|
1534
1548
|
this.update((state) => resetDependentResources(state, { clearUserRegionData: true }));
|
|
1535
|
-
}, _RampsController_fireAndForget = function _RampsController_fireAndForget(promise) {
|
|
1536
|
-
promise.catch((_error) => undefined);
|
|
1537
1549
|
}, _RampsController_requireRegion = function _RampsController_requireRegion() {
|
|
1538
1550
|
const regionCode = this.state.userRegion?.regionCode;
|
|
1539
1551
|
if (!regionCode) {
|
|
@@ -1595,14 +1607,11 @@ _RampsController_requestCacheTTL = new WeakMap(), _RampsController_requestCacheM
|
|
|
1595
1607
|
if (forceRefresh || !hasCountries) {
|
|
1596
1608
|
await this.getCountries(options);
|
|
1597
1609
|
}
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
|
|
1602
|
-
|
|
1603
|
-
regionCode = this.state.userRegion?.regionCode;
|
|
1604
|
-
regionCode ?? (regionCode = await this.messenger.call('RampsService:getGeolocation'));
|
|
1605
|
-
}
|
|
1610
|
+
// Always prefer the user's persisted region. Geolocation is only used to
|
|
1611
|
+
// seed the initial value; once the user (or a prior init) has set a region
|
|
1612
|
+
// we must respect that choice — even on forceRefresh.
|
|
1613
|
+
let regionCode = this.state.userRegion?.regionCode;
|
|
1614
|
+
regionCode ?? (regionCode = await this.messenger.call('RampsService:getGeolocation'));
|
|
1606
1615
|
if (!regionCode) {
|
|
1607
1616
|
throw new Error('Failed to fetch geolocation. Cannot initialize controller without valid region information.');
|
|
1608
1617
|
}
|
|
@@ -1619,10 +1628,9 @@ async function _RampsController_refreshOrder(order) {
|
|
|
1619
1628
|
if (!providerCode || !order.providerOrderId || !order.walletAddress) {
|
|
1620
1629
|
return;
|
|
1621
1630
|
}
|
|
1622
|
-
const providerCodeSegment = normalizeProviderCode(providerCode);
|
|
1623
1631
|
const previousStatus = order.status;
|
|
1624
1632
|
try {
|
|
1625
|
-
const updatedOrder = await this.getOrder(
|
|
1633
|
+
const updatedOrder = await this.getOrder(providerCode, order.providerOrderId, order.walletAddress);
|
|
1626
1634
|
const meta = __classPrivateFieldGet(this, _RampsController_orderPollingMeta, "f").get(order.providerOrderId) ?? {
|
|
1627
1635
|
lastTimeFetched: 0,
|
|
1628
1636
|
errorCount: 0,
|