@metamask/ramps-controller 4.0.0 → 4.1.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,8 +1,8 @@
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 } from "./RampsService.cjs";
5
- import type { RampsServiceGetGeolocationAction, RampsServiceGetCountriesAction, RampsServiceGetTokensAction, RampsServiceGetProvidersAction } from "./RampsService-method-action-types.cjs";
4
+ import type { Country, TokensResponse, Provider, State, RampAction, PaymentMethod, PaymentMethodsResponse } from "./RampsService.cjs";
5
+ import type { RampsServiceGetGeolocationAction, RampsServiceGetCountriesAction, RampsServiceGetTokensAction, RampsServiceGetProvidersAction, RampsServiceGetPaymentMethodsAction } from "./RampsService-method-action-types.cjs";
6
6
  import type { RequestCache as RequestCacheType, RequestState, ExecuteRequestOptions } from "./RequestCache.cjs";
7
7
  /**
8
8
  * The name of the {@link RampsController}, used to namespace the
@@ -52,6 +52,16 @@ export type RampsControllerState = {
52
52
  * Contains topTokens and allTokens arrays.
53
53
  */
54
54
  tokens: TokensResponse | null;
55
+ /**
56
+ * Payment methods available for the current context.
57
+ * Filtered by region, fiat, asset, and provider.
58
+ */
59
+ paymentMethods: PaymentMethod[];
60
+ /**
61
+ * The user's selected payment method.
62
+ * Can be manually set by the user.
63
+ */
64
+ selectedPaymentMethod: PaymentMethod | null;
55
65
  /**
56
66
  * Cache of request states, keyed by cache key.
57
67
  * This stores loading, success, and error states for API requests.
@@ -78,7 +88,7 @@ export type RampsControllerActions = RampsControllerGetStateAction;
78
88
  /**
79
89
  * Actions from other messengers that {@link RampsController} calls.
80
90
  */
81
- type AllowedActions = RampsServiceGetGeolocationAction | RampsServiceGetCountriesAction | RampsServiceGetTokensAction | RampsServiceGetProvidersAction;
91
+ type AllowedActions = RampsServiceGetGeolocationAction | RampsServiceGetCountriesAction | RampsServiceGetTokensAction | RampsServiceGetProvidersAction | RampsServiceGetPaymentMethodsAction;
82
92
  /**
83
93
  * Published when the state of {@link RampsController} changes.
84
94
  */
@@ -195,17 +205,20 @@ export declare class RampsController extends BaseController<typeof controllerNam
195
205
  * @param options - Options for cache behavior.
196
206
  * @returns An array of countries.
197
207
  */
198
- getCountries(action?: 'buy' | 'sell', options?: ExecuteRequestOptions): Promise<Country[]>;
208
+ getCountries(action?: RampAction, options?: ExecuteRequestOptions): Promise<Country[]>;
199
209
  /**
200
210
  * Fetches the list of available tokens for a given region and action.
201
211
  * The tokens are saved in the controller state once fetched.
202
212
  *
203
213
  * @param region - The region code (e.g., "us", "fr", "us-ny"). If not provided, uses the user's region from controller state.
204
214
  * @param action - The ramp action type ('buy' or 'sell').
205
- * @param options - Options for cache behavior.
215
+ * @param options - Options for cache behavior and query filters.
216
+ * @param options.provider - Provider ID(s) to filter by.
206
217
  * @returns The tokens response containing topTokens and allTokens.
207
218
  */
208
- getTokens(region?: string, action?: 'buy' | 'sell', options?: ExecuteRequestOptions): Promise<TokensResponse>;
219
+ getTokens(region?: string, action?: RampAction, options?: ExecuteRequestOptions & {
220
+ provider?: string | string[];
221
+ }): Promise<TokensResponse>;
209
222
  /**
210
223
  * Fetches the list of providers for a given region.
211
224
  * The providers are saved in the controller state once fetched.
@@ -226,6 +239,92 @@ export declare class RampsController extends BaseController<typeof controllerNam
226
239
  }): Promise<{
227
240
  providers: Provider[];
228
241
  }>;
242
+ /**
243
+ * Fetches the list of payment methods for a given context.
244
+ * The payment methods are saved in the controller state once fetched.
245
+ *
246
+ * @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
+ * @param options.fiat - Fiat currency code (e.g., "usd"). If not provided, uses the user's region currency.
249
+ * @param options.assetId - CAIP-19 cryptocurrency identifier.
250
+ * @param options.provider - Provider ID path.
251
+ * @param options.forceRefresh - Whether to bypass cache.
252
+ * @param options.ttl - Custom TTL for this request.
253
+ * @returns The payment methods response containing payments array.
254
+ */
255
+ getPaymentMethods(options: {
256
+ region?: string;
257
+ fiat?: string;
258
+ assetId: string;
259
+ provider: string;
260
+ forceRefresh?: boolean;
261
+ ttl?: number;
262
+ }): Promise<PaymentMethodsResponse>;
263
+ /**
264
+ * Sets the user's selected payment method.
265
+ *
266
+ * @param paymentMethod - The payment method to select, or null to clear.
267
+ */
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;
275
+ /**
276
+ * Triggers setting the user region without throwing.
277
+ *
278
+ * @param region - The region code to set (e.g., "US-CA").
279
+ * @param options - Options for cache behavior.
280
+ */
281
+ triggerSetUserRegion(region: string, options?: ExecuteRequestOptions): void;
282
+ /**
283
+ * Triggers fetching countries without throwing.
284
+ *
285
+ * @param action - The ramp action type ('buy' or 'sell').
286
+ * @param options - Options for cache behavior.
287
+ */
288
+ triggerGetCountries(action?: 'buy' | 'sell', options?: ExecuteRequestOptions): void;
289
+ /**
290
+ * Triggers fetching tokens without throwing.
291
+ *
292
+ * @param region - The region code. If not provided, uses userRegion from state.
293
+ * @param action - The ramp action type ('buy' or 'sell').
294
+ * @param options - Options for cache behavior.
295
+ */
296
+ triggerGetTokens(region?: string, action?: 'buy' | 'sell', options?: ExecuteRequestOptions): void;
297
+ /**
298
+ * Triggers fetching providers without throwing.
299
+ *
300
+ * @param region - The region code. If not provided, uses userRegion from state.
301
+ * @param options - Options for cache behavior and query filters.
302
+ */
303
+ triggerGetProviders(region?: string, options?: ExecuteRequestOptions & {
304
+ provider?: string | string[];
305
+ crypto?: string | string[];
306
+ fiat?: string | string[];
307
+ payments?: string | string[];
308
+ }): void;
309
+ /**
310
+ * Triggers fetching payment methods without throwing.
311
+ *
312
+ * @param options - Query parameters for filtering payment methods.
313
+ * @param options.region - User's region code. If not provided, uses userRegion from state.
314
+ * @param options.fiat - Fiat currency code. If not provided, uses userRegion currency.
315
+ * @param options.assetId - CAIP-19 cryptocurrency identifier.
316
+ * @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
+ triggerGetPaymentMethods(options: {
321
+ region?: string;
322
+ fiat?: string;
323
+ assetId: string;
324
+ provider: string;
325
+ forceRefresh?: boolean;
326
+ ttl?: number;
327
+ }): void;
229
328
  }
230
329
  export {};
231
330
  //# sourceMappingURL=RampsController.d.cts.map
@@ -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,8 +1,8 @@
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 } from "./RampsService.mjs";
5
- import type { RampsServiceGetGeolocationAction, RampsServiceGetCountriesAction, RampsServiceGetTokensAction, RampsServiceGetProvidersAction } from "./RampsService-method-action-types.mjs";
4
+ import type { Country, TokensResponse, Provider, State, RampAction, PaymentMethod, PaymentMethodsResponse } from "./RampsService.mjs";
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
  /**
8
8
  * The name of the {@link RampsController}, used to namespace the
@@ -52,6 +52,16 @@ export type RampsControllerState = {
52
52
  * Contains topTokens and allTokens arrays.
53
53
  */
54
54
  tokens: TokensResponse | null;
55
+ /**
56
+ * Payment methods available for the current context.
57
+ * Filtered by region, fiat, asset, and provider.
58
+ */
59
+ paymentMethods: PaymentMethod[];
60
+ /**
61
+ * The user's selected payment method.
62
+ * Can be manually set by the user.
63
+ */
64
+ selectedPaymentMethod: PaymentMethod | null;
55
65
  /**
56
66
  * Cache of request states, keyed by cache key.
57
67
  * This stores loading, success, and error states for API requests.
@@ -78,7 +88,7 @@ export type RampsControllerActions = RampsControllerGetStateAction;
78
88
  /**
79
89
  * Actions from other messengers that {@link RampsController} calls.
80
90
  */
81
- type AllowedActions = RampsServiceGetGeolocationAction | RampsServiceGetCountriesAction | RampsServiceGetTokensAction | RampsServiceGetProvidersAction;
91
+ type AllowedActions = RampsServiceGetGeolocationAction | RampsServiceGetCountriesAction | RampsServiceGetTokensAction | RampsServiceGetProvidersAction | RampsServiceGetPaymentMethodsAction;
82
92
  /**
83
93
  * Published when the state of {@link RampsController} changes.
84
94
  */
@@ -195,17 +205,20 @@ export declare class RampsController extends BaseController<typeof controllerNam
195
205
  * @param options - Options for cache behavior.
196
206
  * @returns An array of countries.
197
207
  */
198
- getCountries(action?: 'buy' | 'sell', options?: ExecuteRequestOptions): Promise<Country[]>;
208
+ getCountries(action?: RampAction, options?: ExecuteRequestOptions): Promise<Country[]>;
199
209
  /**
200
210
  * Fetches the list of available tokens for a given region and action.
201
211
  * The tokens are saved in the controller state once fetched.
202
212
  *
203
213
  * @param region - The region code (e.g., "us", "fr", "us-ny"). If not provided, uses the user's region from controller state.
204
214
  * @param action - The ramp action type ('buy' or 'sell').
205
- * @param options - Options for cache behavior.
215
+ * @param options - Options for cache behavior and query filters.
216
+ * @param options.provider - Provider ID(s) to filter by.
206
217
  * @returns The tokens response containing topTokens and allTokens.
207
218
  */
208
- getTokens(region?: string, action?: 'buy' | 'sell', options?: ExecuteRequestOptions): Promise<TokensResponse>;
219
+ getTokens(region?: string, action?: RampAction, options?: ExecuteRequestOptions & {
220
+ provider?: string | string[];
221
+ }): Promise<TokensResponse>;
209
222
  /**
210
223
  * Fetches the list of providers for a given region.
211
224
  * The providers are saved in the controller state once fetched.
@@ -226,6 +239,92 @@ export declare class RampsController extends BaseController<typeof controllerNam
226
239
  }): Promise<{
227
240
  providers: Provider[];
228
241
  }>;
242
+ /**
243
+ * Fetches the list of payment methods for a given context.
244
+ * The payment methods are saved in the controller state once fetched.
245
+ *
246
+ * @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
+ * @param options.fiat - Fiat currency code (e.g., "usd"). If not provided, uses the user's region currency.
249
+ * @param options.assetId - CAIP-19 cryptocurrency identifier.
250
+ * @param options.provider - Provider ID path.
251
+ * @param options.forceRefresh - Whether to bypass cache.
252
+ * @param options.ttl - Custom TTL for this request.
253
+ * @returns The payment methods response containing payments array.
254
+ */
255
+ getPaymentMethods(options: {
256
+ region?: string;
257
+ fiat?: string;
258
+ assetId: string;
259
+ provider: string;
260
+ forceRefresh?: boolean;
261
+ ttl?: number;
262
+ }): Promise<PaymentMethodsResponse>;
263
+ /**
264
+ * Sets the user's selected payment method.
265
+ *
266
+ * @param paymentMethod - The payment method to select, or null to clear.
267
+ */
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;
275
+ /**
276
+ * Triggers setting the user region without throwing.
277
+ *
278
+ * @param region - The region code to set (e.g., "US-CA").
279
+ * @param options - Options for cache behavior.
280
+ */
281
+ triggerSetUserRegion(region: string, options?: ExecuteRequestOptions): void;
282
+ /**
283
+ * Triggers fetching countries without throwing.
284
+ *
285
+ * @param action - The ramp action type ('buy' or 'sell').
286
+ * @param options - Options for cache behavior.
287
+ */
288
+ triggerGetCountries(action?: 'buy' | 'sell', options?: ExecuteRequestOptions): void;
289
+ /**
290
+ * Triggers fetching tokens without throwing.
291
+ *
292
+ * @param region - The region code. If not provided, uses userRegion from state.
293
+ * @param action - The ramp action type ('buy' or 'sell').
294
+ * @param options - Options for cache behavior.
295
+ */
296
+ triggerGetTokens(region?: string, action?: 'buy' | 'sell', options?: ExecuteRequestOptions): void;
297
+ /**
298
+ * Triggers fetching providers without throwing.
299
+ *
300
+ * @param region - The region code. If not provided, uses userRegion from state.
301
+ * @param options - Options for cache behavior and query filters.
302
+ */
303
+ triggerGetProviders(region?: string, options?: ExecuteRequestOptions & {
304
+ provider?: string | string[];
305
+ crypto?: string | string[];
306
+ fiat?: string | string[];
307
+ payments?: string | string[];
308
+ }): void;
309
+ /**
310
+ * Triggers fetching payment methods without throwing.
311
+ *
312
+ * @param options - Query parameters for filtering payment methods.
313
+ * @param options.region - User's region code. If not provided, uses userRegion from state.
314
+ * @param options.fiat - Fiat currency code. If not provided, uses userRegion currency.
315
+ * @param options.assetId - CAIP-19 cryptocurrency identifier.
316
+ * @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
+ triggerGetPaymentMethods(options: {
321
+ region?: string;
322
+ fiat?: string;
323
+ assetId: string;
324
+ provider: string;
325
+ forceRefresh?: boolean;
326
+ ttl?: number;
327
+ }): void;
229
328
  }
230
329
  export {};
231
330
  //# 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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"}