@metamask/ramps-controller 10.2.0 → 12.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 +19 -1
- package/dist/RampsController.cjs +110 -28
- package/dist/RampsController.cjs.map +1 -1
- package/dist/RampsController.d.cts +29 -11
- package/dist/RampsController.d.cts.map +1 -1
- package/dist/RampsController.d.mts +29 -11
- package/dist/RampsController.d.mts.map +1 -1
- package/dist/RampsController.mjs +108 -27
- package/dist/RampsController.mjs.map +1 -1
- package/dist/index.cjs +2 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ControllerGetStateAction, ControllerStateChangeEvent } from "@metamask/base-controller";
|
|
2
2
|
import { BaseController } from "@metamask/base-controller";
|
|
3
3
|
import type { Messenger } from "@metamask/messenger";
|
|
4
|
-
import type { Country, TokensResponse, Provider, State, RampAction, PaymentMethod, PaymentMethodsResponse, QuotesResponse, Quote, RampsToken, RampsServiceActions, RampsOrder } from "./RampsService.cjs";
|
|
4
|
+
import type { BuyWidget, Country, TokensResponse, Provider, State, RampAction, PaymentMethod, PaymentMethodsResponse, QuotesResponse, Quote, RampsToken, RampsServiceActions, RampsOrder } from "./RampsService.cjs";
|
|
5
5
|
import { RampsOrderStatus } from "./RampsService.cjs";
|
|
6
6
|
import type { RampsServiceGetGeolocationAction, RampsServiceGetCountriesAction, RampsServiceGetTokensAction, RampsServiceGetProvidersAction, RampsServiceGetPaymentMethodsAction, RampsServiceGetQuotesAction, RampsServiceGetBuyWidgetUrlAction, RampsServiceGetOrderAction, RampsServiceGetOrderFromCallbackAction } from "./RampsService-method-action-types.cjs";
|
|
7
7
|
import type { RequestCache as RequestCacheType, RequestState, ExecuteRequestOptions } from "./RequestCache.cjs";
|
|
@@ -119,9 +119,8 @@ export type RampsControllerState = {
|
|
|
119
119
|
*/
|
|
120
120
|
nativeProviders: NativeProvidersState;
|
|
121
121
|
/**
|
|
122
|
-
* V2 orders stored directly as RampsOrder[].
|
|
123
122
|
* The controller is the authority for V2 orders — it polls, updates,
|
|
124
|
-
* and persists them.
|
|
123
|
+
* and persists them.
|
|
125
124
|
*/
|
|
126
125
|
orders: RampsOrder[];
|
|
127
126
|
};
|
|
@@ -208,6 +207,7 @@ export type RampsControllerOptions = {
|
|
|
208
207
|
/** Maximum number of entries in the request cache. Defaults to 250. */
|
|
209
208
|
requestCacheMaxSize?: number;
|
|
210
209
|
};
|
|
210
|
+
export declare function normalizeProviderCode(providerCode: string): string;
|
|
211
211
|
/**
|
|
212
212
|
* Manages cryptocurrency on/off ramps functionality.
|
|
213
213
|
*/
|
|
@@ -292,14 +292,14 @@ export declare class RampsController extends BaseController<typeof controllerNam
|
|
|
292
292
|
* Initializes the controller by fetching the user's region from geolocation.
|
|
293
293
|
* This should be called once at app startup to set up the initial region.
|
|
294
294
|
*
|
|
295
|
-
*
|
|
296
|
-
*
|
|
295
|
+
* Idempotent: subsequent calls return the same promise unless forceRefresh is set.
|
|
296
|
+
* Skips getCountries when countries are already loaded; skips geolocation when
|
|
297
|
+
* userRegion already exists.
|
|
297
298
|
*
|
|
298
|
-
* @param options - Options for cache behavior.
|
|
299
|
+
* @param options - Options for cache behavior. forceRefresh bypasses idempotency and re-runs the full flow.
|
|
299
300
|
* @returns Promise that resolves when initialization is complete.
|
|
300
301
|
*/
|
|
301
302
|
init(options?: ExecuteRequestOptions): Promise<void>;
|
|
302
|
-
hydrateState(options?: ExecuteRequestOptions): void;
|
|
303
303
|
/**
|
|
304
304
|
* Fetches the list of supported countries.
|
|
305
305
|
* The API returns countries with support information for both buy and sell actions.
|
|
@@ -437,14 +437,32 @@ export declare class RampsController extends BaseController<typeof controllerNam
|
|
|
437
437
|
*/
|
|
438
438
|
destroy(): void;
|
|
439
439
|
/**
|
|
440
|
-
* Fetches the widget
|
|
440
|
+
* Fetches the widget data from a quote for redirect providers.
|
|
441
441
|
* Makes a request to the buyURL endpoint via the RampsService to get the
|
|
442
|
-
* actual provider widget URL.
|
|
442
|
+
* actual provider widget URL and optional order ID for polling.
|
|
443
443
|
*
|
|
444
444
|
* @param quote - The quote to fetch the widget URL from.
|
|
445
|
-
* @returns Promise resolving to the
|
|
445
|
+
* @returns Promise resolving to the full BuyWidget (url, browser, orderId), or null if not available (missing buyURL or empty url in response).
|
|
446
|
+
* @throws Rethrows errors from the RampsService (e.g. HttpError, network failures) so clients can react to fetch failures.
|
|
446
447
|
*/
|
|
447
|
-
|
|
448
|
+
getBuyWidgetData(quote: Quote): Promise<BuyWidget | null>;
|
|
449
|
+
/**
|
|
450
|
+
* Registers an order ID for polling until the order is created or resolved.
|
|
451
|
+
* Adds a minimal stub order to controller state; the existing order polling
|
|
452
|
+
* will fetch the full order when the provider has created it.
|
|
453
|
+
*
|
|
454
|
+
* @param params - Object containing order identifiers and wallet info.
|
|
455
|
+
* @param params.orderId - Full order ID (e.g. "/providers/paypal/orders/abc123") or order code.
|
|
456
|
+
* @param params.providerCode - Provider code (e.g. "paypal", "transak"), with or without /providers/ prefix.
|
|
457
|
+
* @param params.walletAddress - Wallet address for the order.
|
|
458
|
+
* @param params.chainId - Optional chain ID for the order.
|
|
459
|
+
*/
|
|
460
|
+
addPrecreatedOrder(params: {
|
|
461
|
+
orderId: string;
|
|
462
|
+
providerCode: string;
|
|
463
|
+
walletAddress: string;
|
|
464
|
+
chainId?: string;
|
|
465
|
+
}): void;
|
|
448
466
|
/**
|
|
449
467
|
* Fetches an order from the unified V2 API endpoint.
|
|
450
468
|
* Returns a normalized RampsOrder for all provider types (aggregator and native).
|
|
@@ -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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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ControllerGetStateAction, ControllerStateChangeEvent } from "@metamask/base-controller";
|
|
2
2
|
import { BaseController } from "@metamask/base-controller";
|
|
3
3
|
import type { Messenger } from "@metamask/messenger";
|
|
4
|
-
import type { Country, TokensResponse, Provider, State, RampAction, PaymentMethod, PaymentMethodsResponse, QuotesResponse, Quote, RampsToken, RampsServiceActions, RampsOrder } from "./RampsService.mjs";
|
|
4
|
+
import type { BuyWidget, Country, TokensResponse, Provider, State, RampAction, PaymentMethod, PaymentMethodsResponse, QuotesResponse, Quote, RampsToken, RampsServiceActions, RampsOrder } from "./RampsService.mjs";
|
|
5
5
|
import { RampsOrderStatus } from "./RampsService.mjs";
|
|
6
6
|
import type { RampsServiceGetGeolocationAction, RampsServiceGetCountriesAction, RampsServiceGetTokensAction, RampsServiceGetProvidersAction, RampsServiceGetPaymentMethodsAction, RampsServiceGetQuotesAction, RampsServiceGetBuyWidgetUrlAction, RampsServiceGetOrderAction, RampsServiceGetOrderFromCallbackAction } from "./RampsService-method-action-types.mjs";
|
|
7
7
|
import type { RequestCache as RequestCacheType, RequestState, ExecuteRequestOptions } from "./RequestCache.mjs";
|
|
@@ -119,9 +119,8 @@ export type RampsControllerState = {
|
|
|
119
119
|
*/
|
|
120
120
|
nativeProviders: NativeProvidersState;
|
|
121
121
|
/**
|
|
122
|
-
* V2 orders stored directly as RampsOrder[].
|
|
123
122
|
* The controller is the authority for V2 orders — it polls, updates,
|
|
124
|
-
* and persists them.
|
|
123
|
+
* and persists them.
|
|
125
124
|
*/
|
|
126
125
|
orders: RampsOrder[];
|
|
127
126
|
};
|
|
@@ -208,6 +207,7 @@ export type RampsControllerOptions = {
|
|
|
208
207
|
/** Maximum number of entries in the request cache. Defaults to 250. */
|
|
209
208
|
requestCacheMaxSize?: number;
|
|
210
209
|
};
|
|
210
|
+
export declare function normalizeProviderCode(providerCode: string): string;
|
|
211
211
|
/**
|
|
212
212
|
* Manages cryptocurrency on/off ramps functionality.
|
|
213
213
|
*/
|
|
@@ -292,14 +292,14 @@ export declare class RampsController extends BaseController<typeof controllerNam
|
|
|
292
292
|
* Initializes the controller by fetching the user's region from geolocation.
|
|
293
293
|
* This should be called once at app startup to set up the initial region.
|
|
294
294
|
*
|
|
295
|
-
*
|
|
296
|
-
*
|
|
295
|
+
* Idempotent: subsequent calls return the same promise unless forceRefresh is set.
|
|
296
|
+
* Skips getCountries when countries are already loaded; skips geolocation when
|
|
297
|
+
* userRegion already exists.
|
|
297
298
|
*
|
|
298
|
-
* @param options - Options for cache behavior.
|
|
299
|
+
* @param options - Options for cache behavior. forceRefresh bypasses idempotency and re-runs the full flow.
|
|
299
300
|
* @returns Promise that resolves when initialization is complete.
|
|
300
301
|
*/
|
|
301
302
|
init(options?: ExecuteRequestOptions): Promise<void>;
|
|
302
|
-
hydrateState(options?: ExecuteRequestOptions): void;
|
|
303
303
|
/**
|
|
304
304
|
* Fetches the list of supported countries.
|
|
305
305
|
* The API returns countries with support information for both buy and sell actions.
|
|
@@ -437,14 +437,32 @@ export declare class RampsController extends BaseController<typeof controllerNam
|
|
|
437
437
|
*/
|
|
438
438
|
destroy(): void;
|
|
439
439
|
/**
|
|
440
|
-
* Fetches the widget
|
|
440
|
+
* Fetches the widget data from a quote for redirect providers.
|
|
441
441
|
* Makes a request to the buyURL endpoint via the RampsService to get the
|
|
442
|
-
* actual provider widget URL.
|
|
442
|
+
* actual provider widget URL and optional order ID for polling.
|
|
443
443
|
*
|
|
444
444
|
* @param quote - The quote to fetch the widget URL from.
|
|
445
|
-
* @returns Promise resolving to the
|
|
445
|
+
* @returns Promise resolving to the full BuyWidget (url, browser, orderId), or null if not available (missing buyURL or empty url in response).
|
|
446
|
+
* @throws Rethrows errors from the RampsService (e.g. HttpError, network failures) so clients can react to fetch failures.
|
|
446
447
|
*/
|
|
447
|
-
|
|
448
|
+
getBuyWidgetData(quote: Quote): Promise<BuyWidget | null>;
|
|
449
|
+
/**
|
|
450
|
+
* Registers an order ID for polling until the order is created or resolved.
|
|
451
|
+
* Adds a minimal stub order to controller state; the existing order polling
|
|
452
|
+
* will fetch the full order when the provider has created it.
|
|
453
|
+
*
|
|
454
|
+
* @param params - Object containing order identifiers and wallet info.
|
|
455
|
+
* @param params.orderId - Full order ID (e.g. "/providers/paypal/orders/abc123") or order code.
|
|
456
|
+
* @param params.providerCode - Provider code (e.g. "paypal", "transak"), with or without /providers/ prefix.
|
|
457
|
+
* @param params.walletAddress - Wallet address for the order.
|
|
458
|
+
* @param params.chainId - Optional chain ID for the order.
|
|
459
|
+
*/
|
|
460
|
+
addPrecreatedOrder(params: {
|
|
461
|
+
orderId: string;
|
|
462
|
+
providerCode: string;
|
|
463
|
+
walletAddress: string;
|
|
464
|
+
chainId?: string;
|
|
465
|
+
}): void;
|
|
448
466
|
/**
|
|
449
467
|
* Fetches an order from the unified V2 API endpoint.
|
|
450
468
|
* Returns a normalized RampsOrder for all provider types (aggregator and native).
|
|
@@ -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_clearPendingResourceCountForDependentResources, _RampsController_abortDependentRequests, _RampsController_registerActionHandlers, _RampsController_mutateRequests, _RampsController_removeRequestState, _RampsController_cleanupState, _RampsController_fireAndForget, _RampsController_requireRegion, _RampsController_isRegionCurrent, _RampsController_isTokenCurrent, _RampsController_isProviderCurrent, _RampsController_updateResourceField, _RampsController_setResourceLoading, _RampsController_setResourceError, _RampsController_updateRequestState, _RampsController_refreshOrder, _RampsController_pollPendingOrders, _RampsController_syncTransakAuthOnError;
|
|
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_registerActionHandlers, _RampsController_mutateRequests, _RampsController_removeRequestState, _RampsController_cleanupState, _RampsController_fireAndForget, _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";
|
|
@@ -246,6 +246,9 @@ function findRegionFromCode(regionCode, countries) {
|
|
|
246
246
|
regionCode: normalizedCode,
|
|
247
247
|
};
|
|
248
248
|
}
|
|
249
|
+
export function normalizeProviderCode(providerCode) {
|
|
250
|
+
return providerCode.replace(/^\/providers\//u, '');
|
|
251
|
+
}
|
|
249
252
|
// === ORDER POLLING CONSTANTS ===
|
|
250
253
|
const TERMINAL_ORDER_STATUSES = new Set([
|
|
251
254
|
RampsOrderStatus.Completed,
|
|
@@ -319,6 +322,7 @@ export class RampsController extends BaseController {
|
|
|
319
322
|
_RampsController_orderPollingMeta.set(this, new Map());
|
|
320
323
|
_RampsController_orderPollingTimer.set(this, null);
|
|
321
324
|
_RampsController_isPolling.set(this, false);
|
|
325
|
+
_RampsController_initPromise.set(this, null);
|
|
322
326
|
__classPrivateFieldSet(this, _RampsController_requestCacheTTL, requestCacheTTL, "f");
|
|
323
327
|
__classPrivateFieldSet(this, _RampsController_requestCacheMaxSize, requestCacheMaxSize, "f");
|
|
324
328
|
__classPrivateFieldGet(this, _RampsController_instances, "m", _RampsController_registerActionHandlers).call(this);
|
|
@@ -561,25 +565,28 @@ export class RampsController extends BaseController {
|
|
|
561
565
|
* Initializes the controller by fetching the user's region from geolocation.
|
|
562
566
|
* This should be called once at app startup to set up the initial region.
|
|
563
567
|
*
|
|
564
|
-
*
|
|
565
|
-
*
|
|
568
|
+
* Idempotent: subsequent calls return the same promise unless forceRefresh is set.
|
|
569
|
+
* Skips getCountries when countries are already loaded; skips geolocation when
|
|
570
|
+
* userRegion already exists.
|
|
566
571
|
*
|
|
567
|
-
* @param options - Options for cache behavior.
|
|
572
|
+
* @param options - Options for cache behavior. forceRefresh bypasses idempotency and re-runs the full flow.
|
|
568
573
|
* @returns Promise that resolves when initialization is complete.
|
|
569
574
|
*/
|
|
570
575
|
async init(options) {
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
regionCode ?? (regionCode = await this.messenger.call('RampsService:getGeolocation'));
|
|
574
|
-
if (!regionCode) {
|
|
575
|
-
throw new Error('Failed to fetch geolocation. Cannot initialize controller without valid region information.');
|
|
576
|
+
if (!options?.forceRefresh && __classPrivateFieldGet(this, _RampsController_initPromise, "f") !== null) {
|
|
577
|
+
return __classPrivateFieldGet(this, _RampsController_initPromise, "f");
|
|
576
578
|
}
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
const
|
|
581
|
-
|
|
582
|
-
|
|
579
|
+
if (options?.forceRefresh) {
|
|
580
|
+
__classPrivateFieldSet(this, _RampsController_initPromise, null, "f");
|
|
581
|
+
}
|
|
582
|
+
const initPromise = __classPrivateFieldGet(this, _RampsController_instances, "m", _RampsController_runInit).call(this, options).then(() => undefined, (error) => {
|
|
583
|
+
if (__classPrivateFieldGet(this, _RampsController_initPromise, "f") === initPromise) {
|
|
584
|
+
__classPrivateFieldSet(this, _RampsController_initPromise, null, "f");
|
|
585
|
+
}
|
|
586
|
+
throw error;
|
|
587
|
+
});
|
|
588
|
+
__classPrivateFieldSet(this, _RampsController_initPromise, initPromise, "f");
|
|
589
|
+
return initPromise;
|
|
583
590
|
}
|
|
584
591
|
/**
|
|
585
592
|
* Fetches the list of supported countries.
|
|
@@ -941,25 +948,74 @@ export class RampsController extends BaseController {
|
|
|
941
948
|
super.destroy();
|
|
942
949
|
}
|
|
943
950
|
/**
|
|
944
|
-
* Fetches the widget
|
|
951
|
+
* Fetches the widget data from a quote for redirect providers.
|
|
945
952
|
* Makes a request to the buyURL endpoint via the RampsService to get the
|
|
946
|
-
* actual provider widget URL.
|
|
953
|
+
* actual provider widget URL and optional order ID for polling.
|
|
947
954
|
*
|
|
948
955
|
* @param quote - The quote to fetch the widget URL from.
|
|
949
|
-
* @returns Promise resolving to the
|
|
956
|
+
* @returns Promise resolving to the full BuyWidget (url, browser, orderId), or null if not available (missing buyURL or empty url in response).
|
|
957
|
+
* @throws Rethrows errors from the RampsService (e.g. HttpError, network failures) so clients can react to fetch failures.
|
|
950
958
|
*/
|
|
951
|
-
async
|
|
959
|
+
async getBuyWidgetData(quote) {
|
|
952
960
|
const buyUrl = quote.quote?.buyURL;
|
|
953
961
|
if (!buyUrl) {
|
|
954
962
|
return null;
|
|
955
963
|
}
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
return buyWidget.url ?? null;
|
|
959
|
-
}
|
|
960
|
-
catch {
|
|
964
|
+
const buyWidget = await this.messenger.call('RampsService:getBuyWidgetUrl', buyUrl);
|
|
965
|
+
if (!buyWidget?.url) {
|
|
961
966
|
return null;
|
|
962
967
|
}
|
|
968
|
+
return buyWidget;
|
|
969
|
+
}
|
|
970
|
+
/**
|
|
971
|
+
* Registers an order ID for polling until the order is created or resolved.
|
|
972
|
+
* Adds a minimal stub order to controller state; the existing order polling
|
|
973
|
+
* will fetch the full order when the provider has created it.
|
|
974
|
+
*
|
|
975
|
+
* @param params - Object containing order identifiers and wallet info.
|
|
976
|
+
* @param params.orderId - Full order ID (e.g. "/providers/paypal/orders/abc123") or order code.
|
|
977
|
+
* @param params.providerCode - Provider code (e.g. "paypal", "transak"), with or without /providers/ prefix.
|
|
978
|
+
* @param params.walletAddress - Wallet address for the order.
|
|
979
|
+
* @param params.chainId - Optional chain ID for the order.
|
|
980
|
+
*/
|
|
981
|
+
addPrecreatedOrder(params) {
|
|
982
|
+
const { orderId, providerCode, walletAddress, chainId } = params;
|
|
983
|
+
const orderCode = orderId.includes('/orders/')
|
|
984
|
+
? orderId.split('/orders/')[1]
|
|
985
|
+
: orderId;
|
|
986
|
+
if (!orderCode?.trim()) {
|
|
987
|
+
return;
|
|
988
|
+
}
|
|
989
|
+
const normalizedProviderCode = normalizeProviderCode(providerCode);
|
|
990
|
+
const stubOrder = {
|
|
991
|
+
providerOrderId: orderCode,
|
|
992
|
+
provider: {
|
|
993
|
+
id: `/providers/${normalizedProviderCode}`,
|
|
994
|
+
name: '',
|
|
995
|
+
environmentType: '',
|
|
996
|
+
description: '',
|
|
997
|
+
hqAddress: '',
|
|
998
|
+
links: [],
|
|
999
|
+
logos: { light: '', dark: '', height: 0, width: 0 },
|
|
1000
|
+
},
|
|
1001
|
+
walletAddress,
|
|
1002
|
+
status: RampsOrderStatus.Precreated,
|
|
1003
|
+
orderType: 'buy',
|
|
1004
|
+
createdAt: Date.now(),
|
|
1005
|
+
isOnlyLink: false,
|
|
1006
|
+
success: false,
|
|
1007
|
+
cryptoAmount: 0,
|
|
1008
|
+
fiatAmount: 0,
|
|
1009
|
+
providerOrderLink: '',
|
|
1010
|
+
totalFeesFiat: 0,
|
|
1011
|
+
txHash: '',
|
|
1012
|
+
network: chainId ? { chainId, name: '' } : { chainId: '', name: '' },
|
|
1013
|
+
canBeUpdated: true,
|
|
1014
|
+
idHasExpired: false,
|
|
1015
|
+
excludeFromPurchases: false,
|
|
1016
|
+
timeDescriptionPending: '',
|
|
1017
|
+
};
|
|
1018
|
+
this.addOrder(stubOrder);
|
|
963
1019
|
}
|
|
964
1020
|
/**
|
|
965
1021
|
* Fetches an order from the unified V2 API endpoint.
|
|
@@ -974,10 +1030,17 @@ export class RampsController extends BaseController {
|
|
|
974
1030
|
const order = await this.messenger.call('RampsService:getOrder', providerCode, orderCode, wallet);
|
|
975
1031
|
this.update((state) => {
|
|
976
1032
|
const idx = state.orders.findIndex((existing) => existing.providerOrderId === orderCode);
|
|
977
|
-
if (idx
|
|
1033
|
+
if (idx === -1) {
|
|
1034
|
+
state.orders.push({
|
|
1035
|
+
...order,
|
|
1036
|
+
providerOrderId: orderCode,
|
|
1037
|
+
});
|
|
1038
|
+
}
|
|
1039
|
+
else {
|
|
978
1040
|
state.orders[idx] = {
|
|
979
1041
|
...state.orders[idx],
|
|
980
1042
|
...order,
|
|
1043
|
+
providerOrderId: orderCode,
|
|
981
1044
|
};
|
|
982
1045
|
}
|
|
983
1046
|
});
|
|
@@ -1392,7 +1455,7 @@ export class RampsController extends BaseController {
|
|
|
1392
1455
|
}
|
|
1393
1456
|
}
|
|
1394
1457
|
}
|
|
1395
|
-
_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_instances = new WeakSet(), _RampsController_clearPendingResourceCountForDependentResources = function _RampsController_clearPendingResourceCountForDependentResources() {
|
|
1458
|
+
_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() {
|
|
1396
1459
|
for (const resourceType of DEPENDENT_RESOURCE_KEYS) {
|
|
1397
1460
|
__classPrivateFieldGet(this, _RampsController_pendingResourceCount, "f").delete(resourceType);
|
|
1398
1461
|
}
|
|
@@ -1479,6 +1542,24 @@ _RampsController_requestCacheTTL = new WeakMap(), _RampsController_requestCacheM
|
|
|
1479
1542
|
}
|
|
1480
1543
|
}
|
|
1481
1544
|
});
|
|
1545
|
+
}, _RampsController_runInit = async function _RampsController_runInit(options) {
|
|
1546
|
+
const forceRefresh = options?.forceRefresh === true;
|
|
1547
|
+
const hasCountries = this.state.countries.data.length > 0;
|
|
1548
|
+
if (forceRefresh || !hasCountries) {
|
|
1549
|
+
await this.getCountries(options);
|
|
1550
|
+
}
|
|
1551
|
+
let regionCode;
|
|
1552
|
+
if (forceRefresh) {
|
|
1553
|
+
regionCode = await this.messenger.call('RampsService:getGeolocation');
|
|
1554
|
+
}
|
|
1555
|
+
else {
|
|
1556
|
+
regionCode = this.state.userRegion?.regionCode;
|
|
1557
|
+
regionCode ?? (regionCode = await this.messenger.call('RampsService:getGeolocation'));
|
|
1558
|
+
}
|
|
1559
|
+
if (!regionCode) {
|
|
1560
|
+
throw new Error('Failed to fetch geolocation. Cannot initialize controller without valid region information.');
|
|
1561
|
+
}
|
|
1562
|
+
await this.setUserRegion(regionCode, options);
|
|
1482
1563
|
}, _RampsController_refreshOrder =
|
|
1483
1564
|
/**
|
|
1484
1565
|
* Refreshes a single order via the V2 API and updates it in state.
|
|
@@ -1491,7 +1572,7 @@ async function _RampsController_refreshOrder(order) {
|
|
|
1491
1572
|
if (!providerCode || !order.providerOrderId || !order.walletAddress) {
|
|
1492
1573
|
return;
|
|
1493
1574
|
}
|
|
1494
|
-
const providerCodeSegment = providerCode
|
|
1575
|
+
const providerCodeSegment = normalizeProviderCode(providerCode);
|
|
1495
1576
|
const previousStatus = order.status;
|
|
1496
1577
|
try {
|
|
1497
1578
|
const updatedOrder = await this.getOrder(providerCodeSegment, order.providerOrderId, order.walletAddress);
|