@metamask/ramps-controller 4.1.0 → 5.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 } from "./RampsService.mjs";
4
+ import type { Country, TokensResponse, Provider, State, RampAction, PaymentMethod, PaymentMethodsResponse, RampsToken } from "./RampsService.mjs";
5
5
  import type { RampsServiceGetGeolocationAction, RampsServiceGetCountriesAction, RampsServiceGetTokensAction, RampsServiceGetProvidersAction, RampsServiceGetPaymentMethodsAction } from "./RampsService-method-action-types.mjs";
6
6
  import type { RequestCache as RequestCacheType, RequestState, ExecuteRequestOptions } from "./RequestCache.mjs";
7
7
  /**
@@ -39,10 +39,14 @@ export type RampsControllerState = {
39
39
  */
40
40
  userRegion: UserRegion | null;
41
41
  /**
42
- * The user's preferred provider.
42
+ * The user's selected provider.
43
43
  * Can be manually set by the user.
44
44
  */
45
- preferredProvider: Provider | null;
45
+ selectedProvider: Provider | null;
46
+ /**
47
+ * List of countries available for ramp actions.
48
+ */
49
+ countries: Country[];
46
50
  /**
47
51
  * List of providers available for the current region.
48
52
  */
@@ -52,6 +56,11 @@ export type RampsControllerState = {
52
56
  * Contains topTokens and allTokens arrays.
53
57
  */
54
58
  tokens: TokensResponse | null;
59
+ /**
60
+ * The user's selected token.
61
+ * When set, automatically fetches and sets payment methods for that token.
62
+ */
63
+ selectedToken: RampsToken | null;
55
64
  /**
56
65
  * Payment methods available for the current context.
57
66
  * Filtered by region, fiat, asset, and provider.
@@ -162,14 +171,6 @@ export declare class RampsController extends BaseController<typeof controllerNam
162
171
  * @returns The request state, or undefined if not cached.
163
172
  */
164
173
  getRequestState(cacheKey: string): RequestState | undefined;
165
- /**
166
- * Updates the user's region by fetching geolocation.
167
- * This method calls the RampsService to get the geolocation.
168
- *
169
- * @param options - Options for cache behavior.
170
- * @returns The user region object.
171
- */
172
- updateUserRegion(options?: ExecuteRequestOptions): Promise<UserRegion | null>;
173
174
  /**
174
175
  * Sets the user's region manually (without fetching geolocation).
175
176
  * This allows users to override the detected region.
@@ -180,32 +181,35 @@ export declare class RampsController extends BaseController<typeof controllerNam
180
181
  */
181
182
  setUserRegion(region: string, options?: ExecuteRequestOptions): Promise<UserRegion>;
182
183
  /**
183
- * Sets the user's preferred provider.
184
- * This allows users to set their preferred ramp provider.
184
+ * Sets the user's selected provider by ID, or clears the selection.
185
+ * Looks up the provider from the current providers in state and automatically
186
+ * fetches payment methods for that provider.
185
187
  *
186
- * @param provider - The provider object to set.
188
+ * @param providerId - The provider ID (e.g., "/providers/moonpay"), or null to clear.
189
+ * @throws If region is not set, providers are not loaded, or provider is not found.
187
190
  */
188
- setPreferredProvider(provider: Provider | null): void;
191
+ setSelectedProvider(providerId: string | null): void;
189
192
  /**
190
193
  * Initializes the controller by fetching the user's region from geolocation.
191
194
  * This should be called once at app startup to set up the initial region.
192
- * After the region is set, tokens are fetched and saved to state.
193
195
  *
194
196
  * If a userRegion already exists (from persistence or manual selection),
195
- * this method will skip geolocation fetch and only fetch tokens if needed.
197
+ * this method will skip geolocation fetch and use the existing region.
196
198
  *
197
199
  * @param options - Options for cache behavior.
198
200
  * @returns Promise that resolves when initialization is complete.
199
201
  */
200
202
  init(options?: ExecuteRequestOptions): Promise<void>;
203
+ hydrateState(options?: ExecuteRequestOptions): void;
201
204
  /**
202
- * Fetches the list of supported countries for a given ramp action.
205
+ * Fetches the list of supported countries.
206
+ * The API returns countries with support information for both buy and sell actions.
207
+ * The countries are saved in the controller state once fetched.
203
208
  *
204
- * @param action - The ramp action type ('buy' or 'sell').
205
209
  * @param options - Options for cache behavior.
206
210
  * @returns An array of countries.
207
211
  */
208
- getCountries(action?: RampAction, options?: ExecuteRequestOptions): Promise<Country[]>;
212
+ getCountries(options?: ExecuteRequestOptions): Promise<Country[]>;
209
213
  /**
210
214
  * Fetches the list of available tokens for a given region and action.
211
215
  * The tokens are saved in the controller state once fetched.
@@ -219,6 +223,15 @@ export declare class RampsController extends BaseController<typeof controllerNam
219
223
  getTokens(region?: string, action?: RampAction, options?: ExecuteRequestOptions & {
220
224
  provider?: string | string[];
221
225
  }): Promise<TokensResponse>;
226
+ /**
227
+ * Sets the user's selected token by asset ID.
228
+ * Looks up the token from the current tokens in state and automatically
229
+ * fetches payment methods for that token.
230
+ *
231
+ * @param assetId - The asset identifier in CAIP-19 format (e.g., "eip155:1/erc20:0x..."), or undefined to clear.
232
+ * @throws If region is not set, tokens are not loaded, or token is not found.
233
+ */
234
+ setSelectedToken(assetId?: string): void;
222
235
  /**
223
236
  * Fetches the list of providers for a given region.
224
237
  * The providers are saved in the controller state once fetched.
@@ -243,35 +256,26 @@ export declare class RampsController extends BaseController<typeof controllerNam
243
256
  * Fetches the list of payment methods for a given context.
244
257
  * The payment methods are saved in the controller state once fetched.
245
258
  *
259
+ * @param region - User's region code (e.g. "fr", "us-ny").
246
260
  * @param options - Query parameters for filtering payment methods.
247
- * @param options.region - User's region code. If not provided, uses the user's region from controller state.
248
261
  * @param options.fiat - Fiat currency code (e.g., "usd"). If not provided, uses the user's region currency.
249
262
  * @param options.assetId - CAIP-19 cryptocurrency identifier.
250
263
  * @param options.provider - Provider ID path.
251
- * @param options.forceRefresh - Whether to bypass cache.
252
- * @param options.ttl - Custom TTL for this request.
253
264
  * @returns The payment methods response containing payments array.
254
265
  */
255
- getPaymentMethods(options: {
256
- region?: string;
266
+ getPaymentMethods(region?: string, options?: ExecuteRequestOptions & {
257
267
  fiat?: string;
258
- assetId: string;
259
- provider: string;
260
- forceRefresh?: boolean;
261
- ttl?: number;
268
+ assetId?: string;
269
+ provider?: string;
262
270
  }): Promise<PaymentMethodsResponse>;
263
271
  /**
264
- * Sets the user's selected payment method.
272
+ * Sets the user's selected payment method by ID.
273
+ * Looks up the payment method from the current payment methods in state.
265
274
  *
266
- * @param paymentMethod - The payment method to select, or null to clear.
275
+ * @param paymentMethodId - The payment method ID (e.g., "/payments/debit-credit-card"), or null to clear.
276
+ * @throws If payment methods are not loaded or payment method is not found.
267
277
  */
268
- setSelectedPaymentMethod(paymentMethod: PaymentMethod | null): void;
269
- /**
270
- * Triggers a user region update without throwing.
271
- *
272
- * @param options - Options for cache behavior.
273
- */
274
- triggerUpdateUserRegion(options?: ExecuteRequestOptions): void;
278
+ setSelectedPaymentMethod(paymentMethodId?: string): void;
275
279
  /**
276
280
  * Triggers setting the user region without throwing.
277
281
  *
@@ -282,10 +286,9 @@ export declare class RampsController extends BaseController<typeof controllerNam
282
286
  /**
283
287
  * Triggers fetching countries without throwing.
284
288
  *
285
- * @param action - The ramp action type ('buy' or 'sell').
286
289
  * @param options - Options for cache behavior.
287
290
  */
288
- triggerGetCountries(action?: 'buy' | 'sell', options?: ExecuteRequestOptions): void;
291
+ triggerGetCountries(options?: ExecuteRequestOptions): void;
289
292
  /**
290
293
  * Triggers fetching tokens without throwing.
291
294
  *
@@ -309,21 +312,16 @@ export declare class RampsController extends BaseController<typeof controllerNam
309
312
  /**
310
313
  * Triggers fetching payment methods without throwing.
311
314
  *
315
+ * @param region - User's region code (e.g., "us", "fr", "us-ny").
312
316
  * @param options - Query parameters for filtering payment methods.
313
- * @param options.region - User's region code. If not provided, uses userRegion from state.
314
317
  * @param options.fiat - Fiat currency code. If not provided, uses userRegion currency.
315
318
  * @param options.assetId - CAIP-19 cryptocurrency identifier.
316
319
  * @param options.provider - Provider ID path.
317
- * @param options.forceRefresh - Whether to bypass cache.
318
- * @param options.ttl - Custom TTL for this request.
319
320
  */
320
- triggerGetPaymentMethods(options: {
321
- region?: string;
321
+ triggerGetPaymentMethods(region?: string, options?: ExecuteRequestOptions & {
322
322
  fiat?: string;
323
- assetId: string;
324
- provider: string;
325
- forceRefresh?: boolean;
326
- ttl?: number;
323
+ assetId?: string;
324
+ provider?: string;
327
325
  }): void;
328
326
  }
329
327
  export {};
@@ -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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"}