@metamask/ramps-controller 20.0.0 → 20.2.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.map +1 -1
- package/dist/RampsController-method-action-types.d.cts +44 -1
- package/dist/RampsController-method-action-types.d.cts.map +1 -1
- package/dist/RampsController-method-action-types.d.mts +44 -1
- package/dist/RampsController-method-action-types.d.mts.map +1 -1
- package/dist/RampsController-method-action-types.mjs.map +1 -1
- package/dist/RampsController.cjs +225 -18
- package/dist/RampsController.cjs.map +1 -1
- package/dist/RampsController.d.cts +76 -7
- package/dist/RampsController.d.cts.map +1 -1
- package/dist/RampsController.d.mts +76 -7
- package/dist/RampsController.d.mts.map +1 -1
- package/dist/RampsController.mjs +224 -17
- package/dist/RampsController.mjs.map +1 -1
- package/dist/RampsService.cjs +18 -4
- package/dist/RampsService.cjs.map +1 -1
- package/dist/RampsService.d.cts +20 -4
- package/dist/RampsService.d.cts.map +1 -1
- package/dist/RampsService.d.mts +20 -4
- package/dist/RampsService.d.mts.map +1 -1
- package/dist/RampsService.mjs +18 -4
- package/dist/RampsService.mjs.map +1 -1
- package/dist/TransakService.cjs +15 -3
- package/dist/TransakService.cjs.map +1 -1
- package/dist/TransakService.d.cts +3 -1
- package/dist/TransakService.d.cts.map +1 -1
- package/dist/TransakService.d.mts +3 -1
- package/dist/TransakService.d.mts.map +1 -1
- package/dist/TransakService.mjs +15 -3
- package/dist/TransakService.mjs.map +1 -1
- package/dist/client-identity.cjs +28 -0
- package/dist/client-identity.cjs.map +1 -0
- package/dist/client-identity.d.cts +24 -0
- package/dist/client-identity.d.cts.map +1 -0
- package/dist/client-identity.d.mts +24 -0
- package/dist/client-identity.d.mts.map +1 -0
- package/dist/client-identity.mjs +24 -0
- package/dist/client-identity.mjs.map +1 -0
- package/dist/index.cjs +9 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +7 -4
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +7 -4
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +3 -1
- package/dist/index.mjs.map +1 -1
- package/dist/orderStatus.cjs +34 -0
- package/dist/orderStatus.cjs.map +1 -0
- package/dist/orderStatus.d.cts +18 -0
- package/dist/orderStatus.d.cts.map +1 -0
- package/dist/orderStatus.d.mts +18 -0
- package/dist/orderStatus.d.mts.map +1 -0
- package/dist/orderStatus.mjs +30 -0
- package/dist/orderStatus.mjs.map +1 -0
- package/dist/paymentMethodMerge.cjs +51 -0
- package/dist/paymentMethodMerge.cjs.map +1 -0
- package/dist/paymentMethodMerge.d.cts +26 -0
- package/dist/paymentMethodMerge.d.cts.map +1 -0
- package/dist/paymentMethodMerge.d.mts +26 -0
- package/dist/paymentMethodMerge.d.mts.map +1 -0
- package/dist/paymentMethodMerge.mjs +46 -0
- package/dist/paymentMethodMerge.mjs.map +1 -0
- package/dist/providerAvailability.cjs +39 -8
- package/dist/providerAvailability.cjs.map +1 -1
- package/dist/providerAvailability.d.cts +30 -5
- package/dist/providerAvailability.d.cts.map +1 -1
- package/dist/providerAvailability.d.mts +30 -5
- package/dist/providerAvailability.d.mts.map +1 -1
- package/dist/providerAvailability.mjs +37 -7
- package/dist/providerAvailability.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.d.mts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
export type { RampsControllerActions, RampsControllerEvents, RampsControllerGetStateAction, RampsControllerMessenger, RampsControllerState, RampsControllerStateChangeEvent, RampsControllerOrderStatusChangedEvent, RampsControllerOptions, UserRegion, ResourceState, TransakState, NativeProvidersState, } from "./RampsController.mjs";
|
|
2
|
-
export type { RampsControllerExecuteRequestAction, RampsControllerAbortRequestAction, RampsControllerGetRequestStateAction, RampsControllerSetUserRegionAction, RampsControllerSetSelectedProviderAction, RampsControllerSetSelectedProviderForAssetAction, RampsControllerInitAction, RampsControllerGetCountriesAction, RampsControllerGetTokensAction, RampsControllerSetSelectedTokenAction, RampsControllerGetProvidersAction, RampsControllerGetPaymentMethodsAction, RampsControllerSetSelectedPaymentMethodAction, RampsControllerGetQuotesAction, RampsControllerAddOrderAction, RampsControllerRemoveOrderAction, RampsControllerStartOrderPollingAction, RampsControllerStopOrderPollingAction, RampsControllerGetBuyWidgetDataAction, RampsControllerAddPrecreatedOrderAction, RampsControllerGetOrderAction, RampsControllerGetOrderFromCallbackAction, RampsControllerTransakSetApiKeyAction, RampsControllerTransakSetAccessTokenAction, RampsControllerTransakClearAccessTokenAction, RampsControllerTransakSetAuthenticatedAction, RampsControllerTransakResetStateAction, RampsControllerTransakSendUserOtpAction, RampsControllerTransakVerifyUserOtpAction, RampsControllerTransakLogoutAction, RampsControllerTransakGetUserDetailsAction, RampsControllerTransakGetBuyQuoteAction, RampsControllerTransakGetKycRequirementAction, RampsControllerTransakGetAdditionalRequirementsAction, RampsControllerTransakCreateOrderAction, RampsControllerTransakGetOrderAction, RampsControllerTransakGetUserLimitsAction, RampsControllerTransakRequestOttAction, RampsControllerTransakGeneratePaymentWidgetUrlAction, RampsControllerTransakSubmitPurposeOfUsageFormAction, RampsControllerTransakPatchUserAction, RampsControllerTransakSubmitSsnDetailsAction, RampsControllerTransakConfirmPaymentAction, RampsControllerTransakGetTranslationAction, RampsControllerTransakGetIdProofStatusAction, RampsControllerTransakCancelOrderAction, RampsControllerTransakCancelAllActiveOrdersAction, RampsControllerTransakGetActiveOrdersAction, } from "./RampsController-method-action-types.mjs";
|
|
1
|
+
export type { RampsControllerActions, RampsControllerEvents, RampsControllerGetStateAction, RampsControllerMessenger, RampsControllerState, RampsControllerStateChangeEvent, RampsControllerOrderStatusChangedEvent, RampsControllerOptions, PaymentMethodsForContextResponse, UserRegion, ResourceState, TransakState, NativeProvidersState, } from "./RampsController.mjs";
|
|
2
|
+
export type { RampsControllerExecuteRequestAction, RampsControllerAbortRequestAction, RampsControllerGetRequestStateAction, RampsControllerSetUserRegionAction, RampsControllerSetSelectedProviderAction, RampsControllerSetSelectedProviderForAssetAction, RampsControllerInitAction, RampsControllerGetCountriesAction, RampsControllerGetTokensAction, RampsControllerSetSelectedTokenAction, RampsControllerGetProvidersAction, RampsControllerGetPaymentMethodsAction, RampsControllerGetPaymentMethodsForContextAction, RampsControllerSetSelectedPaymentMethodAction, RampsControllerGetQuotesAction, RampsControllerAddOrderAction, RampsControllerRemoveOrderAction, RampsControllerStartOrderPollingAction, RampsControllerStopOrderPollingAction, RampsControllerGetBuyWidgetDataAction, RampsControllerAddPrecreatedOrderAction, RampsControllerGetOrderAction, RampsControllerGetOrderFromCallbackAction, RampsControllerTransakSetApiKeyAction, RampsControllerTransakSetAccessTokenAction, RampsControllerTransakClearAccessTokenAction, RampsControllerTransakSetAuthenticatedAction, RampsControllerTransakResetStateAction, RampsControllerTransakSendUserOtpAction, RampsControllerTransakVerifyUserOtpAction, RampsControllerTransakLogoutAction, RampsControllerTransakGetUserDetailsAction, RampsControllerTransakGetBuyQuoteAction, RampsControllerTransakGetKycRequirementAction, RampsControllerTransakGetAdditionalRequirementsAction, RampsControllerTransakCreateOrderAction, RampsControllerTransakGetOrderAction, RampsControllerTransakGetUserLimitsAction, RampsControllerTransakRequestOttAction, RampsControllerTransakGeneratePaymentWidgetUrlAction, RampsControllerTransakSubmitPurposeOfUsageFormAction, RampsControllerTransakPatchUserAction, RampsControllerTransakSubmitSsnDetailsAction, RampsControllerTransakConfirmPaymentAction, RampsControllerTransakGetTranslationAction, RampsControllerTransakGetIdProofStatusAction, RampsControllerTransakCancelOrderAction, RampsControllerTransakCancelAllActiveOrdersAction, RampsControllerTransakGetActiveOrdersAction, } from "./RampsController-method-action-types.mjs";
|
|
3
3
|
export { RampsController, getDefaultRampsControllerState, getInternalOrderCode, RAMPS_CONTROLLER_REQUIRED_SERVICE_ACTIONS, } from "./RampsController.mjs";
|
|
4
|
-
export type { RampsServiceActions, RampsServiceEvents, RampsServiceMessenger, Country, State, SupportedActions, CountryPhone, Provider, ProviderLink, ProviderLogos, ProviderBrowserType, ProviderLimit, ProviderFiatLimits, ProviderLimits, RampAction, PaymentMethod, PaymentMethodsResponse, Quote, QuoteError, QuoteSortBy, QuoteSortOrder, QuoteCryptoTranslation, QuoteCustomAction, QuotesResponse, GetQuotesParams, RampsToken, TokensResponse, BuyWidget, RampsOrder, RampsOrderNetwork, RampsOrderCryptoCurrency, RampsOrderFiatCurrency, RampsOrderPaymentMethod, OrderPaymentDetail, } from "./RampsService.mjs";
|
|
4
|
+
export type { RampsServiceActions, RampsServiceEvents, RampsServiceMessenger, Country, State, SupportedActions, CountryPhone, Provider, ProviderLink, ProviderLogos, ProviderBrowserType, ProviderLimit, ProviderFiatLimits, ProviderLimits, ProviderSortOrder, ProvidersResponse, RampAction, PaymentMethod, PaymentMethodsResponse, Quote, QuoteError, QuoteSortBy, QuoteSortOrder, QuoteCryptoTranslation, QuoteCustomAction, QuotesResponse, GetQuotesParams, RampsToken, TokensResponse, BuyWidget, RampsOrder, RampsOrderNetwork, RampsOrderCryptoCurrency, RampsOrderFiatCurrency, RampsOrderPaymentMethod, OrderPaymentDetail, } from "./RampsService.mjs";
|
|
5
5
|
export { RampsService, RampsEnvironment, RampsApiService, RampsOrderStatus, RAMPS_SDK_VERSION, getDefaultRedirectCallbackUrl, } from "./RampsService.mjs";
|
|
6
|
+
export type { RampsClientIdentity } from "./client-identity.mjs";
|
|
7
|
+
export { addRampsClientIdentityParams, RAMPS_CLIENT_PRODUCT_PARAM, RAMPS_CLIENT_VERSION_PARAM, } from "./client-identity.mjs";
|
|
6
8
|
export type { RampsServiceGetDefaultRedirectCallbackUrlAction, RampsServiceGetGeolocationAction, RampsServiceGetCountriesAction, RampsServiceGetPaymentMethodsAction, RampsServiceGetQuotesAction, RampsServiceGetBuyWidgetUrlAction, RampsServiceGetOrderAction, RampsServiceGetOrderFromCallbackAction, } from "./RampsService-method-action-types.mjs";
|
|
7
9
|
export type { RequestCache, RequestState, ExecuteRequestOptions, PendingRequest, ResourceType, } from "./RequestCache.mjs";
|
|
8
10
|
export type { RampsErrorCode } from "./rampsErrorCodes.mjs";
|
|
@@ -12,8 +14,9 @@ export type { RequestSelectorResult } from "./selectors.mjs";
|
|
|
12
14
|
export { createRequestSelector } from "./selectors.mjs";
|
|
13
15
|
export type { HeadlessFeatureFlagsLookup } from "./featureFlags.mjs";
|
|
14
16
|
export { HEADLESS_ALL_PROVIDERS_FEATURE_VERSION, MONEY_HEADLESS_ALL_PROVIDERS_FLAG_KEY, getHeadlessProviderAllowlist, isHeadlessAllProvidersEnabled, } from "./featureFlags.mjs";
|
|
15
|
-
export { providerServesAsset, getProvidersServingAsset, regionHasProviderForAsset, isFiatDepositAvailable, } from "./providerAvailability.mjs";
|
|
17
|
+
export { normalizeRampsAssetId, providerServesAsset, getProvidersServingAsset, regionHasProviderForAsset, isFiatDepositAvailable, } from "./providerAvailability.mjs";
|
|
16
18
|
export { isExternalBrowserQuote, isCustomActionQuote, isInAppOnlyQuote, } from "./quoteClassification.mjs";
|
|
19
|
+
export { TERMINAL_ORDER_STATUSES, isTerminalOrderStatus, } from "./orderStatus.mjs";
|
|
17
20
|
export type { TypedError } from "./errorNormalization.mjs";
|
|
18
21
|
export { getErrorMessage, extractExplicitTypedError, normalizeToTypedError, } from "./errorNormalization.mjs";
|
|
19
22
|
export type { TransakServiceActions, TransakServiceEvents, TransakServiceMessenger, TransakAccessToken, TransakUserDetails, TransakUserDetailsAddress, TransakUserDetailsKycDetails, TransakBuyQuote, TransakKycRequirement, TransakAdditionalRequirement, TransakAdditionalRequirementsResponse, TransakOttResponse, TransakOrderPaymentMethod, TransakDepositOrder, TransakDepositNetwork, TransakDepositCryptoCurrency, TransakDepositPaymentMethod, TransakDepositRegion, TransakOrder, TransakQuoteTranslation, TransakTranslationRequest, TransakUserLimits, TransakIdProofStatus, PatchUserRequestBody as TransakPatchUserRequestBody, } from "./TransakService.mjs";
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,sBAAsB,EACtB,qBAAqB,EACrB,6BAA6B,EAC7B,wBAAwB,EACxB,oBAAoB,EACpB,+BAA+B,EAC/B,sCAAsC,EACtC,sBAAsB,EACtB,gCAAgC,EAChC,UAAU,EACV,aAAa,EACb,YAAY,EACZ,oBAAoB,GACrB,8BAA6B;AAC9B,YAAY,EACV,mCAAmC,EACnC,iCAAiC,EACjC,oCAAoC,EACpC,kCAAkC,EAClC,wCAAwC,EACxC,gDAAgD,EAChD,yBAAyB,EACzB,iCAAiC,EACjC,8BAA8B,EAC9B,qCAAqC,EACrC,iCAAiC,EACjC,sCAAsC,EACtC,gDAAgD,EAChD,6CAA6C,EAC7C,8BAA8B,EAC9B,6BAA6B,EAC7B,gCAAgC,EAChC,sCAAsC,EACtC,qCAAqC,EACrC,qCAAqC,EACrC,uCAAuC,EACvC,6BAA6B,EAC7B,yCAAyC,EACzC,qCAAqC,EACrC,0CAA0C,EAC1C,4CAA4C,EAC5C,4CAA4C,EAC5C,sCAAsC,EACtC,uCAAuC,EACvC,yCAAyC,EACzC,kCAAkC,EAClC,0CAA0C,EAC1C,uCAAuC,EACvC,6CAA6C,EAC7C,qDAAqD,EACrD,uCAAuC,EACvC,oCAAoC,EACpC,yCAAyC,EACzC,sCAAsC,EACtC,oDAAoD,EACpD,oDAAoD,EACpD,qCAAqC,EACrC,4CAA4C,EAC5C,0CAA0C,EAC1C,0CAA0C,EAC1C,4CAA4C,EAC5C,uCAAuC,EACvC,iDAAiD,EACjD,2CAA2C,GAC5C,kDAAiD;AAClD,OAAO,EACL,eAAe,EACf,8BAA8B,EAC9B,oBAAoB,EACpB,yCAAyC,GAC1C,8BAA6B;AAC9B,YAAY,EACV,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,OAAO,EACP,KAAK,EACL,gBAAgB,EAChB,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,sBAAsB,EACtB,KAAK,EACL,UAAU,EACV,WAAW,EACX,cAAc,EACd,sBAAsB,EACtB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,UAAU,EACV,cAAc,EACd,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,GACnB,2BAA0B;AAC3B,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,6BAA6B,GAC9B,2BAA0B;AAC3B,YAAY,EAAE,mBAAmB,EAAE,8BAA6B;AAChE,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,EAC1B,0BAA0B,GAC3B,8BAA6B;AAC9B,YAAY,EACV,+CAA+C,EAC/C,gCAAgC,EAChC,8BAA8B,EAC9B,mCAAmC,EACnC,2BAA2B,EAC3B,iCAAiC,EACjC,0BAA0B,EAC1B,sCAAsC,GACvC,+CAA8C;AAC/C,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,qBAAqB,EACrB,cAAc,EACd,YAAY,GACb,2BAA0B;AAC3B,YAAY,EAAE,cAAc,EAAE,8BAA6B;AAC3D,OAAO,EACL,aAAa,EACb,yBAAyB,EACzB,8BAA8B,EAC9B,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,GACjB,2BAA0B;AAC3B,OAAO,EAAE,iBAAiB,EAAE,8BAA6B;AACzD,YAAY,EAAE,qBAAqB,EAAE,wBAAuB;AAC5D,OAAO,EAAE,qBAAqB,EAAE,wBAAuB;AACvD,YAAY,EAAE,0BAA0B,EAAE,2BAA0B;AACpE,OAAO,EACL,sCAAsC,EACtC,qCAAqC,EACrC,4BAA4B,EAC5B,6BAA6B,GAC9B,2BAA0B;AAC3B,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,GACvB,mCAAkC;AACnC,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,GACjB,kCAAiC;AAClC,OAAO,EACL,uBAAuB,EACvB,qBAAqB,GACtB,0BAAyB;AAC1B,YAAY,EAAE,UAAU,EAAE,iCAAgC;AAC1D,OAAO,EACL,eAAe,EACf,yBAAyB,EACzB,qBAAqB,GACtB,iCAAgC;AACjC,YAAY,EACV,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,4BAA4B,EAC5B,eAAe,EACf,qBAAqB,EACrB,4BAA4B,EAC5B,qCAAqC,EACrC,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,EACnB,qBAAqB,EACrB,4BAA4B,EAC5B,2BAA2B,EAC3B,oBAAoB,EACpB,YAAY,EACZ,uBAAuB,EACvB,yBAAyB,EACzB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,IAAI,2BAA2B,GACpD,6BAA4B;AAC7B,OAAO,EACL,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,yBAAyB,GAC1B,6BAA4B;AAC7B,OAAO,EACL,oBAAoB,EACpB,6BAA6B,GAC9B,mCAAkC;AACnC,YAAY,EACV,2BAA2B,EAC3B,+BAA+B,EAC/B,iCAAiC,EACjC,kCAAkC,EAClC,+BAA+B,EAC/B,qCAAqC,EACrC,+BAA+B,EAC/B,4BAA4B,EAC5B,8BAA8B,EAC9B,4CAA4C,EAC5C,mCAAmC,GACpC,iDAAgD"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
export { RampsController, getDefaultRampsControllerState, getInternalOrderCode, RAMPS_CONTROLLER_REQUIRED_SERVICE_ACTIONS } from "./RampsController.mjs";
|
|
2
2
|
export { RampsService, RampsEnvironment, RampsApiService, RampsOrderStatus, RAMPS_SDK_VERSION, getDefaultRedirectCallbackUrl } from "./RampsService.mjs";
|
|
3
|
+
export { addRampsClientIdentityParams, RAMPS_CLIENT_PRODUCT_PARAM, RAMPS_CLIENT_VERSION_PARAM } from "./client-identity.mjs";
|
|
3
4
|
export { RequestStatus, DEFAULT_REQUEST_CACHE_TTL, DEFAULT_REQUEST_CACHE_MAX_SIZE, createCacheKey, isCacheExpired, createLoadingState, createSuccessState, createErrorState } from "./RequestCache.mjs";
|
|
4
5
|
export { RAMPS_ERROR_CODES } from "./rampsErrorCodes.mjs";
|
|
5
6
|
export { createRequestSelector } from "./selectors.mjs";
|
|
6
7
|
export { HEADLESS_ALL_PROVIDERS_FEATURE_VERSION, MONEY_HEADLESS_ALL_PROVIDERS_FLAG_KEY, getHeadlessProviderAllowlist, isHeadlessAllProvidersEnabled } from "./featureFlags.mjs";
|
|
7
|
-
export { providerServesAsset, getProvidersServingAsset, regionHasProviderForAsset, isFiatDepositAvailable } from "./providerAvailability.mjs";
|
|
8
|
+
export { normalizeRampsAssetId, providerServesAsset, getProvidersServingAsset, regionHasProviderForAsset, isFiatDepositAvailable } from "./providerAvailability.mjs";
|
|
8
9
|
export { isExternalBrowserQuote, isCustomActionQuote, isInAppOnlyQuote } from "./quoteClassification.mjs";
|
|
10
|
+
export { TERMINAL_ORDER_STATUSES, isTerminalOrderStatus } from "./orderStatus.mjs";
|
|
9
11
|
export { getErrorMessage, extractExplicitTypedError, normalizeToTypedError } from "./errorNormalization.mjs";
|
|
10
12
|
export { TransakApiError, TransakService, TransakEnvironment, TransakOrderIdTransformer } from "./TransakService.mjs";
|
|
11
13
|
export { getTransakApiMessage, isTransakPhoneRegisteredError } from "./transakApiErrorUtils.mjs";
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAkEA,OAAO,EACL,eAAe,EACf,8BAA8B,EAC9B,oBAAoB,EACpB,yCAAyC,EAC1C,8BAA6B;AAuC9B,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,6BAA6B,EAC9B,2BAA0B;AAE3B,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,EAC1B,0BAA0B,EAC3B,8BAA6B;AAmB9B,OAAO,EACL,aAAa,EACb,yBAAyB,EACzB,8BAA8B,EAC9B,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EACjB,2BAA0B;AAC3B,OAAO,EAAE,iBAAiB,EAAE,8BAA6B;AAEzD,OAAO,EAAE,qBAAqB,EAAE,wBAAuB;AAEvD,OAAO,EACL,sCAAsC,EACtC,qCAAqC,EACrC,4BAA4B,EAC5B,6BAA6B,EAC9B,2BAA0B;AAC3B,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACvB,mCAAkC;AACnC,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EACjB,kCAAiC;AAClC,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACtB,0BAAyB;AAE1B,OAAO,EACL,eAAe,EACf,yBAAyB,EACzB,qBAAqB,EACtB,iCAAgC;AA2BjC,OAAO,EACL,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,yBAAyB,EAC1B,6BAA4B;AAC7B,OAAO,EACL,oBAAoB,EACpB,6BAA6B,EAC9B,mCAAkC","sourcesContent":["export type {\n RampsControllerActions,\n RampsControllerEvents,\n RampsControllerGetStateAction,\n RampsControllerMessenger,\n RampsControllerState,\n RampsControllerStateChangeEvent,\n RampsControllerOrderStatusChangedEvent,\n RampsControllerOptions,\n PaymentMethodsForContextResponse,\n UserRegion,\n ResourceState,\n TransakState,\n NativeProvidersState,\n} from './RampsController.js';\nexport type {\n RampsControllerExecuteRequestAction,\n RampsControllerAbortRequestAction,\n RampsControllerGetRequestStateAction,\n RampsControllerSetUserRegionAction,\n RampsControllerSetSelectedProviderAction,\n RampsControllerSetSelectedProviderForAssetAction,\n RampsControllerInitAction,\n RampsControllerGetCountriesAction,\n RampsControllerGetTokensAction,\n RampsControllerSetSelectedTokenAction,\n RampsControllerGetProvidersAction,\n RampsControllerGetPaymentMethodsAction,\n RampsControllerGetPaymentMethodsForContextAction,\n RampsControllerSetSelectedPaymentMethodAction,\n RampsControllerGetQuotesAction,\n RampsControllerAddOrderAction,\n RampsControllerRemoveOrderAction,\n RampsControllerStartOrderPollingAction,\n RampsControllerStopOrderPollingAction,\n RampsControllerGetBuyWidgetDataAction,\n RampsControllerAddPrecreatedOrderAction,\n RampsControllerGetOrderAction,\n RampsControllerGetOrderFromCallbackAction,\n RampsControllerTransakSetApiKeyAction,\n RampsControllerTransakSetAccessTokenAction,\n RampsControllerTransakClearAccessTokenAction,\n RampsControllerTransakSetAuthenticatedAction,\n RampsControllerTransakResetStateAction,\n RampsControllerTransakSendUserOtpAction,\n RampsControllerTransakVerifyUserOtpAction,\n RampsControllerTransakLogoutAction,\n RampsControllerTransakGetUserDetailsAction,\n RampsControllerTransakGetBuyQuoteAction,\n RampsControllerTransakGetKycRequirementAction,\n RampsControllerTransakGetAdditionalRequirementsAction,\n RampsControllerTransakCreateOrderAction,\n RampsControllerTransakGetOrderAction,\n RampsControllerTransakGetUserLimitsAction,\n RampsControllerTransakRequestOttAction,\n RampsControllerTransakGeneratePaymentWidgetUrlAction,\n RampsControllerTransakSubmitPurposeOfUsageFormAction,\n RampsControllerTransakPatchUserAction,\n RampsControllerTransakSubmitSsnDetailsAction,\n RampsControllerTransakConfirmPaymentAction,\n RampsControllerTransakGetTranslationAction,\n RampsControllerTransakGetIdProofStatusAction,\n RampsControllerTransakCancelOrderAction,\n RampsControllerTransakCancelAllActiveOrdersAction,\n RampsControllerTransakGetActiveOrdersAction,\n} from './RampsController-method-action-types.js';\nexport {\n RampsController,\n getDefaultRampsControllerState,\n getInternalOrderCode,\n RAMPS_CONTROLLER_REQUIRED_SERVICE_ACTIONS,\n} from './RampsController.js';\nexport type {\n RampsServiceActions,\n RampsServiceEvents,\n RampsServiceMessenger,\n Country,\n State,\n SupportedActions,\n CountryPhone,\n Provider,\n ProviderLink,\n ProviderLogos,\n ProviderBrowserType,\n ProviderLimit,\n ProviderFiatLimits,\n ProviderLimits,\n ProviderSortOrder,\n ProvidersResponse,\n RampAction,\n PaymentMethod,\n PaymentMethodsResponse,\n Quote,\n QuoteError,\n QuoteSortBy,\n QuoteSortOrder,\n QuoteCryptoTranslation,\n QuoteCustomAction,\n QuotesResponse,\n GetQuotesParams,\n RampsToken,\n TokensResponse,\n BuyWidget,\n RampsOrder,\n RampsOrderNetwork,\n RampsOrderCryptoCurrency,\n RampsOrderFiatCurrency,\n RampsOrderPaymentMethod,\n OrderPaymentDetail,\n} from './RampsService.js';\nexport {\n RampsService,\n RampsEnvironment,\n RampsApiService,\n RampsOrderStatus,\n RAMPS_SDK_VERSION,\n getDefaultRedirectCallbackUrl,\n} from './RampsService.js';\nexport type { RampsClientIdentity } from './client-identity.js';\nexport {\n addRampsClientIdentityParams,\n RAMPS_CLIENT_PRODUCT_PARAM,\n RAMPS_CLIENT_VERSION_PARAM,\n} from './client-identity.js';\nexport type {\n RampsServiceGetDefaultRedirectCallbackUrlAction,\n RampsServiceGetGeolocationAction,\n RampsServiceGetCountriesAction,\n RampsServiceGetPaymentMethodsAction,\n RampsServiceGetQuotesAction,\n RampsServiceGetBuyWidgetUrlAction,\n RampsServiceGetOrderAction,\n RampsServiceGetOrderFromCallbackAction,\n} from './RampsService-method-action-types.js';\nexport type {\n RequestCache,\n RequestState,\n ExecuteRequestOptions,\n PendingRequest,\n ResourceType,\n} from './RequestCache.js';\nexport type { RampsErrorCode } from './rampsErrorCodes.js';\nexport {\n RequestStatus,\n DEFAULT_REQUEST_CACHE_TTL,\n DEFAULT_REQUEST_CACHE_MAX_SIZE,\n createCacheKey,\n isCacheExpired,\n createLoadingState,\n createSuccessState,\n createErrorState,\n} from './RequestCache.js';\nexport { RAMPS_ERROR_CODES } from './rampsErrorCodes.js';\nexport type { RequestSelectorResult } from './selectors.js';\nexport { createRequestSelector } from './selectors.js';\nexport type { HeadlessFeatureFlagsLookup } from './featureFlags.js';\nexport {\n HEADLESS_ALL_PROVIDERS_FEATURE_VERSION,\n MONEY_HEADLESS_ALL_PROVIDERS_FLAG_KEY,\n getHeadlessProviderAllowlist,\n isHeadlessAllProvidersEnabled,\n} from './featureFlags.js';\nexport {\n normalizeRampsAssetId,\n providerServesAsset,\n getProvidersServingAsset,\n regionHasProviderForAsset,\n isFiatDepositAvailable,\n} from './providerAvailability.js';\nexport {\n isExternalBrowserQuote,\n isCustomActionQuote,\n isInAppOnlyQuote,\n} from './quoteClassification.js';\nexport {\n TERMINAL_ORDER_STATUSES,\n isTerminalOrderStatus,\n} from './orderStatus.js';\nexport type { TypedError } from './errorNormalization.js';\nexport {\n getErrorMessage,\n extractExplicitTypedError,\n normalizeToTypedError,\n} from './errorNormalization.js';\nexport type {\n TransakServiceActions,\n TransakServiceEvents,\n TransakServiceMessenger,\n TransakAccessToken,\n TransakUserDetails,\n TransakUserDetailsAddress,\n TransakUserDetailsKycDetails,\n TransakBuyQuote,\n TransakKycRequirement,\n TransakAdditionalRequirement,\n TransakAdditionalRequirementsResponse,\n TransakOttResponse,\n TransakOrderPaymentMethod,\n TransakDepositOrder,\n TransakDepositNetwork,\n TransakDepositCryptoCurrency,\n TransakDepositPaymentMethod,\n TransakDepositRegion,\n TransakOrder,\n TransakQuoteTranslation,\n TransakTranslationRequest,\n TransakUserLimits,\n TransakIdProofStatus,\n PatchUserRequestBody as TransakPatchUserRequestBody,\n} from './TransakService.js';\nexport {\n TransakApiError,\n TransakService,\n TransakEnvironment,\n TransakOrderIdTransformer,\n} from './TransakService.js';\nexport {\n getTransakApiMessage,\n isTransakPhoneRegisteredError,\n} from './transakApiErrorUtils.js';\nexport type {\n TransakServiceMethodActions,\n TransakServiceSendUserOtpAction,\n TransakServiceVerifyUserOtpAction,\n TransakServiceGetUserDetailsAction,\n TransakServiceGetBuyQuoteAction,\n TransakServiceGetKycRequirementAction,\n TransakServiceCreateOrderAction,\n TransakServiceGetOrderAction,\n TransakServiceRequestOttAction,\n TransakServiceGeneratePaymentWidgetUrlAction,\n TransakServiceCreateWidgetUrlAction,\n} from './TransakService-method-action-types.js';\n"]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PENDING_ORDER_STATUSES = exports.isTerminalOrderStatus = exports.TERMINAL_ORDER_STATUSES = void 0;
|
|
4
|
+
const RampsService_js_1 = require("./RampsService.cjs");
|
|
5
|
+
/**
|
|
6
|
+
* Order statuses that no longer require polling or in-flow navigation.
|
|
7
|
+
* Shared by the controller and consuming clients so terminal checks stay in sync.
|
|
8
|
+
*/
|
|
9
|
+
exports.TERMINAL_ORDER_STATUSES = new Set([
|
|
10
|
+
RampsService_js_1.RampsOrderStatus.Completed,
|
|
11
|
+
RampsService_js_1.RampsOrderStatus.Failed,
|
|
12
|
+
RampsService_js_1.RampsOrderStatus.Cancelled,
|
|
13
|
+
RampsService_js_1.RampsOrderStatus.IdExpired,
|
|
14
|
+
]);
|
|
15
|
+
/**
|
|
16
|
+
* Whether a ramps order has reached a terminal status.
|
|
17
|
+
*
|
|
18
|
+
* @param status - The order status to test.
|
|
19
|
+
* @returns Whether the status is terminal.
|
|
20
|
+
*/
|
|
21
|
+
function isTerminalOrderStatus(status) {
|
|
22
|
+
return exports.TERMINAL_ORDER_STATUSES.has(status);
|
|
23
|
+
}
|
|
24
|
+
exports.isTerminalOrderStatus = isTerminalOrderStatus;
|
|
25
|
+
/**
|
|
26
|
+
* Order statuses that are still in progress and may be polled.
|
|
27
|
+
*/
|
|
28
|
+
exports.PENDING_ORDER_STATUSES = new Set([
|
|
29
|
+
RampsService_js_1.RampsOrderStatus.Pending,
|
|
30
|
+
RampsService_js_1.RampsOrderStatus.Created,
|
|
31
|
+
RampsService_js_1.RampsOrderStatus.Unknown,
|
|
32
|
+
RampsService_js_1.RampsOrderStatus.Precreated,
|
|
33
|
+
]);
|
|
34
|
+
//# sourceMappingURL=orderStatus.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orderStatus.cjs","sourceRoot":"","sources":["../src/orderStatus.ts"],"names":[],"mappings":";;;AAAA,wDAAqD;AAErD;;;GAGG;AACU,QAAA,uBAAuB,GAAkC,IAAI,GAAG,CAAC;IAC5E,kCAAgB,CAAC,SAAS;IAC1B,kCAAgB,CAAC,MAAM;IACvB,kCAAgB,CAAC,SAAS;IAC1B,kCAAgB,CAAC,SAAS;CAC3B,CAAC,CAAC;AAEH;;;;;GAKG;AACH,SAAgB,qBAAqB,CAAC,MAAwB;IAC5D,OAAO,+BAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC7C,CAAC;AAFD,sDAEC;AAED;;GAEG;AACU,QAAA,sBAAsB,GAAkC,IAAI,GAAG,CAAC;IAC3E,kCAAgB,CAAC,OAAO;IACxB,kCAAgB,CAAC,OAAO;IACxB,kCAAgB,CAAC,OAAO;IACxB,kCAAgB,CAAC,UAAU;CAC5B,CAAC,CAAC","sourcesContent":["import { RampsOrderStatus } from './RampsService.js';\n\n/**\n * Order statuses that no longer require polling or in-flow navigation.\n * Shared by the controller and consuming clients so terminal checks stay in sync.\n */\nexport const TERMINAL_ORDER_STATUSES: ReadonlySet<RampsOrderStatus> = new Set([\n RampsOrderStatus.Completed,\n RampsOrderStatus.Failed,\n RampsOrderStatus.Cancelled,\n RampsOrderStatus.IdExpired,\n]);\n\n/**\n * Whether a ramps order has reached a terminal status.\n *\n * @param status - The order status to test.\n * @returns Whether the status is terminal.\n */\nexport function isTerminalOrderStatus(status: RampsOrderStatus): boolean {\n return TERMINAL_ORDER_STATUSES.has(status);\n}\n\n/**\n * Order statuses that are still in progress and may be polled.\n */\nexport const PENDING_ORDER_STATUSES: ReadonlySet<RampsOrderStatus> = new Set([\n RampsOrderStatus.Pending,\n RampsOrderStatus.Created,\n RampsOrderStatus.Unknown,\n RampsOrderStatus.Precreated,\n]);\n"]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { RampsOrderStatus } from "./RampsService.cjs";
|
|
2
|
+
/**
|
|
3
|
+
* Order statuses that no longer require polling or in-flow navigation.
|
|
4
|
+
* Shared by the controller and consuming clients so terminal checks stay in sync.
|
|
5
|
+
*/
|
|
6
|
+
export declare const TERMINAL_ORDER_STATUSES: ReadonlySet<RampsOrderStatus>;
|
|
7
|
+
/**
|
|
8
|
+
* Whether a ramps order has reached a terminal status.
|
|
9
|
+
*
|
|
10
|
+
* @param status - The order status to test.
|
|
11
|
+
* @returns Whether the status is terminal.
|
|
12
|
+
*/
|
|
13
|
+
export declare function isTerminalOrderStatus(status: RampsOrderStatus): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Order statuses that are still in progress and may be polled.
|
|
16
|
+
*/
|
|
17
|
+
export declare const PENDING_ORDER_STATUSES: ReadonlySet<RampsOrderStatus>;
|
|
18
|
+
//# sourceMappingURL=orderStatus.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orderStatus.d.cts","sourceRoot":"","sources":["../src/orderStatus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,2BAA0B;AAErD;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,WAAW,CAAC,gBAAgB,CAKhE,CAAC;AAEH;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAEvE;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,WAAW,CAAC,gBAAgB,CAK/D,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { RampsOrderStatus } from "./RampsService.mjs";
|
|
2
|
+
/**
|
|
3
|
+
* Order statuses that no longer require polling or in-flow navigation.
|
|
4
|
+
* Shared by the controller and consuming clients so terminal checks stay in sync.
|
|
5
|
+
*/
|
|
6
|
+
export declare const TERMINAL_ORDER_STATUSES: ReadonlySet<RampsOrderStatus>;
|
|
7
|
+
/**
|
|
8
|
+
* Whether a ramps order has reached a terminal status.
|
|
9
|
+
*
|
|
10
|
+
* @param status - The order status to test.
|
|
11
|
+
* @returns Whether the status is terminal.
|
|
12
|
+
*/
|
|
13
|
+
export declare function isTerminalOrderStatus(status: RampsOrderStatus): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Order statuses that are still in progress and may be polled.
|
|
16
|
+
*/
|
|
17
|
+
export declare const PENDING_ORDER_STATUSES: ReadonlySet<RampsOrderStatus>;
|
|
18
|
+
//# sourceMappingURL=orderStatus.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orderStatus.d.mts","sourceRoot":"","sources":["../src/orderStatus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,2BAA0B;AAErD;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,WAAW,CAAC,gBAAgB,CAKhE,CAAC;AAEH;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAEvE;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,WAAW,CAAC,gBAAgB,CAK/D,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { RampsOrderStatus } from "./RampsService.mjs";
|
|
2
|
+
/**
|
|
3
|
+
* Order statuses that no longer require polling or in-flow navigation.
|
|
4
|
+
* Shared by the controller and consuming clients so terminal checks stay in sync.
|
|
5
|
+
*/
|
|
6
|
+
export const TERMINAL_ORDER_STATUSES = new Set([
|
|
7
|
+
RampsOrderStatus.Completed,
|
|
8
|
+
RampsOrderStatus.Failed,
|
|
9
|
+
RampsOrderStatus.Cancelled,
|
|
10
|
+
RampsOrderStatus.IdExpired,
|
|
11
|
+
]);
|
|
12
|
+
/**
|
|
13
|
+
* Whether a ramps order has reached a terminal status.
|
|
14
|
+
*
|
|
15
|
+
* @param status - The order status to test.
|
|
16
|
+
* @returns Whether the status is terminal.
|
|
17
|
+
*/
|
|
18
|
+
export function isTerminalOrderStatus(status) {
|
|
19
|
+
return TERMINAL_ORDER_STATUSES.has(status);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Order statuses that are still in progress and may be polled.
|
|
23
|
+
*/
|
|
24
|
+
export const PENDING_ORDER_STATUSES = new Set([
|
|
25
|
+
RampsOrderStatus.Pending,
|
|
26
|
+
RampsOrderStatus.Created,
|
|
27
|
+
RampsOrderStatus.Unknown,
|
|
28
|
+
RampsOrderStatus.Precreated,
|
|
29
|
+
]);
|
|
30
|
+
//# sourceMappingURL=orderStatus.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orderStatus.mjs","sourceRoot":"","sources":["../src/orderStatus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,2BAA0B;AAErD;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAkC,IAAI,GAAG,CAAC;IAC5E,gBAAgB,CAAC,SAAS;IAC1B,gBAAgB,CAAC,MAAM;IACvB,gBAAgB,CAAC,SAAS;IAC1B,gBAAgB,CAAC,SAAS;CAC3B,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAwB;IAC5D,OAAO,uBAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAkC,IAAI,GAAG,CAAC;IAC3E,gBAAgB,CAAC,OAAO;IACxB,gBAAgB,CAAC,OAAO;IACxB,gBAAgB,CAAC,OAAO;IACxB,gBAAgB,CAAC,UAAU;CAC5B,CAAC,CAAC","sourcesContent":["import { RampsOrderStatus } from './RampsService.js';\n\n/**\n * Order statuses that no longer require polling or in-flow navigation.\n * Shared by the controller and consuming clients so terminal checks stay in sync.\n */\nexport const TERMINAL_ORDER_STATUSES: ReadonlySet<RampsOrderStatus> = new Set([\n RampsOrderStatus.Completed,\n RampsOrderStatus.Failed,\n RampsOrderStatus.Cancelled,\n RampsOrderStatus.IdExpired,\n]);\n\n/**\n * Whether a ramps order has reached a terminal status.\n *\n * @param status - The order status to test.\n * @returns Whether the status is terminal.\n */\nexport function isTerminalOrderStatus(status: RampsOrderStatus): boolean {\n return TERMINAL_ORDER_STATUSES.has(status);\n}\n\n/**\n * Order statuses that are still in progress and may be polled.\n */\nexport const PENDING_ORDER_STATUSES: ReadonlySet<RampsOrderStatus> = new Set([\n RampsOrderStatus.Pending,\n RampsOrderStatus.Created,\n RampsOrderStatus.Unknown,\n RampsOrderStatus.Precreated,\n]);\n"]}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mergePaymentMethodsById = exports.pickPaymentMethod = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Merges payment-method lists from multiple providers into one list keyed by
|
|
6
|
+
* canonical payment method `id`.
|
|
7
|
+
*
|
|
8
|
+
* First seen wins on collision. Payment metadata is provider-invariant: the
|
|
9
|
+
* API serves it from a per-region catalog and the `provider` query narrows
|
|
10
|
+
* that catalog by id-set membership without rewriting fields, so colliding
|
|
11
|
+
* entries carry identical values.
|
|
12
|
+
*
|
|
13
|
+
* Encounter order of first-seen ids is preserved (provider fan-out order).
|
|
14
|
+
*
|
|
15
|
+
* @param lists - Payment method arrays in provider contribution order.
|
|
16
|
+
* @returns Deduped payment methods.
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* Picks the payment method to select: the first `preferredIds` entry still
|
|
20
|
+
* present in `methods`, otherwise the first method.
|
|
21
|
+
*
|
|
22
|
+
* @param methods - Candidate payment methods, in display order.
|
|
23
|
+
* @param preferredIds - Preferred ids in priority order; falsy ids are skipped.
|
|
24
|
+
* @returns The selection, or null when `methods` is empty.
|
|
25
|
+
*/
|
|
26
|
+
function pickPaymentMethod(methods, preferredIds) {
|
|
27
|
+
for (const id of preferredIds) {
|
|
28
|
+
const match = id ? methods.find((method) => method.id === id) : undefined;
|
|
29
|
+
if (match) {
|
|
30
|
+
return match;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return methods[0] ?? null;
|
|
34
|
+
}
|
|
35
|
+
exports.pickPaymentMethod = pickPaymentMethod;
|
|
36
|
+
function mergePaymentMethodsById(lists) {
|
|
37
|
+
if (lists.length === 1) {
|
|
38
|
+
return lists[0];
|
|
39
|
+
}
|
|
40
|
+
const byId = new Map();
|
|
41
|
+
for (const list of lists) {
|
|
42
|
+
for (const method of list) {
|
|
43
|
+
if (!byId.has(method.id)) {
|
|
44
|
+
byId.set(method.id, { ...method });
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return [...byId.values()];
|
|
49
|
+
}
|
|
50
|
+
exports.mergePaymentMethodsById = mergePaymentMethodsById;
|
|
51
|
+
//# sourceMappingURL=paymentMethodMerge.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paymentMethodMerge.cjs","sourceRoot":"","sources":["../src/paymentMethodMerge.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;;;;;GAaG;AACH;;;;;;;GAOG;AACH,SAAgB,iBAAiB,CAC/B,OAAwB,EACxB,YAAoC;IAEpC,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC5B,CAAC;AAXD,8CAWC;AAED,SAAgB,uBAAuB,CACrC,KAAwB;IAExB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,GAAG,EAAyB,CAAC;IAE9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAC5B,CAAC;AAlBD,0DAkBC","sourcesContent":["import type { PaymentMethod } from './RampsService.js';\n\n/**\n * Merges payment-method lists from multiple providers into one list keyed by\n * canonical payment method `id`.\n *\n * First seen wins on collision. Payment metadata is provider-invariant: the\n * API serves it from a per-region catalog and the `provider` query narrows\n * that catalog by id-set membership without rewriting fields, so colliding\n * entries carry identical values.\n *\n * Encounter order of first-seen ids is preserved (provider fan-out order).\n *\n * @param lists - Payment method arrays in provider contribution order.\n * @returns Deduped payment methods.\n */\n/**\n * Picks the payment method to select: the first `preferredIds` entry still\n * present in `methods`, otherwise the first method.\n *\n * @param methods - Candidate payment methods, in display order.\n * @param preferredIds - Preferred ids in priority order; falsy ids are skipped.\n * @returns The selection, or null when `methods` is empty.\n */\nexport function pickPaymentMethod(\n methods: PaymentMethod[],\n preferredIds: (string | undefined)[],\n): PaymentMethod | null {\n for (const id of preferredIds) {\n const match = id ? methods.find((method) => method.id === id) : undefined;\n if (match) {\n return match;\n }\n }\n return methods[0] ?? null;\n}\n\nexport function mergePaymentMethodsById(\n lists: PaymentMethod[][],\n): PaymentMethod[] {\n if (lists.length === 1) {\n return lists[0];\n }\n\n const byId = new Map<string, PaymentMethod>();\n\n for (const list of lists) {\n for (const method of list) {\n if (!byId.has(method.id)) {\n byId.set(method.id, { ...method });\n }\n }\n }\n\n return [...byId.values()];\n}\n"]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { PaymentMethod } from "./RampsService.cjs";
|
|
2
|
+
/**
|
|
3
|
+
* Merges payment-method lists from multiple providers into one list keyed by
|
|
4
|
+
* canonical payment method `id`.
|
|
5
|
+
*
|
|
6
|
+
* First seen wins on collision. Payment metadata is provider-invariant: the
|
|
7
|
+
* API serves it from a per-region catalog and the `provider` query narrows
|
|
8
|
+
* that catalog by id-set membership without rewriting fields, so colliding
|
|
9
|
+
* entries carry identical values.
|
|
10
|
+
*
|
|
11
|
+
* Encounter order of first-seen ids is preserved (provider fan-out order).
|
|
12
|
+
*
|
|
13
|
+
* @param lists - Payment method arrays in provider contribution order.
|
|
14
|
+
* @returns Deduped payment methods.
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Picks the payment method to select: the first `preferredIds` entry still
|
|
18
|
+
* present in `methods`, otherwise the first method.
|
|
19
|
+
*
|
|
20
|
+
* @param methods - Candidate payment methods, in display order.
|
|
21
|
+
* @param preferredIds - Preferred ids in priority order; falsy ids are skipped.
|
|
22
|
+
* @returns The selection, or null when `methods` is empty.
|
|
23
|
+
*/
|
|
24
|
+
export declare function pickPaymentMethod(methods: PaymentMethod[], preferredIds: (string | undefined)[]): PaymentMethod | null;
|
|
25
|
+
export declare function mergePaymentMethodsById(lists: PaymentMethod[][]): PaymentMethod[];
|
|
26
|
+
//# sourceMappingURL=paymentMethodMerge.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paymentMethodMerge.d.cts","sourceRoot":"","sources":["../src/paymentMethodMerge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,2BAA0B;AAEvD;;;;;;;;;;;;;GAaG;AACH;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,aAAa,EAAE,EACxB,YAAY,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,GACnC,aAAa,GAAG,IAAI,CAQtB;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,aAAa,EAAE,EAAE,GACvB,aAAa,EAAE,CAgBjB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { PaymentMethod } from "./RampsService.mjs";
|
|
2
|
+
/**
|
|
3
|
+
* Merges payment-method lists from multiple providers into one list keyed by
|
|
4
|
+
* canonical payment method `id`.
|
|
5
|
+
*
|
|
6
|
+
* First seen wins on collision. Payment metadata is provider-invariant: the
|
|
7
|
+
* API serves it from a per-region catalog and the `provider` query narrows
|
|
8
|
+
* that catalog by id-set membership without rewriting fields, so colliding
|
|
9
|
+
* entries carry identical values.
|
|
10
|
+
*
|
|
11
|
+
* Encounter order of first-seen ids is preserved (provider fan-out order).
|
|
12
|
+
*
|
|
13
|
+
* @param lists - Payment method arrays in provider contribution order.
|
|
14
|
+
* @returns Deduped payment methods.
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Picks the payment method to select: the first `preferredIds` entry still
|
|
18
|
+
* present in `methods`, otherwise the first method.
|
|
19
|
+
*
|
|
20
|
+
* @param methods - Candidate payment methods, in display order.
|
|
21
|
+
* @param preferredIds - Preferred ids in priority order; falsy ids are skipped.
|
|
22
|
+
* @returns The selection, or null when `methods` is empty.
|
|
23
|
+
*/
|
|
24
|
+
export declare function pickPaymentMethod(methods: PaymentMethod[], preferredIds: (string | undefined)[]): PaymentMethod | null;
|
|
25
|
+
export declare function mergePaymentMethodsById(lists: PaymentMethod[][]): PaymentMethod[];
|
|
26
|
+
//# sourceMappingURL=paymentMethodMerge.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paymentMethodMerge.d.mts","sourceRoot":"","sources":["../src/paymentMethodMerge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,2BAA0B;AAEvD;;;;;;;;;;;;;GAaG;AACH;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,aAAa,EAAE,EACxB,YAAY,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,GACnC,aAAa,GAAG,IAAI,CAQtB;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,aAAa,EAAE,EAAE,GACvB,aAAa,EAAE,CAgBjB"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Merges payment-method lists from multiple providers into one list keyed by
|
|
3
|
+
* canonical payment method `id`.
|
|
4
|
+
*
|
|
5
|
+
* First seen wins on collision. Payment metadata is provider-invariant: the
|
|
6
|
+
* API serves it from a per-region catalog and the `provider` query narrows
|
|
7
|
+
* that catalog by id-set membership without rewriting fields, so colliding
|
|
8
|
+
* entries carry identical values.
|
|
9
|
+
*
|
|
10
|
+
* Encounter order of first-seen ids is preserved (provider fan-out order).
|
|
11
|
+
*
|
|
12
|
+
* @param lists - Payment method arrays in provider contribution order.
|
|
13
|
+
* @returns Deduped payment methods.
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Picks the payment method to select: the first `preferredIds` entry still
|
|
17
|
+
* present in `methods`, otherwise the first method.
|
|
18
|
+
*
|
|
19
|
+
* @param methods - Candidate payment methods, in display order.
|
|
20
|
+
* @param preferredIds - Preferred ids in priority order; falsy ids are skipped.
|
|
21
|
+
* @returns The selection, or null when `methods` is empty.
|
|
22
|
+
*/
|
|
23
|
+
export function pickPaymentMethod(methods, preferredIds) {
|
|
24
|
+
for (const id of preferredIds) {
|
|
25
|
+
const match = id ? methods.find((method) => method.id === id) : undefined;
|
|
26
|
+
if (match) {
|
|
27
|
+
return match;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return methods[0] ?? null;
|
|
31
|
+
}
|
|
32
|
+
export function mergePaymentMethodsById(lists) {
|
|
33
|
+
if (lists.length === 1) {
|
|
34
|
+
return lists[0];
|
|
35
|
+
}
|
|
36
|
+
const byId = new Map();
|
|
37
|
+
for (const list of lists) {
|
|
38
|
+
for (const method of list) {
|
|
39
|
+
if (!byId.has(method.id)) {
|
|
40
|
+
byId.set(method.id, { ...method });
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return [...byId.values()];
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=paymentMethodMerge.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paymentMethodMerge.mjs","sourceRoot":"","sources":["../src/paymentMethodMerge.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AACH;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAwB,EACxB,YAAoC;IAEpC,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,KAAwB;IAExB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,GAAG,EAAyB,CAAC;IAE9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAC5B,CAAC","sourcesContent":["import type { PaymentMethod } from './RampsService.js';\n\n/**\n * Merges payment-method lists from multiple providers into one list keyed by\n * canonical payment method `id`.\n *\n * First seen wins on collision. Payment metadata is provider-invariant: the\n * API serves it from a per-region catalog and the `provider` query narrows\n * that catalog by id-set membership without rewriting fields, so colliding\n * entries carry identical values.\n *\n * Encounter order of first-seen ids is preserved (provider fan-out order).\n *\n * @param lists - Payment method arrays in provider contribution order.\n * @returns Deduped payment methods.\n */\n/**\n * Picks the payment method to select: the first `preferredIds` entry still\n * present in `methods`, otherwise the first method.\n *\n * @param methods - Candidate payment methods, in display order.\n * @param preferredIds - Preferred ids in priority order; falsy ids are skipped.\n * @returns The selection, or null when `methods` is empty.\n */\nexport function pickPaymentMethod(\n methods: PaymentMethod[],\n preferredIds: (string | undefined)[],\n): PaymentMethod | null {\n for (const id of preferredIds) {\n const match = id ? methods.find((method) => method.id === id) : undefined;\n if (match) {\n return match;\n }\n }\n return methods[0] ?? null;\n}\n\nexport function mergePaymentMethodsById(\n lists: PaymentMethod[][],\n): PaymentMethod[] {\n if (lists.length === 1) {\n return lists[0];\n }\n\n const byId = new Map<string, PaymentMethod>();\n\n for (const list of lists) {\n for (const method of list) {\n if (!byId.has(method.id)) {\n byId.set(method.id, { ...method });\n }\n }\n }\n\n return [...byId.values()];\n}\n"]}
|
|
@@ -1,16 +1,47 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isFiatDepositAvailable = exports.regionHasProviderForAsset = exports.getProvidersServingAsset = exports.providerServesAsset = void 0;
|
|
3
|
+
exports.isFiatDepositAvailable = exports.regionHasProviderForAsset = exports.getProvidersServingAsset = exports.providerServesAsset = exports.normalizeRampsAssetId = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Canonicalizes a CAIP-19 asset id for comparison against Ramps API values.
|
|
6
|
+
*
|
|
7
|
+
* CAIP-19 does not constrain the case of the asset reference, and the Ramps API
|
|
8
|
+
* is not consistent about it. Every `eip155` key in `regions/{region}/providers`
|
|
9
|
+
* `supportedCryptoCurrencies` is lowercase, while `regions/{region}/topTokens`
|
|
10
|
+
* returns four mainnet `assetId` values EIP-55 checksummed (USDT, USDC, WBTC,
|
|
11
|
+
* LINK) in both its `topTokens` and `allTokens` lists, with no lowercase
|
|
12
|
+
* duplicate. Callers also supply checksummed ids of their own from other
|
|
13
|
+
* controllers, so the two sides of a comparison can disagree on case for the
|
|
14
|
+
* same asset.
|
|
15
|
+
*
|
|
16
|
+
* Non-EVM references are case-sensitive (Solana base58, Tron base58, bitcoin
|
|
17
|
+
* bech32), so lowercasing is restricted to `eip155` rather than applied to the
|
|
18
|
+
* whole string. This is a tightening: for EVM ids a plain `toLowerCase()` on
|
|
19
|
+
* both sides already matched. Current API data carries non-EVM ids in identical
|
|
20
|
+
* case on both endpoints, so the passthrough guards against future drift rather
|
|
21
|
+
* than fixing an observed mismatch.
|
|
22
|
+
*
|
|
23
|
+
* The namespace itself is matched case-insensitively, so an `EIP155:` prefix
|
|
24
|
+
* is treated as EVM even though CAIP-19 defines namespaces as lowercase.
|
|
25
|
+
*
|
|
26
|
+
* @param assetId - CAIP-19 asset id, in either case form.
|
|
27
|
+
* @returns The asset id in the form the Ramps API uses.
|
|
28
|
+
*/
|
|
29
|
+
function normalizeRampsAssetId(assetId) {
|
|
30
|
+
const trimmedAssetId = assetId.trim();
|
|
31
|
+
return /^eip155:/iu.test(trimmedAssetId)
|
|
32
|
+
? trimmedAssetId.toLowerCase()
|
|
33
|
+
: trimmedAssetId;
|
|
34
|
+
}
|
|
35
|
+
exports.normalizeRampsAssetId = normalizeRampsAssetId;
|
|
4
36
|
/**
|
|
5
37
|
* Whether a provider serves the given deposit asset.
|
|
6
38
|
*
|
|
7
39
|
* Mirrors the region-provider matching the controller performs internally: a
|
|
8
40
|
* provider serves the asset when its `supportedCryptoCurrencies` map (keyed by
|
|
9
|
-
* CAIP-19 asset id) contains the asset id
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* serving the asset.
|
|
41
|
+
* CAIP-19 asset id) contains the asset id. Both sides are canonicalized with
|
|
42
|
+
* {@link normalizeRampsAssetId}, so EVM ids match regardless of checksum
|
|
43
|
+
* casing while non-EVM references stay case-sensitive. A provider without a
|
|
44
|
+
* `supportedCryptoCurrencies` map is treated as not serving the asset.
|
|
14
45
|
*
|
|
15
46
|
* @param provider - The provider to test.
|
|
16
47
|
* @param assetId - CAIP-19 asset id of the deposit asset.
|
|
@@ -21,8 +52,8 @@ function providerServesAsset(provider, assetId) {
|
|
|
21
52
|
if (!map) {
|
|
22
53
|
return false;
|
|
23
54
|
}
|
|
24
|
-
const target = assetId
|
|
25
|
-
return Object.keys(map).some((key) => key
|
|
55
|
+
const target = normalizeRampsAssetId(assetId);
|
|
56
|
+
return Object.keys(map).some((key) => normalizeRampsAssetId(key) === target && map[key]);
|
|
26
57
|
}
|
|
27
58
|
exports.providerServesAsset = providerServesAsset;
|
|
28
59
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providerAvailability.cjs","sourceRoot":"","sources":["../src/providerAvailability.ts"],"names":[],"mappings":";;;AAEA
|
|
1
|
+
{"version":3,"file":"providerAvailability.cjs","sourceRoot":"","sources":["../src/providerAvailability.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,SAAgB,qBAAqB,CAAC,OAAe;IACnD,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IACtC,OAAO,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC;QACtC,CAAC,CAAC,cAAc,CAAC,WAAW,EAAE;QAC9B,CAAC,CAAC,cAAc,CAAC;AACrB,CAAC;AALD,sDAKC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAgB,mBAAmB,CACjC,QAAkB,EAClB,OAAe;IAEf,MAAM,GAAG,GAAG,QAAQ,EAAE,yBAAyB,CAAC;IAChD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC9C,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAC1B,CAAC,GAAG,EAAE,EAAE,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,CAC3D,CAAC;AACJ,CAAC;AAZD,kDAYC;AAED;;;;;;GAMG;AACH,SAAgB,wBAAwB,CACtC,SAAqB,EACrB,OAAe;IAEf,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAChF,CAAC;AALD,4DAKC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,yBAAyB,CAAC,EACxC,SAAS,EACT,OAAO,EACP,mBAAmB,GAKpB;IACC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,OAAO,GAAG,wBAAwB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC7D,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;AAC5B,CAAC;AApBD,8DAoBC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,sBAAsB,CAAC,EACrC,SAAS,EACT,gBAAgB,EAChB,mBAAmB,GAKpB;IACC,IAAI,gBAAgB,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9B,CAAC;AAhBD,wDAgBC","sourcesContent":["import type { Provider } from './RampsService.js';\n\n/**\n * Canonicalizes a CAIP-19 asset id for comparison against Ramps API values.\n *\n * CAIP-19 does not constrain the case of the asset reference, and the Ramps API\n * is not consistent about it. Every `eip155` key in `regions/{region}/providers`\n * `supportedCryptoCurrencies` is lowercase, while `regions/{region}/topTokens`\n * returns four mainnet `assetId` values EIP-55 checksummed (USDT, USDC, WBTC,\n * LINK) in both its `topTokens` and `allTokens` lists, with no lowercase\n * duplicate. Callers also supply checksummed ids of their own from other\n * controllers, so the two sides of a comparison can disagree on case for the\n * same asset.\n *\n * Non-EVM references are case-sensitive (Solana base58, Tron base58, bitcoin\n * bech32), so lowercasing is restricted to `eip155` rather than applied to the\n * whole string. This is a tightening: for EVM ids a plain `toLowerCase()` on\n * both sides already matched. Current API data carries non-EVM ids in identical\n * case on both endpoints, so the passthrough guards against future drift rather\n * than fixing an observed mismatch.\n *\n * The namespace itself is matched case-insensitively, so an `EIP155:` prefix\n * is treated as EVM even though CAIP-19 defines namespaces as lowercase.\n *\n * @param assetId - CAIP-19 asset id, in either case form.\n * @returns The asset id in the form the Ramps API uses.\n */\nexport function normalizeRampsAssetId(assetId: string): string {\n const trimmedAssetId = assetId.trim();\n return /^eip155:/iu.test(trimmedAssetId)\n ? trimmedAssetId.toLowerCase()\n : trimmedAssetId;\n}\n\n/**\n * Whether a provider serves the given deposit asset.\n *\n * Mirrors the region-provider matching the controller performs internally: a\n * provider serves the asset when its `supportedCryptoCurrencies` map (keyed by\n * CAIP-19 asset id) contains the asset id. Both sides are canonicalized with\n * {@link normalizeRampsAssetId}, so EVM ids match regardless of checksum\n * casing while non-EVM references stay case-sensitive. A provider without a\n * `supportedCryptoCurrencies` map is treated as not serving the asset.\n *\n * @param provider - The provider to test.\n * @param assetId - CAIP-19 asset id of the deposit asset.\n * @returns Whether the provider serves the asset.\n */\nexport function providerServesAsset(\n provider: Provider,\n assetId: string,\n): boolean {\n const map = provider?.supportedCryptoCurrencies;\n if (!map) {\n return false;\n }\n const target = normalizeRampsAssetId(assetId);\n return Object.keys(map).some(\n (key) => normalizeRampsAssetId(key) === target && map[key],\n );\n}\n\n/**\n * Filters a provider list down to those serving the given deposit asset.\n *\n * @param providers - The providers to filter.\n * @param assetId - CAIP-19 asset id of the deposit asset.\n * @returns The subset of providers serving the asset.\n */\nexport function getProvidersServingAsset(\n providers: Provider[],\n assetId: string,\n): Provider[] {\n return providers.filter((provider) => providerServesAsset(provider, assetId));\n}\n\n/**\n * Whether a region offers a usable on-ramp provider that serves the given\n * deposit asset, under the all-providers feature flag. This is the pure,\n * asset-aware region gate shared between the controller and headless-buy\n * consumers so the two never disagree about eligibility.\n *\n * With `allProvidersEnabled` false the gate is native-only: the region must\n * offer a native provider (e.g. Transak Native) that serves the asset. With\n * `allProvidersEnabled` true the region is supported when any provider\n * (native or aggregator) serves the asset; the controller's flag-aware\n * `getQuotes` performs the precise provider selection at quote time. Fails\n * closed: an empty or missing `assetId` returns `false`.\n *\n * @param options - The options.\n * @param options.providers - The region's providers (native and aggregator).\n * @param options.assetId - CAIP-19 asset id of the deposit asset.\n * @param options.allProvidersEnabled - Whether the all-providers feature flag\n * is enabled (see `isHeadlessAllProvidersEnabled`).\n * @returns Whether the region has a provider serving the asset.\n */\nexport function regionHasProviderForAsset({\n providers,\n assetId,\n allProvidersEnabled,\n}: {\n providers: Provider[];\n assetId: string;\n allProvidersEnabled: boolean;\n}): boolean {\n if (!assetId) {\n return false;\n }\n const serving = getProvidersServingAsset(providers, assetId);\n if (serving.some((provider) => provider.type === 'native')) {\n return true;\n }\n if (!allProvidersEnabled) {\n return false;\n }\n return serving.length > 0;\n}\n\n/**\n * Whether headless fiat deposit is available for the current region, under\n * the all-providers feature flag. Flag-aware and independent of which single\n * provider is currently selected once widened, so the availability gate\n * cannot disagree with the controller's own flag-aware provider pick.\n *\n * With `allProvidersEnabled` false the check keeps the native-only behaviour:\n * a native provider must be the currently selected (preferred) one, since the\n * controller resolves the selected provider first and an aggregator preferred\n * provider would otherwise run a non-native deposit. With\n * `allProvidersEnabled` true the flow is available whenever the region has\n * any provider.\n *\n * @param options - The options.\n * @param options.providers - The region's providers.\n * @param options.selectedProvider - The currently selected provider, if any.\n * @param options.allProvidersEnabled - Whether the all-providers feature flag\n * is enabled (see `isHeadlessAllProvidersEnabled`).\n * @returns Whether headless fiat deposit is available.\n */\nexport function isFiatDepositAvailable({\n providers,\n selectedProvider,\n allProvidersEnabled,\n}: {\n providers: Provider[];\n selectedProvider?: Provider | null;\n allProvidersEnabled: boolean;\n}): boolean {\n if (selectedProvider?.type === 'native') {\n return true;\n }\n if (!allProvidersEnabled) {\n return false;\n }\n return providers.length > 0;\n}\n"]}
|
|
@@ -1,14 +1,39 @@
|
|
|
1
1
|
import type { Provider } from "./RampsService.cjs";
|
|
2
|
+
/**
|
|
3
|
+
* Canonicalizes a CAIP-19 asset id for comparison against Ramps API values.
|
|
4
|
+
*
|
|
5
|
+
* CAIP-19 does not constrain the case of the asset reference, and the Ramps API
|
|
6
|
+
* is not consistent about it. Every `eip155` key in `regions/{region}/providers`
|
|
7
|
+
* `supportedCryptoCurrencies` is lowercase, while `regions/{region}/topTokens`
|
|
8
|
+
* returns four mainnet `assetId` values EIP-55 checksummed (USDT, USDC, WBTC,
|
|
9
|
+
* LINK) in both its `topTokens` and `allTokens` lists, with no lowercase
|
|
10
|
+
* duplicate. Callers also supply checksummed ids of their own from other
|
|
11
|
+
* controllers, so the two sides of a comparison can disagree on case for the
|
|
12
|
+
* same asset.
|
|
13
|
+
*
|
|
14
|
+
* Non-EVM references are case-sensitive (Solana base58, Tron base58, bitcoin
|
|
15
|
+
* bech32), so lowercasing is restricted to `eip155` rather than applied to the
|
|
16
|
+
* whole string. This is a tightening: for EVM ids a plain `toLowerCase()` on
|
|
17
|
+
* both sides already matched. Current API data carries non-EVM ids in identical
|
|
18
|
+
* case on both endpoints, so the passthrough guards against future drift rather
|
|
19
|
+
* than fixing an observed mismatch.
|
|
20
|
+
*
|
|
21
|
+
* The namespace itself is matched case-insensitively, so an `EIP155:` prefix
|
|
22
|
+
* is treated as EVM even though CAIP-19 defines namespaces as lowercase.
|
|
23
|
+
*
|
|
24
|
+
* @param assetId - CAIP-19 asset id, in either case form.
|
|
25
|
+
* @returns The asset id in the form the Ramps API uses.
|
|
26
|
+
*/
|
|
27
|
+
export declare function normalizeRampsAssetId(assetId: string): string;
|
|
2
28
|
/**
|
|
3
29
|
* Whether a provider serves the given deposit asset.
|
|
4
30
|
*
|
|
5
31
|
* Mirrors the region-provider matching the controller performs internally: a
|
|
6
32
|
* provider serves the asset when its `supportedCryptoCurrencies` map (keyed by
|
|
7
|
-
* CAIP-19 asset id) contains the asset id
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* serving the asset.
|
|
33
|
+
* CAIP-19 asset id) contains the asset id. Both sides are canonicalized with
|
|
34
|
+
* {@link normalizeRampsAssetId}, so EVM ids match regardless of checksum
|
|
35
|
+
* casing while non-EVM references stay case-sensitive. A provider without a
|
|
36
|
+
* `supportedCryptoCurrencies` map is treated as not serving the asset.
|
|
12
37
|
*
|
|
13
38
|
* @param provider - The provider to test.
|
|
14
39
|
* @param assetId - CAIP-19 asset id of the deposit asset.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providerAvailability.d.cts","sourceRoot":"","sources":["../src/providerAvailability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,2BAA0B;AAElD
|
|
1
|
+
{"version":3,"file":"providerAvailability.d.cts","sourceRoot":"","sources":["../src/providerAvailability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,2BAA0B;AAElD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAK7D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,GACd,OAAO,CAST;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,QAAQ,EAAE,EACrB,OAAO,EAAE,MAAM,GACd,QAAQ,EAAE,CAEZ;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,SAAS,EACT,OAAO,EACP,mBAAmB,GACpB,EAAE;IACD,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,OAAO,CAAC;CAC9B,GAAG,OAAO,CAYV;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,SAAS,EACT,gBAAgB,EAChB,mBAAmB,GACpB,EAAE;IACD,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,gBAAgB,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACnC,mBAAmB,EAAE,OAAO,CAAC;CAC9B,GAAG,OAAO,CAQV"}
|
|
@@ -1,14 +1,39 @@
|
|
|
1
1
|
import type { Provider } from "./RampsService.mjs";
|
|
2
|
+
/**
|
|
3
|
+
* Canonicalizes a CAIP-19 asset id for comparison against Ramps API values.
|
|
4
|
+
*
|
|
5
|
+
* CAIP-19 does not constrain the case of the asset reference, and the Ramps API
|
|
6
|
+
* is not consistent about it. Every `eip155` key in `regions/{region}/providers`
|
|
7
|
+
* `supportedCryptoCurrencies` is lowercase, while `regions/{region}/topTokens`
|
|
8
|
+
* returns four mainnet `assetId` values EIP-55 checksummed (USDT, USDC, WBTC,
|
|
9
|
+
* LINK) in both its `topTokens` and `allTokens` lists, with no lowercase
|
|
10
|
+
* duplicate. Callers also supply checksummed ids of their own from other
|
|
11
|
+
* controllers, so the two sides of a comparison can disagree on case for the
|
|
12
|
+
* same asset.
|
|
13
|
+
*
|
|
14
|
+
* Non-EVM references are case-sensitive (Solana base58, Tron base58, bitcoin
|
|
15
|
+
* bech32), so lowercasing is restricted to `eip155` rather than applied to the
|
|
16
|
+
* whole string. This is a tightening: for EVM ids a plain `toLowerCase()` on
|
|
17
|
+
* both sides already matched. Current API data carries non-EVM ids in identical
|
|
18
|
+
* case on both endpoints, so the passthrough guards against future drift rather
|
|
19
|
+
* than fixing an observed mismatch.
|
|
20
|
+
*
|
|
21
|
+
* The namespace itself is matched case-insensitively, so an `EIP155:` prefix
|
|
22
|
+
* is treated as EVM even though CAIP-19 defines namespaces as lowercase.
|
|
23
|
+
*
|
|
24
|
+
* @param assetId - CAIP-19 asset id, in either case form.
|
|
25
|
+
* @returns The asset id in the form the Ramps API uses.
|
|
26
|
+
*/
|
|
27
|
+
export declare function normalizeRampsAssetId(assetId: string): string;
|
|
2
28
|
/**
|
|
3
29
|
* Whether a provider serves the given deposit asset.
|
|
4
30
|
*
|
|
5
31
|
* Mirrors the region-provider matching the controller performs internally: a
|
|
6
32
|
* provider serves the asset when its `supportedCryptoCurrencies` map (keyed by
|
|
7
|
-
* CAIP-19 asset id) contains the asset id
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* serving the asset.
|
|
33
|
+
* CAIP-19 asset id) contains the asset id. Both sides are canonicalized with
|
|
34
|
+
* {@link normalizeRampsAssetId}, so EVM ids match regardless of checksum
|
|
35
|
+
* casing while non-EVM references stay case-sensitive. A provider without a
|
|
36
|
+
* `supportedCryptoCurrencies` map is treated as not serving the asset.
|
|
12
37
|
*
|
|
13
38
|
* @param provider - The provider to test.
|
|
14
39
|
* @param assetId - CAIP-19 asset id of the deposit asset.
|