Commit 7ec6a965 authored by Tina's avatar Tina Committed by GitHub

feat: bump uniswapx-sdk (#7023)

* bump uniswapx-sdk

* add feature flag

* use undefined if feature flag is off

* move to top level config

* remove unused variable
parent b58d4b72
import { BaseVariant, FeatureFlag, featureFlagSettings, useUpdateFlag } from 'featureFlags'
import { useForceUniswapXOnFlag } from 'featureFlags/flags/forceUniswapXOn'
import { DetailsV2Variant, useDetailsV2Flag } from 'featureFlags/flags/nftDetails'
import { useRoutingAPIForPriceFlag } from 'featureFlags/flags/priceRoutingApi'
import { TraceJsonRpcVariant, useTraceJsonRpcFlag } from 'featureFlags/flags/traceJsonRpc'
......@@ -214,7 +215,13 @@ export default function FeatureFlagModal() {
variant={UniswapXVariant}
value={useUniswapXFlag()}
featureFlag={FeatureFlag.uniswapXEnabled}
label="Enable UniswapX"
label="Enable UniswapX on interface"
/>
<FeatureFlagOption
variant={BaseVariant}
value={useForceUniswapXOnFlag()}
featureFlag={FeatureFlag.forceUniswapXOn}
label="Force routing api to enable UniswapX"
/>
<FeatureFlagOption
variant={BaseVariant}
......
import { BaseVariant, FeatureFlag, useBaseFlag } from '../index'
export function useForceUniswapXOnFlag(): BaseVariant {
return useBaseFlag(FeatureFlag.forceUniswapXOn)
}
export function useForceUniswapXOn(): boolean {
return useForceUniswapXOnFlag() === BaseVariant.Enabled
}
......@@ -11,9 +11,10 @@ export enum FeatureFlag {
fiatOnRampButtonOnSwap = 'fiat_on_ramp_button_on_swap_page',
detailsV2 = 'details_v2',
debounceSwapQuote = 'debounce_swap_quote',
uniswapXEnabled = 'uniswapx_enabled',
uniswapXEnabled = 'uniswapx_enabled', // enables sending dutch_limit config to routing-api
uniswapXSyntheticQuote = 'uniswapx_synthetic_quote',
routingAPIPrice = 'routing_api_price',
forceUniswapXOn = 'uniswapx_force_on', // forces routing-api's feature flag for uniswapx to turn on as well
}
interface FeatureFlagsContextType {
......
import { Currency, CurrencyAmount, TradeType } from '@uniswap/sdk-core'
import { useForceUniswapXOn } from 'featureFlags/flags/forceUniswapXOn'
import { useRoutingAPIForPrice } from 'featureFlags/flags/priceRoutingApi'
import { useUniswapXEnabled } from 'featureFlags/flags/uniswapx'
import { useUniswapXSyntheticQuoteEnabled } from 'featureFlags/flags/uniswapXUseSyntheticQuote'
......@@ -28,6 +29,7 @@ export function useRoutingAPIArguments({
}): GetQuoteArgs | undefined {
const uniswapXEnabled = useUniswapXEnabled()
const uniswapXForceSyntheticQuotes = useUniswapXSyntheticQuoteEnabled()
const forceUniswapXOn = useForceUniswapXOn()
const isRoutingAPIPrice = useRoutingAPIForPrice()
return useMemo(
......@@ -51,6 +53,7 @@ export function useRoutingAPIArguments({
needsWrapIfUniswapX: tokenIn.isNative,
uniswapXEnabled,
uniswapXForceSyntheticQuotes,
forceUniswapXOn,
},
[
account,
......@@ -62,6 +65,7 @@ export function useRoutingAPIArguments({
uniswapXEnabled,
isRoutingAPIPrice,
uniswapXForceSyntheticQuotes,
forceUniswapXOn,
]
)
}
......@@ -52,6 +52,7 @@ export interface GetQuoteArgs {
needsWrapIfUniswapX: boolean
uniswapXEnabled: boolean
uniswapXForceSyntheticQuotes: boolean
forceUniswapXOn: boolean
isRoutingAPIPrice?: boolean
}
......@@ -133,7 +134,15 @@ export const routingApi = createApi({
const fellBack = false
if (shouldUseAPIRouter(args)) {
try {
const { tokenInAddress, tokenInChainId, tokenOutAddress, tokenOutChainId, amount, tradeType } = args
const {
tokenInAddress,
tokenInChainId,
tokenOutAddress,
tokenOutChainId,
amount,
tradeType,
forceUniswapXOn,
} = args
const type = isExactInput(tradeType) ? 'EXACT_INPUT' : 'EXACT_OUTPUT'
const requestBody = {
......@@ -143,6 +152,8 @@ export const routingApi = createApi({
tokenOut: tokenOutAddress,
amount,
type,
// if forceUniswapXOn is not ON, then use the backend's default value
useUniswapX: forceUniswapXOn || undefined,
configs: getRoutingAPIConfig(args),
}
......
......@@ -6374,10 +6374,10 @@
resolved "https://registry.yarnpkg.com/@uniswap/token-lists/-/token-lists-1.0.0-beta.33.tgz#966ba96c9ccc8f0e9e09809890b438203f2b1911"
integrity sha512-JQkXcpRI3jFG8y3/CGC4TS8NkDgcxXaOQuYW8Qdvd6DcDiIyg2vVYCG9igFEzF0G6UvxgHkBKC7cWCgzZNYvQg==
"@uniswap/uniswapx-sdk@^1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@uniswap/uniswapx-sdk/-/uniswapx-sdk-1.0.1.tgz#c1378da255a710bcaa9bbf553634d70db533bd90"
integrity sha512-qll9TuZLWG8cbLOXy7C79vONyQgBoos/g9Xphcjdyi2O8dD/Kk7x3P2kQ7OZrcPnaJ1wOtMzKX/9PstDrjiHrQ==
"@uniswap/uniswapx-sdk@^1.1.0":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@uniswap/uniswapx-sdk/-/uniswapx-sdk-1.1.0.tgz#fd0c56f7f1a820b2d47b05d020108ced35d87cbd"
integrity sha512-LIEaVnuqaGnm66Rt8s3XB8DzUo6gUNfI2HDarCXpS4e2wVb4FA2/hzsC41vbL4qR579cRCn/br4bNfNI6wvDWQ==
dependencies:
"@ethersproject/bytes" "^5.7.0"
"@ethersproject/providers" "^5.7.0"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment