Compare commits

..

14 Commits

Author SHA1 Message Date
Zach Pomerantz
9470c49d11 fix: fix loading delays for cached data (#3549)
* fix: loading transition

* fix: add check to usePoll
2022-03-18 11:03:26 -07:00
Ian Lapham
e1abd81a1d fix: add syncing state to trade loading (#3545)
* add syncing state to trade loading

* remove log statement

* update loading state

* update useLast trade logic

* nit fixes
2022-03-18 10:11:16 -07:00
Zach Pomerantz
7d9657867d fix: polling lag (#3543) 2022-03-18 08:52:55 -07:00
Zach Pomerantz
7cc52abb96 fix: cache computed pool addresses (#3537) 2022-03-18 08:00:35 -07:00
Crowdin Bot
5ac41417b0 chore(i18n): synchronize translations from crowdin [skip ci] 2022-03-18 00:15:22 +00:00
Zach Pomerantz
2c74c5f2df chore: include usdc in swap info (#3539)
* chore: refactor useComputeSwapInfo to include usdc

* chore: use passed usdc if able

* fix: fixture
2022-03-17 16:51:41 -07:00
Ian Lapham
cbc2ff668e disable swap button if trade not populated (#3542) 2022-03-17 16:26:37 -07:00
Zach Pomerantz
a73f59b4ff fix: only debounce input amounts (#3540) 2022-03-17 15:42:32 -07:00
Zach Pomerantz
7a75626c31 chore: bump to v0.0.25-beta (#3538) 2022-03-17 14:17:58 -07:00
Jordan Frankfurt
a0e14bef10 fix(vote): allow 0-vote proposals to render (#3536) 2022-03-17 15:37:36 -05:00
Yadong Zhang
9b5a53b2e8 fix: typeError: Cannot read properties of undefined (reading 'split') (#3518) 2022-03-17 14:30:13 -04:00
Crowdin Bot
50fdb36b6f chore(i18n): synchronize translations from crowdin [skip ci] 2022-03-17 04:06:49 +00:00
Ian Lapham
b993902c73 remove donation popup (#3532) 2022-03-16 20:42:06 -07:00
Zach Pomerantz
828bf540ba feat: usePoll (#3530)
* feat: usePoll

* chore: comments

* fix: cleanup

* fix: review updates

* fix: lint nits
2022-03-16 14:54:17 -07:00
56 changed files with 405 additions and 916 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "@uniswap/widgets",
"version": "0.0.24-beta",
"version": "0.0.25-beta",
"description": "Uniswap Interface",
"homepage": ".",
"files": [

View File

@@ -1,139 +0,0 @@
import { Trans } from '@lingui/macro'
import FlagImage from 'assets/images/ukraine.png'
import { AutoColumn } from 'components/Column'
import { RowBetween, RowFixed } from 'components/Row'
import { X } from 'react-feather'
import ReactGA from 'react-ga'
import { useDarkModeManager, useShowDonationLink } from 'state/user/hooks'
import styled from 'styled-components/macro'
import { ExternalLink, ThemedText, Z_INDEX } from 'theme'
const darkGradient = `radial-gradient(87.53% 3032.45% at 5.16% 10.13%, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0) 100%),
linear-gradient(0deg, rgba(0, 91, 187, 0.35), rgba(0, 91, 187, 0.35)), #000000;`
const lightGradient = `radial-gradient(87.53% 3032.45% at 5.16% 10.13%, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0) 100%), linear-gradient(0deg, #CBE4FF, #CBE4FF), linear-gradient(0deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.09)), radial-gradient(100% 93.36% at 0% 6.64%, #8BC4FF 0%, #FFF5BF 100%);`
const Wrapper = styled(AutoColumn)<{ darkMode: boolean }>`
background: #edeef2;
position: fixed;
bottom: 40px;
border-radius: 12px;
padding: 18px;
max-width: 360px;
background: ${({ darkMode }) => (darkMode ? darkGradient : lightGradient)};
color: ${({ theme }) => theme.text1};
z-index: ${Z_INDEX.deprecated_content};
:hover {
opacity: 0.8;
}
& > * {
z-index: ${Z_INDEX.fixed};
}
overflow: hidden;
:before {
background-image: url(${FlagImage});
background-repeat: no-repeat;
overflow: hidden;
background-size: 300px;
content: '';
height: 1200px;
width: 400px;
opacity: 0.1;
position: absolute;
transform: rotate(25deg) translate(-140px, -60px);
width: 300px;
z-index: ${Z_INDEX.deprecated_zero};
}
${({ theme }) => theme.mediaWidth.upToSmall`
max-width: 100%;
`}
${({ theme }) => theme.mediaWidth.upToMedium`
position: relative;
bottom: unset;
`}
`
const WrappedCloseIcon = styled(X)`
stroke: ${({ theme }) => theme.text2};
z-index: ${Z_INDEX.tooltip};
:hover {
cursor: pointer;
opacity: 0.8;
}
`
export const StyledFlagImage = styled.div`
margin-right: 12px;
width: 18px;
height: 18px;
border-radius: 100%;
&:before,
&:after {
content: '';
width: 9px;
height: 18px;
}
&:before {
float: left;
border-top-left-radius: 9px;
border-bottom-left-radius: 9px;
background: #005bbb;
}
&:after {
float: right;
border-top-right-radius: 9px;
border-bottom-right-radius: 9px;
background: #ffd500;
}
transform: rotate(90deg);
`
const StyledLink = styled(ExternalLink)`
text-decoration: none !important;
`
export default function DonationLink() {
const [darkMode] = useDarkModeManager()
const [, setVisible] = useShowDonationLink()
return (
<Wrapper
gap="10px"
darkMode={darkMode}
as={StyledLink}
target="https://donate.uniswap.org/#/swap"
href="https://donate.uniswap.org/#/swap"
onClickCapture={() => {
ReactGA.event({
category: 'Donate',
action: 'Link to Ukraine site.',
})
}}
>
<RowBetween>
<RowFixed>
<StyledFlagImage />
<ThemedText.Body fontWeight={600} fontSize={'18px'}>
<Trans>Donate to Ukraine</Trans>
</ThemedText.Body>
</RowFixed>
<WrappedCloseIcon
onClick={(e) => {
e.preventDefault()
e.stopPropagation()
setVisible(false)
return false
}}
/>
</RowBetween>
<ThemedText.Body fontWeight={400} fontSize="12px" color="text2">
<Trans>Directly support the Ukrainian government by donating tokens.</Trans>
</ThemedText.Body>
</Wrapper>
)
}

View File

@@ -1,14 +1,12 @@
import { SupportedChainId } from 'constants/chains'
import useActiveWeb3React from 'hooks/useActiveWeb3React'
import { useLocation } from 'react-router-dom'
import styled from 'styled-components/macro'
import { MEDIA_WIDTHS } from 'theme'
import { useActivePopups } from '../../state/application/hooks'
import { useShowDonationLink, useURLWarningVisible } from '../../state/user/hooks'
import { useURLWarningVisible } from '../../state/user/hooks'
import { AutoColumn } from '../Column'
import ClaimPopup from './ClaimPopup'
import DonationLink from './DonationLink'
import PopupItem from './PopupItem'
const MobilePopupWrapper = styled.div<{ height: string | number }>`
@@ -68,11 +66,6 @@ export default function Popups() {
const { chainId } = useActiveWeb3React()
const isNotOnMainnet = Boolean(chainId && chainId !== SupportedChainId.MAINNET)
const location = useLocation()
const isOnSwapPage = location.pathname.includes('swap')
const [donationVisible] = useShowDonationLink()
const showDonation = donationVisible && isOnSwapPage
return (
<>
<FixedPopupColumn gap="20px" extraPadding={urlWarningActive} xlPadding={isNotOnMainnet}>
@@ -80,11 +73,9 @@ export default function Popups() {
{activePopups.map((item) => (
<PopupItem key={item.key} content={item.content} popKey={item.key} removeAfterMs={item.removeAfterMs} />
))}
{showDonation ? <DonationLink /> : null}
</FixedPopupColumn>
<MobilePopupWrapper height={activePopups?.length > 0 || showDonation ? 'fit-content' : 0}>
<MobilePopupWrapper height={activePopups?.length > 0 ? 'fit-content' : 0}>
<MobilePopupInner>
{showDonation ? <DonationLink /> : null}
{activePopups // reverse so new items up front
.slice(0)
.reverse()

View File

@@ -18,8 +18,36 @@ const POOL_STATE_INTERFACE = new Interface(IUniswapV3PoolStateABI) as IUniswapV3
// Classes are expensive to instantiate, so this caches the recently instantiated pools.
// This avoids re-instantiating pools as the other pools in the same request are loaded.
class PoolCache {
// pools is a FIFO, using unshift/pop. This makes recent entries faster to find.
// Evict after 128 entries. Empirically, a swap uses 64 entries.
private static MAX_ENTRIES = 128
// These are FIFOs, using unshift/pop. This makes recent entries faster to find.
private static pools: Pool[] = []
private static addresses: { key: string; address: string }[] = []
static getPoolAddress(factoryAddress: string, tokenA: Token, tokenB: Token, fee: FeeAmount): string {
if (this.addresses.length > this.MAX_ENTRIES) {
this.addresses = this.addresses.slice(0, this.MAX_ENTRIES / 2)
}
const { address: addressA } = tokenA
const { address: addressB } = tokenB
const key = `${factoryAddress}:${addressA}:${addressB}:${fee.toString()}`
const found = this.addresses.find((address) => address.key === key)
if (found) return found.address
const address = {
key,
address: computePoolAddress({
factoryAddress,
tokenA,
tokenB,
fee,
}),
}
this.addresses.unshift(address)
return address.address
}
static getPool(
tokenA: Token,
@@ -29,9 +57,8 @@ class PoolCache {
liquidity: BigintIsh,
tick: number
): Pool {
// Evict after 128 entries. Empirically, a swap uses 64 entries.
if (this.pools.length > 128) {
this.pools = this.pools.slice(0, 64)
if (this.pools.length > this.MAX_ENTRIES) {
this.pools = this.pools.slice(0, this.MAX_ENTRIES / 2)
}
const found = this.pools.find(
@@ -43,9 +70,7 @@ class PoolCache {
JSBI.EQ(pool.liquidity, liquidity) &&
pool.tickCurrent === tick
)
if (found) {
return found
}
if (found) return found
const pool = new Pool(tokenA, tokenB, fee, sqrtPriceX96, liquidity, tick)
this.pools.unshift(pool)
@@ -84,16 +109,7 @@ export function usePools(
const v3CoreFactoryAddress = chainId && V3_CORE_FACTORY_ADDRESSES[chainId]
if (!v3CoreFactoryAddress) return new Array(poolTokens.length)
return poolTokens.map(
(value) =>
value &&
computePoolAddress({
factoryAddress: v3CoreFactoryAddress,
tokenA: value[0],
tokenB: value[1],
fee: value[2],
})
)
return poolTokens.map((value) => value && PoolCache.getPoolAddress(v3CoreFactoryAddress, ...value))
}, [chainId, poolTokens])
const slot0s = useMultipleContractSingleData(poolAddresses, POOL_STATE_INTERFACE, 'slot0')

View File

@@ -1,6 +1,5 @@
import { useLingui } from '@lingui/react'
import { Currency, CurrencyAmount } from '@uniswap/sdk-core'
import { useUSDCValue } from 'hooks/useUSDCPrice'
import { loadingTransitionCss } from 'lib/css/loading'
import {
useIsSwapFieldIndependent,
@@ -70,18 +69,16 @@ export function useFormattedFieldAmount({ disabled, currencyAmount, fieldAmount
export default function Input({ disabled, focused }: InputProps) {
const { i18n } = useLingui()
const {
currencyBalances: { [Field.INPUT]: balance },
[Field.INPUT]: { balance, amount: tradeCurrencyAmount, usdc },
trade: { state: tradeState },
tradeCurrencyAmounts: { [Field.INPUT]: swapInputCurrencyAmount },
} = useSwapInfo()
const inputUSDC = useUSDCValue(swapInputCurrencyAmount)
const [swapInputAmount, updateSwapInputAmount] = useSwapAmount(Field.INPUT)
const [swapInputCurrency, updateSwapInputCurrency] = useSwapCurrency(Field.INPUT)
const [inputAmount, updateInputAmount] = useSwapAmount(Field.INPUT)
const [inputCurrency, updateInputCurrency] = useSwapCurrency(Field.INPUT)
const inputCurrencyAmount = useSwapCurrencyAmount(Field.INPUT)
// extract eagerly in case of reversal
usePrefetchCurrencyColor(swapInputCurrency)
usePrefetchCurrencyColor(inputCurrency)
const isRouteLoading = tradeState === TradeState.SYNCING || tradeState === TradeState.LOADING
const isDependentField = !useIsSwapFieldIndependent(Field.INPUT)
@@ -99,32 +96,30 @@ export default function Input({ disabled, focused }: InputProps) {
const balanceColor = useMemo(() => {
const insufficientBalance =
balance &&
(inputCurrencyAmount ? inputCurrencyAmount.greaterThan(balance) : swapInputCurrencyAmount?.greaterThan(balance))
(inputCurrencyAmount ? inputCurrencyAmount.greaterThan(balance) : tradeCurrencyAmount?.greaterThan(balance))
return insufficientBalance ? 'error' : undefined
}, [balance, inputCurrencyAmount, swapInputCurrencyAmount])
}, [balance, inputCurrencyAmount, tradeCurrencyAmount])
const amount = useFormattedFieldAmount({
disabled,
currencyAmount: swapInputCurrencyAmount,
fieldAmount: swapInputAmount,
currencyAmount: tradeCurrencyAmount,
fieldAmount: inputAmount,
})
return (
<InputColumn gap={0.5} approved={mockApproved}>
<TokenInput
currency={swapInputCurrency}
currency={inputCurrency}
amount={amount}
max={max}
disabled={disabled}
onChangeInput={updateSwapInputAmount}
onChangeCurrency={updateSwapInputCurrency}
onChangeInput={updateInputAmount}
onChangeCurrency={updateInputCurrency}
loading={isLoading}
>
<ThemedText.Body2 color="secondary" userSelect>
<Row>
<USDC isLoading={isRouteLoading}>
{inputUSDC ? `$${formatCurrencyAmount(inputUSDC, 6, 'en', 2)}` : '-'}
</USDC>
<USDC isLoading={isRouteLoading}>{usdc ? `$${formatCurrencyAmount(usdc, 6, 'en', 2)}` : '-'}</USDC>
{balance && (
<Balance color={balanceColor} focused={focused}>
Balance: <span>{formatCurrencyAmount(balance, 4, i18n.locale)}</span>

View File

@@ -5,7 +5,6 @@ import { useAtomValue } from 'jotai/utils'
import BrandedFooter from 'lib/components/BrandedFooter'
import { useIsSwapFieldIndependent, useSwapAmount, useSwapCurrency, useSwapInfo } from 'lib/hooks/swap'
import useCurrencyColor from 'lib/hooks/useCurrencyColor'
import useUSDCPriceImpact from 'lib/hooks/useUSDCPriceImpact'
import { Field } from 'lib/state/swap'
import styled, { DynamicThemeProvider, ThemedText } from 'lib/theme'
import { PropsWithChildren } from 'react'
@@ -39,9 +38,9 @@ export default function Output({ disabled, focused, children }: PropsWithChildre
const { i18n } = useLingui()
const {
currencyBalances: { [Field.OUTPUT]: balance },
[Field.OUTPUT]: { balance, amount: outputCurrencyAmount, usdc: outputUSDC },
trade: { state: tradeState },
tradeCurrencyAmounts: { [Field.INPUT]: inputCurrencyAmount, [Field.OUTPUT]: outputCurrencyAmount },
impact,
} = useSwapInfo()
const [swapOutputAmount, updateSwapOutputAmount] = useSwapAmount(Field.OUTPUT)
@@ -58,12 +57,6 @@ export default function Output({ disabled, focused, children }: PropsWithChildre
// different state true/null/false allow smoother color transition
const hasColor = swapOutputCurrency ? Boolean(color) || null : false
const {
outputUSDC,
priceImpact,
warning: priceImpactWarning,
} = useUSDCPriceImpact(inputCurrencyAmount, outputCurrencyAmount)
const amount = useFormattedFieldAmount({
disabled,
currencyAmount: outputCurrencyAmount,
@@ -90,7 +83,7 @@ export default function Output({ disabled, focused, children }: PropsWithChildre
<Row>
<USDC gap={0.5} isLoading={isRouteLoading}>
{outputUSDC ? `$${formatCurrencyAmount(outputUSDC, 6, 'en', 2)}` : '-'}{' '}
{priceImpact && <ThemedText.Body2 color={priceImpactWarning}>({priceImpact})</ThemedText.Body2>}
{impact.display && <ThemedText.Body2 color={impact.warning}>({impact.display})</ThemedText.Body2>}
</USDC>
{balance && (
<Balance focused={focused}>

View File

@@ -1,6 +1,6 @@
import { useLingui } from '@lingui/react'
import { Trade } from '@uniswap/router-sdk'
import { Currency, CurrencyAmount, Token, TradeType } from '@uniswap/sdk-core'
import { Currency, CurrencyAmount, TradeType } from '@uniswap/sdk-core'
import Row from 'lib/components/Row'
import { ThemedText } from 'lib/theme'
import formatLocaleNumber from 'lib/utils/formatLocaleNumber'
@@ -11,7 +11,7 @@ import { TextButton } from '../Button'
interface PriceProps {
trade: Trade<Currency, Currency, TradeType>
outputUSDC?: CurrencyAmount<Token>
outputUSDC?: CurrencyAmount<Currency>
}
/** Displays the price of a trade. If outputUSDC is included, also displays the unit price. */

View File

@@ -22,8 +22,11 @@ const UNI = (function () {
function Fixture() {
const setState = useUpdateAtom(swapAtom)
const {
slippage,
[Field.INPUT]: { usdc: inputUSDC },
[Field.OUTPUT]: { usdc: outputUSDC },
trade: { trade },
slippage,
impact,
} = useSwapInfo()
useEffect(() => {
@@ -37,7 +40,14 @@ function Fixture() {
return trade ? (
<Modal color="dialog">
<SummaryDialog onConfirm={() => void 0} trade={trade} slippage={slippage} />
<SummaryDialog
onConfirm={() => void 0}
trade={trade}
slippage={slippage}
inputUSDC={inputUSDC}
outputUSDC={outputUSDC}
impact={impact}
/>
</Modal>
) : null
}

View File

@@ -37,10 +37,10 @@ function Detail({ label, value, color }: DetailProps) {
interface DetailsProps {
trade: Trade<Currency, Currency, TradeType>
slippage: { auto: boolean; allowed: Percent; warning?: Color }
usdcPriceImpact: { priceImpact?: string; warning?: Color }
priceImpact: { priceImpact?: string; warning?: Color }
}
export default function Details({ trade, slippage, usdcPriceImpact }: DetailsProps) {
export default function Details({ trade, slippage, priceImpact }: DetailsProps) {
const { inputAmount, outputAmount } = trade
const inputCurrency = inputAmount.currency
const outputCurrency = outputAmount.currency
@@ -61,8 +61,8 @@ export default function Details({ trade, slippage, usdcPriceImpact }: DetailsPro
}
}
if (usdcPriceImpact.priceImpact) {
rows.push([t`Price impact`, usdcPriceImpact.priceImpact, usdcPriceImpact.warning])
if (priceImpact.priceImpact) {
rows.push([t`Price impact`, priceImpact.priceImpact, priceImpact.warning])
}
if (lpFeeAmount) {
@@ -85,7 +85,7 @@ export default function Details({ trade, slippage, usdcPriceImpact }: DetailsPro
return rows
}, [
feeOptions,
usdcPriceImpact,
priceImpact,
lpFeeAmount,
trade,
slippage,

View File

@@ -1,6 +1,6 @@
import { useLingui } from '@lingui/react'
import { Currency, CurrencyAmount, Token } from '@uniswap/sdk-core'
import useUSDCPriceImpact from 'lib/hooks/useUSDCPriceImpact'
import { Currency, CurrencyAmount } from '@uniswap/sdk-core'
import { PriceImpact } from 'lib/hooks/useUSDCPriceImpact'
import { ArrowRight } from 'lib/icons'
import { ThemedText } from 'lib/theme'
import { PropsWithChildren } from 'react'
@@ -12,7 +12,7 @@ import TokenImg from '../../TokenImg'
interface TokenValueProps {
input: CurrencyAmount<Currency>
usdc?: CurrencyAmount<Token>
usdc?: CurrencyAmount<Currency>
}
function TokenValue({ input, usdc, children }: PropsWithChildren<TokenValueProps>) {
@@ -40,18 +40,18 @@ function TokenValue({ input, usdc, children }: PropsWithChildren<TokenValueProps
interface SummaryProps {
input: CurrencyAmount<Currency>
output: CurrencyAmount<Currency>
usdcPriceImpact?: ReturnType<typeof useUSDCPriceImpact>
inputUSDC?: CurrencyAmount<Currency>
outputUSDC?: CurrencyAmount<Currency>
priceImpact?: PriceImpact
}
export default function Summary({ input, output, usdcPriceImpact }: SummaryProps) {
const { inputUSDC, outputUSDC, priceImpact, warning: priceImpactWarning } = usdcPriceImpact || {}
export default function Summary({ input, output, inputUSDC, outputUSDC, priceImpact }: SummaryProps) {
return (
<Row gap={usdcPriceImpact ? 1 : 0.25}>
<Row gap={priceImpact ? 1 : 0.25}>
<TokenValue input={input} usdc={inputUSDC} />
<ArrowRight />
<TokenValue input={output} usdc={outputUSDC}>
{priceImpact && <ThemedText.Caption color={priceImpactWarning}>({priceImpact})</ThemedText.Caption>}
{priceImpact && <ThemedText.Caption color={priceImpact.warning}>({priceImpact.display})</ThemedText.Caption>}
</TokenValue>
</Row>
)

View File

@@ -1,14 +1,14 @@
import { Trans } from '@lingui/macro'
import { useLingui } from '@lingui/react'
import { Trade } from '@uniswap/router-sdk'
import { Currency, TradeType } from '@uniswap/sdk-core'
import { Currency, CurrencyAmount, TradeType } from '@uniswap/sdk-core'
import ActionButton, { Action } from 'lib/components/ActionButton'
import Column from 'lib/components/Column'
import { Header } from 'lib/components/Dialog'
import Expando from 'lib/components/Expando'
import Row from 'lib/components/Row'
import { Slippage } from 'lib/hooks/useSlippage'
import useUSDCPriceImpact from 'lib/hooks/useUSDCPriceImpact'
import { PriceImpact } from 'lib/hooks/useUSDCPriceImpact'
import { AlertTriangle, BarChart, Info } from 'lib/icons'
import styled, { Color, ThemedText } from 'lib/theme'
import { useCallback, useMemo, useState } from 'react'
@@ -130,12 +130,14 @@ function ConfirmButton({
interface SummaryDialogProps {
trade: Trade<Currency, Currency, TradeType>
slippage: Slippage
inputUSDC?: CurrencyAmount<Currency>
outputUSDC?: CurrencyAmount<Currency>
impact: PriceImpact
onConfirm: () => void
}
export function SummaryDialog({ trade, slippage, onConfirm }: SummaryDialogProps) {
export function SummaryDialog({ trade, slippage, inputUSDC, outputUSDC, impact, onConfirm }: SummaryDialogProps) {
const { inputAmount, outputAmount } = trade
const usdcPriceImpact = useUSDCPriceImpact(inputAmount, outputAmount)
const [open, setOpen] = useState(false)
const onExpand = useCallback(() => setOpen((open) => !open), [])
@@ -145,22 +147,28 @@ export function SummaryDialog({ trade, slippage, onConfirm }: SummaryDialogProps
<Header title={<Trans>Swap summary</Trans>} ruled />
<Body flex align="stretch" padded gap={0.75} open={open}>
<Heading gap={0.75} flex justify="center">
<Summary input={inputAmount} output={outputAmount} usdcPriceImpact={usdcPriceImpact} />
<Summary
input={inputAmount}
output={outputAmount}
inputUSDC={inputUSDC}
outputUSDC={outputUSDC}
priceImpact={impact}
/>
<Price trade={trade} />
</Heading>
<Column gap={open ? 0 : 0.75} style={{ transition: 'gap 0.25s' }}>
<Expando
title={<Subhead priceImpact={usdcPriceImpact} slippage={slippage} />}
title={<Subhead priceImpact={impact} slippage={slippage} />}
open={open}
onExpand={onExpand}
height={7.25}
>
<Details trade={trade} slippage={slippage} usdcPriceImpact={usdcPriceImpact} />
<Details trade={trade} slippage={slippage} priceImpact={impact} />
</Expando>
<Footing>
<Estimate trade={trade} slippage={slippage} />
</Footing>
<ConfirmButton trade={trade} highPriceImpact={usdcPriceImpact.warning === 'error'} onConfirm={onConfirm} />
<ConfirmButton trade={trade} highPriceImpact={impact.warning === 'error'} onConfirm={onConfirm} />
</Column>
</Body>
</>

View File

@@ -1,6 +1,6 @@
import { Trans } from '@lingui/macro'
import { Token } from '@uniswap/sdk-core'
import { useUpdateAtom } from 'jotai/utils'
import { useAtomValue, useUpdateAtom } from 'jotai/utils'
import { WrapErrorText } from 'lib/components/Swap/WrapErrorText'
import { useSwapCurrencyAmount, useSwapInfo, useSwapTradeType } from 'lib/hooks/swap'
import {
@@ -15,7 +15,7 @@ import { useAddTransaction, usePendingApproval } from 'lib/hooks/transactions'
import useActiveWeb3React from 'lib/hooks/useActiveWeb3React'
import useTransactionDeadline from 'lib/hooks/useTransactionDeadline'
import { Spinner } from 'lib/icons'
import { displayTxHashAtom, Field } from 'lib/state/swap'
import { displayTxHashAtom, feeOptionsAtom, Field } from 'lib/state/swap'
import { TransactionType } from 'lib/state/transactions'
import { useTheme } from 'lib/theme'
import { memo, useCallback, useEffect, useMemo, useState } from 'react'
@@ -41,13 +41,18 @@ export default memo(function SwapButton({ disabled }: SwapButtonProps) {
const { tokenColorExtraction } = useTheme()
const {
slippage,
currencies: { [Field.INPUT]: inputCurrency },
currencyBalances: { [Field.INPUT]: inputCurrencyBalance },
feeOptions,
[Field.INPUT]: {
currency: inputCurrency,
amount: inputTradeCurrencyAmount,
balance: inputCurrencyBalance,
usdc: inputUSDC,
},
[Field.OUTPUT]: { amount: outputTradeCurrencyAmount, usdc: outputUSDC },
trade,
tradeCurrencyAmounts: { [Field.INPUT]: inputTradeCurrencyAmount, [Field.OUTPUT]: outputTradeCurrencyAmount },
slippage,
impact,
} = useSwapInfo()
const feeOptions = useAtomValue(feeOptionsAtom)
const tradeType = useSwapTradeType()
@@ -94,13 +99,24 @@ export default memo(function SwapButton({ disabled }: SwapButtonProps) {
const disableSwap = useMemo(
() =>
disabled ||
!optimizedTrade ||
!chainId ||
wrapLoading ||
(wrapType !== WrapType.NOT_APPLICABLE && wrapError) ||
approvalState === ApproveOrPermitState.PENDING_SIGNATURE ||
!(inputTradeCurrencyAmount && inputCurrencyBalance) ||
inputCurrencyBalance.lessThan(inputTradeCurrencyAmount),
[disabled, chainId, wrapLoading, wrapType, wrapError, approvalState, inputTradeCurrencyAmount, inputCurrencyBalance]
[
disabled,
optimizedTrade,
chainId,
wrapLoading,
wrapType,
wrapError,
approvalState,
inputTradeCurrencyAmount,
inputCurrencyBalance,
]
)
const actionProps = useMemo((): Partial<ActionButtonProps> | undefined => {
@@ -229,7 +245,14 @@ export default memo(function SwapButton({ disabled }: SwapButtonProps) {
</ActionButton>
{activeTrade && (
<Dialog color="dialog" onClose={handleDialogClose}>
<SummaryDialog trade={activeTrade} slippage={slippage} onConfirm={onConfirm} />
<SummaryDialog
trade={activeTrade}
slippage={slippage}
inputUSDC={inputUSDC}
outputUSDC={outputUSDC}
impact={impact}
onConfirm={onConfirm}
/>
</Dialog>
)}
</>

View File

@@ -1,11 +1,11 @@
import { Trans } from '@lingui/macro'
import { Currency, TradeType } from '@uniswap/sdk-core'
import { Currency, CurrencyAmount, TradeType } from '@uniswap/sdk-core'
import Column from 'lib/components/Column'
import Rule from 'lib/components/Rule'
import Tooltip from 'lib/components/Tooltip'
import { loadingCss } from 'lib/css/loading'
import { WrapType } from 'lib/hooks/swap/useWrapCallback'
import useUSDCPriceImpact from 'lib/hooks/useUSDCPriceImpact'
import { PriceImpact } from 'lib/hooks/useUSDCPriceImpact'
import { AlertTriangle, Icon, Info, InlineSpinner } from 'lib/icons'
import styled, { ThemedText } from 'lib/theme'
import { ReactNode, useCallback } from 'react'
@@ -77,17 +77,23 @@ export function WrapCurrency({ loading, wrapType }: { loading: boolean; wrapType
return <Caption icon={Info} caption={<WrapText />} />
}
export function Trade({ trade }: { trade: InterfaceTrade<Currency, Currency, TradeType> }) {
const { inputAmount: input, outputAmount: output } = trade
const { outputUSDC, priceImpact, warning: priceImpactWarning } = useUSDCPriceImpact(input, output)
export function Trade({
trade,
outputUSDC,
impact,
}: {
trade: InterfaceTrade<Currency, Currency, TradeType>
outputUSDC?: CurrencyAmount<Currency>
impact: PriceImpact
}) {
return (
<>
<Tooltip placement="bottom" icon={priceImpactWarning ? AlertTriangle : Info}>
<Tooltip placement="bottom" icon={impact.warning ? AlertTriangle : Info}>
<Column gap={0.75}>
{priceImpactWarning && (
{impact.warning && (
<>
<ThemedText.Caption>
The output amount is estimated at {priceImpact} less than the input amount due to high price impact
The output amount is estimated at {impact.display} less than the input amount due to high price impact
</ThemedText.Caption>
<Rule />
</>

View File

@@ -20,9 +20,10 @@ const ToolbarRow = styled(Row)`
export default memo(function Toolbar({ disabled }: { disabled?: boolean }) {
const { chainId } = useActiveWeb3React()
const {
[Field.INPUT]: { currency: inputCurrency, balance },
[Field.OUTPUT]: { currency: outputCurrency, usdc: outputUSDC },
trade: { trade, state },
currencies: { [Field.INPUT]: inputCurrency, [Field.OUTPUT]: outputCurrency },
currencyBalances: { [Field.INPUT]: balance },
impact,
} = useSwapInfo()
const isRouteLoading = state === TradeState.SYNCING || state === TradeState.LOADING
const isAmountPopulated = useIsAmountPopulated()
@@ -50,7 +51,7 @@ export default memo(function Toolbar({ disabled }: { disabled?: boolean }) {
return <Caption.InsufficientBalance currency={trade.inputAmount.currency} />
}
if (trade.inputAmount && trade.outputAmount) {
return <Caption.Trade trade={trade} />
return <Caption.Trade trade={trade} outputUSDC={outputUSDC} impact={impact} />
}
}
@@ -59,10 +60,12 @@ export default memo(function Toolbar({ disabled }: { disabled?: boolean }) {
balance,
chainId,
disabled,
impact,
inputCurrency,
isAmountPopulated,
isRouteLoading,
outputCurrency,
outputUSDC,
trade,
wrapLoading,
wrapType,

View File

@@ -10,5 +10,5 @@ export const loadingCss = css`
// need to use isLoading as `loading` is a reserved prop
export const loadingTransitionCss = css<{ isLoading: boolean }>`
${({ isLoading }) => isLoading && loadingCss};
transition: opacity 0.2s ease-in-out;
transition: opacity ${({ isLoading }) => (isLoading ? 0 : 0.2)}s ease-in-out;
`

View File

@@ -1,6 +1,7 @@
import { BigintIsh, CurrencyAmount, Token, TradeType } from '@uniswap/sdk-core'
import { AlphaRouter, AlphaRouterConfig, AlphaRouterParams, ChainId } from '@uniswap/smart-order-router'
import JSBI from 'jsbi'
import useBlockNumber from 'lib/hooks/useBlockNumber'
import { GetQuoteResult } from 'state/routing/types'
import { transformSwapRouteToGetQuoteResult } from 'utils/transformSwapRouteToGetQuoteResult'
@@ -98,3 +99,14 @@ export async function getClientSideQuote(
routerConfig
)
}
/** Used to keep quotes up to date given a certain block age. Returns undefined if past limit. */
export function useFilterFreshQuote(
quoteResult: GetQuoteResult | undefined,
maxBlockAge = 10
): GetQuoteResult | undefined {
const block = useBlockNumber()
if (!block || !quoteResult) return undefined
if (block - (Number(quoteResult.blockNumber) || 0) > maxBlockAge) return undefined
return quoteResult
}

View File

@@ -2,14 +2,16 @@ import { Protocol } from '@uniswap/router-sdk'
import { Currency, CurrencyAmount, TradeType } from '@uniswap/sdk-core'
import { ChainId } from '@uniswap/smart-order-router'
import useDebounce from 'hooks/useDebounce'
import useLast from 'hooks/useLast'
import { useStablecoinAmountFromFiatValue } from 'hooks/useUSDCPrice'
import { useEffect, useMemo, useState } from 'react'
import { useCallback, useMemo } from 'react'
import { GetQuoteResult, InterfaceTrade, TradeState } from 'state/routing/types'
import { computeRoutes, transformRoutesToTrade } from 'state/routing/utils'
import useWrapCallback, { WrapType } from '../swap/useWrapCallback'
import useActiveWeb3React from '../useActiveWeb3React'
import { getClientSideQuote } from './clientSideSmartOrderRouter'
import usePoll from '../usePoll'
import { getClientSideQuote, useFilterFreshQuote } from './clientSideSmartOrderRouter'
import { useRoutingAPIArguments } from './useRoutingAPIArguments'
/**
@@ -23,14 +25,11 @@ const DistributionPercents: { [key: number]: number } = {
[ChainId.ARBITRUM_ONE]: 25,
[ChainId.ARBITRUM_RINKEBY]: 25,
}
const DEFAULT_DISTRIBUTION_PERCENT = 10
function getConfig(chainId: ChainId | undefined) {
return {
// Limit to only V2 and V3.
protocols: [Protocol.V2, Protocol.V3],
distributionPercent: (chainId && DistributionPercents[chainId]) ?? DEFAULT_DISTRIBUTION_PERCENT,
}
}
@@ -43,22 +42,20 @@ export default function useClientSideSmartOrderRouterTrade<TTradeType extends Tr
state: TradeState
trade: InterfaceTrade<Currency, Currency, TTradeType> | undefined
} {
const amount = useMemo(() => amountSpecified?.asFraction, [amountSpecified])
const [currencyIn, currencyOut] =
tradeType === TradeType.EXACT_INPUT
? [amountSpecified?.currency, otherCurrency]
: [otherCurrency, amountSpecified?.currency]
// Debounce is used to prevent excessive requests to SOR, as it is data intensive.
// This helps provide a "syncing" state the UI can reference for loading animations.
const inputs = useMemo(() => [tradeType, amountSpecified, otherCurrency], [tradeType, amountSpecified, otherCurrency])
const debouncedInputs = useDebounce(inputs, 200)
const isDebouncing = inputs !== debouncedInputs
const chainId = amountSpecified?.currency.chainId
const { library } = useActiveWeb3React()
const [currencyIn, currencyOut]: [Currency | undefined, Currency | undefined] = useMemo(
() =>
tradeType === TradeType.EXACT_INPUT
? [amountSpecified?.currency, otherCurrency]
: [otherCurrency, amountSpecified?.currency],
[amountSpecified, otherCurrency, tradeType]
// Fast user actions (ie updating the input) should be debounced, but currency changes should not.
const [debouncedAmount, debouncedCurrencyIn, debouncedCurrencyOut] = useDebounce(
useMemo(() => [amount, currencyIn, currencyOut], [amount, currencyIn, currencyOut]),
200
)
const isDebouncing =
amount !== debouncedAmount && currencyIn === debouncedCurrencyIn && currencyOut === debouncedCurrencyOut
const queryArgs = useRoutingAPIArguments({
tokenIn: currencyIn,
@@ -67,62 +64,53 @@ export default function useClientSideSmartOrderRouterTrade<TTradeType extends Tr
tradeType,
useClientSideRouter: true,
})
const chainId = amountSpecified?.currency.chainId
const { library } = useActiveWeb3React()
const params = useMemo(() => chainId && library && { chainId, provider: library }, [chainId, library])
const [loading, setLoading] = useState(false)
const [{ data: quoteResult, error }, setResult] = useState<{
data?: GetQuoteResult
error?: unknown
}>({ error: undefined })
const config = useMemo(() => getConfig(chainId), [chainId])
const { type: wrapType } = useWrapCallback()
// When arguments update, make a new call to SOR for updated quote
useEffect(() => {
if (wrapType !== WrapType.NOT_APPLICABLE) {
return
const getQuoteResult = useCallback(async (): Promise<{ data?: GetQuoteResult; error?: unknown }> => {
if (wrapType !== WrapType.NOT_APPLICABLE) return { error: undefined }
if (!queryArgs || !params) return { error: undefined }
try {
return await getClientSideQuote(queryArgs, params, config)
} catch {
return { error: true }
}
setLoading(true)
if (isDebouncing) return
}, [config, params, queryArgs, wrapType])
let stale = false
fetchQuote()
return () => {
stale = true
setLoading(false)
}
const { data, error } = usePoll(getQuoteResult, JSON.stringify(queryArgs), isDebouncing) ?? {
error: undefined,
}
async function fetchQuote() {
if (queryArgs && params) {
let result
try {
result = await getClientSideQuote(queryArgs, params, config)
} catch {
result = { error: true }
}
if (!stale) {
setResult(result)
setLoading(false)
}
}
}
}, [queryArgs, params, config, isDebouncing, wrapType])
const quoteResult = useFilterFreshQuote(data)
const isLoading = !quoteResult
const route = useMemo(
() => computeRoutes(currencyIn, currencyOut, tradeType, quoteResult),
[currencyIn, currencyOut, quoteResult, tradeType]
)
const gasUseEstimateUSD = useStablecoinAmountFromFiatValue(quoteResult?.gasUseEstimateUSD) ?? null
const trade = useMemo(() => {
if (route) {
try {
return route && transformRoutesToTrade(route, tradeType, gasUseEstimateUSD)
} catch (e: unknown) {
console.debug('transformRoutesToTrade failed: ', e)
}
}
return
}, [gasUseEstimateUSD, route, tradeType])
const trade =
useLast(
useMemo(() => {
if (route) {
try {
return route && transformRoutesToTrade(route, tradeType, gasUseEstimateUSD)
} catch (e: unknown) {
console.debug('transformRoutesToTrade failed: ', e)
}
}
return
}, [gasUseEstimateUSD, route, tradeType]),
Boolean
) ?? undefined
// Dont return old trade if currencies dont match.
const isStale =
(currencyIn && !trade?.inputAmount?.currency.equals(currencyIn)) ||
(currencyOut && !trade?.outputAmount?.currency.equals(currencyOut))
return useMemo(() => {
if (!currencyIn || !currencyOut) {
@@ -130,10 +118,14 @@ export default function useClientSideSmartOrderRouterTrade<TTradeType extends Tr
}
// Returns the last trade state while syncing/loading to avoid jank from clearing the last trade while loading.
if (isDebouncing) {
return { state: TradeState.SYNCING, trade }
} else if (loading) {
return { state: TradeState.LOADING, trade }
if (!quoteResult && !error) {
if (isStale) {
return { state: TradeState.LOADING, trade: undefined }
} else if (isDebouncing) {
return { state: TradeState.SYNCING, trade }
} else if (isLoading) {
return { state: TradeState.LOADING, trade }
}
}
let otherAmount = undefined
@@ -156,5 +148,17 @@ export default function useClientSideSmartOrderRouterTrade<TTradeType extends Tr
return { state: TradeState.VALID, trade }
}
return { state: TradeState.INVALID, trade: undefined }
}, [currencyIn, currencyOut, isDebouncing, loading, quoteResult, error, route, queryArgs, trade, tradeType])
}, [
currencyIn,
currencyOut,
error,
quoteResult,
route,
queryArgs,
trade,
isStale,
isDebouncing,
isLoading,
tradeType,
])
}

View File

@@ -1,36 +1,34 @@
import { Trans } from '@lingui/macro'
import { Currency, CurrencyAmount, Percent, TradeType } from '@uniswap/sdk-core'
import { FeeOptions } from '@uniswap/v3-sdk'
import { atom } from 'jotai'
import { useAtomValue, useUpdateAtom } from 'jotai/utils'
import { useCurrencyBalances } from 'lib/hooks/useCurrencyBalance'
import { feeOptionsAtom, Field, swapAtom } from 'lib/state/swap'
import { Field, swapAtom } from 'lib/state/swap'
import tryParseCurrencyAmount from 'lib/utils/tryParseCurrencyAmount'
import { ReactNode, useEffect, useMemo } from 'react'
import { useEffect, useMemo } from 'react'
import { InterfaceTrade, TradeState } from 'state/routing/types'
import { isAddress } from '../../../utils'
import useActiveWeb3React from '../useActiveWeb3React'
import useSlippage, { Slippage } from '../useSlippage'
import useUSDCPriceImpact, { PriceImpact } from '../useUSDCPriceImpact'
import { useBestTrade } from './useBestTrade'
import useWrapCallback, { WrapType } from './useWrapCallback'
interface SwapField {
currency?: Currency
amount?: CurrencyAmount<Currency>
balance?: CurrencyAmount<Currency>
usdc?: CurrencyAmount<Currency>
}
interface SwapInfo {
currencies: { [field in Field]?: Currency }
currencyBalances: { [field in Field]?: CurrencyAmount<Currency> }
tradeCurrencyAmounts: { [field in Field]?: CurrencyAmount<Currency> }
[Field.INPUT]: SwapField
[Field.OUTPUT]: SwapField
trade: {
trade?: InterfaceTrade<Currency, Currency, TradeType>
state: TradeState
}
slippage: Slippage
feeOptions: FeeOptions | undefined
}
const BAD_RECIPIENT_ADDRESSES: { [address: string]: true } = {
'0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f': true, // v2 factory
'0xf164fC0Ec4E93095b804a4795bBe1e041497b92a': true, // v2 router 01
'0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D': true, // v2 router 02
impact: PriceImpact
}
// from the current swap inputs, compute the best trade and return it.
@@ -38,106 +36,69 @@ function useComputeSwapInfo(): SwapInfo {
const { account } = useActiveWeb3React()
const { type: wrapType } = useWrapCallback()
const isWrapping = wrapType === WrapType.WRAP || wrapType === WrapType.UNWRAP
const {
independentField,
amount,
[Field.INPUT]: inputCurrency,
[Field.OUTPUT]: outputCurrency,
} = useAtomValue(swapAtom)
const { independentField, amount, [Field.INPUT]: currencyIn, [Field.OUTPUT]: currencyOut } = useAtomValue(swapAtom)
const isExactIn = independentField === Field.INPUT
const feeOptions = useAtomValue(feeOptionsAtom)
const parsedAmount = useMemo(
() => tryParseCurrencyAmount(amount, (isExactIn ? inputCurrency : outputCurrency) ?? undefined),
[inputCurrency, isExactIn, outputCurrency, amount]
() => tryParseCurrencyAmount(amount, (isExactIn ? currencyIn : currencyOut) ?? undefined),
[amount, isExactIn, currencyIn, currencyOut]
)
// TODO(ianlapham): this would eventually be replaced with routing api logic.
const trade = useBestTrade(
isExactIn ? TradeType.EXACT_INPUT : TradeType.EXACT_OUTPUT,
parsedAmount,
(isExactIn ? outputCurrency : inputCurrency) ?? undefined
(isExactIn ? currencyOut : currencyIn) ?? undefined
)
const tradeCurrencyAmounts = useMemo(
() => ({
// Use same amount for input and output if user is wrapping.
[Field.INPUT]: isWrapping || isExactIn ? parsedAmount : trade.trade?.inputAmount,
[Field.OUTPUT]: isWrapping || !isExactIn ? parsedAmount : trade.trade?.outputAmount,
}),
[isExactIn, isWrapping, parsedAmount, trade.trade?.inputAmount, trade.trade?.outputAmount]
)
const slippage = useSlippage(trade.trade)
const currencies = useMemo(
() => ({ [Field.INPUT]: inputCurrency, [Field.OUTPUT]: outputCurrency }),
[inputCurrency, outputCurrency]
const amountIn = useMemo(
() => (isWrapping || isExactIn ? parsedAmount : trade.trade?.inputAmount),
[isExactIn, isWrapping, parsedAmount, trade.trade?.inputAmount]
)
const [inputCurrencyBalance, outputCurrencyBalance] = useCurrencyBalances(
const amountOut = useMemo(
() => (isWrapping || !isExactIn ? parsedAmount : trade.trade?.outputAmount),
[isExactIn, isWrapping, parsedAmount, trade.trade?.outputAmount]
)
const [balanceIn, balanceOut] = useCurrencyBalances(
account,
useMemo(() => [inputCurrency, outputCurrency], [inputCurrency, outputCurrency])
)
const currencyBalances = useMemo(
() => ({
[Field.INPUT]: inputCurrencyBalance,
[Field.OUTPUT]: outputCurrencyBalance,
}),
[inputCurrencyBalance, outputCurrencyBalance]
useMemo(() => [currencyIn, currencyOut], [currencyIn, currencyOut])
)
const inputError = useMemo(() => {
let inputError: ReactNode | undefined
if (!account) {
inputError = <Trans>Connect Wallet</Trans>
}
if (!currencies[Field.INPUT] || !currencies[Field.OUTPUT]) {
inputError = inputError ?? <Trans>Select a token</Trans>
}
if (!parsedAmount) {
inputError = inputError ?? <Trans>Enter an amount</Trans>
}
const formattedAddress = isAddress(account)
if (!account || !formattedAddress) {
inputError = inputError ?? <Trans>Enter a recipient</Trans>
} else {
if (BAD_RECIPIENT_ADDRESSES[formattedAddress]) {
inputError = inputError ?? <Trans>Invalid recipient</Trans>
}
}
// compare input balance to max input based on version
const [balanceIn, amountIn] = [currencyBalances[Field.INPUT], trade.trade?.maximumAmountIn(slippage.allowed)]
if (balanceIn && amountIn && balanceIn.lessThan(amountIn)) {
inputError = <Trans>Insufficient {amountIn.currency.symbol} balance</Trans>
}
return inputError
}, [account, slippage.allowed, currencies, currencyBalances, parsedAmount, trade.trade])
// Compute slippage and impact off of the trade so that it refreshes with the trade.
// (Using amountIn/amountOut would show (incorrect) intermediate values.)
const slippage = useSlippage(trade.trade)
const {
inputUSDC: usdcIn,
outputUSDC: usdcOut,
priceImpact: impact,
} = useUSDCPriceImpact(trade.trade?.inputAmount, trade.trade?.outputAmount)
return useMemo(
() => ({
currencies,
currencyBalances,
inputError,
[Field.INPUT]: {
currency: currencyIn,
amount: amountIn,
balance: balanceIn,
usdc: usdcIn,
},
[Field.OUTPUT]: {
currency: currencyOut,
amount: amountOut,
balance: balanceOut,
usdc: usdcOut,
},
trade,
tradeCurrencyAmounts,
slippage,
feeOptions,
impact,
}),
[currencies, currencyBalances, inputError, trade, tradeCurrencyAmounts, slippage, feeOptions]
[amountIn, amountOut, balanceIn, balanceOut, currencyIn, currencyOut, impact, slippage, trade, usdcIn, usdcOut]
)
}
const swapInfoAtom = atom<SwapInfo>({
currencies: {},
currencyBalances: {},
[Field.INPUT]: {},
[Field.OUTPUT]: {},
trade: { state: TradeState.INVALID },
tradeCurrencyAmounts: {},
slippage: { auto: true, allowed: new Percent(0) },
feeOptions: undefined,
impact: {},
})
export function SwapInfoUpdater() {

64
src/lib/hooks/usePoll.ts Normal file
View File

@@ -0,0 +1,64 @@
import ms from 'ms.macro'
import { useEffect, useMemo, useState } from 'react'
const DEFAULT_POLLING_INTERVAL = ms`15s`
const DEFAULT_KEEP_UNUSED_DATA_FOR = ms`10s`
export default function usePoll<T>(
fetch: () => Promise<T>,
key = '',
check = false, // set to true to check the cache without initiating a new request
pollingInterval = DEFAULT_POLLING_INTERVAL,
keepUnusedDataFor = DEFAULT_KEEP_UNUSED_DATA_FOR
): T | undefined {
const cache = useMemo(() => new Map<string, { ttl: number; result?: T }>(), [])
const [, setData] = useState<{ key: string; result?: T }>({ key })
useEffect(() => {
if (check) return
let timeout: number
const entry = cache.get(key)
if (entry && entry.ttl + keepUnusedDataFor > Date.now()) {
// If there is a fresh entry, return it and queue the next poll.
setData({ key, result: entry.result })
timeout = setTimeout(poll, Math.max(0, entry.ttl - Date.now()))
} else {
// Otherwise, set a new entry (to avoid duplicate polling) and trigger a poll immediately.
cache.set(key, { ttl: Date.now() + pollingInterval })
setData({ key })
poll()
}
return () => {
clearTimeout(timeout)
}
async function poll(ttl = Date.now() + pollingInterval) {
timeout = setTimeout(poll, pollingInterval)
const result = await fetch()
// Always set the result in the cache, but only set it as data if the key is still being queried.
cache.set(key, { ttl, result })
setData((data) => {
return data.key === key ? { key, result } : data
})
}
}, [cache, check, fetch, keepUnusedDataFor, key, pollingInterval])
useEffect(() => {
// Cleanup stale entries when a new key is used.
void key
const now = Date.now()
cache.forEach(({ ttl }, key) => {
if (ttl + keepUnusedDataFor <= now) {
cache.delete(key)
}
})
}, [cache, keepUnusedDataFor, key])
// Use data.result to force a re-render, but actually retrieve the data from the cache.
// This gives the _first_ render access to a new result, avoiding lag introduced by React.
return cache.get(key)?.result
}

View File

@@ -4,6 +4,11 @@ import { useMemo } from 'react'
import { computeFiatValuePriceImpact } from 'utils/computeFiatValuePriceImpact'
import { getPriceImpactWarning } from 'utils/prices'
export interface PriceImpact {
display?: string
warning?: 'warning' | 'error'
}
/**
* Computes input/output USDC equivalents and the price impact.
* Returns the price impact as a human readable string.
@@ -14,8 +19,7 @@ export default function useUSDCPriceImpact(
): {
inputUSDC?: CurrencyAmount<Token>
outputUSDC?: CurrencyAmount<Token>
priceImpact?: string
warning?: 'warning' | 'error'
priceImpact: PriceImpact
} {
const inputUSDC = useUSDCValue(inputAmount) ?? undefined
const outputUSDC = useUSDCValue(outputAmount) ?? undefined
@@ -25,8 +29,11 @@ export default function useUSDCPriceImpact(
return {
inputUSDC,
outputUSDC,
priceImpact: priceImpact && toHumanReadablePriceImpact(priceImpact),
warning,
priceImpact: {
priceImpact,
display: priceImpact && toHumanReadablePriceImpact(priceImpact),
warning,
},
}
}, [inputUSDC, outputUSDC])
}

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2022-03-14 20:11\n"
"PO-Revision-Date: 2022-03-18 00:15\n"
"Last-Translator: \n"
"Language: af_ZA\n"
"Language-Team: Afrikaans\n"
@@ -516,7 +516,6 @@ msgstr "Bevestig transaksie in beursie"
#: src/components/Web3Status/index.tsx
#: src/components/earn/ClaimRewardModal.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
@@ -687,10 +686,6 @@ msgstr "Gedetailleerd"
msgid "Details"
msgstr "Besonderhede"
#: src/components/Popups/DonationLink.tsx
msgid "Directly support the Ukrainian government by donating tokens."
msgstr "Ondersteun die Oekraïense regering direk deur tokens te skenk."
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Ontkoppel"
@@ -708,10 +703,6 @@ msgstr "Verwerp"
msgid "Docs"
msgstr "Dokumente"
#: src/components/Popups/DonationLink.tsx
msgid "Donate to Ukraine"
msgstr "Skenk aan die Oekraïne"
#: src/pages/MigrateV2/index.tsx
msgid "Dont see one of your v2 positions? <0>Import it.</0>"
msgstr "Sien u nie een van u v2-posisies nie? <0> Voer dit in.</0>"
@@ -732,7 +723,6 @@ msgstr "Doeltreffendheidsvergelyking"
msgid "Enter a percent"
msgstr "Voer 'n persentasie in"
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Enter a recipient"
msgstr "Voer 'n ontvanger in"
@@ -748,7 +738,6 @@ msgstr "Voer 'n adres in om 'n UNI-eis te aktiveer. As die adres 'n UNI kan eis,
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/UnstakingModal.tsx
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/burn/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -988,7 +977,6 @@ msgstr "Onvoldoende likiditeit in die swembad vir jou handel"
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -1020,7 +1008,6 @@ msgid "Invalid range selected. The min price must be lower than the max price."
msgstr "Ongeldige reeks gekies. Die minimum prys moet laer wees as die maksimum prys."
#: src/lib/hooks/swap/useSwapCallback.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Invalid recipient"
msgstr "Ongeldige ontvanger"
@@ -1604,7 +1591,6 @@ msgstr "Kies 'n netwerk"
#: src/components/SearchModal/CurrencySearch.tsx
#: src/lib/components/TokenSelect/TokenButton.tsx
#: src/lib/components/TokenSelect/index.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/PoolFinder/index.tsx
#: src/pages/PoolFinder/index.tsx
#: src/state/swap/hooks.tsx

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2022-03-14 20:11\n"
"PO-Revision-Date: 2022-03-18 00:15\n"
"Last-Translator: \n"
"Language: ar_SA\n"
"Language-Team: Arabic\n"
@@ -516,7 +516,6 @@ msgstr "تأكيد المعاملة في المحفظة"
#: src/components/Web3Status/index.tsx
#: src/components/earn/ClaimRewardModal.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
@@ -687,10 +686,6 @@ msgstr "مفصل"
msgid "Details"
msgstr "التفاصيل"
#: src/components/Popups/DonationLink.tsx
msgid "Directly support the Ukrainian government by donating tokens."
msgstr "دعم الحكومة الأوكرانية مباشرة من خلال التبرع بالرموز."
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "قطع الاتصال"
@@ -708,10 +703,6 @@ msgstr "تجاهل"
msgid "Docs"
msgstr "الوثائق"
#: src/components/Popups/DonationLink.tsx
msgid "Donate to Ukraine"
msgstr "تبرع لأوكرانيا"
#: src/pages/MigrateV2/index.tsx
msgid "Dont see one of your v2 positions? <0>Import it.</0>"
msgstr "لا ترى أحد مراكز v2 الخاصة بك؟ <0>قم باستيراده.</0>"
@@ -732,7 +723,6 @@ msgstr "مقارنة الكفاءة"
msgid "Enter a percent"
msgstr "أدخل نسبة مئوية"
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Enter a recipient"
msgstr "أدخل المستلم"
@@ -748,7 +738,6 @@ msgstr "أدخل عنوانًا لتشغيل مطالبة UNI. إذا كان ا
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/UnstakingModal.tsx
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/burn/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -988,7 +977,6 @@ msgstr "سيولة غير كافية في المجمع لتداولك"
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -1020,7 +1008,6 @@ msgid "Invalid range selected. The min price must be lower than the max price."
msgstr "النطاق المحدد غير صالح. يجب أن يكون الحد الأدنى للسعر أقل من الحد الأقصى للسعر."
#: src/lib/hooks/swap/useSwapCallback.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Invalid recipient"
msgstr "مستلم غير صالح"
@@ -1604,7 +1591,6 @@ msgstr "حدد شبكة"
#: src/components/SearchModal/CurrencySearch.tsx
#: src/lib/components/TokenSelect/TokenButton.tsx
#: src/lib/components/TokenSelect/index.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/PoolFinder/index.tsx
#: src/pages/PoolFinder/index.tsx
#: src/state/swap/hooks.tsx

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2022-03-14 20:11\n"
"PO-Revision-Date: 2022-03-18 00:15\n"
"Last-Translator: \n"
"Language: ca_ES\n"
"Language-Team: Catalan\n"
@@ -516,7 +516,6 @@ msgstr "Confirmeu la transacció a la cartera"
#: src/components/Web3Status/index.tsx
#: src/components/earn/ClaimRewardModal.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
@@ -687,10 +686,6 @@ msgstr "Detallada"
msgid "Details"
msgstr "Detalls"
#: src/components/Popups/DonationLink.tsx
msgid "Directly support the Ukrainian government by donating tokens."
msgstr "Donar suport directe al govern ucraïnès donant fitxes."
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Desconnecta"
@@ -708,10 +703,6 @@ msgstr "Destitueix"
msgid "Docs"
msgstr "Documents"
#: src/components/Popups/DonationLink.tsx
msgid "Donate to Ukraine"
msgstr "Donar a Ucraïna"
#: src/pages/MigrateV2/index.tsx
msgid "Dont see one of your v2 positions? <0>Import it.</0>"
msgstr "No veieu cap de les vostres posicions v2? <0> Importeu-la.</0>"
@@ -732,7 +723,6 @@ msgstr "Comparació de leficiència"
msgid "Enter a percent"
msgstr "Introduïu un percentatge"
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Enter a recipient"
msgstr "Introduïu un destinatari"
@@ -748,7 +738,6 @@ msgstr "Introduïu una adreça per activar una reclamació UNI. Si l'adreça té
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/UnstakingModal.tsx
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/burn/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -988,7 +977,6 @@ msgstr "Liquiditat insuficient al pool per al vostre comerç"
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -1020,7 +1008,6 @@ msgid "Invalid range selected. The min price must be lower than the max price."
msgstr "L'interval no és vàlid. El preu mínim ha de ser inferior al preu màxim."
#: src/lib/hooks/swap/useSwapCallback.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Invalid recipient"
msgstr "Destinatari no vàlid"
@@ -1604,7 +1591,6 @@ msgstr "Seleccioneu una xarxa"
#: src/components/SearchModal/CurrencySearch.tsx
#: src/lib/components/TokenSelect/TokenButton.tsx
#: src/lib/components/TokenSelect/index.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/PoolFinder/index.tsx
#: src/pages/PoolFinder/index.tsx
#: src/state/swap/hooks.tsx

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2022-03-14 20:11\n"
"PO-Revision-Date: 2022-03-18 00:15\n"
"Last-Translator: \n"
"Language: cs_CZ\n"
"Language-Team: Czech\n"
@@ -516,7 +516,6 @@ msgstr "Potvrďte transakci v peněžence"
#: src/components/Web3Status/index.tsx
#: src/components/earn/ClaimRewardModal.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
@@ -687,10 +686,6 @@ msgstr "Podrobně"
msgid "Details"
msgstr "Podrobnosti"
#: src/components/Popups/DonationLink.tsx
msgid "Directly support the Ukrainian government by donating tokens."
msgstr "Přímo podpořte ukrajinskou vládu darováním tokenů."
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Odpojit"
@@ -708,10 +703,6 @@ msgstr "Zamítnout"
msgid "Docs"
msgstr "Dokumenty"
#: src/components/Popups/DonationLink.tsx
msgid "Donate to Ukraine"
msgstr "Darujte Ukrajině"
#: src/pages/MigrateV2/index.tsx
msgid "Dont see one of your v2 positions? <0>Import it.</0>"
msgstr "Nevidíte některou ze svých pozic v2? <0>Importujte ji.</0>"
@@ -732,7 +723,6 @@ msgstr "Porovnání efektivity"
msgid "Enter a percent"
msgstr "Zadejte procento"
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Enter a recipient"
msgstr "Zadejte příjemce"
@@ -748,7 +738,6 @@ msgstr "Chcete-li spustit nárokování UNI, zadejte adresu. Jestliže bude mít
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/UnstakingModal.tsx
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/burn/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -988,7 +977,6 @@ msgstr "Nedostatečná likvidita v poolu pro váš obchod"
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -1020,7 +1008,6 @@ msgid "Invalid range selected. The min price must be lower than the max price."
msgstr "Vybrán neplatný rozsah. Minimální cena musí být nižší než maximální cena."
#: src/lib/hooks/swap/useSwapCallback.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Invalid recipient"
msgstr "Neplatný příjemce"
@@ -1604,7 +1591,6 @@ msgstr "Vyberte síť"
#: src/components/SearchModal/CurrencySearch.tsx
#: src/lib/components/TokenSelect/TokenButton.tsx
#: src/lib/components/TokenSelect/index.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/PoolFinder/index.tsx
#: src/pages/PoolFinder/index.tsx
#: src/state/swap/hooks.tsx

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2022-03-14 20:11\n"
"PO-Revision-Date: 2022-03-18 00:15\n"
"Last-Translator: \n"
"Language: da_DK\n"
"Language-Team: Danish\n"
@@ -516,7 +516,6 @@ msgstr "Bekræft transaktion i tegnebogen"
#: src/components/Web3Status/index.tsx
#: src/components/earn/ClaimRewardModal.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
@@ -687,10 +686,6 @@ msgstr "Detaljeret"
msgid "Details"
msgstr "Detaljer"
#: src/components/Popups/DonationLink.tsx
msgid "Directly support the Ukrainian government by donating tokens."
msgstr "Støt den ukrainske regering direkte ved at donere tokens."
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Afbryd"
@@ -708,10 +703,6 @@ msgstr "Afvis"
msgid "Docs"
msgstr "Dokumenter"
#: src/components/Popups/DonationLink.tsx
msgid "Donate to Ukraine"
msgstr "Doner til Ukraine"
#: src/pages/MigrateV2/index.tsx
msgid "Dont see one of your v2 positions? <0>Import it.</0>"
msgstr "Kan du ikke se en af dine v2-positioner? <0>Importér den.</0>"
@@ -732,7 +723,6 @@ msgstr "Effektivitetssammenligning"
msgid "Enter a percent"
msgstr "Indtast en procent"
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Enter a recipient"
msgstr "Indtast en modtager"
@@ -748,7 +738,6 @@ msgstr "Indtast en adresse for at udløse et UNI-krav. Hvis adressen har nogen U
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/UnstakingModal.tsx
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/burn/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -988,7 +977,6 @@ msgstr "Utilstrækkelig likviditet i puljen til din handel"
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -1020,7 +1008,6 @@ msgid "Invalid range selected. The min price must be lower than the max price."
msgstr "Ugyldigt interval valgt. Minimumspris skal være lavere end den maksimale pris."
#: src/lib/hooks/swap/useSwapCallback.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Invalid recipient"
msgstr "Ugyldig modtager"
@@ -1604,7 +1591,6 @@ msgstr "Vælg et netværk"
#: src/components/SearchModal/CurrencySearch.tsx
#: src/lib/components/TokenSelect/TokenButton.tsx
#: src/lib/components/TokenSelect/index.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/PoolFinder/index.tsx
#: src/pages/PoolFinder/index.tsx
#: src/state/swap/hooks.tsx

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2022-03-14 20:11\n"
"PO-Revision-Date: 2022-03-18 00:15\n"
"Last-Translator: \n"
"Language: de_DE\n"
"Language-Team: German\n"
@@ -516,7 +516,6 @@ msgstr "Transaktion in Wallet bestätigen"
#: src/components/Web3Status/index.tsx
#: src/components/earn/ClaimRewardModal.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
@@ -687,10 +686,6 @@ msgstr "Detailliert"
msgid "Details"
msgstr "Details"
#: src/components/Popups/DonationLink.tsx
msgid "Directly support the Ukrainian government by donating tokens."
msgstr "Unterstützen Sie die ukrainische Regierung direkt, indem Sie Token spenden."
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Verbindung trennen"
@@ -708,10 +703,6 @@ msgstr "Verwerfen"
msgid "Docs"
msgstr "Dokumentation"
#: src/components/Popups/DonationLink.tsx
msgid "Donate to Ukraine"
msgstr "Spende für die Ukraine"
#: src/pages/MigrateV2/index.tsx
msgid "Dont see one of your v2 positions? <0>Import it.</0>"
msgstr "Sie sehen eine Ihrer v2-Positionen nicht? <0>Importiere sie.</0>"
@@ -732,7 +723,6 @@ msgstr "Effizienzvergleich"
msgid "Enter a percent"
msgstr "Prozentsatz eingeben"
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Enter a recipient"
msgstr "Empfänger eingeben"
@@ -748,7 +738,6 @@ msgstr "Geben Sie eine Adresse ein, um UNI einzufordern. Wenn die Adresse Anspru
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/UnstakingModal.tsx
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/burn/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -988,7 +977,6 @@ msgstr "Unzureichende Liquidität im Pool für Ihren Handel"
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -1020,7 +1008,6 @@ msgid "Invalid range selected. The min price must be lower than the max price."
msgstr "Ungültiger Bereich ausgewählt. Der Mindestpreis muss kleiner als der Maximalpreis sein."
#: src/lib/hooks/swap/useSwapCallback.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Invalid recipient"
msgstr "Ungültiger Empfänger"
@@ -1604,7 +1591,6 @@ msgstr "Wählen Sie ein Netzwerk"
#: src/components/SearchModal/CurrencySearch.tsx
#: src/lib/components/TokenSelect/TokenButton.tsx
#: src/lib/components/TokenSelect/index.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/PoolFinder/index.tsx
#: src/pages/PoolFinder/index.tsx
#: src/state/swap/hooks.tsx

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2022-03-14 20:11\n"
"PO-Revision-Date: 2022-03-18 00:15\n"
"Last-Translator: \n"
"Language: el_GR\n"
"Language-Team: Greek\n"
@@ -516,7 +516,6 @@ msgstr "Επιβεβαίωση συναλλαγής στο πορτοφόλι"
#: src/components/Web3Status/index.tsx
#: src/components/earn/ClaimRewardModal.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
@@ -687,10 +686,6 @@ msgstr "Λεπτομερής"
msgid "Details"
msgstr "Λεπτομέρειες"
#: src/components/Popups/DonationLink.tsx
msgid "Directly support the Ukrainian government by donating tokens."
msgstr "Υποστηρίξτε άμεσα την κυβέρνηση της Ουκρανίας δωρίζοντας μάρκες."
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Αποσύνδεση"
@@ -708,10 +703,6 @@ msgstr "Απόρριψη"
msgid "Docs"
msgstr "Έγγραφα"
#: src/components/Popups/DonationLink.tsx
msgid "Donate to Ukraine"
msgstr "Κάντε δωρεά στην Ουκρανία"
#: src/pages/MigrateV2/index.tsx
msgid "Dont see one of your v2 positions? <0>Import it.</0>"
msgstr "Δεν βλέπετε μία από τις θέσεις σας στο v2; <0> Εισαγάγετε τη.</0>"
@@ -732,7 +723,6 @@ msgstr "Σύγκριση αποδοτικότητας"
msgid "Enter a percent"
msgstr "Εισαγωγή ποσοστού"
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Enter a recipient"
msgstr "Εισαγάγετε έναν παραλήπτη"
@@ -748,7 +738,6 @@ msgstr "Εισάγετε μια διεύθυνση για να εκκινήσε
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/UnstakingModal.tsx
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/burn/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -988,7 +977,6 @@ msgstr "Ανεπαρκής ρευστότητα στο pool για τις συν
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -1020,7 +1008,6 @@ msgid "Invalid range selected. The min price must be lower than the max price."
msgstr "Επιλέχθηκε μη έγκυρο εύρος. Η ελάχιστη τιμή πρέπει να είναι χαμηλότερη από τη μέγιστη τιμή."
#: src/lib/hooks/swap/useSwapCallback.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Invalid recipient"
msgstr "Μη έγκυρος παραλήπτης"
@@ -1604,7 +1591,6 @@ msgstr "Επιλέξτε ένα δίκτυο"
#: src/components/SearchModal/CurrencySearch.tsx
#: src/lib/components/TokenSelect/TokenButton.tsx
#: src/lib/components/TokenSelect/index.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/PoolFinder/index.tsx
#: src/pages/PoolFinder/index.tsx
#: src/state/swap/hooks.tsx

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2022-03-14 20:11\n"
"PO-Revision-Date: 2022-03-18 00:15\n"
"Last-Translator: \n"
"Language: es_ES\n"
"Language-Team: Spanish\n"
@@ -516,7 +516,6 @@ msgstr "Confirmar transacción en billetera"
#: src/components/Web3Status/index.tsx
#: src/components/earn/ClaimRewardModal.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
@@ -687,10 +686,6 @@ msgstr "Detallado"
msgid "Details"
msgstr "Detalles"
#: src/components/Popups/DonationLink.tsx
msgid "Directly support the Ukrainian government by donating tokens."
msgstr "Apoye directamente al gobierno ucraniano mediante la donación de tokens."
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Desconectar"
@@ -708,10 +703,6 @@ msgstr "Descartar"
msgid "Docs"
msgstr "Documentos"
#: src/components/Popups/DonationLink.tsx
msgid "Donate to Ukraine"
msgstr "Donar a Ucrania"
#: src/pages/MigrateV2/index.tsx
msgid "Dont see one of your v2 positions? <0>Import it.</0>"
msgstr "¿No puede visualizar una de sus posiciones v2? <0>Impórtelo.</0>"
@@ -732,7 +723,6 @@ msgstr "Comparación de eficiencia"
msgid "Enter a percent"
msgstr "Introduzca un porcentaje"
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Enter a recipient"
msgstr "Introduzca un destinatario"
@@ -748,7 +738,6 @@ msgstr "Introduzca una dirección para activar una reclamación de UNI. Si la di
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/UnstakingModal.tsx
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/burn/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -988,7 +977,6 @@ msgstr "Liquidez insuficiente en el grupo para su operación"
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -1020,7 +1008,6 @@ msgid "Invalid range selected. The min price must be lower than the max price."
msgstr "Rango seleccionado no válido. El precio mínimo debe ser inferior al precio máximo."
#: src/lib/hooks/swap/useSwapCallback.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Invalid recipient"
msgstr "Receptor no válido"
@@ -1604,7 +1591,6 @@ msgstr "Seleccione una red"
#: src/components/SearchModal/CurrencySearch.tsx
#: src/lib/components/TokenSelect/TokenButton.tsx
#: src/lib/components/TokenSelect/index.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/PoolFinder/index.tsx
#: src/pages/PoolFinder/index.tsx
#: src/state/swap/hooks.tsx

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2022-03-14 20:11\n"
"PO-Revision-Date: 2022-03-18 00:15\n"
"Last-Translator: \n"
"Language: fi_FI\n"
"Language-Team: Finnish\n"
@@ -516,7 +516,6 @@ msgstr "Vahvista transaktio lompakossa"
#: src/components/Web3Status/index.tsx
#: src/components/earn/ClaimRewardModal.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
@@ -687,10 +686,6 @@ msgstr "Yksityiskohtainen"
msgid "Details"
msgstr "Tiedot"
#: src/components/Popups/DonationLink.tsx
msgid "Directly support the Ukrainian government by donating tokens."
msgstr "Tue suoraan Ukrainan hallitusta lahjoittamalla rahakkeita."
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Katkaise yhteys"
@@ -708,10 +703,6 @@ msgstr "Sulje"
msgid "Docs"
msgstr "Asiakirjat"
#: src/components/Popups/DonationLink.tsx
msgid "Donate to Ukraine"
msgstr "Lahjoita Ukrainalle"
#: src/pages/MigrateV2/index.tsx
msgid "Dont see one of your v2 positions? <0>Import it.</0>"
msgstr "Etkö näe yhtä v2-positiostasi? <0>Tuo se.</0>"
@@ -732,7 +723,6 @@ msgstr "Tehokkuuden vertailu"
msgid "Enter a percent"
msgstr "Syötä prosenttiosuus"
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Enter a recipient"
msgstr "Syötä vastaanottaja"
@@ -748,7 +738,6 @@ msgstr "Syötä osoite, joka käynnistää UNI-lunastuksen. Jos osoitteella on l
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/UnstakingModal.tsx
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/burn/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -988,7 +977,6 @@ msgstr "Poolissa ei ole tarpeeksi likviditeettiä kauppaasi varten"
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -1020,7 +1008,6 @@ msgid "Invalid range selected. The min price must be lower than the max price."
msgstr "Virheellinen vaihteluväli valittu. Minimihinnan on oltava pienempi kuin maksimihinta."
#: src/lib/hooks/swap/useSwapCallback.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Invalid recipient"
msgstr "Virheellinen vastaanottaja"
@@ -1604,7 +1591,6 @@ msgstr "Valitse verkko"
#: src/components/SearchModal/CurrencySearch.tsx
#: src/lib/components/TokenSelect/TokenButton.tsx
#: src/lib/components/TokenSelect/index.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/PoolFinder/index.tsx
#: src/pages/PoolFinder/index.tsx
#: src/state/swap/hooks.tsx

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2022-03-14 20:11\n"
"PO-Revision-Date: 2022-03-18 00:15\n"
"Last-Translator: \n"
"Language: fr_FR\n"
"Language-Team: French\n"
@@ -516,7 +516,6 @@ msgstr "Confirmer la transaction dans le portefeuille"
#: src/components/Web3Status/index.tsx
#: src/components/earn/ClaimRewardModal.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
@@ -687,10 +686,6 @@ msgstr "Détaillé"
msgid "Details"
msgstr "Détails"
#: src/components/Popups/DonationLink.tsx
msgid "Directly support the Ukrainian government by donating tokens."
msgstr "Soutenez directement le gouvernement ukrainien en faisant don de jetons."
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Déconnecter"
@@ -708,10 +703,6 @@ msgstr "Refuser"
msgid "Docs"
msgstr "Documents"
#: src/components/Popups/DonationLink.tsx
msgid "Donate to Ukraine"
msgstr "Faire un don à l'Ukraine"
#: src/pages/MigrateV2/index.tsx
msgid "Dont see one of your v2 positions? <0>Import it.</0>"
msgstr "Vous ne voyez pas une de vos positions v2 ? <0>Importez-la.</0>"
@@ -732,7 +723,6 @@ msgstr "Comparaison d'efficacité"
msgid "Enter a percent"
msgstr "Saisissez un pourcentage"
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Enter a recipient"
msgstr "Saisissez un destinataire"
@@ -748,7 +738,6 @@ msgstr "Saisissez une adresse pour déclencher une réclamation UNI. Si l'adress
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/UnstakingModal.tsx
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/burn/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -988,7 +977,6 @@ msgstr "Liquidité insuffisante dans le pool pour votre transaction"
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -1020,7 +1008,6 @@ msgid "Invalid range selected. The min price must be lower than the max price."
msgstr "Plage non valide sélectionnée. Le prix minimum doit être inférieur au prix maximum."
#: src/lib/hooks/swap/useSwapCallback.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Invalid recipient"
msgstr "Destinataire invalide"
@@ -1604,7 +1591,6 @@ msgstr "Sélectionnez un réseau"
#: src/components/SearchModal/CurrencySearch.tsx
#: src/lib/components/TokenSelect/TokenButton.tsx
#: src/lib/components/TokenSelect/index.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/PoolFinder/index.tsx
#: src/pages/PoolFinder/index.tsx
#: src/state/swap/hooks.tsx

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2022-03-14 20:11\n"
"PO-Revision-Date: 2022-03-18 00:15\n"
"Last-Translator: \n"
"Language: he_IL\n"
"Language-Team: Hebrew\n"
@@ -516,7 +516,6 @@ msgstr "אשר עסקה בארנק"
#: src/components/Web3Status/index.tsx
#: src/components/earn/ClaimRewardModal.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
@@ -687,10 +686,6 @@ msgstr "מְפוֹרָט"
msgid "Details"
msgstr "פרטים"
#: src/components/Popups/DonationLink.tsx
msgid "Directly support the Ukrainian government by donating tokens."
msgstr "תמכו ישירות בממשלת אוקראינה על ידי תרומת אסימונים."
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "לְנַתֵק"
@@ -708,10 +703,6 @@ msgstr "לשחרר"
msgid "Docs"
msgstr "מסמכים"
#: src/components/Popups/DonationLink.tsx
msgid "Donate to Ukraine"
msgstr "לתרום לאוקראינה"
#: src/pages/MigrateV2/index.tsx
msgid "Dont see one of your v2 positions? <0>Import it.</0>"
msgstr "אינך רואה את אחת מעמדות ה- v2 שלך? <0> יבא אותו.</0>"
@@ -732,7 +723,6 @@ msgstr "השוואת יעילות"
msgid "Enter a percent"
msgstr "הזן אחוז"
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Enter a recipient"
msgstr "הזן נמען"
@@ -748,7 +738,6 @@ msgstr "הזן כתובת להפעלת תביעה של UNI. אם לכתובת י
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/UnstakingModal.tsx
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/burn/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -988,7 +977,6 @@ msgstr "אין מספיק נזילות במאגר למסחר שלך"
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -1020,7 +1008,6 @@ msgid "Invalid range selected. The min price must be lower than the max price."
msgstr "נבחר טווח לא חוקי. המחיר המינימלי חייב להיות נמוך מהמחיר המקסימלי."
#: src/lib/hooks/swap/useSwapCallback.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Invalid recipient"
msgstr "נמען לא חוקי"
@@ -1604,7 +1591,6 @@ msgstr "בחר רשת"
#: src/components/SearchModal/CurrencySearch.tsx
#: src/lib/components/TokenSelect/TokenButton.tsx
#: src/lib/components/TokenSelect/index.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/PoolFinder/index.tsx
#: src/pages/PoolFinder/index.tsx
#: src/state/swap/hooks.tsx

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2022-03-14 20:11\n"
"PO-Revision-Date: 2022-03-18 00:15\n"
"Last-Translator: \n"
"Language: hu_HU\n"
"Language-Team: Hungarian\n"
@@ -516,7 +516,6 @@ msgstr "A tranzakció megerősítése a pénztárcában"
#: src/components/Web3Status/index.tsx
#: src/components/earn/ClaimRewardModal.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
@@ -687,10 +686,6 @@ msgstr "Részletes"
msgid "Details"
msgstr "Részletek"
#: src/components/Popups/DonationLink.tsx
msgid "Directly support the Ukrainian government by donating tokens."
msgstr "Közvetlenül támogassa az ukrán kormányt zsetonok adományozásával."
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Kapcsolat bontása"
@@ -708,10 +703,6 @@ msgstr "Elvetés"
msgid "Docs"
msgstr "Dokumentumok"
#: src/components/Popups/DonationLink.tsx
msgid "Donate to Ukraine"
msgstr "Adományozz Ukrajnának"
#: src/pages/MigrateV2/index.tsx
msgid "Dont see one of your v2 positions? <0>Import it.</0>"
msgstr "Nem látja az egyik v2 pozícióját? <0> Importálja.</0>"
@@ -732,7 +723,6 @@ msgstr "Hatékonyság-összehasonlítás"
msgid "Enter a percent"
msgstr "Adjon meg egy százalékot"
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Enter a recipient"
msgstr "Címzett megadása"
@@ -748,7 +738,6 @@ msgstr "Adjon meg egy címet az UNI-követelés kiváltásához. Ha a címnek va
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/UnstakingModal.tsx
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/burn/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -989,7 +978,6 @@ msgstr "Nincs elegendő likviditás a poolban a kereskedéshez"
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -1021,7 +1009,6 @@ msgid "Invalid range selected. The min price must be lower than the max price."
msgstr "Érvénytelen tartományt választott ki. A minimális árnak alacsonyabbnak kell lennie, mint a maximális ár."
#: src/lib/hooks/swap/useSwapCallback.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Invalid recipient"
msgstr "Érvénytelen címzett"
@@ -1605,7 +1592,6 @@ msgstr "Válasszon hálózatot"
#: src/components/SearchModal/CurrencySearch.tsx
#: src/lib/components/TokenSelect/TokenButton.tsx
#: src/lib/components/TokenSelect/index.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/PoolFinder/index.tsx
#: src/pages/PoolFinder/index.tsx
#: src/state/swap/hooks.tsx

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2022-03-14 20:11\n"
"PO-Revision-Date: 2022-03-18 00:15\n"
"Last-Translator: \n"
"Language: id_ID\n"
"Language-Team: Indonesian\n"
@@ -516,7 +516,6 @@ msgstr "Konfirmasi transaksi di dompet"
#: src/components/Web3Status/index.tsx
#: src/components/earn/ClaimRewardModal.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
@@ -687,10 +686,6 @@ msgstr "Terperinci"
msgid "Details"
msgstr "Perincian"
#: src/components/Popups/DonationLink.tsx
msgid "Directly support the Ukrainian government by donating tokens."
msgstr "Dukung langsung pemerintah Ukraina dengan menyumbangkan token."
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Putuskan"
@@ -708,10 +703,6 @@ msgstr "Buang"
msgid "Docs"
msgstr "Docs"
#: src/components/Popups/DonationLink.tsx
msgid "Donate to Ukraine"
msgstr "Donasi ke Ukraina"
#: src/pages/MigrateV2/index.tsx
msgid "Dont see one of your v2 positions? <0>Import it.</0>"
msgstr "Tidak melihat salah satu posisi v2 Anda? <0> Impor.</0>"
@@ -732,7 +723,6 @@ msgstr "Perbandingan Efisiensi"
msgid "Enter a percent"
msgstr "Masukkan persen"
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Enter a recipient"
msgstr "Masukkan penerima"
@@ -748,7 +738,6 @@ msgstr "Masukkan alamat untuk memicu klaim UNI. Jika alamat tersebut memiliki UN
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/UnstakingModal.tsx
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/burn/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -988,7 +977,6 @@ msgstr "Likuiditas tidak mencukupi di kumpulan untuk perdagangan Anda"
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -1020,7 +1008,6 @@ msgid "Invalid range selected. The min price must be lower than the max price."
msgstr "Rentang yang tidak valid dipilih. Harga min harus lebih rendah dari harga maks."
#: src/lib/hooks/swap/useSwapCallback.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Invalid recipient"
msgstr "Penerima tidak valid"
@@ -1604,7 +1591,6 @@ msgstr "Pilih jaringan"
#: src/components/SearchModal/CurrencySearch.tsx
#: src/lib/components/TokenSelect/TokenButton.tsx
#: src/lib/components/TokenSelect/index.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/PoolFinder/index.tsx
#: src/pages/PoolFinder/index.tsx
#: src/state/swap/hooks.tsx

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2022-03-14 20:11\n"
"PO-Revision-Date: 2022-03-18 00:15\n"
"Last-Translator: \n"
"Language: it_IT\n"
"Language-Team: Italian\n"
@@ -516,7 +516,6 @@ msgstr "Conferma transazione nel portafoglio"
#: src/components/Web3Status/index.tsx
#: src/components/earn/ClaimRewardModal.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
@@ -687,10 +686,6 @@ msgstr "Dettagliato"
msgid "Details"
msgstr "Dettagli"
#: src/components/Popups/DonationLink.tsx
msgid "Directly support the Ukrainian government by donating tokens."
msgstr "Sostieni direttamente il governo ucraino donando token."
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Disconnessione"
@@ -708,10 +703,6 @@ msgstr "Ignora"
msgid "Docs"
msgstr "Documenti"
#: src/components/Popups/DonationLink.tsx
msgid "Donate to Ukraine"
msgstr "Dona all'Ucraina"
#: src/pages/MigrateV2/index.tsx
msgid "Dont see one of your v2 positions? <0>Import it.</0>"
msgstr "Non vedi una delle tue posizioni v2? <0>Importala.</0>"
@@ -732,7 +723,6 @@ msgstr "Confronto di efficienza"
msgid "Enter a percent"
msgstr "Inserisci una percentuale"
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Enter a recipient"
msgstr "Inserisci un destinatario"
@@ -748,7 +738,6 @@ msgstr "Inserisci un indirizzo per attivare un reclamo UNI. Se l'indirizzo ha un
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/UnstakingModal.tsx
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/burn/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -988,7 +977,6 @@ msgstr "Liquidità insufficiente nel pool per il tuo trade"
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -1020,7 +1008,6 @@ msgid "Invalid range selected. The min price must be lower than the max price."
msgstr "Intervallo selezionato non valido. Il prezzo minimo deve essere inferiore al prezzo massimo."
#: src/lib/hooks/swap/useSwapCallback.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Invalid recipient"
msgstr "Destinatario non valido"
@@ -1604,7 +1591,6 @@ msgstr "Seleziona una rete"
#: src/components/SearchModal/CurrencySearch.tsx
#: src/lib/components/TokenSelect/TokenButton.tsx
#: src/lib/components/TokenSelect/index.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/PoolFinder/index.tsx
#: src/pages/PoolFinder/index.tsx
#: src/state/swap/hooks.tsx

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2022-03-14 20:11\n"
"PO-Revision-Date: 2022-03-18 00:15\n"
"Last-Translator: \n"
"Language: ja_JP\n"
"Language-Team: Japanese\n"
@@ -516,7 +516,6 @@ msgstr "ウォレットで取引を確認する"
#: src/components/Web3Status/index.tsx
#: src/components/earn/ClaimRewardModal.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
@@ -687,10 +686,6 @@ msgstr "詳細"
msgid "Details"
msgstr "詳細"
#: src/components/Popups/DonationLink.tsx
msgid "Directly support the Ukrainian government by donating tokens."
msgstr "トークンを寄付することにより、ウクライナ政府を直接支援します。"
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "接続を解除"
@@ -708,10 +703,6 @@ msgstr "注文を取り下げる"
msgid "Docs"
msgstr "資料"
#: src/components/Popups/DonationLink.tsx
msgid "Donate to Ukraine"
msgstr "ウクライナに寄付する"
#: src/pages/MigrateV2/index.tsx
msgid "Dont see one of your v2 positions? <0>Import it.</0>"
msgstr "V2の流動性が表示されない場合、該当のトークンを<0>インポート</0>してください"
@@ -732,7 +723,6 @@ msgstr "効率性の比較"
msgid "Enter a percent"
msgstr "パーセントを入力してください"
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Enter a recipient"
msgstr "受取人を入力"
@@ -748,7 +738,6 @@ msgstr "UNIの請求を行うためのアドレスを入力してください。
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/UnstakingModal.tsx
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/burn/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -988,7 +977,6 @@ msgstr "あなたの取引のためのプールの不十分な流動性"
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -1020,7 +1008,6 @@ msgid "Invalid range selected. The min price must be lower than the max price."
msgstr "設定した価格範囲が間違っています。最小価格は最大価格より低くしてください。"
#: src/lib/hooks/swap/useSwapCallback.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Invalid recipient"
msgstr "受け取りアドレスが無効です"
@@ -1604,7 +1591,6 @@ msgstr "ネットワークを選択"
#: src/components/SearchModal/CurrencySearch.tsx
#: src/lib/components/TokenSelect/TokenButton.tsx
#: src/lib/components/TokenSelect/index.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/PoolFinder/index.tsx
#: src/pages/PoolFinder/index.tsx
#: src/state/swap/hooks.tsx

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2022-03-14 20:11\n"
"PO-Revision-Date: 2022-03-18 00:15\n"
"Last-Translator: \n"
"Language: ko_KR\n"
"Language-Team: Korean\n"
@@ -516,7 +516,6 @@ msgstr "지갑에서 트랜잭션 승인"
#: src/components/Web3Status/index.tsx
#: src/components/earn/ClaimRewardModal.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
@@ -687,10 +686,6 @@ msgstr "자세히"
msgid "Details"
msgstr "세부 정보"
#: src/components/Popups/DonationLink.tsx
msgid "Directly support the Ukrainian government by donating tokens."
msgstr "토큰을 기부하여 우크라이나 정부를 직접 지원합니다."
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "연결 해제"
@@ -708,10 +703,6 @@ msgstr "해제"
msgid "Docs"
msgstr "문서"
#: src/components/Popups/DonationLink.tsx
msgid "Donate to Ukraine"
msgstr "우크라이나에 기부"
#: src/pages/MigrateV2/index.tsx
msgid "Dont see one of your v2 positions? <0>Import it.</0>"
msgstr "v2 포지션 중 하나가 보이지 않습니까? <0>가져 오십시오.</0>"
@@ -732,7 +723,6 @@ msgstr "효율성 비교"
msgid "Enter a percent"
msgstr "퍼센트를 입력하세요."
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Enter a recipient"
msgstr "수령인을 입력하세요."
@@ -748,7 +738,6 @@ msgstr "UNI 청구를 트리거할 주소를 입력하십시오. 주소에 청
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/UnstakingModal.tsx
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/burn/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -988,7 +977,6 @@ msgstr "거래를 위한 풀의 유동성 부족"
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -1020,7 +1008,6 @@ msgid "Invalid range selected. The min price must be lower than the max price."
msgstr "잘못된 범위를 선택했습니다. 최소 가격은 최대 가격보다 낮아야합니다."
#: src/lib/hooks/swap/useSwapCallback.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Invalid recipient"
msgstr "잘못된 수령인"
@@ -1604,7 +1591,6 @@ msgstr "네트워크 선택"
#: src/components/SearchModal/CurrencySearch.tsx
#: src/lib/components/TokenSelect/TokenButton.tsx
#: src/lib/components/TokenSelect/index.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/PoolFinder/index.tsx
#: src/pages/PoolFinder/index.tsx
#: src/state/swap/hooks.tsx

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2022-03-14 20:11\n"
"PO-Revision-Date: 2022-03-18 00:15\n"
"Last-Translator: \n"
"Language: nl_NL\n"
"Language-Team: Dutch\n"
@@ -516,7 +516,6 @@ msgstr "Bevestig transactie in portemonnee"
#: src/components/Web3Status/index.tsx
#: src/components/earn/ClaimRewardModal.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
@@ -687,10 +686,6 @@ msgstr "Gedetailleerd"
msgid "Details"
msgstr "Details"
#: src/components/Popups/DonationLink.tsx
msgid "Directly support the Ukrainian government by donating tokens."
msgstr "Ondersteun rechtstreeks de Oekraïense regering door tokens te doneren."
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Verbinding verbreken"
@@ -708,10 +703,6 @@ msgstr "Afwijzen"
msgid "Docs"
msgstr "Documenten"
#: src/components/Popups/DonationLink.tsx
msgid "Donate to Ukraine"
msgstr "Doneer aan Oekraïne"
#: src/pages/MigrateV2/index.tsx
msgid "Dont see one of your v2 positions? <0>Import it.</0>"
msgstr "Ziet u één van uw v2 posities niet? <0>Importeer deze.</0>"
@@ -732,7 +723,6 @@ msgstr "Efficiëntie vergelijking:"
msgid "Enter a percent"
msgstr "Voer een percentage in"
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Enter a recipient"
msgstr "Voer een ontvanger in"
@@ -748,7 +738,6 @@ msgstr "Voer een adres in om een UNI-claim te activeren. Als het adres een claim
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/UnstakingModal.tsx
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/burn/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -988,7 +977,6 @@ msgstr "Onvoldoende liquiditeit in de pool voor uw transactie"
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -1020,7 +1008,6 @@ msgid "Invalid range selected. The min price must be lower than the max price."
msgstr "Ongeldig bereik geselecteerd. De minimumprijs moet lager zijn dan de maximumprijs."
#: src/lib/hooks/swap/useSwapCallback.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Invalid recipient"
msgstr "Ongeldige ontvanger"
@@ -1604,7 +1591,6 @@ msgstr "Selecteer een netwerk"
#: src/components/SearchModal/CurrencySearch.tsx
#: src/lib/components/TokenSelect/TokenButton.tsx
#: src/lib/components/TokenSelect/index.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/PoolFinder/index.tsx
#: src/pages/PoolFinder/index.tsx
#: src/state/swap/hooks.tsx

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2022-03-14 20:11\n"
"PO-Revision-Date: 2022-03-18 00:15\n"
"Last-Translator: \n"
"Language: no_NO\n"
"Language-Team: Norwegian\n"
@@ -516,7 +516,6 @@ msgstr "Bekreft transaksjonen i lommeboken"
#: src/components/Web3Status/index.tsx
#: src/components/earn/ClaimRewardModal.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
@@ -687,10 +686,6 @@ msgstr "Detaljert"
msgid "Details"
msgstr "Detaljer"
#: src/components/Popups/DonationLink.tsx
msgid "Directly support the Ukrainian government by donating tokens."
msgstr "Støtt den ukrainske regjeringen direkte ved å donere tokens."
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Frakoble"
@@ -708,10 +703,6 @@ msgstr "Avvis"
msgid "Docs"
msgstr "Dokumenter"
#: src/components/Popups/DonationLink.tsx
msgid "Donate to Ukraine"
msgstr "Doner til Ukraina"
#: src/pages/MigrateV2/index.tsx
msgid "Dont see one of your v2 positions? <0>Import it.</0>"
msgstr "Ser du ikke en av dine v2-posisjoner? <0>Importer den.</0>"
@@ -732,7 +723,6 @@ msgstr "Effektivitetssammenligning"
msgid "Enter a percent"
msgstr "Oppgi en prosent"
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Enter a recipient"
msgstr "Oppgi en mottaker"
@@ -748,7 +738,6 @@ msgstr "Skriv inn en adresse for å aktivere en UNI-henting. Hvis adressen har n
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/UnstakingModal.tsx
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/burn/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -988,7 +977,6 @@ msgstr "Utilstrekkelig likviditet i bassenget for handelen din"
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -1020,7 +1008,6 @@ msgid "Invalid range selected. The min price must be lower than the max price."
msgstr "Ugyldig område valgt. Minsteprisen må være lavere enn maks prisen."
#: src/lib/hooks/swap/useSwapCallback.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Invalid recipient"
msgstr "Ugyldig mottaker"
@@ -1604,7 +1591,6 @@ msgstr "Velg et nettverk"
#: src/components/SearchModal/CurrencySearch.tsx
#: src/lib/components/TokenSelect/TokenButton.tsx
#: src/lib/components/TokenSelect/index.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/PoolFinder/index.tsx
#: src/pages/PoolFinder/index.tsx
#: src/state/swap/hooks.tsx

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2022-03-14 20:11\n"
"PO-Revision-Date: 2022-03-18 00:15\n"
"Last-Translator: \n"
"Language: pl_PL\n"
"Language-Team: Polish\n"
@@ -516,7 +516,6 @@ msgstr "Potwierdź transakcję w portfelu"
#: src/components/Web3Status/index.tsx
#: src/components/earn/ClaimRewardModal.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
@@ -687,10 +686,6 @@ msgstr "Szczegółowy"
msgid "Details"
msgstr "Szczegóły"
#: src/components/Popups/DonationLink.tsx
msgid "Directly support the Ukrainian government by donating tokens."
msgstr "Bezpośrednio wesprzyj ukraiński rząd przekazując tokeny."
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Rozłącz"
@@ -708,10 +703,6 @@ msgstr "Odrzuć"
msgid "Docs"
msgstr "Dokumentacja"
#: src/components/Popups/DonationLink.tsx
msgid "Donate to Ukraine"
msgstr "Wpłać na Ukrainę"
#: src/pages/MigrateV2/index.tsx
msgid "Dont see one of your v2 positions? <0>Import it.</0>"
msgstr "Nie widzisz jednej z pozycji v2? <0>Importuj ją.</0>"
@@ -732,7 +723,6 @@ msgstr "Porównanie wydajności"
msgid "Enter a percent"
msgstr "Wpisz procent"
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Enter a recipient"
msgstr "Wprowadź odbiorcę"
@@ -748,7 +738,6 @@ msgstr "Wprowadź adres do uruchomienia UNI. Jeśli adres ma jakiekolwiek roszcz
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/UnstakingModal.tsx
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/burn/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -988,7 +977,6 @@ msgstr "Niewystarczająca płynność w puli dla Twojej transakcji"
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -1020,7 +1008,6 @@ msgid "Invalid range selected. The min price must be lower than the max price."
msgstr "Wybrano nieprawidłowy zakres. Minimalna cena musi być niższa niż maksymalna cena."
#: src/lib/hooks/swap/useSwapCallback.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Invalid recipient"
msgstr "Nieprawidłowy odbiorca"
@@ -1604,7 +1591,6 @@ msgstr "Wybierz sieć"
#: src/components/SearchModal/CurrencySearch.tsx
#: src/lib/components/TokenSelect/TokenButton.tsx
#: src/lib/components/TokenSelect/index.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/PoolFinder/index.tsx
#: src/pages/PoolFinder/index.tsx
#: src/state/swap/hooks.tsx

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2022-03-14 20:11\n"
"PO-Revision-Date: 2022-03-18 00:15\n"
"Last-Translator: \n"
"Language: pt_BR\n"
"Language-Team: Portuguese, Brazilian\n"
@@ -516,7 +516,6 @@ msgstr "Confirme a transação na carteira"
#: src/components/Web3Status/index.tsx
#: src/components/earn/ClaimRewardModal.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
@@ -687,10 +686,6 @@ msgstr "Detalhado"
msgid "Details"
msgstr "Detalhes"
#: src/components/Popups/DonationLink.tsx
msgid "Directly support the Ukrainian government by donating tokens."
msgstr "Apoie diretamente o governo ucraniano doando tokens."
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Desconectar"
@@ -708,10 +703,6 @@ msgstr "Dispensar"
msgid "Docs"
msgstr "Docs"
#: src/components/Popups/DonationLink.tsx
msgid "Donate to Ukraine"
msgstr "Doe para a Ucrânia"
#: src/pages/MigrateV2/index.tsx
msgid "Dont see one of your v2 positions? <0>Import it.</0>"
msgstr "Não está vendo uma de suas posições V2? <0>Importe-a.</0>"
@@ -732,7 +723,6 @@ msgstr "Comparação de Eficiência"
msgid "Enter a percent"
msgstr "Digite um percentual"
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Enter a recipient"
msgstr "Digite um destinatário"
@@ -748,7 +738,6 @@ msgstr "Digite um endereço para solicitar um resgate de UNI. Se o endereço tiv
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/UnstakingModal.tsx
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/burn/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -988,7 +977,6 @@ msgstr "Liquidez insuficiente no pool para sua negociação"
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -1020,7 +1008,6 @@ msgid "Invalid range selected. The min price must be lower than the max price."
msgstr "Faixa selecionada inválida. O preço mín deve ser inferior ao preço máx."
#: src/lib/hooks/swap/useSwapCallback.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Invalid recipient"
msgstr "Destinatário inválido"
@@ -1604,7 +1591,6 @@ msgstr "Selecione uma rede"
#: src/components/SearchModal/CurrencySearch.tsx
#: src/lib/components/TokenSelect/TokenButton.tsx
#: src/lib/components/TokenSelect/index.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/PoolFinder/index.tsx
#: src/pages/PoolFinder/index.tsx
#: src/state/swap/hooks.tsx

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2022-03-14 20:11\n"
"PO-Revision-Date: 2022-03-18 00:15\n"
"Last-Translator: \n"
"Language: pt_PT\n"
"Language-Team: Portuguese\n"
@@ -516,7 +516,6 @@ msgstr "Confirme a transação na carteira"
#: src/components/Web3Status/index.tsx
#: src/components/earn/ClaimRewardModal.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
@@ -687,10 +686,6 @@ msgstr "Detalhada"
msgid "Details"
msgstr "Detalhes"
#: src/components/Popups/DonationLink.tsx
msgid "Directly support the Ukrainian government by donating tokens."
msgstr "Apoie diretamente o governo ucraniano doando tokens."
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Desligar"
@@ -708,10 +703,6 @@ msgstr "Descartar"
msgid "Docs"
msgstr "Documentação"
#: src/components/Popups/DonationLink.tsx
msgid "Donate to Ukraine"
msgstr "Doe para a Ucrânia"
#: src/pages/MigrateV2/index.tsx
msgid "Dont see one of your v2 positions? <0>Import it.</0>"
msgstr "Não vê uma das suas posições v2? <0>Importar.</0>"
@@ -732,7 +723,6 @@ msgstr "Comparação de Eficiência"
msgid "Enter a percent"
msgstr "Insira uma percentagem"
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Enter a recipient"
msgstr "Insira um destinatário"
@@ -748,7 +738,6 @@ msgstr "Insira um endereço para acionar uma reivindicação UNI. Se o endereço
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/UnstakingModal.tsx
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/burn/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -988,7 +977,6 @@ msgstr "Liquidez insuficiente no pool para sua negociação"
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -1020,7 +1008,6 @@ msgid "Invalid range selected. The min price must be lower than the max price."
msgstr "Intervalo selecionado inválido. O preço mínimo deve ser inferior ao preço máximo."
#: src/lib/hooks/swap/useSwapCallback.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Invalid recipient"
msgstr "Destinatário inválido"
@@ -1604,7 +1591,6 @@ msgstr "Selecione uma rede"
#: src/components/SearchModal/CurrencySearch.tsx
#: src/lib/components/TokenSelect/TokenButton.tsx
#: src/lib/components/TokenSelect/index.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/PoolFinder/index.tsx
#: src/pages/PoolFinder/index.tsx
#: src/state/swap/hooks.tsx

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2022-03-14 20:11\n"
"PO-Revision-Date: 2022-03-18 00:15\n"
"Last-Translator: \n"
"Language: ro_RO\n"
"Language-Team: Romanian\n"
@@ -516,7 +516,6 @@ msgstr "Confirmați tranzacția în portofel"
#: src/components/Web3Status/index.tsx
#: src/components/earn/ClaimRewardModal.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
@@ -687,10 +686,6 @@ msgstr "Detaliat"
msgid "Details"
msgstr "Detalii"
#: src/components/Popups/DonationLink.tsx
msgid "Directly support the Ukrainian government by donating tokens."
msgstr "Sprijiniți direct guvernul ucrainean donând jetoane."
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Deconectare"
@@ -708,10 +703,6 @@ msgstr "Respinge"
msgid "Docs"
msgstr "Documente"
#: src/components/Popups/DonationLink.tsx
msgid "Donate to Ukraine"
msgstr "Donează Ucrainei"
#: src/pages/MigrateV2/index.tsx
msgid "Dont see one of your v2 positions? <0>Import it.</0>"
msgstr "Nu vezi una dintre pozițiile tale v2? <0>Import-o.</0>"
@@ -732,7 +723,6 @@ msgstr "Compararea eficienței"
msgid "Enter a percent"
msgstr "Introdu un procent"
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Enter a recipient"
msgstr "Introdu un destinatar"
@@ -748,7 +738,6 @@ msgstr "Introdu o adresă pentru a declanșa o revendicare UNI. Dacă adresa are
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/UnstakingModal.tsx
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/burn/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -988,7 +977,6 @@ msgstr "Lichiditate insuficientă în pool pentru tranzacția dvs"
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -1020,7 +1008,6 @@ msgid "Invalid range selected. The min price must be lower than the max price."
msgstr "Interval invalid selectat. Prețul minim trebuie să fie mai mic decât prețul maxim."
#: src/lib/hooks/swap/useSwapCallback.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Invalid recipient"
msgstr "Destinatar nevalid"
@@ -1604,7 +1591,6 @@ msgstr "Selectați o rețea"
#: src/components/SearchModal/CurrencySearch.tsx
#: src/lib/components/TokenSelect/TokenButton.tsx
#: src/lib/components/TokenSelect/index.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/PoolFinder/index.tsx
#: src/pages/PoolFinder/index.tsx
#: src/state/swap/hooks.tsx

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2022-03-14 20:11\n"
"PO-Revision-Date: 2022-03-18 00:15\n"
"Last-Translator: \n"
"Language: ru_RU\n"
"Language-Team: Russian\n"
@@ -516,7 +516,6 @@ msgstr "Подтвердите транзакцию в кошельке"
#: src/components/Web3Status/index.tsx
#: src/components/earn/ClaimRewardModal.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
@@ -687,10 +686,6 @@ msgstr "Подробно"
msgid "Details"
msgstr "Подробности"
#: src/components/Popups/DonationLink.tsx
msgid "Directly support the Ukrainian government by donating tokens."
msgstr "Поддержите правительство Украины напрямую, пожертвовав токены."
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Отключить"
@@ -708,10 +703,6 @@ msgstr "Закрыть"
msgid "Docs"
msgstr "Документация"
#: src/components/Popups/DonationLink.tsx
msgid "Donate to Ukraine"
msgstr "Пожертвуйте Украине"
#: src/pages/MigrateV2/index.tsx
msgid "Dont see one of your v2 positions? <0>Import it.</0>"
msgstr "Не видите какую-то из ваших позиций в V2? <0>Импортируйте её.</0>"
@@ -732,7 +723,6 @@ msgstr "Сравнение эффективности"
msgid "Enter a percent"
msgstr "Введите процент"
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Enter a recipient"
msgstr "Введите получателя"
@@ -748,7 +738,6 @@ msgstr "Введите адрес, чтобы востребовать UNI. Ес
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/UnstakingModal.tsx
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/burn/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -988,7 +977,6 @@ msgstr "Недостаточно ликвидности в пуле для ва
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -1020,7 +1008,6 @@ msgid "Invalid range selected. The min price must be lower than the max price."
msgstr "Выбран неверный диапазон. Минимальная цена должна быть меньше, чем максимальная цена."
#: src/lib/hooks/swap/useSwapCallback.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Invalid recipient"
msgstr "Неверный получатель"
@@ -1604,7 +1591,6 @@ msgstr "Выберите сеть"
#: src/components/SearchModal/CurrencySearch.tsx
#: src/lib/components/TokenSelect/TokenButton.tsx
#: src/lib/components/TokenSelect/index.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/PoolFinder/index.tsx
#: src/pages/PoolFinder/index.tsx
#: src/state/swap/hooks.tsx

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2022-03-15 09:06\n"
"PO-Revision-Date: 2022-03-18 00:15\n"
"Last-Translator: \n"
"Language: sl_SI\n"
"Language-Team: Slovenian\n"
@@ -516,7 +516,6 @@ msgstr "V denarnici potrdite transakcijo"
#: src/components/Web3Status/index.tsx
#: src/components/earn/ClaimRewardModal.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
@@ -687,10 +686,6 @@ msgstr "Podrobnosti"
msgid "Details"
msgstr "Podrobnosti"
#: src/components/Popups/DonationLink.tsx
msgid "Directly support the Ukrainian government by donating tokens."
msgstr "Neposredno podprite ukrajinsko vlado z donacijo žetonov."
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Prekini povezavo"
@@ -708,10 +703,6 @@ msgstr "Opusti"
msgid "Docs"
msgstr "Dokumentacija"
#: src/components/Popups/DonationLink.tsx
msgid "Donate to Ukraine"
msgstr "Donirajte Ukrajini"
#: src/pages/MigrateV2/index.tsx
msgid "Dont see one of your v2 positions? <0>Import it.</0>"
msgstr "Ne vidite katerega od svojih pologov V2? <0>Uvozite ga.</0>"
@@ -732,7 +723,6 @@ msgstr "Primerjava učinkovitosti"
msgid "Enter a percent"
msgstr "Vnesite odstotek"
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Enter a recipient"
msgstr "Vnesite prejemnika"
@@ -748,7 +738,6 @@ msgstr "Vnesite naslov za prevzem UNI. Če ima naslov pravico do prevzema žeton
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/UnstakingModal.tsx
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/burn/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -988,7 +977,6 @@ msgstr "Sklad ima prenizko likvidnost za ta posel."
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -1020,7 +1008,6 @@ msgid "Invalid range selected. The min price must be lower than the max price."
msgstr "Razpon ni veljaven. Najnižja cena mora biti nižja od najvišje."
#: src/lib/hooks/swap/useSwapCallback.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Invalid recipient"
msgstr "Neveljaven prejemnik"
@@ -1604,7 +1591,6 @@ msgstr "Izberite omrežje"
#: src/components/SearchModal/CurrencySearch.tsx
#: src/lib/components/TokenSelect/TokenButton.tsx
#: src/lib/components/TokenSelect/index.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/PoolFinder/index.tsx
#: src/pages/PoolFinder/index.tsx
#: src/state/swap/hooks.tsx

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2022-03-14 20:11\n"
"PO-Revision-Date: 2022-03-18 00:15\n"
"Last-Translator: \n"
"Language: sr_SP\n"
"Language-Team: Serbian (Cyrillic)\n"
@@ -516,7 +516,6 @@ msgstr "Потврдите трансакцију у новчанику"
#: src/components/Web3Status/index.tsx
#: src/components/earn/ClaimRewardModal.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
@@ -687,10 +686,6 @@ msgstr "Детаљно"
msgid "Details"
msgstr "Детаљи"
#: src/components/Popups/DonationLink.tsx
msgid "Directly support the Ukrainian government by donating tokens."
msgstr "Директно подржите украјинску владу донирањем токена."
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Прекини везу"
@@ -708,10 +703,6 @@ msgstr "Одбаци"
msgid "Docs"
msgstr "Документи"
#: src/components/Popups/DonationLink.tsx
msgid "Donate to Ukraine"
msgstr "Донирајте Украјини"
#: src/pages/MigrateV2/index.tsx
msgid "Dont see one of your v2 positions? <0>Import it.</0>"
msgstr "Не видите ниједну од ваших V2 позиција? <0> Увезите их.</0>"
@@ -732,7 +723,6 @@ msgstr "Поређење ефикасности"
msgid "Enter a percent"
msgstr "Унесите проценат"
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Enter a recipient"
msgstr "Унесите примаоца"
@@ -748,7 +738,6 @@ msgstr "Унесите адресу да бисте покренули преу
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/UnstakingModal.tsx
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/burn/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -988,7 +977,6 @@ msgstr "Недовољна ликвидност у фонду за вашу тр
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -1020,7 +1008,6 @@ msgid "Invalid range selected. The min price must be lower than the max price."
msgstr "Изабран је неважећи опсег. Минимална цена мора бити нижа од максималне."
#: src/lib/hooks/swap/useSwapCallback.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Invalid recipient"
msgstr "Неважећи прималац"
@@ -1604,7 +1591,6 @@ msgstr "Изаберите мрежу"
#: src/components/SearchModal/CurrencySearch.tsx
#: src/lib/components/TokenSelect/TokenButton.tsx
#: src/lib/components/TokenSelect/index.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/PoolFinder/index.tsx
#: src/pages/PoolFinder/index.tsx
#: src/state/swap/hooks.tsx

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2022-03-14 20:11\n"
"PO-Revision-Date: 2022-03-18 00:15\n"
"Last-Translator: \n"
"Language: sv_SE\n"
"Language-Team: Swedish\n"
@@ -516,7 +516,6 @@ msgstr "Bekräfta transaktionen i plånboken"
#: src/components/Web3Status/index.tsx
#: src/components/earn/ClaimRewardModal.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
@@ -687,10 +686,6 @@ msgstr "Detaljerad"
msgid "Details"
msgstr "Information"
#: src/components/Popups/DonationLink.tsx
msgid "Directly support the Ukrainian government by donating tokens."
msgstr "Stöd direkt den ukrainska regeringen genom att donera tokens."
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Koppla från"
@@ -708,10 +703,6 @@ msgstr "Avfärda"
msgid "Docs"
msgstr "Dokument"
#: src/components/Popups/DonationLink.tsx
msgid "Donate to Ukraine"
msgstr "Donera till Ukraina"
#: src/pages/MigrateV2/index.tsx
msgid "Dont see one of your v2 positions? <0>Import it.</0>"
msgstr "Ser du inte en av dina v2-positioner? <0>Importera den.</0>"
@@ -732,7 +723,6 @@ msgstr "Effektivitetsjämförelse"
msgid "Enter a percent"
msgstr "Ange en procentandel"
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Enter a recipient"
msgstr "Ange en mottagare"
@@ -748,7 +738,6 @@ msgstr "Ange en adress för att utlösa ett UNI-krav. Om adressen har några UNI
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/UnstakingModal.tsx
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/burn/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -988,7 +977,6 @@ msgstr "Otillräcklig likviditet i poolen för din handel"
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -1020,7 +1008,6 @@ msgid "Invalid range selected. The min price must be lower than the max price."
msgstr "Ogiltigt intervall valt. Minimipriset måste vara lägre än maxpriset."
#: src/lib/hooks/swap/useSwapCallback.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Invalid recipient"
msgstr "Ogiltig mottagare"
@@ -1604,7 +1591,6 @@ msgstr "Välj ett nätverk"
#: src/components/SearchModal/CurrencySearch.tsx
#: src/lib/components/TokenSelect/TokenButton.tsx
#: src/lib/components/TokenSelect/index.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/PoolFinder/index.tsx
#: src/pages/PoolFinder/index.tsx
#: src/state/swap/hooks.tsx

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2022-03-14 20:11\n"
"PO-Revision-Date: 2022-03-18 00:15\n"
"Last-Translator: \n"
"Language: sw_TZ\n"
"Language-Team: Swahili, Tanzania\n"
@@ -516,7 +516,6 @@ msgstr "Thibitisha shughuli kwenye mkoba"
#: src/components/Web3Status/index.tsx
#: src/components/earn/ClaimRewardModal.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
@@ -687,10 +686,6 @@ msgstr "Kina kina"
msgid "Details"
msgstr "Maelezo"
#: src/components/Popups/DonationLink.tsx
msgid "Directly support the Ukrainian government by donating tokens."
msgstr "Uunge mkono moja kwa moja serikali ya Kiukreni kwa kutoa tokeni."
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Tenganisha"
@@ -708,10 +703,6 @@ msgstr "Ondoa"
msgid "Docs"
msgstr "Hati"
#: src/components/Popups/DonationLink.tsx
msgid "Donate to Ukraine"
msgstr "Changia kwa Ukraine"
#: src/pages/MigrateV2/index.tsx
msgid "Dont see one of your v2 positions? <0>Import it.</0>"
msgstr "Je! Huoni moja ya nafasi zako za v2? <0> Ingiza.</0>"
@@ -732,7 +723,6 @@ msgstr "Ufanisi Kulinganisha"
msgid "Enter a percent"
msgstr "Ingiza asilimia"
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Enter a recipient"
msgstr "Ingiza mpokeaji"
@@ -748,7 +738,6 @@ msgstr "Ingiza anwani ili kuchochea dai la UNI. Ikiwa anwani ina UNI yoyote inay
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/UnstakingModal.tsx
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/burn/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -988,7 +977,6 @@ msgstr "Ukwasi hautoshi kwenye bwawa kwa biashara yako"
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -1020,7 +1008,6 @@ msgid "Invalid range selected. The min price must be lower than the max price."
msgstr "Masafa batili yamechaguliwa. Bei ya min lazima iwe chini kuliko bei ya juu."
#: src/lib/hooks/swap/useSwapCallback.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Invalid recipient"
msgstr "Mpokeaji si sahihi"
@@ -1604,7 +1591,6 @@ msgstr "Chagua mtandao"
#: src/components/SearchModal/CurrencySearch.tsx
#: src/lib/components/TokenSelect/TokenButton.tsx
#: src/lib/components/TokenSelect/index.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/PoolFinder/index.tsx
#: src/pages/PoolFinder/index.tsx
#: src/state/swap/hooks.tsx

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2022-03-14 20:11\n"
"PO-Revision-Date: 2022-03-18 00:15\n"
"Last-Translator: \n"
"Language: th_TH\n"
"Language-Team: Thai\n"
@@ -516,7 +516,6 @@ msgstr "ยืนยันการทำธุรกรรมในกระเ
#: src/components/Web3Status/index.tsx
#: src/components/earn/ClaimRewardModal.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
@@ -687,10 +686,6 @@ msgstr "รายละเอียด"
msgid "Details"
msgstr "รายละเอียด"
#: src/components/Popups/DonationLink.tsx
msgid "Directly support the Ukrainian government by donating tokens."
msgstr "สนับสนุนรัฐบาลยูเครนโดยตรงด้วยการบริจาคโทเค็น"
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "ตัดการเชื่อมต่อ"
@@ -708,10 +703,6 @@ msgstr "อนุญาตให้ออกไป"
msgid "Docs"
msgstr "เอกสาร"
#: src/components/Popups/DonationLink.tsx
msgid "Donate to Ukraine"
msgstr "บริจาคให้กับยูเครน"
#: src/pages/MigrateV2/index.tsx
msgid "Dont see one of your v2 positions? <0>Import it.</0>"
msgstr "ไม่เห็นหนึ่งในตำแหน่ง v2 ของคุณใช่หรือไม่ <0>นำเข้า.</0>"
@@ -732,7 +723,6 @@ msgstr "การเปรียบเทียบประสิทธิภา
msgid "Enter a percent"
msgstr "ป้อนเปอร์เซ็นต์"
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Enter a recipient"
msgstr "ใส่ผู้รับ"
@@ -748,7 +738,6 @@ msgstr "ป้อนที่อยู่เพื่อเรียกใช้
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/UnstakingModal.tsx
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/burn/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -988,7 +977,6 @@ msgstr "สภาพคล่องไม่เพียงพอสำหรั
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -1020,7 +1008,6 @@ msgid "Invalid range selected. The min price must be lower than the max price."
msgstr "เลือกช่วงที่ไม่ถูกต้อง ราคาขั้นต่ำต้องต่ำกว่าราคาสูงสุด"
#: src/lib/hooks/swap/useSwapCallback.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Invalid recipient"
msgstr "ผู้รับไม่ถูกต้อง"
@@ -1604,7 +1591,6 @@ msgstr "เลือกเครือข่าย"
#: src/components/SearchModal/CurrencySearch.tsx
#: src/lib/components/TokenSelect/TokenButton.tsx
#: src/lib/components/TokenSelect/index.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/PoolFinder/index.tsx
#: src/pages/PoolFinder/index.tsx
#: src/state/swap/hooks.tsx

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2022-03-14 20:11\n"
"PO-Revision-Date: 2022-03-18 00:15\n"
"Last-Translator: \n"
"Language: tr_TR\n"
"Language-Team: Turkish\n"
@@ -516,7 +516,6 @@ msgstr "Cüzdandaki işlemi onaylayın"
#: src/components/Web3Status/index.tsx
#: src/components/earn/ClaimRewardModal.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
@@ -687,10 +686,6 @@ msgstr "Detaylı"
msgid "Details"
msgstr "Detaylar"
#: src/components/Popups/DonationLink.tsx
msgid "Directly support the Ukrainian government by donating tokens."
msgstr "Jeton bağışlayarak Ukrayna hükümetini doğrudan destekleyin."
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Bağlantıyı Kes"
@@ -708,10 +703,6 @@ msgstr "Reddet"
msgid "Docs"
msgstr "Dokümanlar"
#: src/components/Popups/DonationLink.tsx
msgid "Donate to Ukraine"
msgstr "Ukrayna'ya bağış yapın"
#: src/pages/MigrateV2/index.tsx
msgid "Dont see one of your v2 positions? <0>Import it.</0>"
msgstr "V2 konumlarınızdan birini görmüyor musunuz? <0>İçe aktarın.</0>"
@@ -732,7 +723,6 @@ msgstr "Verimlilik Karşılaştırması"
msgid "Enter a percent"
msgstr "Yüzde girin"
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Enter a recipient"
msgstr "Bir alıcı girin"
@@ -748,7 +738,6 @@ msgstr "Bir UNI talebini tetiklemek için bir adres girin. Adreste talep edilebi
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/UnstakingModal.tsx
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/burn/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -988,7 +977,6 @@ msgstr "İşleminiz için havuzda yetersiz likidite"
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -1020,7 +1008,6 @@ msgid "Invalid range selected. The min price must be lower than the max price."
msgstr "Geçersiz aralık seçildi. Minimum fiyat, maksimum fiyattan düşük olmalıdır."
#: src/lib/hooks/swap/useSwapCallback.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Invalid recipient"
msgstr "Geçersiz alıcı"
@@ -1604,7 +1591,6 @@ msgstr "Bir ağ seçin"
#: src/components/SearchModal/CurrencySearch.tsx
#: src/lib/components/TokenSelect/TokenButton.tsx
#: src/lib/components/TokenSelect/index.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/PoolFinder/index.tsx
#: src/pages/PoolFinder/index.tsx
#: src/state/swap/hooks.tsx

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2022-03-14 20:11\n"
"PO-Revision-Date: 2022-03-18 00:15\n"
"Last-Translator: \n"
"Language: uk_UA\n"
"Language-Team: Ukrainian\n"
@@ -516,7 +516,6 @@ msgstr "Підтвердіть транзакцію в гаманці"
#: src/components/Web3Status/index.tsx
#: src/components/earn/ClaimRewardModal.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
@@ -687,10 +686,6 @@ msgstr "Докладно"
msgid "Details"
msgstr "Подробиці"
#: src/components/Popups/DonationLink.tsx
msgid "Directly support the Ukrainian government by donating tokens."
msgstr "Безпосередньо підтримувати український уряд, даруючи токени."
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Відключитись"
@@ -708,10 +703,6 @@ msgstr "Відхилити"
msgid "Docs"
msgstr "Документація"
#: src/components/Popups/DonationLink.tsx
msgid "Donate to Ukraine"
msgstr "Пожертвуйте Україні"
#: src/pages/MigrateV2/index.tsx
msgid "Dont see one of your v2 positions? <0>Import it.</0>"
msgstr "Не бачите жодної з ваших позицій v2? <0>Імпортуйте їх.</0>"
@@ -732,7 +723,6 @@ msgstr "Порівняння ефективності"
msgid "Enter a percent"
msgstr "Введіть відсоток"
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Enter a recipient"
msgstr "Введіть одержувача"
@@ -748,7 +738,6 @@ msgstr "Введіть адресу для ініціювання збору UNI
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/UnstakingModal.tsx
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/burn/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -988,7 +977,6 @@ msgstr "Недостатня ліквідність у пулі для вашо
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -1020,7 +1008,6 @@ msgid "Invalid range selected. The min price must be lower than the max price."
msgstr "Вибрано недійсний діапазон. Мінімальна ціна має бути нижчою за максимальну."
#: src/lib/hooks/swap/useSwapCallback.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Invalid recipient"
msgstr "Недійсний одержувач"
@@ -1604,7 +1591,6 @@ msgstr "Виберіть мережу"
#: src/components/SearchModal/CurrencySearch.tsx
#: src/lib/components/TokenSelect/TokenButton.tsx
#: src/lib/components/TokenSelect/index.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/PoolFinder/index.tsx
#: src/pages/PoolFinder/index.tsx
#: src/state/swap/hooks.tsx

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2022-03-14 20:11\n"
"PO-Revision-Date: 2022-03-18 00:15\n"
"Last-Translator: \n"
"Language: vi_VN\n"
"Language-Team: Vietnamese\n"
@@ -516,7 +516,6 @@ msgstr "Xác nhận giao dịch trong ví"
#: src/components/Web3Status/index.tsx
#: src/components/earn/ClaimRewardModal.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
@@ -687,10 +686,6 @@ msgstr "Chi tiết"
msgid "Details"
msgstr "Chi tiết"
#: src/components/Popups/DonationLink.tsx
msgid "Directly support the Ukrainian government by donating tokens."
msgstr "Trực tiếp hỗ trợ chính phủ Ukraine bằng cách quyên góp mã thông báo."
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "Ngắt kết nối"
@@ -708,10 +703,6 @@ msgstr "Bỏ qua"
msgid "Docs"
msgstr "Docs"
#: src/components/Popups/DonationLink.tsx
msgid "Donate to Ukraine"
msgstr "Quyên góp cho Ukraine"
#: src/pages/MigrateV2/index.tsx
msgid "Dont see one of your v2 positions? <0>Import it.</0>"
msgstr "Bạn không thấy một trong các vị trí v2 của mình? <0> Nhập nó ngay.</0>"
@@ -732,7 +723,6 @@ msgstr "So sánh hiệu quả"
msgid "Enter a percent"
msgstr "Nhập một phần trăm"
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Enter a recipient"
msgstr "Nhập người nhận"
@@ -748,7 +738,6 @@ msgstr "Nhập địa chỉ để kích hoạt khiếu nại UNI. Nếu địa c
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/UnstakingModal.tsx
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/burn/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -988,7 +977,6 @@ msgstr "Không đủ thanh khoản trong pool cho giao dịch của bạn"
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -1020,7 +1008,6 @@ msgid "Invalid range selected. The min price must be lower than the max price."
msgstr "Đã chọn dải ô không hợp lệ. Giá tối thiểu phải thấp hơn giá tối đa."
#: src/lib/hooks/swap/useSwapCallback.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Invalid recipient"
msgstr "Người nhận không hợp lệ"
@@ -1604,7 +1591,6 @@ msgstr "Chọn một mạng"
#: src/components/SearchModal/CurrencySearch.tsx
#: src/lib/components/TokenSelect/TokenButton.tsx
#: src/lib/components/TokenSelect/index.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/PoolFinder/index.tsx
#: src/pages/PoolFinder/index.tsx
#: src/state/swap/hooks.tsx

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2022-03-14 20:11\n"
"PO-Revision-Date: 2022-03-18 00:15\n"
"Last-Translator: \n"
"Language: zh_CN\n"
"Language-Team: Chinese Simplified\n"
@@ -516,7 +516,6 @@ msgstr "在钱包中确认交易"
#: src/components/Web3Status/index.tsx
#: src/components/earn/ClaimRewardModal.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
@@ -687,10 +686,6 @@ msgstr "详细信息"
msgid "Details"
msgstr "详细信息"
#: src/components/Popups/DonationLink.tsx
msgid "Directly support the Ukrainian government by donating tokens."
msgstr "通过捐赠代币直接支持乌克兰政府。"
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "断开"
@@ -708,10 +703,6 @@ msgstr "关闭"
msgid "Docs"
msgstr "文档"
#: src/components/Popups/DonationLink.tsx
msgid "Donate to Ukraine"
msgstr "捐赠给乌克兰"
#: src/pages/MigrateV2/index.tsx
msgid "Dont see one of your v2 positions? <0>Import it.</0>"
msgstr "看不到您的一些 v2 流动资金吗?<0>将它手动导入。</0>"
@@ -732,7 +723,6 @@ msgstr "效率对比"
msgid "Enter a percent"
msgstr "输入百分比"
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Enter a recipient"
msgstr "输入接收者"
@@ -748,7 +738,6 @@ msgstr "输入地址来查看领取 UNI 代币的资质。如果地址有任何
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/UnstakingModal.tsx
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/burn/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -988,7 +977,6 @@ msgstr "你交易的币对流动性不足"
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -1020,7 +1008,6 @@ msgid "Invalid range selected. The min price must be lower than the max price."
msgstr "选择的范围无效。最小兑换率必须低于最大兑换率。"
#: src/lib/hooks/swap/useSwapCallback.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Invalid recipient"
msgstr "无效的接收方"
@@ -1604,7 +1591,6 @@ msgstr "选择网络"
#: src/components/SearchModal/CurrencySearch.tsx
#: src/lib/components/TokenSelect/TokenButton.tsx
#: src/lib/components/TokenSelect/index.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/PoolFinder/index.tsx
#: src/pages/PoolFinder/index.tsx
#: src/state/swap/hooks.tsx

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: uniswap-interface\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2022-03-14 20:11\n"
"PO-Revision-Date: 2022-03-18 00:15\n"
"Last-Translator: \n"
"Language: zh_TW\n"
"Language-Team: Chinese Traditional\n"
@@ -516,7 +516,6 @@ msgstr "在錢包中確認交易"
#: src/components/Web3Status/index.tsx
#: src/components/earn/ClaimRewardModal.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
@@ -687,10 +686,6 @@ msgstr "詳細信息"
msgid "Details"
msgstr "詳細信息"
#: src/components/Popups/DonationLink.tsx
msgid "Directly support the Ukrainian government by donating tokens."
msgstr "通過捐贈代幣直接支持烏克蘭政府。"
#: src/components/AccountDetails/index.tsx
msgid "Disconnect"
msgstr "斷開"
@@ -708,10 +703,6 @@ msgstr "關閉"
msgid "Docs"
msgstr "文檔"
#: src/components/Popups/DonationLink.tsx
msgid "Donate to Ukraine"
msgstr "捐贈給烏克蘭"
#: src/pages/MigrateV2/index.tsx
msgid "Dont see one of your v2 positions? <0>Import it.</0>"
msgstr "看不到您的一些 v2 流動資金嗎?<0>將它手動導入。</0>"
@@ -732,7 +723,6 @@ msgstr "效率對比"
msgid "Enter a percent"
msgstr "輸入百分比"
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Enter a recipient"
msgstr "輸入接收者"
@@ -748,7 +738,6 @@ msgstr "輸入地址來查看領取 UNI 代幣的資質。如果地址有任何
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/UnstakingModal.tsx
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/burn/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -988,7 +977,6 @@ msgstr "您想交易的池中流動性不足"
#: src/lib/components/Swap/Toolbar/Caption.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/components/Swap/WrapErrorText.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/hooks.tsx
#: src/state/mint/v3/hooks.tsx
@@ -1020,7 +1008,6 @@ msgid "Invalid range selected. The min price must be lower than the max price."
msgstr "選擇的範圍無效。最小兌換率必須低於最大兌換率。"
#: src/lib/hooks/swap/useSwapCallback.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/state/swap/hooks.tsx
msgid "Invalid recipient"
msgstr "無效的接收方"
@@ -1604,7 +1591,6 @@ msgstr "選擇網絡"
#: src/components/SearchModal/CurrencySearch.tsx
#: src/lib/components/TokenSelect/TokenButton.tsx
#: src/lib/components/TokenSelect/index.tsx
#: src/lib/hooks/swap/useSwapInfo.tsx
#: src/pages/PoolFinder/index.tsx
#: src/pages/PoolFinder/index.tsx
#: src/state/swap/hooks.tsx

View File

@@ -336,7 +336,12 @@ export default function VotePage({
</WrapSmall>
</AutoColumn>
<ProgressWrapper>
{forPercentage && <Progress status={'for'} percentageString={`${forPercentage.toFixed(0)}%`} />}
<Progress
status={'for'}
percentageString={
proposalData?.forCount.greaterThan(0) ? `${forPercentage?.toFixed(0) ?? 0}%` : '0%'
}
/>
</ProgressWrapper>
</CardSection>
</StyledDataCard>
@@ -355,9 +360,12 @@ export default function VotePage({
</WrapSmall>
</AutoColumn>
<ProgressWrapper>
{againstPercentage && (
<Progress status={'against'} percentageString={`${againstPercentage.toFixed(0)}%`} />
)}
<Progress
status={'against'}
percentageString={
proposalData?.againstCount?.greaterThan(0) ? `${againstPercentage?.toFixed(0) ?? 0}%` : '0%'
}
/>
</ProgressWrapper>
</CardSection>
</StyledDataCard>

View File

@@ -269,7 +269,7 @@ export function useAllProposalData(): { data: ProposalData[]; loading: boolean }
data: proposalsCallData.map((proposal, i) => {
const startBlock = parseInt(proposal?.result?.startBlock?.toString())
let description = formattedLogs[i]?.description
let description = formattedLogs[i]?.description ?? ''
if (startBlock === UNISWAP_GRANTS_START_BLOCK) {
description = UNISWAP_GRANTS_PROPOSAL_DESCRIPTION
}

View File

@@ -2,8 +2,8 @@ import { skipToken } from '@reduxjs/toolkit/query/react'
import { Currency, CurrencyAmount, TradeType } from '@uniswap/sdk-core'
import { IMetric, MetricLoggerUnit, setGlobalMetric } from '@uniswap/smart-order-router'
import { useStablecoinAmountFromFiatValue } from 'hooks/useUSDCPrice'
import { useFilterFreshQuote } from 'lib/hooks/routing/clientSideSmartOrderRouter'
import { useRoutingAPIArguments } from 'lib/hooks/routing/useRoutingAPIArguments'
import useBlockNumber from 'lib/hooks/useBlockNumber'
import ms from 'ms.macro'
import { useMemo } from 'react'
import ReactGA from 'react-ga'
@@ -13,17 +13,6 @@ import { useClientSideRouter } from 'state/user/hooks'
import { GetQuoteResult, InterfaceTrade, TradeState } from './types'
import { computeRoutes, transformRoutesToTrade } from './utils'
function useFreshData<T>(data: T, dataBlockNumber: number, maxBlockAge = 10): T | undefined {
const localBlockNumber = useBlockNumber()
if (!localBlockNumber) return undefined
if (localBlockNumber - dataBlockNumber > maxBlockAge) {
return undefined
}
return data
}
/**
* Returns the best trade by invoking the routing api or the smart order router on the client
* @param tradeType whether the swap is an exact in/out
@@ -61,7 +50,7 @@ export function useRoutingAPITrade<TTradeType extends TradeType>(
refetchOnFocus: true,
})
const quoteResult: GetQuoteResult | undefined = useFreshData(data, Number(data?.blockNumber) || 0)
const quoteResult: GetQuoteResult | undefined = useFilterFreshQuote(data)
const route = useMemo(
() => computeRoutes(currencyIn, currencyOut, tradeType, quoteResult),