@metamask-previews/bridge-controller 19.0.0-preview-836a8df → 19.0.0-preview-7a1bf6a5
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 +1 -1
- package/dist/bridge-controller.cjs +25 -13
- package/dist/bridge-controller.cjs.map +1 -1
- package/dist/bridge-controller.d.cts +1 -4
- package/dist/bridge-controller.d.cts.map +1 -1
- package/dist/bridge-controller.d.mts +1 -4
- package/dist/bridge-controller.d.mts.map +1 -1
- package/dist/bridge-controller.mjs +27 -15
- package/dist/bridge-controller.mjs.map +1 -1
- package/dist/constants/bridge.cjs +5 -0
- package/dist/constants/bridge.cjs.map +1 -1
- package/dist/constants/bridge.d.cts.map +1 -1
- package/dist/constants/bridge.d.mts.map +1 -1
- package/dist/constants/bridge.mjs +5 -0
- package/dist/constants/bridge.mjs.map +1 -1
- package/dist/index.cjs +4 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -3
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +3 -3
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +2 -2
- package/dist/index.mjs.map +1 -1
- package/dist/selectors.cjs +12 -32
- package/dist/selectors.cjs.map +1 -1
- package/dist/selectors.d.cts +26 -239
- package/dist/selectors.d.cts.map +1 -1
- package/dist/selectors.d.mts +26 -239
- package/dist/selectors.d.mts.map +1 -1
- package/dist/selectors.mjs +11 -31
- package/dist/selectors.mjs.map +1 -1
- package/dist/types.cjs +12 -2
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +21 -6
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +21 -6
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs +11 -1
- package/dist/types.mjs.map +1 -1
- package/dist/utils/fetch.cjs +40 -1
- package/dist/utils/fetch.cjs.map +1 -1
- package/dist/utils/fetch.d.cts +10 -1
- package/dist/utils/fetch.d.cts.map +1 -1
- package/dist/utils/fetch.d.mts +10 -1
- package/dist/utils/fetch.d.mts.map +1 -1
- package/dist/utils/fetch.mjs +40 -2
- package/dist/utils/fetch.mjs.map +1 -1
- package/dist/utils/validators.cjs +6 -2
- package/dist/utils/validators.cjs.map +1 -1
- package/dist/utils/validators.d.cts +2 -2
- package/dist/utils/validators.d.cts.map +1 -1
- package/dist/utils/validators.d.mts +2 -2
- package/dist/utils/validators.d.mts.map +1 -1
- package/dist/utils/validators.mjs +7 -3
- package/dist/utils/validators.mjs.map +1 -1
- package/package.json +2 -4
- package/dist/utils/feature-flags.cjs +0 -38
- package/dist/utils/feature-flags.cjs.map +0 -1
- package/dist/utils/feature-flags.d.cts +0 -16
- package/dist/utils/feature-flags.d.cts.map +0 -1
- package/dist/utils/feature-flags.d.mts +0 -16
- package/dist/utils/feature-flags.d.mts.map +0 -1
- package/dist/utils/feature-flags.mjs +0 -32
- package/dist/utils/feature-flags.mjs.map +0 -1
package/dist/selectors.d.mts
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
import type { CurrencyRateState, MultichainAssetsRatesControllerState, TokenRatesControllerState } from "@metamask/assets-controllers";
|
2
2
|
import type { GasFeeEstimates } from "@metamask/gas-fee-controller";
|
3
|
-
import type {
|
4
|
-
import type { BridgeControllerState, ExchangeRate, GenericQuoteRequest, QuoteMetadata, QuoteResponse } from "./types.mjs";
|
3
|
+
import type { BridgeControllerState, BridgeFeatureFlagsKey, ExchangeRate, GenericQuoteRequest, QuoteMetadata, QuoteResponse } from "./types.mjs";
|
5
4
|
import { SortOrder } from "./types.mjs";
|
6
5
|
/**
|
7
6
|
* The controller states that provide exchange rates
|
@@ -14,8 +13,6 @@ export type BridgeAppState = BridgeControllerState & {
|
|
14
13
|
gasFeeEstimates: GasFeeEstimates;
|
15
14
|
} & ExchangeRateControllerState & {
|
16
15
|
participateInMetaMetrics: boolean;
|
17
|
-
} & {
|
18
|
-
bridgeConfig: Json;
|
19
16
|
};
|
20
17
|
/**
|
21
18
|
* Required parameters that clients must provide for the bridge quotes selector
|
@@ -23,52 +20,7 @@ export type BridgeAppState = BridgeControllerState & {
|
|
23
20
|
type BridgeQuotesClientParams = {
|
24
21
|
sortOrder: SortOrder;
|
25
22
|
selectedQuote: (QuoteResponse & QuoteMetadata) | null;
|
26
|
-
|
27
|
-
/**
|
28
|
-
* Selects the bridge feature flags
|
29
|
-
*
|
30
|
-
* @param state - The state of the bridge controller
|
31
|
-
* @returns The bridge feature flags
|
32
|
-
*
|
33
|
-
* @example
|
34
|
-
* ```ts
|
35
|
-
* const featureFlags = useSelector(state => selectBridgeFeatureFlags(state));
|
36
|
-
*
|
37
|
-
* Or
|
38
|
-
*
|
39
|
-
* export const selectBridgeFeatureFlags = createSelector(
|
40
|
-
* selectRemoteFeatureFlags,
|
41
|
-
* (remoteFeatureFlags) =>
|
42
|
-
* selectBridgeFeatureFlagsBase({
|
43
|
-
* bridgeConfig: remoteFeatureFlags.bridgeConfig,
|
44
|
-
* }),
|
45
|
-
* );
|
46
|
-
* ```
|
47
|
-
*/
|
48
|
-
export declare const selectBridgeFeatureFlags: ((state: {
|
49
|
-
bridgeConfig: unknown;
|
50
|
-
}) => import("./types.mjs").FeatureFlagsPlatformConfig) & {
|
51
|
-
clearCache: () => void;
|
52
|
-
resultsCount: () => number;
|
53
|
-
resetResultsCount: () => void;
|
54
|
-
} & {
|
55
|
-
resultFunc: (resultFuncArgs_0: any) => import("./types.mjs").FeatureFlagsPlatformConfig;
|
56
|
-
memoizedResultFunc: ((resultFuncArgs_0: any) => import("./types.mjs").FeatureFlagsPlatformConfig) & {
|
57
|
-
clearCache: () => void;
|
58
|
-
resultsCount: () => number;
|
59
|
-
resetResultsCount: () => void;
|
60
|
-
};
|
61
|
-
lastResult: () => import("./types.mjs").FeatureFlagsPlatformConfig;
|
62
|
-
dependencies: [(state: {
|
63
|
-
bridgeConfig: unknown;
|
64
|
-
}) => unknown];
|
65
|
-
recomputations: () => number;
|
66
|
-
resetRecomputations: () => void;
|
67
|
-
dependencyRecomputations: () => number;
|
68
|
-
resetDependencyRecomputations: () => void;
|
69
|
-
} & {
|
70
|
-
argsMemoize: typeof import("reselect").weakMapMemoize;
|
71
|
-
memoize: typeof import("reselect").weakMapMemoize;
|
23
|
+
featureFlagsKey: BridgeFeatureFlagsKey;
|
72
24
|
};
|
73
25
|
/**
|
74
26
|
* Selects the asset exchange rate for a given chain and address
|
@@ -86,14 +38,10 @@ export declare const selectExchangeRateByChainIdAndAddress: (state: BridgeAppSta
|
|
86
38
|
* @returns Whether an exchange rate is available for the given chain and address
|
87
39
|
*/
|
88
40
|
export declare const selectIsAssetExchangeRateInState: (exchangeRateSources: ExchangeRateControllerState, chainId?: string | number | undefined, address?: string | undefined) => boolean;
|
89
|
-
export declare const selectIsQuoteExpired: ((state: {
|
90
|
-
bridgeConfig: unknown;
|
91
|
-
} & BridgeControllerState & {
|
41
|
+
export declare const selectIsQuoteExpired: ((state: BridgeControllerState & {
|
92
42
|
gasFeeEstimates: GasFeeEstimates;
|
93
43
|
} & MultichainAssetsRatesControllerState & TokenRatesControllerState & CurrencyRateState & Pick<BridgeControllerState, "assetExchangeRates"> & {
|
94
44
|
participateInMetaMetrics: boolean;
|
95
|
-
} & {
|
96
|
-
bridgeConfig: Json;
|
97
45
|
}, __: any, currentTimeInMs: number) => boolean) & {
|
98
46
|
clearCache: () => void;
|
99
47
|
resultsCount: () => number;
|
@@ -106,102 +54,37 @@ export declare const selectIsQuoteExpired: ((state: {
|
|
106
54
|
resetResultsCount: () => void;
|
107
55
|
};
|
108
56
|
lastResult: () => boolean;
|
109
|
-
dependencies: [((state: {
|
110
|
-
bridgeConfig: unknown;
|
111
|
-
} & BridgeControllerState & {
|
112
|
-
gasFeeEstimates: GasFeeEstimates;
|
113
|
-
} & MultichainAssetsRatesControllerState & TokenRatesControllerState & CurrencyRateState & Pick<BridgeControllerState, "assetExchangeRates"> & {
|
114
|
-
participateInMetaMetrics: boolean;
|
115
|
-
} & {
|
116
|
-
bridgeConfig: Json;
|
117
|
-
}) => boolean) & {
|
118
|
-
clearCache: () => void;
|
119
|
-
resultsCount: () => number;
|
120
|
-
resetResultsCount: () => void;
|
121
|
-
} & {
|
122
|
-
resultFunc: (resultFuncArgs_0: import("./types.mjs").FeatureFlagsPlatformConfig, resultFuncArgs_1: boolean | undefined, resultFuncArgs_2: number) => boolean;
|
123
|
-
memoizedResultFunc: ((resultFuncArgs_0: import("./types.mjs").FeatureFlagsPlatformConfig, resultFuncArgs_1: boolean | undefined, resultFuncArgs_2: number) => boolean) & {
|
124
|
-
clearCache: () => void;
|
125
|
-
resultsCount: () => number;
|
126
|
-
resetResultsCount: () => void;
|
127
|
-
};
|
128
|
-
lastResult: () => boolean;
|
129
|
-
dependencies: [((state: {
|
130
|
-
bridgeConfig: unknown;
|
131
|
-
}) => import("./types.mjs").FeatureFlagsPlatformConfig) & {
|
132
|
-
clearCache: () => void;
|
133
|
-
resultsCount: () => number;
|
134
|
-
resetResultsCount: () => void;
|
135
|
-
} & {
|
136
|
-
resultFunc: (resultFuncArgs_0: any) => import("./types.mjs").FeatureFlagsPlatformConfig;
|
137
|
-
memoizedResultFunc: ((resultFuncArgs_0: any) => import("./types.mjs").FeatureFlagsPlatformConfig) & {
|
138
|
-
clearCache: () => void;
|
139
|
-
resultsCount: () => number;
|
140
|
-
resetResultsCount: () => void;
|
141
|
-
};
|
142
|
-
lastResult: () => import("./types.mjs").FeatureFlagsPlatformConfig;
|
143
|
-
dependencies: [(state: {
|
144
|
-
bridgeConfig: unknown;
|
145
|
-
}) => unknown];
|
146
|
-
recomputations: () => number;
|
147
|
-
resetRecomputations: () => void;
|
148
|
-
dependencyRecomputations: () => number;
|
149
|
-
resetDependencyRecomputations: () => void;
|
150
|
-
} & {
|
151
|
-
argsMemoize: typeof import("reselect").weakMapMemoize;
|
152
|
-
memoize: typeof import("reselect").weakMapMemoize;
|
153
|
-
}, (state: BridgeAppState) => boolean | undefined, (state: BridgeAppState) => number];
|
154
|
-
recomputations: () => number;
|
155
|
-
resetRecomputations: () => void;
|
156
|
-
dependencyRecomputations: () => number;
|
157
|
-
resetDependencyRecomputations: () => void;
|
158
|
-
} & {
|
159
|
-
argsMemoize: typeof import("reselect").weakMapMemoize;
|
160
|
-
memoize: typeof import("reselect").weakMapMemoize;
|
161
|
-
}, ({ quotesLastFetched }: BridgeAppState) => number | null, ((state: {
|
162
|
-
bridgeConfig: unknown;
|
163
|
-
} & BridgeControllerState & {
|
57
|
+
dependencies: [(state: BridgeAppState, { featureFlagsKey }: BridgeQuotesClientParams) => boolean, ({ quotesLastFetched }: BridgeAppState) => number | null, ((state: BridgeControllerState & {
|
164
58
|
gasFeeEstimates: GasFeeEstimates;
|
165
59
|
} & MultichainAssetsRatesControllerState & TokenRatesControllerState & CurrencyRateState & Pick<BridgeControllerState, "assetExchangeRates"> & {
|
166
60
|
participateInMetaMetrics: boolean;
|
167
|
-
} & {
|
168
|
-
bridgeConfig: Json;
|
169
|
-
}) => number) & {
|
61
|
+
}, params_0: BridgeQuotesClientParams) => number) & {
|
170
62
|
clearCache: () => void;
|
171
63
|
resultsCount: () => number;
|
172
64
|
resetResultsCount: () => void;
|
173
65
|
} & {
|
174
|
-
resultFunc: (resultFuncArgs_0:
|
175
|
-
|
66
|
+
resultFunc: (resultFuncArgs_0: {
|
67
|
+
refreshRate: number;
|
68
|
+
maxRefreshCount: number;
|
69
|
+
support: boolean;
|
70
|
+
chains: Record<`${string}:${string}`, import("./types.mjs").ChainConfiguration>;
|
71
|
+
}, resultFuncArgs_1: string | number | undefined) => number;
|
72
|
+
memoizedResultFunc: ((resultFuncArgs_0: {
|
73
|
+
refreshRate: number;
|
74
|
+
maxRefreshCount: number;
|
75
|
+
support: boolean;
|
76
|
+
chains: Record<`${string}:${string}`, import("./types.mjs").ChainConfiguration>;
|
77
|
+
}, resultFuncArgs_1: string | number | undefined) => number) & {
|
176
78
|
clearCache: () => void;
|
177
79
|
resultsCount: () => number;
|
178
80
|
resetResultsCount: () => void;
|
179
81
|
};
|
180
82
|
lastResult: () => number;
|
181
|
-
dependencies: [(
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
resetResultsCount: () => void;
|
187
|
-
} & {
|
188
|
-
resultFunc: (resultFuncArgs_0: any) => import("./types.mjs").FeatureFlagsPlatformConfig;
|
189
|
-
memoizedResultFunc: ((resultFuncArgs_0: any) => import("./types.mjs").FeatureFlagsPlatformConfig) & {
|
190
|
-
clearCache: () => void;
|
191
|
-
resultsCount: () => number;
|
192
|
-
resetResultsCount: () => void;
|
193
|
-
};
|
194
|
-
lastResult: () => import("./types.mjs").FeatureFlagsPlatformConfig;
|
195
|
-
dependencies: [(state: {
|
196
|
-
bridgeConfig: unknown;
|
197
|
-
}) => unknown];
|
198
|
-
recomputations: () => number;
|
199
|
-
resetRecomputations: () => void;
|
200
|
-
dependencyRecomputations: () => number;
|
201
|
-
resetDependencyRecomputations: () => void;
|
202
|
-
} & {
|
203
|
-
argsMemoize: typeof import("reselect").weakMapMemoize;
|
204
|
-
memoize: typeof import("reselect").weakMapMemoize;
|
83
|
+
dependencies: [({ bridgeFeatureFlags }: BridgeAppState, { featureFlagsKey }: BridgeQuotesClientParams) => {
|
84
|
+
refreshRate: number;
|
85
|
+
maxRefreshCount: number;
|
86
|
+
support: boolean;
|
87
|
+
chains: Record<`${string}:${string}`, import("./types.mjs").ChainConfiguration>;
|
205
88
|
}, (state: BridgeAppState) => string | number | undefined];
|
206
89
|
recomputations: () => number;
|
207
90
|
resetRecomputations: () => void;
|
@@ -225,15 +108,17 @@ export declare const selectIsQuoteExpired: ((state: {
|
|
225
108
|
* @param state - The state of the bridge controller and its dependency controllers
|
226
109
|
* @param sortOrder - The sort order of the quotes
|
227
110
|
* @param selectedQuote - The quote that is currently selected by the user, should be cleared by clients when the req params change
|
111
|
+
* @param featureFlagsKey - The feature flags key for the client (e.g. `BridgeFeatureFlagsKey.EXTENSION_CONFIG`
|
228
112
|
* @returns The activeQuote, recommendedQuote, sortedQuotes, and other quote fetching metadata
|
229
113
|
*
|
230
114
|
* @example
|
231
115
|
* ```ts
|
232
116
|
* const quotes = useSelector(state => selectBridgeQuotes(
|
233
|
-
*
|
117
|
+
* state.metamask,
|
234
118
|
* {
|
235
119
|
* sortOrder: state.bridge.sortOrder,
|
236
120
|
* selectedQuote: state.bridge.selectedQuote,
|
121
|
+
* featureFlagsKey: BridgeFeatureFlagsKey.EXTENSION_CONFIG,
|
237
122
|
* }
|
238
123
|
* ));
|
239
124
|
* ```
|
@@ -242,10 +127,6 @@ export declare const selectBridgeQuotes: ((state: BridgeControllerState & {
|
|
242
127
|
gasFeeEstimates: GasFeeEstimates;
|
243
128
|
} & MultichainAssetsRatesControllerState & TokenRatesControllerState & CurrencyRateState & Pick<BridgeControllerState, "assetExchangeRates"> & {
|
244
129
|
participateInMetaMetrics: boolean;
|
245
|
-
} & {
|
246
|
-
bridgeConfig: Json;
|
247
|
-
} & {
|
248
|
-
bridgeConfig: unknown;
|
249
130
|
}, params_0: BridgeQuotesClientParams) => {
|
250
131
|
sortedQuotes: (QuoteResponse & QuoteMetadata)[];
|
251
132
|
recommendedQuote: (QuoteResponse & QuoteMetadata) | null;
|
@@ -302,8 +183,6 @@ export declare const selectBridgeQuotes: ((state: BridgeControllerState & {
|
|
302
183
|
gasFeeEstimates: GasFeeEstimates;
|
303
184
|
} & MultichainAssetsRatesControllerState & TokenRatesControllerState & CurrencyRateState & Pick<BridgeControllerState, "assetExchangeRates"> & {
|
304
185
|
participateInMetaMetrics: boolean;
|
305
|
-
} & {
|
306
|
-
bridgeConfig: Json;
|
307
186
|
}, params_0: BridgeQuotesClientParams) => (QuoteResponse & QuoteMetadata)[]) & {
|
308
187
|
clearCache: () => void;
|
309
188
|
resultsCount: () => number;
|
@@ -402,8 +281,6 @@ export declare const selectBridgeQuotes: ((state: BridgeControllerState & {
|
|
402
281
|
gasFeeEstimates: GasFeeEstimates;
|
403
282
|
} & MultichainAssetsRatesControllerState & TokenRatesControllerState & CurrencyRateState & Pick<BridgeControllerState, "assetExchangeRates"> & {
|
404
283
|
participateInMetaMetrics: boolean;
|
405
|
-
} & {
|
406
|
-
bridgeConfig: Json;
|
407
284
|
}) => {
|
408
285
|
sentAmount: {
|
409
286
|
amount: string;
|
@@ -592,8 +469,6 @@ export declare const selectBridgeQuotes: ((state: BridgeControllerState & {
|
|
592
469
|
gasFeeEstimates: GasFeeEstimates;
|
593
470
|
} & MultichainAssetsRatesControllerState & TokenRatesControllerState & CurrencyRateState & Pick<BridgeControllerState, "assetExchangeRates"> & {
|
594
471
|
participateInMetaMetrics: boolean;
|
595
|
-
} & {
|
596
|
-
bridgeConfig: Json;
|
597
472
|
}) => {
|
598
473
|
estimatedBaseFeeInDecGwei: string;
|
599
474
|
maxPriorityFeePerGasInDecGwei: string;
|
@@ -634,8 +509,6 @@ export declare const selectBridgeQuotes: ((state: BridgeControllerState & {
|
|
634
509
|
gasFeeEstimates: GasFeeEstimates;
|
635
510
|
} & MultichainAssetsRatesControllerState & TokenRatesControllerState & CurrencyRateState & Pick<BridgeControllerState, "assetExchangeRates"> & {
|
636
511
|
participateInMetaMetrics: boolean;
|
637
|
-
} & {
|
638
|
-
bridgeConfig: Json;
|
639
512
|
}) => ExchangeRate) & {
|
640
513
|
clearCache: () => void;
|
641
514
|
resultsCount: () => number;
|
@@ -660,8 +533,6 @@ export declare const selectBridgeQuotes: ((state: BridgeControllerState & {
|
|
660
533
|
gasFeeEstimates: GasFeeEstimates;
|
661
534
|
} & MultichainAssetsRatesControllerState & TokenRatesControllerState & CurrencyRateState & Pick<BridgeControllerState, "assetExchangeRates"> & {
|
662
535
|
participateInMetaMetrics: boolean;
|
663
|
-
} & {
|
664
|
-
bridgeConfig: Json;
|
665
536
|
}) => ExchangeRate) & {
|
666
537
|
clearCache: () => void;
|
667
538
|
resultsCount: () => number;
|
@@ -686,8 +557,6 @@ export declare const selectBridgeQuotes: ((state: BridgeControllerState & {
|
|
686
557
|
gasFeeEstimates: GasFeeEstimates;
|
687
558
|
} & MultichainAssetsRatesControllerState & TokenRatesControllerState & CurrencyRateState & Pick<BridgeControllerState, "assetExchangeRates"> & {
|
688
559
|
participateInMetaMetrics: boolean;
|
689
|
-
} & {
|
690
|
-
bridgeConfig: Json;
|
691
560
|
}) => ExchangeRate) & {
|
692
561
|
clearCache: () => void;
|
693
562
|
resultsCount: () => number;
|
@@ -728,8 +597,6 @@ export declare const selectBridgeQuotes: ((state: BridgeControllerState & {
|
|
728
597
|
gasFeeEstimates: GasFeeEstimates;
|
729
598
|
} & MultichainAssetsRatesControllerState & TokenRatesControllerState & CurrencyRateState & Pick<BridgeControllerState, "assetExchangeRates"> & {
|
730
599
|
participateInMetaMetrics: boolean;
|
731
|
-
} & {
|
732
|
-
bridgeConfig: Json;
|
733
600
|
}, params_0: BridgeQuotesClientParams) => (QuoteResponse & QuoteMetadata) | null) & {
|
734
601
|
clearCache: () => void;
|
735
602
|
resultsCount: () => number;
|
@@ -746,8 +613,6 @@ export declare const selectBridgeQuotes: ((state: BridgeControllerState & {
|
|
746
613
|
gasFeeEstimates: GasFeeEstimates;
|
747
614
|
} & MultichainAssetsRatesControllerState & TokenRatesControllerState & CurrencyRateState & Pick<BridgeControllerState, "assetExchangeRates"> & {
|
748
615
|
participateInMetaMetrics: boolean;
|
749
|
-
} & {
|
750
|
-
bridgeConfig: Json;
|
751
616
|
}, params_0: BridgeQuotesClientParams) => (QuoteResponse & QuoteMetadata)[]) & {
|
752
617
|
clearCache: () => void;
|
753
618
|
resultsCount: () => number;
|
@@ -846,8 +711,6 @@ export declare const selectBridgeQuotes: ((state: BridgeControllerState & {
|
|
846
711
|
gasFeeEstimates: GasFeeEstimates;
|
847
712
|
} & MultichainAssetsRatesControllerState & TokenRatesControllerState & CurrencyRateState & Pick<BridgeControllerState, "assetExchangeRates"> & {
|
848
713
|
participateInMetaMetrics: boolean;
|
849
|
-
} & {
|
850
|
-
bridgeConfig: Json;
|
851
714
|
}) => {
|
852
715
|
sentAmount: {
|
853
716
|
amount: string;
|
@@ -1036,8 +899,6 @@ export declare const selectBridgeQuotes: ((state: BridgeControllerState & {
|
|
1036
899
|
gasFeeEstimates: GasFeeEstimates;
|
1037
900
|
} & MultichainAssetsRatesControllerState & TokenRatesControllerState & CurrencyRateState & Pick<BridgeControllerState, "assetExchangeRates"> & {
|
1038
901
|
participateInMetaMetrics: boolean;
|
1039
|
-
} & {
|
1040
|
-
bridgeConfig: Json;
|
1041
902
|
}) => {
|
1042
903
|
estimatedBaseFeeInDecGwei: string;
|
1043
904
|
maxPriorityFeePerGasInDecGwei: string;
|
@@ -1078,8 +939,6 @@ export declare const selectBridgeQuotes: ((state: BridgeControllerState & {
|
|
1078
939
|
gasFeeEstimates: GasFeeEstimates;
|
1079
940
|
} & MultichainAssetsRatesControllerState & TokenRatesControllerState & CurrencyRateState & Pick<BridgeControllerState, "assetExchangeRates"> & {
|
1080
941
|
participateInMetaMetrics: boolean;
|
1081
|
-
} & {
|
1082
|
-
bridgeConfig: Json;
|
1083
942
|
}) => ExchangeRate) & {
|
1084
943
|
clearCache: () => void;
|
1085
944
|
resultsCount: () => number;
|
@@ -1104,8 +963,6 @@ export declare const selectBridgeQuotes: ((state: BridgeControllerState & {
|
|
1104
963
|
gasFeeEstimates: GasFeeEstimates;
|
1105
964
|
} & MultichainAssetsRatesControllerState & TokenRatesControllerState & CurrencyRateState & Pick<BridgeControllerState, "assetExchangeRates"> & {
|
1106
965
|
participateInMetaMetrics: boolean;
|
1107
|
-
} & {
|
1108
|
-
bridgeConfig: Json;
|
1109
966
|
}) => ExchangeRate) & {
|
1110
967
|
clearCache: () => void;
|
1111
968
|
resultsCount: () => number;
|
@@ -1130,8 +987,6 @@ export declare const selectBridgeQuotes: ((state: BridgeControllerState & {
|
|
1130
987
|
gasFeeEstimates: GasFeeEstimates;
|
1131
988
|
} & MultichainAssetsRatesControllerState & TokenRatesControllerState & CurrencyRateState & Pick<BridgeControllerState, "assetExchangeRates"> & {
|
1132
989
|
participateInMetaMetrics: boolean;
|
1133
|
-
} & {
|
1134
|
-
bridgeConfig: Json;
|
1135
990
|
}) => ExchangeRate) & {
|
1136
991
|
clearCache: () => void;
|
1137
992
|
resultsCount: () => number;
|
@@ -1180,8 +1035,6 @@ export declare const selectBridgeQuotes: ((state: BridgeControllerState & {
|
|
1180
1035
|
gasFeeEstimates: GasFeeEstimates;
|
1181
1036
|
} & MultichainAssetsRatesControllerState & TokenRatesControllerState & CurrencyRateState & Pick<BridgeControllerState, "assetExchangeRates"> & {
|
1182
1037
|
participateInMetaMetrics: boolean;
|
1183
|
-
} & {
|
1184
|
-
bridgeConfig: Json;
|
1185
1038
|
}, params_0: BridgeQuotesClientParams) => (QuoteResponse & QuoteMetadata) | null) & {
|
1186
1039
|
clearCache: () => void;
|
1187
1040
|
resultsCount: () => number;
|
@@ -1198,8 +1051,6 @@ export declare const selectBridgeQuotes: ((state: BridgeControllerState & {
|
|
1198
1051
|
gasFeeEstimates: GasFeeEstimates;
|
1199
1052
|
} & MultichainAssetsRatesControllerState & TokenRatesControllerState & CurrencyRateState & Pick<BridgeControllerState, "assetExchangeRates"> & {
|
1200
1053
|
participateInMetaMetrics: boolean;
|
1201
|
-
} & {
|
1202
|
-
bridgeConfig: Json;
|
1203
1054
|
}, params_0: BridgeQuotesClientParams) => (QuoteResponse & QuoteMetadata) | null) & {
|
1204
1055
|
clearCache: () => void;
|
1205
1056
|
resultsCount: () => number;
|
@@ -1216,8 +1067,6 @@ export declare const selectBridgeQuotes: ((state: BridgeControllerState & {
|
|
1216
1067
|
gasFeeEstimates: GasFeeEstimates;
|
1217
1068
|
} & MultichainAssetsRatesControllerState & TokenRatesControllerState & CurrencyRateState & Pick<BridgeControllerState, "assetExchangeRates"> & {
|
1218
1069
|
participateInMetaMetrics: boolean;
|
1219
|
-
} & {
|
1220
|
-
bridgeConfig: Json;
|
1221
1070
|
}, params_0: BridgeQuotesClientParams) => (QuoteResponse & QuoteMetadata)[]) & {
|
1222
1071
|
clearCache: () => void;
|
1223
1072
|
resultsCount: () => number;
|
@@ -1316,8 +1165,6 @@ export declare const selectBridgeQuotes: ((state: BridgeControllerState & {
|
|
1316
1165
|
gasFeeEstimates: GasFeeEstimates;
|
1317
1166
|
} & MultichainAssetsRatesControllerState & TokenRatesControllerState & CurrencyRateState & Pick<BridgeControllerState, "assetExchangeRates"> & {
|
1318
1167
|
participateInMetaMetrics: boolean;
|
1319
|
-
} & {
|
1320
|
-
bridgeConfig: Json;
|
1321
1168
|
}) => {
|
1322
1169
|
sentAmount: {
|
1323
1170
|
amount: string;
|
@@ -1506,8 +1353,6 @@ export declare const selectBridgeQuotes: ((state: BridgeControllerState & {
|
|
1506
1353
|
gasFeeEstimates: GasFeeEstimates;
|
1507
1354
|
} & MultichainAssetsRatesControllerState & TokenRatesControllerState & CurrencyRateState & Pick<BridgeControllerState, "assetExchangeRates"> & {
|
1508
1355
|
participateInMetaMetrics: boolean;
|
1509
|
-
} & {
|
1510
|
-
bridgeConfig: Json;
|
1511
1356
|
}) => {
|
1512
1357
|
estimatedBaseFeeInDecGwei: string;
|
1513
1358
|
maxPriorityFeePerGasInDecGwei: string;
|
@@ -1548,8 +1393,6 @@ export declare const selectBridgeQuotes: ((state: BridgeControllerState & {
|
|
1548
1393
|
gasFeeEstimates: GasFeeEstimates;
|
1549
1394
|
} & MultichainAssetsRatesControllerState & TokenRatesControllerState & CurrencyRateState & Pick<BridgeControllerState, "assetExchangeRates"> & {
|
1550
1395
|
participateInMetaMetrics: boolean;
|
1551
|
-
} & {
|
1552
|
-
bridgeConfig: Json;
|
1553
1396
|
}) => ExchangeRate) & {
|
1554
1397
|
clearCache: () => void;
|
1555
1398
|
resultsCount: () => number;
|
@@ -1574,8 +1417,6 @@ export declare const selectBridgeQuotes: ((state: BridgeControllerState & {
|
|
1574
1417
|
gasFeeEstimates: GasFeeEstimates;
|
1575
1418
|
} & MultichainAssetsRatesControllerState & TokenRatesControllerState & CurrencyRateState & Pick<BridgeControllerState, "assetExchangeRates"> & {
|
1576
1419
|
participateInMetaMetrics: boolean;
|
1577
|
-
} & {
|
1578
|
-
bridgeConfig: Json;
|
1579
1420
|
}) => ExchangeRate) & {
|
1580
1421
|
clearCache: () => void;
|
1581
1422
|
resultsCount: () => number;
|
@@ -1600,8 +1441,6 @@ export declare const selectBridgeQuotes: ((state: BridgeControllerState & {
|
|
1600
1441
|
gasFeeEstimates: GasFeeEstimates;
|
1601
1442
|
} & MultichainAssetsRatesControllerState & TokenRatesControllerState & CurrencyRateState & Pick<BridgeControllerState, "assetExchangeRates"> & {
|
1602
1443
|
participateInMetaMetrics: boolean;
|
1603
|
-
} & {
|
1604
|
-
bridgeConfig: Json;
|
1605
1444
|
}) => ExchangeRate) & {
|
1606
1445
|
clearCache: () => void;
|
1607
1446
|
resultsCount: () => number;
|
@@ -1654,59 +1493,7 @@ export declare const selectBridgeQuotes: ((state: BridgeControllerState & {
|
|
1654
1493
|
} & {
|
1655
1494
|
argsMemoize: typeof import("reselect").weakMapMemoize;
|
1656
1495
|
memoize: typeof import("reselect").weakMapMemoize;
|
1657
|
-
}, (state: BridgeAppState) => number | null, (state: BridgeAppState) => boolean, (state: BridgeAppState) => number | null, (
|
1658
|
-
bridgeConfig: unknown;
|
1659
|
-
} & BridgeControllerState & {
|
1660
|
-
gasFeeEstimates: GasFeeEstimates;
|
1661
|
-
} & MultichainAssetsRatesControllerState & TokenRatesControllerState & CurrencyRateState & Pick<BridgeControllerState, "assetExchangeRates"> & {
|
1662
|
-
participateInMetaMetrics: boolean;
|
1663
|
-
} & {
|
1664
|
-
bridgeConfig: Json;
|
1665
|
-
}) => boolean) & {
|
1666
|
-
clearCache: () => void;
|
1667
|
-
resultsCount: () => number;
|
1668
|
-
resetResultsCount: () => void;
|
1669
|
-
} & {
|
1670
|
-
resultFunc: (resultFuncArgs_0: import("./types.mjs").FeatureFlagsPlatformConfig, resultFuncArgs_1: boolean | undefined, resultFuncArgs_2: number) => boolean;
|
1671
|
-
memoizedResultFunc: ((resultFuncArgs_0: import("./types.mjs").FeatureFlagsPlatformConfig, resultFuncArgs_1: boolean | undefined, resultFuncArgs_2: number) => boolean) & {
|
1672
|
-
clearCache: () => void;
|
1673
|
-
resultsCount: () => number;
|
1674
|
-
resetResultsCount: () => void;
|
1675
|
-
};
|
1676
|
-
lastResult: () => boolean;
|
1677
|
-
dependencies: [((state: {
|
1678
|
-
bridgeConfig: unknown;
|
1679
|
-
}) => import("./types.mjs").FeatureFlagsPlatformConfig) & {
|
1680
|
-
clearCache: () => void;
|
1681
|
-
resultsCount: () => number;
|
1682
|
-
resetResultsCount: () => void;
|
1683
|
-
} & {
|
1684
|
-
resultFunc: (resultFuncArgs_0: any) => import("./types.mjs").FeatureFlagsPlatformConfig;
|
1685
|
-
memoizedResultFunc: ((resultFuncArgs_0: any) => import("./types.mjs").FeatureFlagsPlatformConfig) & {
|
1686
|
-
clearCache: () => void;
|
1687
|
-
resultsCount: () => number;
|
1688
|
-
resetResultsCount: () => void;
|
1689
|
-
};
|
1690
|
-
lastResult: () => import("./types.mjs").FeatureFlagsPlatformConfig;
|
1691
|
-
dependencies: [(state: {
|
1692
|
-
bridgeConfig: unknown;
|
1693
|
-
}) => unknown];
|
1694
|
-
recomputations: () => number;
|
1695
|
-
resetRecomputations: () => void;
|
1696
|
-
dependencyRecomputations: () => number;
|
1697
|
-
resetDependencyRecomputations: () => void;
|
1698
|
-
} & {
|
1699
|
-
argsMemoize: typeof import("reselect").weakMapMemoize;
|
1700
|
-
memoize: typeof import("reselect").weakMapMemoize;
|
1701
|
-
}, (state: BridgeAppState) => boolean | undefined, (state: BridgeAppState) => number];
|
1702
|
-
recomputations: () => number;
|
1703
|
-
resetRecomputations: () => void;
|
1704
|
-
dependencyRecomputations: () => number;
|
1705
|
-
resetDependencyRecomputations: () => void;
|
1706
|
-
} & {
|
1707
|
-
argsMemoize: typeof import("reselect").weakMapMemoize;
|
1708
|
-
memoize: typeof import("reselect").weakMapMemoize;
|
1709
|
-
}];
|
1496
|
+
}, (state: BridgeAppState) => number | null, (state: BridgeAppState) => boolean, (state: BridgeAppState) => number | null, (state: BridgeAppState, { featureFlagsKey }: BridgeQuotesClientParams) => boolean];
|
1710
1497
|
recomputations: () => number;
|
1711
1498
|
resetRecomputations: () => void;
|
1712
1499
|
dependencyRecomputations: () => number;
|
package/dist/selectors.d.mts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"selectors.d.mts","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iBAAiB,EACjB,oCAAoC,EACpC,yBAAyB,EAC1B,qCAAqC;AACtC,OAAO,KAAK,EAAE,eAAe,EAAE,qCAAqC;
|
1
|
+
{"version":3,"file":"selectors.d.mts","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":"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"}
|
package/dist/selectors.mjs
CHANGED
@@ -7,7 +7,6 @@ import { BRIDGE_PREFERRED_GAS_ESTIMATE } from "./constants/bridge.mjs";
|
|
7
7
|
import { RequestStatus, SortOrder } from "./types.mjs";
|
8
8
|
import { getNativeAssetForChainId, isNativeAddress, isSolanaChainId } from "./utils/bridge.mjs";
|
9
9
|
import { formatAddressToAssetId, formatChainIdToCaip, formatChainIdToHex } from "./utils/caip-formatters.mjs";
|
10
|
-
import { processFeatureFlags } from "./utils/feature-flags.mjs";
|
11
10
|
import { calcAdjustedReturn, calcCost, calcEstimatedAndMaxTotalGasFee, calcRelayerFee, calcSentAmount, calcSolanaTotalNetworkFee, calcSwapRate, calcToAmount, calcTotalEstimatedNetworkFee, calcTotalMaxNetworkFee } from "./utils/quote.mjs";
|
12
11
|
/**
|
13
12
|
* Creates a structured selector for the bridge controller
|
@@ -17,29 +16,6 @@ const createStructuredBridgeSelector = createStructuredSelector_.withTypes();
|
|
17
16
|
* Creates a typed selector for the bridge controller
|
18
17
|
*/
|
19
18
|
const createBridgeSelector = createSelector_.withTypes();
|
20
|
-
const createFeatureFlagsSelector = createSelector_.withTypes();
|
21
|
-
/**
|
22
|
-
* Selects the bridge feature flags
|
23
|
-
*
|
24
|
-
* @param state - The state of the bridge controller
|
25
|
-
* @returns The bridge feature flags
|
26
|
-
*
|
27
|
-
* @example
|
28
|
-
* ```ts
|
29
|
-
* const featureFlags = useSelector(state => selectBridgeFeatureFlags(state));
|
30
|
-
*
|
31
|
-
* Or
|
32
|
-
*
|
33
|
-
* export const selectBridgeFeatureFlags = createSelector(
|
34
|
-
* selectRemoteFeatureFlags,
|
35
|
-
* (remoteFeatureFlags) =>
|
36
|
-
* selectBridgeFeatureFlagsBase({
|
37
|
-
* bridgeConfig: remoteFeatureFlags.bridgeConfig,
|
38
|
-
* }),
|
39
|
-
* );
|
40
|
-
* ```
|
41
|
-
*/
|
42
|
-
export const selectBridgeFeatureFlags = createFeatureFlagsSelector([(state) => state.bridgeConfig], (bridgeConfig) => processFeatureFlags(bridgeConfig));
|
43
19
|
const getExchangeRateByChainIdAndAddress = (exchangeRateSources, chainId, address) => {
|
44
20
|
if (!chainId || !address) {
|
45
21
|
return {};
|
@@ -192,12 +168,14 @@ const selectActiveQuote = createBridgeSelector([
|
|
192
168
|
selectRecommendedQuote,
|
193
169
|
(_, { selectedQuote }) => selectedQuote,
|
194
170
|
], (recommendedQuote, selectedQuote) => selectedQuote ?? recommendedQuote);
|
195
|
-
const selectIsQuoteGoingToRefresh =
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
171
|
+
const selectIsQuoteGoingToRefresh = (state, { featureFlagsKey }) => state.quoteRequest.insufficientBal
|
172
|
+
? false
|
173
|
+
: state.quotesRefreshCount <
|
174
|
+
state.bridgeFeatureFlags[featureFlagsKey].maxRefreshCount;
|
175
|
+
const selectQuoteRefreshRate = createBridgeSelector([
|
176
|
+
({ bridgeFeatureFlags }, { featureFlagsKey }) => bridgeFeatureFlags[featureFlagsKey],
|
177
|
+
(state) => state.quoteRequest.srcChainId,
|
178
|
+
], (featureFlags, srcChainId) => (srcChainId
|
201
179
|
? featureFlags.chains[formatChainIdToCaip(srcChainId)]?.refreshRate
|
202
180
|
: featureFlags.refreshRate) ?? featureFlags.refreshRate);
|
203
181
|
export const selectIsQuoteExpired = createBridgeSelector([
|
@@ -214,15 +192,17 @@ export const selectIsQuoteExpired = createBridgeSelector([
|
|
214
192
|
* @param state - The state of the bridge controller and its dependency controllers
|
215
193
|
* @param sortOrder - The sort order of the quotes
|
216
194
|
* @param selectedQuote - The quote that is currently selected by the user, should be cleared by clients when the req params change
|
195
|
+
* @param featureFlagsKey - The feature flags key for the client (e.g. `BridgeFeatureFlagsKey.EXTENSION_CONFIG`
|
217
196
|
* @returns The activeQuote, recommendedQuote, sortedQuotes, and other quote fetching metadata
|
218
197
|
*
|
219
198
|
* @example
|
220
199
|
* ```ts
|
221
200
|
* const quotes = useSelector(state => selectBridgeQuotes(
|
222
|
-
*
|
201
|
+
* state.metamask,
|
223
202
|
* {
|
224
203
|
* sortOrder: state.bridge.sortOrder,
|
225
204
|
* selectedQuote: state.bridge.selectedQuote,
|
205
|
+
* featureFlagsKey: BridgeFeatureFlagsKey.EXTENSION_CONFIG,
|
226
206
|
* }
|
227
207
|
* ));
|
228
208
|
* ```
|