Skip to content

Commit f801b69

Browse files
committed
Merge release/7.74.00 into release/7.75.0
2 parents 3874b95 + 24372ff commit f801b69

3 files changed

Lines changed: 173 additions & 19 deletions

File tree

app/components/UI/Ramp/Views/BuildQuote/BuildQuote.tsx

Lines changed: 64 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,81 @@
1+
import {
2+
Button,
3+
ButtonSize,
4+
ButtonVariant,
5+
FontWeight,
6+
IconName,
7+
Text,
8+
TextColor,
9+
TextVariant,
10+
} from '@metamask/design-system-react-native';
11+
import {
12+
normalizeProviderCode,
13+
RampsOrderStatus,
14+
} from '@metamask/ramps-controller';
15+
import type { CaipChainId } from '@metamask/utils';
16+
import {
17+
useFocusEffect,
18+
useIsFocused,
19+
useNavigation,
20+
} from '@react-navigation/native';
121
import React, {
222
useCallback,
323
useEffect,
424
useMemo,
525
useRef,
626
useState,
727
} from 'react';
8-
import { Linking, Animated, View } from 'react-native';
9-
import {
10-
useNavigation,
11-
useFocusEffect,
12-
useIsFocused,
13-
} from '@react-navigation/native';
14-
import type { CaipChainId } from '@metamask/utils';
28+
import { Animated, Linking, View } from 'react-native';
1529
import InAppBrowser from 'react-native-inappbrowser-reborn';
30+
import { useSelector } from 'react-redux';
31+
import { strings } from '../../../../../../locales/i18n';
32+
import HeaderCompactStandard from '../../../../../component-library/components-temp/HeaderCompactStandard';
33+
import BannerAlert from '../../../../../component-library/components/Banners/Banner/variants/BannerAlert/BannerAlert';
34+
import { BannerAlertSeverity } from '../../../../../component-library/components/Banners/Banner/variants/BannerAlert/BannerAlert.types';
35+
import Routes from '../../../../../constants/navigation/Routes';
36+
import { FIAT_ORDER_PROVIDERS } from '../../../../../constants/on-ramp';
37+
import { MetaMetricsEvents } from '../../../../../core/Analytics';
38+
import {
39+
getRampRoutingDecision,
40+
UnifiedRampRoutingType,
41+
} from '../../../../../reducers/fiatOrders';
42+
import Device from '../../../../../util/device';
43+
import { useParams } from '../../../../../util/navigation/navUtils';
44+
import Keypad, { type KeypadChangeData, Keys } from '../../../../Base/Keypad';
45+
import { useAnalytics } from '../../../../hooks/useAnalytics/useAnalytics';
46+
import { useDebouncedValue } from '../../../../hooks/useDebouncedValue';
47+
import { useFormatters } from '../../../../hooks/useFormatters';
48+
import { useStyles } from '../../../../hooks/useStyles';
1649
import ScreenLayout from '../../Aggregator/components/ScreenLayout';
50+
import { PROVIDER_LINKS } from '../../Aggregator/types';
51+
import { BuildQuoteSelectors } from '../../Aggregator/Views/BuildQuote/BuildQuote.testIds';
52+
import PaymentMethodPill from '../../components/PaymentMethodPill';
53+
import QuickAmounts from '../../components/QuickAmounts';
54+
import TruncatedError from '../../components/TruncatedError';
55+
import { useBlinkingCursor } from '../../hooks/useBlinkingCursor';
56+
import { useProviderLimits } from '../../hooks/useProviderLimits';
57+
import useRampAccountAddress from '../../hooks/useRampAccountAddress';
58+
import { useRampsController } from '../../hooks/useRampsController';
59+
import { useRampsQuotes } from '../../hooks/useRampsQuotes';
60+
import { useTokenNetworkInfo } from '../../hooks/useTokenNetworkInfo';
61+
import { useTransakController } from '../../hooks/useTransakController';
62+
import { useTransakRouting } from '../../hooks/useTransakRouting';
63+
import {
64+
getQuoteBuyUserAgent,
65+
getQuoteProviderName,
66+
isCustomAction,
67+
isNativeProvider,
68+
} from '../../types';
1769
import {
1870
buildQuoteWithRedirectUrl,
1971
getCheckoutContext,
2072
getWidgetRedirectConfig,
2173
} from '../../utils/buildQuoteWithRedirectUrl';
2274
import { computeAmountUpdate } from '../../utils/computeAmountUpdate';
2375
import { getRampCallbackBaseUrl } from '../../utils/getRampCallbackBaseUrl';
76+
import { normalizeAssetIdForApi } from '../../utils/normalizeAssetIdForApi';
77+
import { parseUserFacingError } from '../../utils/parseUserFacingError';
78+
import { providerSupportsAsset } from '../../utils/providerSupportsAsset';
2479
import { getNavigateAfterExternalBrowserRoutes } from '../../utils/rampsNavigation';
2580
import { reportRampsError } from '../../utils/reportRampsError';
2681
import { providerSupportsAsset } from '../../utils/providerSupportsAsset';
@@ -62,19 +117,9 @@ import { BuildQuoteSelectors } from '../../Aggregator/Views/BuildQuote/BuildQuot
62117
import { BUILD_QUOTE_TEST_IDS } from './BuildQuote.testIds';
63118
import { createPaymentSelectionModalNavigationDetails } from '../Modals/PaymentSelectionModal';
64119
import { createCheckoutNavDetails } from '../Checkout';
65-
import {
66-
isNativeProvider,
67-
isCustomAction,
68-
getQuoteProviderName,
69-
getQuoteBuyUserAgent,
70-
} from '../../types';
71-
import { FIAT_ORDER_PROVIDERS } from '../../../../../constants/on-ramp';
120+
import { createPaymentSelectionModalNavigationDetails } from '../Modals/PaymentSelectionModal';
121+
import { createSettingsModalNavDetails } from '../Modals/SettingsModal';
72122
import { createTokenNotAvailableModalNavigationDetails } from '../Modals/TokenNotAvailableModal';
73-
import { useParams } from '../../../../../util/navigation/navUtils';
74-
import BannerAlert from '../../../../../component-library/components/Banners/Banner/variants/BannerAlert/BannerAlert';
75-
import { BannerAlertSeverity } from '../../../../../component-library/components/Banners/Banner/variants/BannerAlert/BannerAlert.types';
76-
import { useTransakController } from '../../hooks/useTransakController';
77-
import { useTransakRouting } from '../../hooks/useTransakRouting';
78123
import { createV2VerifyIdentityNavDetails } from '../NativeFlow/VerifyIdentity';
79124
import { createV2EnterEmailNavDetails } from '../NativeFlow/EnterEmail';
80125
import { parseUserFacingError } from '../../utils/parseUserFacingError';
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
diff --git a/node_modules/@metamask/transaction-pay-controller/dist/utils/feature-flags.cjs b/node_modules/@metamask/transaction-pay-controller/dist/utils/feature-flags.cjs
2+
index 66884ed..d475de2 100644
3+
--- a/node_modules/@metamask/transaction-pay-controller/dist/utils/feature-flags.cjs
4+
+++ b/node_modules/@metamask/transaction-pay-controller/dist/utils/feature-flags.cjs
5+
@@ -238,7 +238,8 @@ exports.getPayStrategiesConfig = getPayStrategiesConfig;
6+
function isRelayExecuteEnabled(messenger) {
7+
const state = messenger.call('RemoteFeatureFlagController:getState');
8+
const featureFlags = state.remoteFeatureFlags?.confirmations_pay ?? {};
9+
- return featureFlags.payStrategies?.relay?.executeEnabled ?? false;
10+
+ // Renamed from `executeEnabled` so the flag cannot re-enable the flow on older broken versions (predates version support).
11+
+ return featureFlags.payStrategies?.relay?.gaslessEnabled ?? false;
12+
}
13+
exports.isRelayExecuteEnabled = isRelayExecuteEnabled;
14+
/**
15+
diff --git a/node_modules/@metamask/transaction-pay-controller/dist/utils/feature-flags.mjs b/node_modules/@metamask/transaction-pay-controller/dist/utils/feature-flags.mjs
16+
index c8b2f8a..5ab03a9 100644
17+
--- a/node_modules/@metamask/transaction-pay-controller/dist/utils/feature-flags.mjs
18+
+++ b/node_modules/@metamask/transaction-pay-controller/dist/utils/feature-flags.mjs
19+
@@ -232,7 +232,7 @@ export function getPayStrategiesConfig(messenger) {
20+
export function isRelayExecuteEnabled(messenger) {
21+
const state = messenger.call('RemoteFeatureFlagController:getState');
22+
const featureFlags = state.remoteFeatureFlags?.confirmations_pay ?? {};
23+
- return featureFlags.payStrategies?.relay?.executeEnabled ?? false;
24+
+ return featureFlags.payStrategies?.relay?.gaslessEnabled ?? false;
25+
}
26+
/**
27+
* Get the origin gas overhead to include in Relay quote requests
28+
diff --git a/node_modules/@metamask/transaction-pay-controller/dist/utils/feature-flags.d.cts b/node_modules/@metamask/transaction-pay-controller/dist/utils/feature-flags.d.cts
29+
index 0ef444d..0538026 100644
30+
--- a/node_modules/@metamask/transaction-pay-controller/dist/utils/feature-flags.d.cts
31+
+++ b/node_modules/@metamask/transaction-pay-controller/dist/utils/feature-flags.d.cts
32+
@@ -41,7 +41,7 @@ export type PayStrategiesConfigRaw = {
33+
across?: AcrossConfigRaw;
34+
relay?: {
35+
enabled?: boolean;
36+
- executeEnabled?: boolean;
37+
+ gaslessEnabled?: boolean;
38+
originGasOverhead?: string;
39+
pollingInterval?: number;
40+
pollingTimeout?: number;
41+
diff --git a/node_modules/@metamask/transaction-pay-controller/dist/utils/feature-flags.d.mts b/node_modules/@metamask/transaction-pay-controller/dist/utils/feature-flags.d.mts
42+
index e08336e..8dd8f42 100644
43+
--- a/node_modules/@metamask/transaction-pay-controller/dist/utils/feature-flags.d.mts
44+
+++ b/node_modules/@metamask/transaction-pay-controller/dist/utils/feature-flags.d.mts
45+
@@ -41,7 +41,7 @@ export type PayStrategiesConfigRaw = {
46+
across?: AcrossConfigRaw;
47+
relay?: {
48+
enabled?: boolean;
49+
- executeEnabled?: boolean;
50+
+ gaslessEnabled?: boolean;
51+
originGasOverhead?: string;
52+
pollingInterval?: number;
53+
pollingTimeout?: number;

yarn.lock

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8034,6 +8034,62 @@ __metadata:
80348034
languageName: node
80358035
linkType: hard
80368036

8037+
"@metamask/assets-controllers@npm:^104.0.0":
8038+
version: 104.2.0
8039+
resolution: "@metamask/assets-controllers@npm:104.2.0"
8040+
dependencies:
8041+
"@ethereumjs/util": "npm:^9.1.0"
8042+
"@ethersproject/abi": "npm:^5.7.0"
8043+
"@ethersproject/address": "npm:^5.7.0"
8044+
"@ethersproject/bignumber": "npm:^5.7.0"
8045+
"@ethersproject/contracts": "npm:^5.7.0"
8046+
"@ethersproject/providers": "npm:^5.7.0"
8047+
"@metamask/abi-utils": "npm:^2.0.3"
8048+
"@metamask/account-tree-controller": "npm:^7.1.0"
8049+
"@metamask/accounts-controller": "npm:^37.2.0"
8050+
"@metamask/approval-controller": "npm:^9.0.1"
8051+
"@metamask/base-controller": "npm:^9.1.0"
8052+
"@metamask/contract-metadata": "npm:^2.4.0"
8053+
"@metamask/controller-utils": "npm:^11.20.0"
8054+
"@metamask/core-backend": "npm:^6.2.1"
8055+
"@metamask/eth-query": "npm:^4.0.0"
8056+
"@metamask/keyring-api": "npm:^23.0.1"
8057+
"@metamask/keyring-controller": "npm:^25.2.0"
8058+
"@metamask/messenger": "npm:^1.1.1"
8059+
"@metamask/metamask-eth-abis": "npm:^3.1.1"
8060+
"@metamask/multichain-account-service": "npm:^8.0.1"
8061+
"@metamask/network-controller": "npm:^30.0.1"
8062+
"@metamask/network-enablement-controller": "npm:^5.0.2"
8063+
"@metamask/permission-controller": "npm:^12.3.0"
8064+
"@metamask/phishing-controller": "npm:^17.1.1"
8065+
"@metamask/polling-controller": "npm:^16.0.4"
8066+
"@metamask/preferences-controller": "npm:^23.1.0"
8067+
"@metamask/profile-sync-controller": "npm:^28.0.2"
8068+
"@metamask/rpc-errors": "npm:^7.0.2"
8069+
"@metamask/snaps-controllers": "npm:^19.0.0"
8070+
"@metamask/snaps-sdk": "npm:^11.0.0"
8071+
"@metamask/snaps-utils": "npm:^12.1.2"
8072+
"@metamask/storage-service": "npm:^1.0.1"
8073+
"@metamask/transaction-controller": "npm:^64.3.0"
8074+
"@metamask/utils": "npm:^11.9.0"
8075+
"@types/bn.js": "npm:^5.1.5"
8076+
"@types/uuid": "npm:^8.3.0"
8077+
async-mutex: "npm:^0.5.0"
8078+
bitcoin-address-validation: "npm:^2.2.3"
8079+
bn.js: "npm:^5.2.1"
8080+
immer: "npm:^9.0.6"
8081+
lodash: "npm:^4.17.21"
8082+
multiformats: "npm:^9.9.0"
8083+
reselect: "npm:^5.1.1"
8084+
single-call-balance-checker-abi: "npm:^1.0.0"
8085+
uuid: "npm:^8.3.2"
8086+
peerDependencies:
8087+
"@metamask/providers": ^22.0.0
8088+
webextension-polyfill: ^0.10.0 || ^0.11.0 || ^0.12.0
8089+
checksum: 10/429228b49d64c6f8bc4452e0eb9ce73d621a3a72d6c57b35f8131c4d26870d93ce874b2da0e990f8dc41059a417c16a6709c9d99263b37d6f0f1a396a447232f
8090+
languageName: node
8091+
linkType: hard
8092+
80378093
"@metamask/auth-network-utils@npm:^0.3.0":
80388094
version: 0.3.1
80398095
resolution: "@metamask/auth-network-utils@npm:0.3.1"

0 commit comments

Comments
 (0)