@metamask/ramps-controller 5.1.0 → 6.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.
@@ -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 } from "./RampsService.mjs";
4
+ import type { Country, TokensResponse, Provider, State, RampAction, PaymentMethod, PaymentMethodsResponse, QuotesResponse, Quote, RampsToken, RampsServiceActions } from "./RampsService.mjs";
5
5
  import type { RampsServiceGetGeolocationAction, RampsServiceGetCountriesAction, RampsServiceGetTokensAction, RampsServiceGetProvidersAction, RampsServiceGetPaymentMethodsAction, RampsServiceGetQuotesAction } from "./RampsService-method-action-types.mjs";
6
6
  import type { RequestCache as RequestCacheType, RequestState, ExecuteRequestOptions } from "./RequestCache.mjs";
7
7
  /**
@@ -10,6 +10,12 @@ import type { RequestCache as RequestCacheType, RequestState, ExecuteRequestOpti
10
10
  * when composed with other controllers.
11
11
  */
12
12
  export declare const controllerName = "RampsController";
13
+ /**
14
+ * RampsService action types that RampsController calls via the messenger.
15
+ * Any host (e.g. mobile) that creates a RampsController messenger must delegate
16
+ * these actions from the root messenger so the controller can function.
17
+ */
18
+ export declare const RAMPS_CONTROLLER_REQUIRED_SERVICE_ACTIONS: readonly RampsServiceActions['type'][];
13
19
  /**
14
20
  * Represents the user's selected region with full country and state objects.
15
21
  */
@@ -28,54 +34,63 @@ export type UserRegion = {
28
34
  regionCode: string;
29
35
  };
30
36
  /**
31
- * Describes the shape of the state object for {@link RampsController}.
37
+ * Generic type for resource state that bundles data with loading/error states.
38
+ *
39
+ * @template TData - The type of the resource data
40
+ * @template TSelected - The type of the selected item (defaults to null for resources without selection)
32
41
  */
33
- export type RampsControllerState = {
42
+ export type ResourceState<TData, TSelected = null> = {
34
43
  /**
35
- * The user's selected region with full country and state objects.
36
- * Initially set via geolocation fetch, but can be manually changed by the user.
37
- * Once set (either via geolocation or manual selection), it will not be overwritten
38
- * by subsequent geolocation fetches.
44
+ * The resource data.
39
45
  */
40
- userRegion: UserRegion | null;
46
+ data: TData;
41
47
  /**
42
- * The user's selected provider.
43
- * Can be manually set by the user.
48
+ * The currently selected item, or null if none selected.
44
49
  */
45
- selectedProvider: Provider | null;
50
+ selected: TSelected;
46
51
  /**
47
- * List of countries available for ramp actions.
52
+ * Whether the resource is currently being fetched.
48
53
  */
49
- countries: Country[];
54
+ isLoading: boolean;
55
+ /**
56
+ * Error message if the fetch failed, or null.
57
+ */
58
+ error: string | null;
59
+ };
60
+ /**
61
+ * Describes the shape of the state object for {@link RampsController}.
62
+ */
63
+ export type RampsControllerState = {
50
64
  /**
51
- * List of providers available for the current region.
65
+ * The user's region (full country and state objects).
66
+ * Initially set via geolocation fetch, but can be manually changed by the user.
52
67
  */
53
- providers: Provider[];
68
+ userRegion: UserRegion | null;
54
69
  /**
55
- * Tokens fetched for the current region and action.
56
- * Contains topTokens and allTokens arrays.
70
+ * Countries resource state with data, loading, and error.
71
+ * Data contains the list of countries available for ramp actions.
57
72
  */
58
- tokens: TokensResponse | null;
73
+ countries: ResourceState<Country[]>;
59
74
  /**
60
- * The user's selected token.
61
- * When set, automatically fetches and sets payment methods for that token.
75
+ * Providers resource state with data, selected, loading, and error.
76
+ * Data contains the list of providers available for the current region.
62
77
  */
63
- selectedToken: RampsToken | null;
78
+ providers: ResourceState<Provider[], Provider | null>;
64
79
  /**
65
- * Payment methods available for the current context.
66
- * Filtered by region, fiat, asset, and provider.
80
+ * Tokens resource state with data, selected, loading, and error.
81
+ * Data contains topTokens and allTokens arrays.
67
82
  */
68
- paymentMethods: PaymentMethod[];
83
+ tokens: ResourceState<TokensResponse | null, RampsToken | null>;
69
84
  /**
70
- * The user's selected payment method.
71
- * Can be manually set by the user.
85
+ * Payment methods resource state with data, selected, loading, and error.
86
+ * Data contains payment methods filtered by region, fiat, asset, and provider.
72
87
  */
73
- selectedPaymentMethod: PaymentMethod | null;
88
+ paymentMethods: ResourceState<PaymentMethod[], PaymentMethod | null>;
74
89
  /**
75
- * Quotes fetched for the current context.
76
- * Contains quotes from multiple providers for the given parameters.
90
+ * Quotes resource state with data, loading, and error.
91
+ * Data contains quotes from multiple providers for the given parameters.
77
92
  */
78
- quotes: QuotesResponse | null;
93
+ quotes: ResourceState<QuotesResponse | null>;
79
94
  /**
80
95
  * Cache of request states, keyed by cache key.
81
96
  * This stores loading, success, and error states for API requests.
@@ -138,6 +153,13 @@ export type RampsControllerOptions = {
138
153
  */
139
154
  export declare class RampsController extends BaseController<typeof controllerName, RampsControllerState, RampsControllerMessenger> {
140
155
  #private;
156
+ /**
157
+ * Clears the pending resource count map. Used only in tests to exercise the
158
+ * defensive path when get() returns undefined in the finally block.
159
+ *
160
+ * @internal
161
+ */
162
+ clearPendingResourceCountForTest(): void;
141
163
  /**
142
164
  * Constructs a new {@link RampsController}.
143
165
  *
@@ -320,82 +342,6 @@ export declare class RampsController extends BaseController<typeof controllerNam
320
342
  * @returns The widget URL string, or null if not available.
321
343
  */
322
344
  getWidgetUrl(quote: Quote): string | null;
323
- /**
324
- * Triggers setting the user region without throwing.
325
- *
326
- * @param region - The region code to set (e.g., "US-CA").
327
- * @param options - Options for cache behavior.
328
- */
329
- triggerSetUserRegion(region: string, options?: ExecuteRequestOptions): void;
330
- /**
331
- * Triggers fetching countries without throwing.
332
- *
333
- * @param options - Options for cache behavior.
334
- */
335
- triggerGetCountries(options?: ExecuteRequestOptions): void;
336
- /**
337
- * Triggers fetching tokens without throwing.
338
- *
339
- * @param region - The region code. If not provided, uses userRegion from state.
340
- * @param action - The ramp action type ('buy' or 'sell').
341
- * @param options - Options for cache behavior.
342
- */
343
- triggerGetTokens(region?: string, action?: 'buy' | 'sell', options?: ExecuteRequestOptions): void;
344
- /**
345
- * Triggers fetching providers without throwing.
346
- *
347
- * @param region - The region code. If not provided, uses userRegion from state.
348
- * @param options - Options for cache behavior and query filters.
349
- */
350
- triggerGetProviders(region?: string, options?: ExecuteRequestOptions & {
351
- provider?: string | string[];
352
- crypto?: string | string[];
353
- fiat?: string | string[];
354
- payments?: string | string[];
355
- }): void;
356
- /**
357
- * Triggers fetching payment methods without throwing.
358
- *
359
- * @param region - User's region code (e.g., "us", "fr", "us-ny").
360
- * @param options - Query parameters for filtering payment methods.
361
- * @param options.fiat - Fiat currency code. If not provided, uses userRegion currency.
362
- * @param options.assetId - CAIP-19 cryptocurrency identifier.
363
- * @param options.provider - Provider ID path.
364
- */
365
- triggerGetPaymentMethods(region?: string, options?: ExecuteRequestOptions & {
366
- fiat?: string;
367
- assetId?: string;
368
- provider?: string;
369
- }): void;
370
- /**
371
- * Triggers fetching quotes without throwing.
372
- *
373
- * @param options - The parameters for fetching quotes.
374
- * @param options.region - User's region code. If not provided, uses userRegion from state.
375
- * @param options.fiat - Fiat currency code. If not provided, uses userRegion currency.
376
- * @param options.assetId - CAIP-19 cryptocurrency identifier.
377
- * @param options.amount - The amount (in fiat for buy, crypto for sell).
378
- * @param options.walletAddress - The destination wallet address.
379
- * @param options.paymentMethods - Array of payment method IDs. If not provided, uses paymentMethods from state.
380
- * @param options.provider - Optional provider ID to filter quotes.
381
- * @param options.redirectUrl - Optional redirect URL after order completion.
382
- * @param options.action - The ramp action type. Defaults to 'buy'.
383
- * @param options.forceRefresh - Whether to bypass cache.
384
- * @param options.ttl - Custom TTL for this request.
385
- */
386
- triggerGetQuotes(options: {
387
- region?: string;
388
- fiat?: string;
389
- assetId: string;
390
- amount: number;
391
- walletAddress: string;
392
- paymentMethods?: string[];
393
- provider?: string;
394
- redirectUrl?: string;
395
- action?: RampAction;
396
- forceRefresh?: boolean;
397
- ttl?: number;
398
- }): void;
399
345
  }
400
346
  export {};
401
347
  //# sourceMappingURL=RampsController.d.mts.map
@@ -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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"}