Compare commits

...

7 Commits

Author SHA1 Message Date
Connor McEwen
627b773a26
fix: disable v2 liq (#7011) 2023-07-26 10:29:19 -04:00
Charles Bachmeier
0904399245
fix: add infura url for base and base goerli (#6976)
* fix: add infura url for base and base goerli

* add fallbacks

* add avax safe fallbacks

* styling

* safe urls
2023-07-18 16:36:14 -07:00
Charles Bachmeier
aec4c5a44a
fix: Update Dependencies to Re-Enable Avalanche and BNB Routing (#6973)
* compiles

* base not supported

* latest uniswapx-sdk version

* correct provider

* updated cypress-hardhat
2023-07-18 15:05:39 -07:00
Jack Short
2a3fdf6df3
fix: v2 liquidity divide by zero (#6972) 2023-07-18 18:03:25 -04:00
eddie
fc342495e3
fix: log opt in impression (#6960)
* fix: log opt in impression

* fix: move trace up to parent level
2023-07-17 10:08:11 -07:00
UL Service Account
8318981cb2 ci: add global CODEOWNERS 2023-07-16 02:20:08 +00:00
UL Service Account
7b553be1cd ci(t9n): download translations from crowdin 2023-07-16 02:20:08 +00:00
45 changed files with 118571 additions and 87 deletions

1
CODEOWNERS Normal file
View File

@ -0,0 +1 @@
@uniswap/web-admins

View File

@ -112,7 +112,7 @@
"buffer": "^6.0.3", "buffer": "^6.0.3",
"concurrently": "^8.0.1", "concurrently": "^8.0.1",
"cypress": "12.12.0", "cypress": "12.12.0",
"cypress-hardhat": "^2.4.2", "cypress-hardhat": "^2.5.0",
"env-cmd": "^10.1.0", "env-cmd": "^10.1.0",
"eslint": "^7.11.0", "eslint": "^7.11.0",
"eslint-plugin-import": "^2.27", "eslint-plugin-import": "^2.27",
@ -174,18 +174,18 @@
"@uniswap/merkle-distributor": "1.0.1", "@uniswap/merkle-distributor": "1.0.1",
"@uniswap/permit2-sdk": "1.2.0", "@uniswap/permit2-sdk": "1.2.0",
"@uniswap/redux-multicall": "^1.1.8", "@uniswap/redux-multicall": "^1.1.8",
"@uniswap/router-sdk": "^1.3.0", "@uniswap/router-sdk": "^1.6.0",
"@uniswap/sdk-core": "^3.2.6", "@uniswap/sdk-core": "^4.0.3",
"@uniswap/smart-order-router": "3.13.5", "@uniswap/smart-order-router": "3.13.7",
"@uniswap/token-lists": "^1.0.0-beta.33", "@uniswap/token-lists": "^1.0.0-beta.33",
"@uniswap/uniswapx-sdk": "^1.0.0", "@uniswap/uniswapx-sdk": "^1.0.1",
"@uniswap/universal-router-sdk": "^1.5.3", "@uniswap/universal-router-sdk": "^1.5.4",
"@uniswap/v2-core": "1.0.0", "@uniswap/v2-core": "1.0.0",
"@uniswap/v2-periphery": "^1.1.0-beta.0", "@uniswap/v2-periphery": "^1.1.0-beta.0",
"@uniswap/v2-sdk": "^3.0.1", "@uniswap/v2-sdk": "^3.2.0",
"@uniswap/v3-core": "1.0.0", "@uniswap/v3-core": "1.0.0",
"@uniswap/v3-periphery": "^1.1.1", "@uniswap/v3-periphery": "^1.1.1",
"@uniswap/v3-sdk": "^3.9.0", "@uniswap/v3-sdk": "^3.10.0",
"@vanilla-extract/css": "^1.7.2", "@vanilla-extract/css": "^1.7.2",
"@vanilla-extract/css-utils": "^0.1.2", "@vanilla-extract/css-utils": "^0.1.2",
"@vanilla-extract/dynamic": "^2.0.2", "@vanilla-extract/dynamic": "^2.0.2",

View File

@ -16,10 +16,14 @@ export const CHAIN_IDS_TO_NAMES = {
[ChainId.OPTIMISM_GOERLI]: 'optimism_goerli', [ChainId.OPTIMISM_GOERLI]: 'optimism_goerli',
[ChainId.BNB]: 'bnb', [ChainId.BNB]: 'bnb',
[ChainId.AVALANCHE]: 'avalanche', [ChainId.AVALANCHE]: 'avalanche',
[ChainId.BASE]: 'base',
[ChainId.BASE_GOERLI]: 'base_goerli',
} as const } as const
const NOT_YET_UX_SUPPORTED_CHAIN_IDS = [ChainId.BASE, ChainId.BASE_GOERLI] as const
export function isSupportedChain(chainId: number | null | undefined | ChainId): chainId is SupportedChainsType { export function isSupportedChain(chainId: number | null | undefined | ChainId): chainId is SupportedChainsType {
return !!chainId && SUPPORTED_CHAINS.indexOf(chainId) !== -1 return !!chainId && SUPPORTED_CHAINS.indexOf(chainId) !== -1 && NOT_YET_UX_SUPPORTED_CHAIN_IDS.indexOf(chainId) === -1
} }
export function asSupportedChain(chainId: number | null | undefined | ChainId): SupportedChainsType | undefined { export function asSupportedChain(chainId: number | null | undefined | ChainId): SupportedChainsType | undefined {

View File

@ -103,11 +103,15 @@ export const FALLBACK_URLS = {
[ChainId.AVALANCHE]: [ [ChainId.AVALANCHE]: [
// "Safe" URLs // "Safe" URLs
'https://api.avax.network/ext/bc/C/rpc', 'https://api.avax.network/ext/bc/C/rpc',
'https://rpc.ankr.com/avalanche',
'https://avalanche.blockpi.network/v1/rpc/public',
'https://avalanche-c-chain.publicnode.com', 'https://avalanche-c-chain.publicnode.com',
'https://endpoints.omniatech.io/v1/avax/mainnet/public', ],
'https://ava-mainnet.public.blastapi.io/ext/bc/C/rpc', [ChainId.BASE]: [
// "Safe" URLs
'https://developer-access-mainnet.base.org',
],
[ChainId.BASE_GOERLI]: [
// "Safe" URLs
'https://goerli.base.org',
], ],
} }
@ -141,4 +145,6 @@ export const RPC_URLS = {
[ChainId.CELO_ALFAJORES]: FALLBACK_URLS[ChainId.CELO_ALFAJORES], [ChainId.CELO_ALFAJORES]: FALLBACK_URLS[ChainId.CELO_ALFAJORES],
[ChainId.BNB]: [QUICKNODE_RPC_URL, ...FALLBACK_URLS[ChainId.BNB]], [ChainId.BNB]: [QUICKNODE_RPC_URL, ...FALLBACK_URLS[ChainId.BNB]],
[ChainId.AVALANCHE]: [`https://avalanche-mainnet.infura.io/v3/${INFURA_KEY}`, ...FALLBACK_URLS[ChainId.AVALANCHE]], [ChainId.AVALANCHE]: [`https://avalanche-mainnet.infura.io/v3/${INFURA_KEY}`, ...FALLBACK_URLS[ChainId.AVALANCHE]],
[ChainId.BASE]: [`https://base-mainnet.infura.io/v3/${INFURA_KEY}`, ...FALLBACK_URLS[ChainId.BASE]],
[ChainId.BASE_GOERLI]: [`https://base-goerli.infura.io/v3/${INFURA_KEY}`, ...FALLBACK_URLS[ChainId.BASE_GOERLI]],
} }

View File

@ -71,4 +71,6 @@ export const RPC_PROVIDERS: { [key in SupportedChainsType]: StaticJsonRpcProvide
[ChainId.CELO_ALFAJORES]: new AppJsonRpcProvider(ChainId.CELO_ALFAJORES), [ChainId.CELO_ALFAJORES]: new AppJsonRpcProvider(ChainId.CELO_ALFAJORES),
[ChainId.BNB]: new AppJsonRpcProvider(ChainId.BNB), [ChainId.BNB]: new AppJsonRpcProvider(ChainId.BNB),
[ChainId.AVALANCHE]: new AppJsonRpcProvider(ChainId.AVALANCHE), [ChainId.AVALANCHE]: new AppJsonRpcProvider(ChainId.AVALANCHE),
[ChainId.BASE]: new AppJsonRpcProvider(ChainId.BASE),
[ChainId.BASE_GOERLI]: new AppJsonRpcProvider(ChainId.BASE_GOERLI),
} }

3589
src/locales/af-ZA.po Normal file

File diff suppressed because it is too large Load Diff

3589
src/locales/ar-SA.po Normal file

File diff suppressed because it is too large Load Diff

3589
src/locales/ca-ES.po Normal file

File diff suppressed because it is too large Load Diff

3589
src/locales/cs-CZ.po Normal file

File diff suppressed because it is too large Load Diff

3589
src/locales/da-DK.po Normal file

File diff suppressed because it is too large Load Diff

3589
src/locales/de-DE.po Normal file

File diff suppressed because it is too large Load Diff

3589
src/locales/el-GR.po Normal file

File diff suppressed because it is too large Load Diff

3589
src/locales/es-ES.po Normal file

File diff suppressed because it is too large Load Diff

3589
src/locales/fi-FI.po Normal file

File diff suppressed because it is too large Load Diff

3589
src/locales/fr-FR.po Normal file

File diff suppressed because it is too large Load Diff

3589
src/locales/he-IL.po Normal file

File diff suppressed because it is too large Load Diff

3590
src/locales/hu-HU.po Normal file

File diff suppressed because it is too large Load Diff

3589
src/locales/id-ID.po Normal file

File diff suppressed because it is too large Load Diff

3589
src/locales/it-IT.po Normal file

File diff suppressed because it is too large Load Diff

3589
src/locales/ja-JP.po Normal file

File diff suppressed because it is too large Load Diff

3589
src/locales/ko-KR.po Normal file

File diff suppressed because it is too large Load Diff

3589
src/locales/nl-NL.po Normal file

File diff suppressed because it is too large Load Diff

3589
src/locales/no-NO.po Normal file

File diff suppressed because it is too large Load Diff

3589
src/locales/pl-PL.po Normal file

File diff suppressed because it is too large Load Diff

3589
src/locales/pt-BR.po Normal file

File diff suppressed because it is too large Load Diff

3589
src/locales/pt-PT.po Normal file

File diff suppressed because it is too large Load Diff

3589
src/locales/ro-RO.po Normal file

File diff suppressed because it is too large Load Diff

3589
src/locales/ru-RU.po Normal file

File diff suppressed because it is too large Load Diff

3589
src/locales/sl-SI.po Normal file

File diff suppressed because it is too large Load Diff

3589
src/locales/sr-SP.po Normal file

File diff suppressed because it is too large Load Diff

3589
src/locales/sv-SE.po Normal file

File diff suppressed because it is too large Load Diff

3589
src/locales/sw-TZ.po Normal file

File diff suppressed because it is too large Load Diff

3589
src/locales/th-TH.po Normal file

File diff suppressed because it is too large Load Diff

3589
src/locales/tr-TR.po Normal file

File diff suppressed because it is too large Load Diff

3589
src/locales/uk-UA.po Normal file

File diff suppressed because it is too large Load Diff

3589
src/locales/vi-VN.po Normal file

File diff suppressed because it is too large Load Diff

3589
src/locales/zh-CN.po Normal file

File diff suppressed because it is too large Load Diff

3589
src/locales/zh-TW.po Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,31 @@
import { Price, WETH9 } from '@uniswap/sdk-core'
import { USDC_MAINNET } from 'constants/tokens'
import { Field } from 'state/mint/actions'
import { render, screen } from 'test-utils/render'
import { PoolPriceBar } from './PoolPriceBar'
const currencies = {
[Field.CURRENCY_A]: WETH9[1],
[Field.CURRENCY_B]: USDC_MAINNET,
}
const price = new Price(currencies[Field.CURRENCY_A], currencies[Field.CURRENCY_B], 1234, 1)
describe('pool price bar', () => {
it('correctly renders the correct pool prices', () => {
render(<PoolPriceBar currencies={currencies} price={price} noLiquidity={false} poolTokenPercentage={undefined} />)
expect(screen.getByTestId('currency-b-price').textContent).toBe('810373000')
expect(screen.getByTestId('currency-a-price').textContent).toBe('0.000000001234')
})
it('handles undefined price', () => {
render(
<PoolPriceBar currencies={currencies} price={undefined} noLiquidity={false} poolTokenPercentage={undefined} />
)
expect(screen.getByTestId('currency-b-price').textContent).toBe('-')
expect(screen.getByTestId('currency-a-price').textContent).toBe('-')
})
})

View File

@ -21,16 +21,21 @@ export function PoolPriceBar({
price?: Price<Currency, Currency> price?: Price<Currency, Currency>
}) { }) {
const theme = useTheme() const theme = useTheme()
const canInvertPrice = Boolean(
price && price.baseCurrency && price.quoteCurrency && !price.baseCurrency.equals(price.quoteCurrency) let invertedPrice: string | undefined
) try {
const invertedPrice = canInvertPrice ? price?.invert()?.toSignificant(6) : undefined invertedPrice = price?.invert()?.toSignificant(6)
} catch (error) {
invertedPrice = undefined
}
return ( return (
<AutoColumn gap="md"> <AutoColumn gap="md">
<AutoRow justify="space-around" gap="4px"> <AutoRow justify="space-around" gap="4px">
<AutoColumn justify="center"> <AutoColumn justify="center">
<ThemedText.DeprecatedBlack>{price?.toSignificant(6) ?? '-'}</ThemedText.DeprecatedBlack> <ThemedText.DeprecatedBlack data-testid="currency-b-price">
{price?.toSignificant(6) ?? '-'}
</ThemedText.DeprecatedBlack>
<Text fontWeight={500} fontSize={14} color={theme.textSecondary} pt={1}> <Text fontWeight={500} fontSize={14} color={theme.textSecondary} pt={1}>
<Trans> <Trans>
{currencies[Field.CURRENCY_B]?.symbol} per {currencies[Field.CURRENCY_A]?.symbol} {currencies[Field.CURRENCY_B]?.symbol} per {currencies[Field.CURRENCY_A]?.symbol}
@ -38,7 +43,7 @@ export function PoolPriceBar({
</Text> </Text>
</AutoColumn> </AutoColumn>
<AutoColumn justify="center"> <AutoColumn justify="center">
<ThemedText.DeprecatedBlack>{invertedPrice ?? '-'}</ThemedText.DeprecatedBlack> <ThemedText.DeprecatedBlack data-testid="currency-a-price">{invertedPrice ?? '-'}</ThemedText.DeprecatedBlack>
<Text fontWeight={500} fontSize={14} color={theme.textSecondary} pt={1}> <Text fontWeight={500} fontSize={14} color={theme.textSecondary} pt={1}>
<Trans> <Trans>
{currencies[Field.CURRENCY_A]?.symbol} per {currencies[Field.CURRENCY_B]?.symbol} {currencies[Field.CURRENCY_A]?.symbol} per {currencies[Field.CURRENCY_B]?.symbol}

View File

@ -2,6 +2,7 @@ import { Navigate, useParams } from 'react-router-dom'
import AddLiquidityV2 from './index' import AddLiquidityV2 from './index'
// eslint-disable-next-line
export function RedirectDuplicateTokenIdsV2() { export function RedirectDuplicateTokenIdsV2() {
const { currencyIdA, currencyIdB } = useParams<{ currencyIdA: string; currencyIdB: string }>() const { currencyIdA, currencyIdB } = useParams<{ currencyIdA: string; currencyIdB: string }>()

View File

@ -30,7 +30,6 @@ import Popups from '../components/Popups'
import DarkModeQueryParamReader from '../theme/components/DarkModeQueryParamReader' import DarkModeQueryParamReader from '../theme/components/DarkModeQueryParamReader'
import AddLiquidity from './AddLiquidity' import AddLiquidity from './AddLiquidity'
import { RedirectDuplicateTokenIds } from './AddLiquidity/redirects' import { RedirectDuplicateTokenIds } from './AddLiquidity/redirects'
import { RedirectDuplicateTokenIdsV2 } from './AddLiquidityV2/redirects'
import Landing from './Landing' import Landing from './Landing'
import MigrateV2 from './MigrateV2' import MigrateV2 from './MigrateV2'
import MigrateV2Pair from './MigrateV2/MigrateV2Pair' import MigrateV2Pair from './MigrateV2/MigrateV2Pair'
@ -237,10 +236,10 @@ export default function App() {
<Route path="pools" element={<Pool />} /> <Route path="pools" element={<Pool />} />
<Route path="pools/:tokenId" element={<PositionPage />} /> <Route path="pools/:tokenId" element={<PositionPage />} />
<Route path="add/v2" element={<RedirectDuplicateTokenIdsV2 />}> {/* <Route path="add/v2" element={<RedirectDuplicateTokenIdsV2 />}>
<Route path=":currencyIdA" /> <Route path=":currencyIdA" />
<Route path=":currencyIdA/:currencyIdB" /> <Route path=":currencyIdA/:currencyIdB" />
</Route> </Route> */}
<Route path="add" element={<RedirectDuplicateTokenIds />}> <Route path="add" element={<RedirectDuplicateTokenIds />}>
{/* this is workaround since react-router-dom v6 doesn't support optional parameters any more */} {/* this is workaround since react-router-dom v6 doesn't support optional parameters any more */}
<Route path=":currencyIdA" /> <Route path=":currencyIdA" />

View File

@ -206,11 +206,11 @@ export default function Pool() {
<Trans>Import Pool</Trans> <Trans>Import Pool</Trans>
</Text> </Text>
</ResponsiveButtonPrimary> </ResponsiveButtonPrimary>
<ResponsiveButtonPrimary id="join-pool-button" as={Link} to="/add/v2/ETH" padding="6px 8px"> {/* <ResponsiveButtonPrimary id="join-pool-button" as={Link} to="/add/v2/ETH" padding="6px 8px">
<Text fontWeight={500} fontSize={16}> <Text fontWeight={500} fontSize={16}>
<Trans>Add V2 Liquidity</Trans> <Trans>Add V2 Liquidity</Trans>
</Text> </Text>
</ResponsiveButtonPrimary> </ResponsiveButtonPrimary> */}
</ButtonRow> </ButtonRow>
</TitleRow> </TitleRow>

View File

@ -30,6 +30,7 @@ import { ThemedText } from 'theme'
export const UniswapXOptIn = (props: { swapInfo: SwapInfo; isSmall: boolean }) => { export const UniswapXOptIn = (props: { swapInfo: SwapInfo; isSmall: boolean }) => {
const { const {
trade: { trade }, trade: { trade },
allowedSlippage,
} = props.swapInfo } = props.swapInfo
const userDisabledUniswapX = useUserDisabledUniswapX() const userDisabledUniswapX = useUserDisabledUniswapX()
const isOnClassic = Boolean(trade && isClassicTrade(trade) && trade.isUniswapXBetter && !userDisabledUniswapX) const isOnClassic = Boolean(trade && isClassicTrade(trade) && trade.isUniswapXBetter && !userDisabledUniswapX)
@ -44,7 +45,15 @@ export const UniswapXOptIn = (props: { swapInfo: SwapInfo; isSmall: boolean }) =
return null return null
} }
return <OptInContents isOnClassic={isOnClassic} {...props} /> return (
<Trace
shouldLogImpression
name="UniswapX Opt In Impression"
properties={trade ? formatCommonPropertiesForTrade(trade, allowedSlippage) : undefined}
>
<OptInContents isOnClassic={isOnClassic} {...props} />
</Trace>
)
} }
const OptInContents = ({ const OptInContents = ({
@ -111,20 +120,8 @@ const OptInContents = ({
const containerRef = useRef<HTMLDivElement>() const containerRef = useRef<HTMLDivElement>()
const wrapTrace = (children: JSX.Element) => {
return (
<Trace
shouldLogImpression={isVisible}
name="UniswapX Opt In Impression"
properties={trade ? formatCommonPropertiesForTrade(trade, allowedSlippage) : undefined}
>
{children}
</Trace>
)
}
if (isSmall) { if (isSmall) {
return wrapTrace( return (
<SwapOptInSmallContainer ref={containerRef as any} visible={isVisible} shouldAnimate={shouldAnimate}> <SwapOptInSmallContainer ref={containerRef as any} visible={isVisible} shouldAnimate={shouldAnimate}>
<SwapMustache> <SwapMustache>
<UniswapXShine /> <UniswapXShine />
@ -143,7 +140,7 @@ const OptInContents = ({
) )
} }
return wrapTrace( return (
<> <>
{/* first popover: intro */} {/* first popover: intro */}
<UniswapXOptInPopover shiny visible={isVisible && !showYoureIn}> <UniswapXOptInPopover shiny visible={isVisible && !showYoureIn}>

View File

@ -6286,21 +6286,21 @@
resolved "https://registry.yarnpkg.com/@uniswap/redux-multicall/-/redux-multicall-1.1.8.tgz#9cc5090305b10df68fb6162eb1ba7c2c762f5e7f" resolved "https://registry.yarnpkg.com/@uniswap/redux-multicall/-/redux-multicall-1.1.8.tgz#9cc5090305b10df68fb6162eb1ba7c2c762f5e7f"
integrity sha512-LttOBVJuoRNC6N4MHsb5dF2GszLsj1ddPKKccEw1XOX17bGrFdm2A6GwKgES+v+Hj3lluDbQL6atcQtymP21iw== integrity sha512-LttOBVJuoRNC6N4MHsb5dF2GszLsj1ddPKKccEw1XOX17bGrFdm2A6GwKgES+v+Hj3lluDbQL6atcQtymP21iw==
"@uniswap/router-sdk@^1.3.0", "@uniswap/router-sdk@^1.4.0": "@uniswap/router-sdk@^1.6.0":
version "1.4.0" version "1.6.0"
resolved "https://registry.yarnpkg.com/@uniswap/router-sdk/-/router-sdk-1.4.0.tgz#0e8d49f37b36e74b6a70ec257ec0561bf1f249c3" resolved "https://registry.yarnpkg.com/@uniswap/router-sdk/-/router-sdk-1.6.0.tgz#2f51dbba1b01467244b59500ed0da8aa84323f8c"
integrity sha512-GyUX8x+hnwnh89DHyA/yKWUwhU3Eukx3B76vfvMMWfr++GA4CW6PzT5j4JgNZDrsBTOSJWxTdU5YbgOuwU2XGg== integrity sha512-onpAzcvEnrsm8tUtu49IrR9EP3n9j0IDpGc0Ee3FDDkVgXrp9cIrAADC+yb56vgLtJFnshbhyIdjXLMIzWe0Gw==
dependencies: dependencies:
"@ethersproject/abi" "^5.5.0" "@ethersproject/abi" "^5.5.0"
"@uniswap/sdk-core" "^3.0.1" "@uniswap/sdk-core" "^4"
"@uniswap/swap-router-contracts" "1.1.0" "@uniswap/swap-router-contracts" "1.1.0"
"@uniswap/v2-sdk" "^3.0.1" "@uniswap/v2-sdk" "^3.2.0"
"@uniswap/v3-sdk" "^3.8.3" "@uniswap/v3-sdk" "^3.10.0"
"@uniswap/sdk-core@^3.0.0-alpha.3", "@uniswap/sdk-core@^3.0.1", "@uniswap/sdk-core@^3.0.2", "@uniswap/sdk-core@^3.1.0", "@uniswap/sdk-core@^3.2.6": "@uniswap/sdk-core@>= 3", "@uniswap/sdk-core@^4", "@uniswap/sdk-core@^4.0.0", "@uniswap/sdk-core@^4.0.2", "@uniswap/sdk-core@^4.0.3":
version "3.2.6" version "4.0.6"
resolved "https://registry.yarnpkg.com/@uniswap/sdk-core/-/sdk-core-3.2.6.tgz#1a652516fab0c6bc1420c2226648da967a10f52a" resolved "https://registry.yarnpkg.com/@uniswap/sdk-core/-/sdk-core-4.0.6.tgz#7b6d562f54293bbe0a9d101fb84e619db325f7b6"
integrity sha512-MvH/3G0W0sM2g7XjaUy9qU7IabxL/KQp/ucU0AQGpVxiTaAhmVRtsjkkv9UDyzpIXVrmevl4kRgV7KKE29UuXA== integrity sha512-6GzCVfnOiJtvo91zlF/VjnC2OEbBRThVclzrh7+Zmo8dBovXwSlXwqn3RkSWACn/XEOzAKH70TficfOWm6mWJA==
dependencies: dependencies:
"@ethersproject/address" "^5.0.2" "@ethersproject/address" "^5.0.2"
big.js "^5.2.2" big.js "^5.2.2"
@ -6309,20 +6309,20 @@
tiny-invariant "^1.1.0" tiny-invariant "^1.1.0"
toformat "^2.0.0" toformat "^2.0.0"
"@uniswap/smart-order-router@3.13.5": "@uniswap/smart-order-router@3.13.7":
version "3.13.5" version "3.13.7"
resolved "https://registry.yarnpkg.com/@uniswap/smart-order-router/-/smart-order-router-3.13.5.tgz#a6db511b46db5716aa9002060992f2326682d7a5" resolved "https://registry.yarnpkg.com/@uniswap/smart-order-router/-/smart-order-router-3.13.7.tgz#0355402b4459a3a8e78a2dc68c1c6aa7d4386b5c"
integrity sha512-U+XG9Wgzzpii8LLFLUu86pUjxp+JsL0sCkuCYr+arV9KbNWUhhNQi1gTia7VYCs9+EUaVwulRoC9eWytCxobcw== integrity sha512-fJDyUngHWw2lH0qIkDzeUqHgP2VLAq33o5O9yM75nQi6LrD8fEIgsfdzFbF8c+F7enAFtA6Xl4lf5AlHKNaXSg==
dependencies: dependencies:
"@uniswap/default-token-list" "^11.2.0" "@uniswap/default-token-list" "^11.2.0"
"@uniswap/permit2-sdk" "^1.2.0" "@uniswap/permit2-sdk" "^1.2.0"
"@uniswap/router-sdk" "^1.3.0" "@uniswap/router-sdk" "^1.6.0"
"@uniswap/swap-router-contracts" "^1.3.0" "@uniswap/swap-router-contracts" "^1.3.0"
"@uniswap/token-lists" "^1.0.0-beta.31" "@uniswap/token-lists" "^1.0.0-beta.31"
"@uniswap/universal-router" "^1.0.1" "@uniswap/universal-router" "^1.0.1"
"@uniswap/universal-router-sdk" "^1.3.9" "@uniswap/universal-router-sdk" "^1.5.4"
"@uniswap/v2-sdk" "^3.0.1" "@uniswap/v2-sdk" "^3.2.0"
"@uniswap/v3-sdk" "^3.7.0" "@uniswap/v3-sdk" "^3.10.0"
async-retry "^1.3.1" async-retry "^1.3.1"
await-timeout "^1.1.1" await-timeout "^1.1.1"
axios "^0.21.1" axios "^0.21.1"
@ -6364,28 +6364,28 @@
resolved "https://registry.yarnpkg.com/@uniswap/token-lists/-/token-lists-1.0.0-beta.33.tgz#966ba96c9ccc8f0e9e09809890b438203f2b1911" resolved "https://registry.yarnpkg.com/@uniswap/token-lists/-/token-lists-1.0.0-beta.33.tgz#966ba96c9ccc8f0e9e09809890b438203f2b1911"
integrity sha512-JQkXcpRI3jFG8y3/CGC4TS8NkDgcxXaOQuYW8Qdvd6DcDiIyg2vVYCG9igFEzF0G6UvxgHkBKC7cWCgzZNYvQg== integrity sha512-JQkXcpRI3jFG8y3/CGC4TS8NkDgcxXaOQuYW8Qdvd6DcDiIyg2vVYCG9igFEzF0G6UvxgHkBKC7cWCgzZNYvQg==
"@uniswap/uniswapx-sdk@^1.0.0": "@uniswap/uniswapx-sdk@^1.0.1":
version "1.0.0" version "1.0.1"
resolved "https://registry.yarnpkg.com/@uniswap/uniswapx-sdk/-/uniswapx-sdk-1.0.0.tgz#5e27a86aca4b9955da90ec8209f44bad257178d2" resolved "https://registry.yarnpkg.com/@uniswap/uniswapx-sdk/-/uniswapx-sdk-1.0.1.tgz#c1378da255a710bcaa9bbf553634d70db533bd90"
integrity sha512-2e+74J8pTxrP7Vq2bw5Cae+Z1uLDUi/sMbvG+SFBM/qJM+rn5UFs5pdAaLTzPaEwgoL0aExlu8QJYchri0D2aA== integrity sha512-qll9TuZLWG8cbLOXy7C79vONyQgBoos/g9Xphcjdyi2O8dD/Kk7x3P2kQ7OZrcPnaJ1wOtMzKX/9PstDrjiHrQ==
dependencies: dependencies:
"@ethersproject/bytes" "^5.7.0" "@ethersproject/bytes" "^5.7.0"
"@ethersproject/providers" "^5.7.0" "@ethersproject/providers" "^5.7.0"
"@uniswap/permit2-sdk" "^1.2.0" "@uniswap/permit2-sdk" "^1.2.0"
"@uniswap/sdk-core" "^3.0.2" "@uniswap/sdk-core" "^4.0.3"
ethers "^5.7.0" ethers "^5.7.0"
"@uniswap/universal-router-sdk@^1.3.8", "@uniswap/universal-router-sdk@^1.3.9", "@uniswap/universal-router-sdk@^1.5.3": "@uniswap/universal-router-sdk@^1.5.4":
version "1.5.3" version "1.5.4"
resolved "https://registry.yarnpkg.com/@uniswap/universal-router-sdk/-/universal-router-sdk-1.5.3.tgz#7397250f9569ed0b29d94e2d00831e8dc0cccb46" resolved "https://registry.yarnpkg.com/@uniswap/universal-router-sdk/-/universal-router-sdk-1.5.4.tgz#9eb2a578b12fdc38ca18300ff708b3d4a86297c8"
integrity sha512-C6JuOY9JxHjN5Eec67CIMFm3SAP4uqiGFnaUzBQM30HfWUBOdc8NJZ+5v5UIluydKu4VepB0xH3bnQ6tgsCx2Q== integrity sha512-9vbB1AFFW3QeZWjtRFE0PVnMa2L+yjJpbU9EqCaEAYdR3+T4zx8fuml+84XUQzjKTp1cnndwusc1Mm+g0/Djpg==
dependencies: dependencies:
"@uniswap/permit2-sdk" "^1.2.0" "@uniswap/permit2-sdk" "^1.2.0"
"@uniswap/router-sdk" "^1.4.0" "@uniswap/router-sdk" "^1.6.0"
"@uniswap/sdk-core" "^3.1.0" "@uniswap/sdk-core" "^4.0.0"
"@uniswap/universal-router" "1.4.3" "@uniswap/universal-router" "1.4.3"
"@uniswap/v2-sdk" "^3.0.1" "@uniswap/v2-sdk" "^3.2.0"
"@uniswap/v3-sdk" "^3.9.0" "@uniswap/v3-sdk" "^3.10.0"
bignumber.js "^9.0.2" bignumber.js "^9.0.2"
ethers "^5.3.1" ethers "^5.3.1"
@ -6416,14 +6416,14 @@
"@uniswap/lib" "1.1.1" "@uniswap/lib" "1.1.1"
"@uniswap/v2-core" "1.0.0" "@uniswap/v2-core" "1.0.0"
"@uniswap/v2-sdk@^3.0.1": "@uniswap/v2-sdk@^3.2.0":
version "3.0.1" version "3.2.0"
resolved "https://registry.yarnpkg.com/@uniswap/v2-sdk/-/v2-sdk-3.0.1.tgz#690c484104c1debd1db56a236e5497def53d698b" resolved "https://registry.yarnpkg.com/@uniswap/v2-sdk/-/v2-sdk-3.2.0.tgz#2b872cb83ac60ba66dc1d11acd7795b67ca8ceb1"
integrity sha512-eSpm2gjo2CZh9FACH5fq42str/oSNyWcDxB27o5k44bEew4sxb+pld4gGIf/byJndLBvArR9PtH8c0n/goNOTw== integrity sha512-kBOJ6Iwtgb/2LckLMIzfbPM37/ll0F+33lzPmZlqoJwsT0F2hZdVfAhclufZcSb0Y9RdLXl6372CZJ+lhx8cUQ==
dependencies: dependencies:
"@ethersproject/address" "^5.0.0" "@ethersproject/address" "^5.0.0"
"@ethersproject/solidity" "^5.0.0" "@ethersproject/solidity" "^5.0.0"
"@uniswap/sdk-core" "^3.0.0-alpha.3" "@uniswap/sdk-core" "^4.0.2"
tiny-invariant "^1.1.0" tiny-invariant "^1.1.0"
tiny-warning "^1.0.3" tiny-warning "^1.0.3"
@ -6456,14 +6456,14 @@
base64-sol "1.0.1" base64-sol "1.0.1"
hardhat-watcher "^2.1.1" hardhat-watcher "^2.1.1"
"@uniswap/v3-sdk@^3.7.0", "@uniswap/v3-sdk@^3.8.3", "@uniswap/v3-sdk@^3.9.0": "@uniswap/v3-sdk@^3.10.0":
version "3.9.0" version "3.10.0"
resolved "https://registry.yarnpkg.com/@uniswap/v3-sdk/-/v3-sdk-3.9.0.tgz#de93fa19f89c29d460996aa4d0b4bb6531641105" resolved "https://registry.yarnpkg.com/@uniswap/v3-sdk/-/v3-sdk-3.10.0.tgz#962c9e598250ced00702d944783c2d9ee3fa12f6"
integrity sha512-LuoF3UcY1DxSAQKJ3E4/1Eq4HaNp+x+7q9mvbpiu+/PBj+O1DjLforAMrKxu+RsA0aarmZtz7yBnAPy+akgfgQ== integrity sha512-sbmSA1O+Ct960r66Ie/c1rOmVadpwRu8nQ79pGICv0pZJdnFIQ/SReG3F+iC2C2UNNjNP6aC2WDUggXrjyrgnA==
dependencies: dependencies:
"@ethersproject/abi" "^5.0.12" "@ethersproject/abi" "^5.0.12"
"@ethersproject/solidity" "^5.0.9" "@ethersproject/solidity" "^5.0.9"
"@uniswap/sdk-core" "^3.0.1" "@uniswap/sdk-core" "^4"
"@uniswap/swap-router-contracts" "^1.2.1" "@uniswap/swap-router-contracts" "^1.2.1"
"@uniswap/v3-periphery" "^1.1.1" "@uniswap/v3-periphery" "^1.1.1"
"@uniswap/v3-staker" "1.0.0" "@uniswap/v3-staker" "1.0.0"
@ -9690,14 +9690,14 @@ cwd@^0.10.0:
find-pkg "^0.1.2" find-pkg "^0.1.2"
fs-exists-sync "^0.1.0" fs-exists-sync "^0.1.0"
cypress-hardhat@^2.4.2: cypress-hardhat@^2.5.0:
version "2.4.2" version "2.5.0"
resolved "https://registry.yarnpkg.com/cypress-hardhat/-/cypress-hardhat-2.4.2.tgz#61f1b6f9a6be188a5aba4610541e5effd9b53fa7" resolved "https://registry.yarnpkg.com/cypress-hardhat/-/cypress-hardhat-2.5.0.tgz#db00ad115d170a2d33ce8d92a54a9a339e695a40"
integrity sha512-Y7vLkQt/Zumfnzy6MQNM4FVLcrTwbo5jW2QqgtX6x2ExzBewF5eO72rtKutbLI0pX53Hyhw3j8yK5KlNIiolQg== integrity sha512-wzhKgtwAFhSFa1nx2tXMAZU6+dtKaf2oo3047CcFPkLNDClrdE0Y72No+Kn3U+7xvq606tH7hwn/SPcuVCBjwQ==
dependencies: dependencies:
"@uniswap/permit2-sdk" "^1.2.0" "@uniswap/permit2-sdk" "^1.2.0"
"@uniswap/sdk-core" "^3.0.1" "@uniswap/sdk-core" ">= 3"
"@uniswap/universal-router-sdk" "^1.3.8" "@uniswap/universal-router-sdk" "^1.5.4"
cypress@*, cypress@12.12.0: cypress@*, cypress@12.12.0:
version "12.12.0" version "12.12.0"