Compare commits

..

46 Commits

Author SHA1 Message Date
Crowdin Bot
a4cab75d09 chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-22 08:04:47 +00:00
Crowdin Bot
882457cfef chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-21 16:05:32 +00:00
Justin Domingue
9a1bb5dbfb Add missing semicolon in English source 2021-06-21 08:10:00 -07:00
Crowdin Bot
767cc85b3e chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-21 07:07:47 +00:00
Crowdin Bot
47d726e544 chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-21 06:04:54 +00:00
Crowdin Bot
32118520cd chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-20 19:05:02 +00:00
Crowdin Bot
ada8a3af92 chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-19 07:06:22 +00:00
Crowdin Bot
63694b32c0 chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-19 06:05:14 +00:00
Crowdin Bot
c9ab94d799 chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-19 04:05:38 +00:00
Crowdin Bot
a990c4af70 chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-18 21:04:57 +00:00
Crowdin Bot
b5cc33c1f5 chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-18 20:05:12 +00:00
Justin Domingue
31da6cdb9d fix: new toggle theme (#1782)
* new toggle theme

* moved trans to default

* update radius

* fianlize styles
2021-06-18 12:44:14 -07:00
Crowdin Bot
4079d8a517 chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-18 16:05:52 +00:00
Crowdin Bot
e93fbfd31b chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-18 15:05:19 +00:00
Crowdin Bot
7817846368 chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-17 23:04:59 +00:00
Crowdin Bot
fc6a69a9af chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-17 09:04:49 +00:00
Crowdin Bot
93a774092f chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-17 08:05:12 +00:00
Crowdin Bot
55563e9bb2 chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-17 07:07:40 +00:00
Crowdin Bot
f44aae2f53 chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-17 06:04:53 +00:00
Crowdin Bot
7d674c33e7 chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-17 04:05:17 +00:00
Noah Zinsmeister
79e6337629 fix governorIndex 2021-06-16 17:31:24 -04:00
Noah Zinsmeister
3c8e8604b8 Merge remote-tracking branch 'refs/remotes/origin/main' 2021-06-16 17:22:46 -04:00
Noah Zinsmeister
b763659788 restrict governance UI to mainnet only
fix governor name bug

revert useContract change

add governorIndex to vote page

only fetch latest useLatestProposalCount

fix useDataFromEventLogs

hardcode proposalIndexes for old governors
2021-06-16 17:22:37 -04:00
Crowdin Bot
1ac2581419 chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-16 20:04:59 +00:00
Crowdin Bot
9f556680ed chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-16 19:06:17 +00:00
Justin Domingue
3f242f1b44 fix: memoize extendedEther to unnecessary rerenders (#1869) 2021-06-16 11:07:16 -07:00
Crowdin Bot
126688c753 chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-16 17:16:00 +00:00
Ian Lapham
374cc361a6 small bg fixes (#1868) 2021-06-16 13:14:31 -04:00
Crowdin Bot
0198d0baa1 chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-16 16:05:39 +00:00
Crowdin Bot
da2d7ba648 chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-16 15:05:16 +00:00
Yuta Sugimura
37cf492dd5 fix: Add SwitchLocaleLink to a page where it does not exist (#1867) 2021-06-16 07:24:25 -07:00
Crowdin Bot
9e93f809a0 chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-16 14:05:04 +00:00
Crowdin Bot
d9bd392e6d chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-16 12:05:13 +00:00
Crowdin Bot
c48adc519f chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-16 11:05:10 +00:00
Crowdin Bot
9f8983a92e chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-16 10:05:07 +00:00
Crowdin Bot
c9d3d81768 chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-16 09:05:06 +00:00
Crowdin Bot
c6f73c35ee chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-16 08:05:22 +00:00
Crowdin Bot
7a2777b814 chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-16 03:05:54 +00:00
Jordan Frankfurt
014595cdfb feat: add multi-contract governance support (#1860)
* Revert "feat: quick fix for new governor"
This reverts commit 5dd1249ddd.

* support multiple governance contracts
2021-06-15 22:36:27 -04:00
Jordan Frankfurt
1b27d8dab0 test integration key change (#1864) 2021-06-15 21:04:54 -04:00
Crowdin Bot
c4d12c86a8 chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-15 23:04:42 +00:00
Crowdin Bot
8d2feeb89e chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-15 19:05:52 +00:00
Crowdin Bot
576b399768 chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-15 18:06:23 +00:00
Crowdin Bot
eb8ce85872 chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-15 15:04:56 +00:00
Justin Domingue
1644e4f9c6 fix(a11y): color contrast changes (#1803)
* fix: a11y changes

* more a11y fixes

* updated theme colors

* addressed rev4 comments

* address rev5 comments

* addressed rev6
2021-06-15 07:55:38 -07:00
Yuta Sugimura
574fab54d1 fix: props for ResponsiveButtonPrimary (#1839)
* fix: props for ResponsiveButtonPrimary

* fix ResponsiveButtonPrimary style
2021-06-15 07:55:11 -07:00
63 changed files with 2263 additions and 1883 deletions

View File

@@ -8,7 +8,9 @@ import { JsonRpcProvider } from '@ethersproject/providers'
import { Wallet } from '@ethersproject/wallet'
import { Eip1193Bridge } from '@ethersproject/experimental/lib/eip1193-bridge'
const TEST_PRIVATE_KEY = Cypress.env('INTEGRATION_TEST_PRIVATE_KEY')
// todo: figure out how env vars actually work in CI
// const TEST_PRIVATE_KEY = Cypress.env('INTEGRATION_TEST_PRIVATE_KEY')
const TEST_PRIVATE_KEY = '0xe580410d7c37d26c6ad1a837bbae46bc27f9066a466fb3a66e770523b4666d19'
// address of the above key
export const TEST_ADDRESS_NEVER_USE = new Wallet(TEST_PRIVATE_KEY).address

View File

@@ -72,14 +72,12 @@ export const ButtonPrimary = styled(Base)`
}
&:disabled {
background-color: ${({ theme, altDisabledStyle, disabled }) =>
altDisabledStyle ? (disabled ? theme.primary1 : theme.primary1) : theme.primary1};
color: white;
altDisabledStyle ? (disabled ? theme.primary1 : theme.bg2) : theme.bg2};
color: ${({ theme }) => theme.text2};
cursor: auto;
box-shadow: none;
border: 1px solid transparent;
outline: none;
opacity: 0.4;
opacity: ${({ altDisabledStyle }) => (altDisabledStyle ? '0.5' : '0.4')};
}
`

View File

@@ -18,10 +18,10 @@ export function FiatValue({
if (!priceImpact) return undefined
if (priceImpact.lessThan('0')) return theme.green1
const severity = warningSeverity(priceImpact)
if (severity < 1) return theme.text4
if (severity < 1) return theme.text3
if (severity < 3) return theme.yellow1
return theme.red1
}, [priceImpact, theme.green1, theme.red1, theme.text4, theme.yellow1])
}, [priceImpact, theme.green1, theme.red1, theme.text3, theme.yellow1])
return (
<TYPE.body fontSize={14} color={fiatValue ? theme.text2 : theme.text4}>

View File

@@ -130,7 +130,7 @@ const StyledBalanceMax = styled.button<{ disabled?: boolean }>`
font-weight: 500;
cursor: pointer;
padding: 0;
color: ${({ theme }) => theme.primary1};
color: ${({ theme }) => theme.primaryText1};
opacity: ${({ disabled }) => (!disabled ? 1 : 0.4)};
pointer-events: ${({ disabled }) => (!disabled ? 'initial' : 'none')};
margin-left: 0.25rem;

View File

@@ -21,7 +21,7 @@ const StyledPolling = styled.div`
`
const StyledPollingNumber = styled(TYPE.small)<{ breathe: boolean; hovering: boolean }>`
transition: opacity 0.25s ease;
opacity: ${({ breathe, hovering }) => (hovering ? 0.7 : breathe ? 1 : 0.2)};
opacity: ${({ breathe, hovering }) => (hovering ? 0.7 : breathe ? 1 : 0.5)};
:hover {
opacity: 1;
}

View File

@@ -1,33 +1,29 @@
import useScrollPosition from '@react-hook/window-scroll'
import React, { useState } from 'react'
import { Text } from 'rebass'
import { NavLink } from 'react-router-dom'
import { darken } from 'polished'
import { Trans } from '@lingui/macro'
import useScrollPosition from '@react-hook/window-scroll'
import { darken } from 'polished'
import React, { useState } from 'react'
import { Moon, Sun } from 'react-feather'
import { NavLink } from 'react-router-dom'
import { Text } from 'rebass'
import { useShowClaimPopup, useToggleSelfClaimModal } from 'state/application/hooks'
import { useUserHasAvailableClaim } from 'state/claim/hooks'
import { useUserHasSubmittedClaim } from 'state/transactions/hooks'
import { useDarkModeManager } from 'state/user/hooks'
import { useETHBalances } from 'state/wallet/hooks'
import styled from 'styled-components/macro'
import Logo from '../../assets/svg/logo.svg'
import LogoDark from '../../assets/svg/logo_white.svg'
import { SupportedChainId } from '../../constants/chains'
import { NETWORK_LABELS, SupportedChainId } from '../../constants/chains'
import { useActiveWeb3React } from '../../hooks/web3'
import { useDarkModeManager } from '../../state/user/hooks'
import { useETHBalances } from '../../state/wallet/hooks'
import { CardNoise } from '../earn/styled'
import { TYPE, ExternalLink } from '../../theme'
import { ExternalLink, TYPE } from '../../theme'
import { YellowCard } from '../Card'
import Menu from '../Menu'
import Row, { RowFixed } from '../Row'
import Web3Status from '../Web3Status'
import ClaimModal from '../claim/ClaimModal'
import { useToggleSelfClaimModal, useShowClaimPopup } from '../../state/application/hooks'
import { useUserHasAvailableClaim } from '../../state/claim/hooks'
import { useUserHasSubmittedClaim } from '../../state/transactions/hooks'
import { Dots } from '../swap/styleds'
import { CardNoise } from '../earn/styled'
import Menu from '../Menu'
import Modal from '../Modal'
import Row, { RowFixed } from '../Row'
import { Dots } from '../swap/styleds'
import Web3Status from '../Web3Status'
import UniBalanceContent from './UniBalanceContent'
const HeaderFrame = styled.div<{ showBackground: boolean }>`
@@ -302,16 +298,6 @@ export const StyledMenuButton = styled.button`
}
`
const NETWORK_LABELS: { [chainId in SupportedChainId | number]: string } = {
[SupportedChainId.MAINNET]: 'Mainnet',
[SupportedChainId.RINKEBY]: 'Rinkeby',
[SupportedChainId.ROPSTEN]: 'Ropsten',
[SupportedChainId.GOERLI]: 'Görli',
[SupportedChainId.KOVAN]: 'Kovan',
[SupportedChainId.ARBITRUM_KOVAN]: 'kArbitrum',
[SupportedChainId.ARBITRUM_ONE]: 'Arbitrum One',
}
export default function Header() {
const { account, chainId } = useActiveWeb3React()

View File

@@ -2,7 +2,7 @@ import React from 'react'
import styled from 'styled-components/macro'
import { darken } from 'polished'
import { Trans } from '@lingui/macro'
import { NavLink, Link as HistoryLink } from 'react-router-dom'
import { NavLink, Link as HistoryLink, useLocation } from 'react-router-dom'
import { Percent } from '@uniswap/sdk-core'
import { ArrowLeft } from 'react-feather'
@@ -90,24 +90,29 @@ export function FindPoolTabs({ origin }: { origin: string }) {
export function AddRemoveTabs({
adding,
creating,
positionID,
defaultSlippage,
positionID,
}: {
adding: boolean
creating: boolean
positionID?: string | undefined
defaultSlippage: Percent
positionID?: string | undefined
}) {
const theme = useTheme()
// reset states on back
const dispatch = useAppDispatch()
const location = useLocation()
// detect if back should redirect to v3 or v2 pool page
const poolLink = location.pathname.includes('add/v2')
? '/pool/v2'
: '/pool' + (!!positionID ? `/${positionID.toString()}` : '')
return (
<Tabs>
<RowBetween style={{ padding: '1rem 1rem 0 1rem' }}>
<HistoryLink
to={'/pool' + (!!positionID ? `/${positionID.toString()}` : '')}
to={poolLink}
onClick={() => {
if (adding) {
// not 100% sure both of these are needed

View File

@@ -23,8 +23,9 @@ const BaseWrapper = styled.div<{ disable?: boolean }>`
background-color: ${({ theme, disable }) => !disable && theme.bg2};
}
color: ${({ theme, disable }) => disable && theme.text3};
background-color: ${({ theme, disable }) => disable && theme.bg3};
opacity: ${({ disable }) => disable && '0.4'};
filter: ${({ disable }) => disable && 'grayscale(1)'};
`
export default function CommonBases({

View File

@@ -224,12 +224,12 @@ export function CurrencySearch({
)}
<Footer>
<Row justify="center">
<ButtonText onClick={showManageView} color={theme.blue1} className="list-token-manage-button">
<ButtonText onClick={showManageView} color={theme.primary1} className="list-token-manage-button">
<RowFixed>
<IconWrapper size="16px" marginRight="6px">
<IconWrapper size="16px" marginRight="6px" stroke={theme.primaryText1}>
<Edit />
</IconWrapper>
<TYPE.main color={theme.blue1}>
<TYPE.main color={theme.primaryText1}>
<Trans>Manage Token Lists</Trans>
</TYPE.main>
</RowFixed>

View File

@@ -1,54 +1,57 @@
import { Trans } from '@lingui/macro'
import React from 'react'
import { darken } from 'polished'
import React, { ReactNode } from 'react'
import styled from 'styled-components/macro'
const ToggleElement = styled.span<{ isActive?: boolean; isOnSwitch?: boolean }>`
padding: 0.25rem 0.5rem;
border-radius: 14px;
background: ${({ theme, isActive, isOnSwitch }) => (isActive ? (isOnSwitch ? theme.primary1 : theme.text4) : 'none')};
color: ${({ theme, isActive, isOnSwitch }) => (isActive ? (isOnSwitch ? theme.white : theme.text2) : theme.text3)};
font-size: 1rem;
font-weight: 400;
padding: 0.35rem 0.6rem;
border-radius: 12px;
background: ${({ theme, isActive, isOnSwitch }) => (isActive ? (isOnSwitch ? theme.primary1 : theme.text4) : 'none')};
color: ${({ theme, isActive, isOnSwitch }) => (isActive ? (isOnSwitch ? theme.white : theme.text2) : theme.text2)};
padding: 0.25rem 0.6rem;
border-radius: 9px;
background: ${({ theme, isActive, isOnSwitch }) => (isActive ? (isOnSwitch ? theme.primary1 : theme.bg4) : 'none')};
color: ${({ theme, isActive }) => (isActive ? theme.white : theme.text2)};
font-size: 1rem;
font-weight: ${({ isOnSwitch }) => (isOnSwitch ? '500' : '400')};
:hover {
user-select: ${({ isOnSwitch }) => (isOnSwitch ? 'none' : 'initial')};
background: ${({ theme, isActive, isOnSwitch }) =>
isActive ? (isOnSwitch ? theme.primary1 : theme.text3) : 'none'};
color: ${({ theme, isActive, isOnSwitch }) => (isActive ? (isOnSwitch ? theme.white : theme.text2) : theme.text3)};
isActive ? (isOnSwitch ? darken(0.05, theme.primary1) : darken(0.05, theme.bg4)) : 'none'};
color: ${({ theme, isActive, isOnSwitch }) => (isActive ? (isOnSwitch ? theme.white : theme.white) : theme.text3)};
}
`
const StyledToggle = styled.button<{ isActive?: boolean; activeElement?: boolean }>`
border-radius: 12px;
border: none;
background: ${({ theme }) => theme.bg3};
border: 2px solid;
border-color: ${({ theme, isActive }) => (isActive ? theme.primary1 : theme.bg3)};
background: ${({ theme }) => theme.bg1};
display: flex;
width: fit-content;
cursor: pointer;
outline: none;
padding: 0;
padding: 2px;
`
export interface ToggleProps {
id?: string
isActive: boolean
toggle: () => void
checked?: ReactNode
unchecked?: ReactNode
}
export default function Toggle({ id, isActive, toggle }: ToggleProps) {
export default function Toggle({
id,
isActive,
toggle,
checked = <Trans>On</Trans>,
unchecked = <Trans>Off</Trans>,
}: ToggleProps) {
return (
<StyledToggle id={id} isActive={isActive} onClick={toggle}>
<ToggleElement isActive={isActive} isOnSwitch={true}>
<Trans>On</Trans>
{checked}
</ToggleElement>
<ToggleElement isActive={!isActive} isOnSwitch={false}>
<Trans>Off</Trans>
{unchecked}
</ToggleElement>
</StyledToggle>
)

View File

@@ -20,7 +20,6 @@ import { Trans } from '@lingui/macro'
import { AdvancedSwapDetails } from './AdvancedSwapDetails'
import { LightCard } from '../Card'
import { DarkGreyCard } from '../Card'
import TradePrice from '../swap/TradePrice'
export const ArrowWrapper = styled.div`
@@ -36,6 +35,8 @@ export const ArrowWrapper = styled.div`
justify-content: center;
align-items: center;
background-color: ${({ theme }) => theme.bg1};
border: 4px solid;
border-color: ${({ theme }) => theme.bg0};
z-index: 2;
`
@@ -61,7 +62,7 @@ export default function SwapModalHeader({
return (
<AutoColumn gap={'4px'} style={{ marginTop: '1rem' }}>
<DarkGreyCard padding="0.75rem 1rem">
<LightCard padding="0.75rem 1rem">
<AutoColumn gap={'8px'}>
<RowBetween>
<TYPE.body color={theme.text3} fontWeight={500} fontSize={14}>
@@ -87,11 +88,11 @@ export default function SwapModalHeader({
</RowFixed>
</RowBetween>
</AutoColumn>
</DarkGreyCard>
</LightCard>
<ArrowWrapper>
<ArrowDown size="16" color={theme.text2} />
</ArrowWrapper>
<DarkGreyCard padding="0.75rem 1rem" style={{ marginBottom: '0.25rem' }}>
<LightCard padding="0.75rem 1rem" style={{ marginBottom: '0.25rem' }}>
<AutoColumn gap={'8px'}>
<RowBetween>
<TYPE.body color={theme.text3} fontWeight={500} fontSize={14}>
@@ -118,7 +119,7 @@ export default function SwapModalHeader({
</RowFixed>
</RowBetween>
</AutoColumn>
</DarkGreyCard>
</LightCard>
<RowBetween style={{ marginTop: '0.25rem', padding: '0 1rem' }}>
<TYPE.body color={theme.text2} fontWeight={500} fontSize={14}>
<Trans>Price</Trans>

View File

@@ -177,8 +177,8 @@ export function SwapCallbackError({ error }: { error: ReactNode }) {
}
export const SwapShowAcceptChanges = styled(AutoColumn)`
background-color: ${({ theme }) => transparentize(0.9, theme.primary1)};
color: ${({ theme }) => theme.primary1};
background-color: ${({ theme }) => transparentize(0.95, theme.primary3)};
color: ${({ theme }) => theme.primaryText1};
padding: 0.5rem;
border-radius: 12px;
margin-top: 8px;

View File

@@ -16,13 +16,21 @@ export const V2_ROUTER_ADDRESS: AddressMap = constructSameAddressMap(
'0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D',
false
)
// most current governance contract address should always be the 0 index
// only support governance on mainnet
export const GOVERNANCE_ADDRESSES: AddressMap[] = [
constructSameAddressMap('0x5e4be8Bc9637f0EAA1A755019e06A68ce081D58F', false),
{
[SupportedChainId.MAINNET]: '0xC4e172459f1E7939D522503B81AFAaC1014CE6F6',
},
{
[SupportedChainId.MAINNET]: '0x5e4be8Bc9637f0EAA1A755019e06A68ce081D58F',
},
]
export const TIMELOCK_ADDRESS: AddressMap = constructSameAddressMap('0x1a9C8182C09F50C8318d769245beA52c32BE35BC', false)
export const TIMELOCK_ADDRESS: AddressMap = {
[SupportedChainId.MAINNET]: '0x1a9C8182C09F50C8318d769245beA52c32BE35BC',
}
export const MERKLE_DISTRIBUTOR_ADDRESS: AddressMap = {
[SupportedChainId.MAINNET]: '0x090D4613473dEE047c3f2706764f49E0821D256e',
}

View File

@@ -7,3 +7,13 @@ export enum SupportedChainId {
ARBITRUM_KOVAN = 144545313136048,
ARBITRUM_ONE = 42161,
}
export const NETWORK_LABELS: { [chainId in SupportedChainId | number]: string } = {
[SupportedChainId.MAINNET]: 'Mainnet',
[SupportedChainId.RINKEBY]: 'Rinkeby',
[SupportedChainId.ROPSTEN]: 'Ropsten',
[SupportedChainId.GOERLI]: 'Görli',
[SupportedChainId.KOVAN]: 'Kovan',
[SupportedChainId.ARBITRUM_KOVAN]: 'kArbitrum',
[SupportedChainId.ARBITRUM_ONE]: 'Arbitrum One',
}

View File

@@ -1,11 +1,23 @@
import { GOVERNANCE_ADDRESSES, TIMELOCK_ADDRESS, UNI_ADDRESS } from './addresses'
import { SupportedChainId } from './chains'
export const COMMON_CONTRACT_NAMES: { [chainId: number]: { [address: string]: string } } = {
[1]: {
[UNI_ADDRESS[1]]: 'UNI',
[GOVERNANCE_ADDRESSES[0][1]]: 'Governance (V0)',
[GOVERNANCE_ADDRESSES[1][1]]: 'Governance',
[TIMELOCK_ADDRESS[1]]: 'Timelock',
// returns { [address]: `Governance (V${n})`} for each address in GOVERNANCE_ADDRESSES except the current, which gets no version indicator
const governanceContracts = (): Record<string, string> =>
GOVERNANCE_ADDRESSES.reduce(
(acc, addressMap, i) => ({
...acc,
[addressMap[SupportedChainId.MAINNET]]: `Governance${
i === 0 ? '' : ` (V${GOVERNANCE_ADDRESSES.length - 1 - i})`
}`,
}),
{}
)
export const COMMON_CONTRACT_NAMES: Record<number, { [address: string]: string }> = {
[SupportedChainId.MAINNET]: {
[UNI_ADDRESS[SupportedChainId.MAINNET]]: 'UNI',
[TIMELOCK_ADDRESS[SupportedChainId.MAINNET]]: 'Timelock',
...governanceContracts(),
},
}

View File

@@ -0,0 +1 @@
export const UNISWAP_GRANTS_START_BLOCK = 11473815

View File

@@ -179,7 +179,8 @@ export function useCurrency(currencyId: string | undefined): Currency | null | u
const { chainId } = useActiveWeb3React()
const isETH = currencyId?.toUpperCase() === 'ETH'
const token = useToken(isETH ? undefined : currencyId)
const extendedEther = useMemo(() => (chainId ? ExtendedEther.onChain(chainId) : undefined), [chainId])
const weth = chainId ? WETH9_EXTENDED[chainId] : undefined
if (weth?.address?.toLowerCase() === currencyId?.toLowerCase()) return weth
return isETH ? (chainId ? ExtendedEther.onChain(chainId) : undefined) : token
return isETH ? extendedEther : token
}

View File

@@ -117,10 +117,22 @@ export function useMerkleDistributorContract() {
}
export function useGovernanceContracts(): (Contract | null)[] {
return [
useContract(GOVERNANCE_ADDRESSES[0], GOVERNANCE_ABI, false),
useContract(GOVERNANCE_ADDRESSES[1], GOVERNANCE_ABI, true),
]
const { library, account, chainId } = useActiveWeb3React()
return useMemo(() => {
if (!library || !chainId) {
return []
}
return GOVERNANCE_ADDRESSES.filter((addressMap) => Boolean(addressMap[chainId])).map((addressMap) => {
try {
return getContract(addressMap[chainId], GOVERNANCE_ABI, library, account ? account : undefined)
} catch (error) {
console.error('Failed to get contract', error)
return null
}
})
}, [library, chainId, account])
}
export function useUniContract() {

View File

@@ -221,7 +221,7 @@ export function swapErrorToUserReadableMessage(error: any): string {
default:
if (reason?.indexOf('undefined is not an object') !== -1) {
console.error(error, reason)
return t`An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note fee on transfer and rebase tokens are incompatible with Uniswap V3.`
return t`An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3.`
}
return t`Unknown error${
reason ? `: "${reason}"` : ''

View File

@@ -1,6 +1,6 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
"POT-Creation-Date: 2021-06-21 15:11+0000\n"
"Mime-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -14,7 +14,7 @@ msgstr ""
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Afrikaans\n"
"PO-Revision-Date: 2021-06-14 18:04\n"
"PO-Revision-Date: 2021-06-21 16:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -92,12 +92,12 @@ msgstr "75%"
#: src/pages/Vote/VotePage.tsx
msgid "<0/> All Proposals"
msgstr "<0 /> Alle voorstelle"
msgstr "<0/> Alle voorstelle"
#: src/pages/Vote/index.tsx
#: src/pages/Vote/index.tsx
msgid "<0/> Votes"
msgstr "<0 /> Stemme"
msgstr "<0/> Stemme"
#: src/pages/Pool/v2.tsx
msgid "<0>Account analytics and accrued fees</0><1> ↗ </1>"
@@ -128,8 +128,8 @@ msgid "<0>🎉 </0>Welcome to team Unicorn :) <1>🎉</1>"
msgstr "<0> 🎉</0> Welkom by die Unicorn span :) <1> 🎉</1>"
#: src/pages/Vote/index.tsx
msgid "A minimum threshold of 1% of the total UNI supply is required to submit proposals"
msgstr "'n Minimum drempel van 1% van die totale UNI-aanbod is nodig om voorstelle in te dien"
msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals"
msgstr "'N Minimum drempel van 0,25% van die totale UNI-aanbod is nodig om voorstelle in te dien"
#: src/components/Menu/index.tsx
msgid "About"
@@ -171,7 +171,7 @@ msgstr "Voeg likiditeit by."
#: src/components/TransactionConfirmationModal/index.tsx
msgid "Add {0} to Metamask <0/>"
msgstr "Voeg {0} by Metamask <0 />"
msgstr "Voeg {0} by Metamask <0/>"
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
@@ -223,8 +223,8 @@ msgid "Amount"
msgstr "Bedrag"
#: src/hooks/useSwapCallback.ts
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "'n Fout het voorgekom tydens die uitvoer van hierdie ruil. U moet dalk u glyverdraagsaamheid verhoog. As dit nie werk nie, is daar moontlik 'n onverenigbaarheid met die teken wat u verhandel. Nota-fooi vir oordrag- en rebase-tekens is nie versoenbaar met Uniswap V3 nie."
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "'N Fout het voorgekom tydens die uitvoering van hierdie ruil. U moet dalk u glyverdraagsaamheid verhoog. As dit nie werk nie, kan daar 'n onversoenbaarheid wees met die teken wat u verhandel. Opmerking: fooi vir oordrag en herbasis-tokens is nie versoenbaar met Uniswap V3 nie."
#: src/components/Menu/index.tsx
msgid "Analytics"
@@ -264,7 +264,7 @@ msgstr "Is jy seker?"
#: src/components/claim/ClaimModal.tsx
msgid "As a member of the Uniswap community you may claim UNI to be used for voting and governance.<0/><1/><2>Read more about UNI</2>"
msgstr "As lid van die Uniswap-gemeenskap kan u daarop aanspraak maak dat UNI gebruik word vir stemming en beheer. <0 /> <1 /> <2> Lees meer oor UNI</2>"
msgstr "As lid van die Uniswap-gemeenskap kan u daarop aanspraak maak dat UNI gebruik word vir stemming en beheer. <0/> <1/> <2> Lees meer oor UNI</2>"
#: src/pages/MigrateV2/MigrateV2Pair.tsx
msgid "At least {0} {1} and {2} {3} will be refunded to your wallet due to selected price range."
@@ -400,6 +400,10 @@ msgstr "Naby"
msgid "Closed"
msgstr "Gesluit"
#: src/pages/Pool/index.tsx
msgid "Closed positions"
msgstr "Geslote poste"
#: src/components/Menu/index.tsx
msgid "Code"
msgstr "Kode"
@@ -727,8 +731,8 @@ msgid "Get support on Discord"
msgstr "Kry ondersteuning op Discord"
#: src/pages/Pool/index.tsx
msgid "Hide closed positions"
msgstr "Versteek geslote posisies"
msgid "Hide"
msgstr "Steek weg"
#: src/pages/Swap/index.tsx
msgid "High Price Impact"
@@ -1280,6 +1284,10 @@ msgstr "Deel van die swembad"
msgid "Share of Pool:"
msgstr "Aandeel van die poel:"
#: src/pages/Pool/index.tsx
msgid "Show"
msgstr "Wys"
#: src/components/AccountDetails/index.tsx
msgid "Show Portis"
msgstr "Wys Portis"
@@ -1336,7 +1344,7 @@ msgstr "Ruil {0} {1} vir {2} {3}"
#: src/components/Popups/ClaimPopup.tsx
msgid "Thanks for being part of the Uniswap community <0/>"
msgstr "Dankie dat u deel is van die Uniswap-gemeenskap <0 />"
msgstr "Dankie dat u deel is van die Uniswap-gemeenskap <0/>"
#: src/hooks/useSwapCallback.ts
msgid "The Uniswap invariant x*y=k was not satisfied by the swap. This usually means one of the tokens you are swapping incorporates custom behavior on transfer."
@@ -1872,7 +1880,7 @@ msgstr "{0} %"
#: src/components/PositionListItem/index.tsx
#: src/components/PositionListItem/index.tsx
msgid "{0} <0/> per <1/>"
msgstr "{0} <0 /> per <1 />"
msgstr "{0} <0/> per <1/>"
#: src/components/SearchModal/ManageTokens.tsx
msgid "{0} Custom Tokens"
@@ -1999,7 +2007,7 @@ msgstr "{tokenB} per {tokenA}"
#: src/components/CurrencyInputPanel/FiatValue.tsx
msgid "~$ <0/>"
msgstr "~ $ <0 />"
msgstr "~ $ <0/>"
#: src/pages/Pool/PositionPage.tsx
msgid "← Back to Pools Overview"

View File

@@ -1,6 +1,6 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
"POT-Creation-Date: 2021-06-21 15:11+0000\n"
"Mime-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -14,7 +14,7 @@ msgstr ""
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Arabic\n"
"PO-Revision-Date: 2021-06-14 18:04\n"
"PO-Revision-Date: 2021-06-21 16:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -128,8 +128,8 @@ msgid "<0>🎉 </0>Welcome to team Unicorn :) <1>🎉</1>"
msgstr "<0>🎉 </0>مرحبًا بكم في فريق:) <1>🎉</1>"
#: src/pages/Vote/index.tsx
msgid "A minimum threshold of 1% of the total UNI supply is required to submit proposals"
msgstr "يلزم حد أدنى قدره 1 في المائة من مجموع إمدادات UNI لتقديم مقترحات"
msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals"
msgstr "مطلوب حد أدنى قدره 0.25٪ من إجمالي إمداد UNI لتقديم العروض"
#: src/components/Menu/index.tsx
msgid "About"
@@ -223,8 +223,8 @@ msgid "Amount"
msgstr "المبلغ"
#: src/hooks/useSwapCallback.ts
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "حدث خطأ أثناء محاولة تنفيذ هذا التبادل. قد تحتاج إلى زيادة تحملك للانزلاق. إذا لم ينجح ذلك، فقد يكون هناك عدم توافق مع الرمز المميز الذي تتداوله. رسوم الملاحظات على الرموز المميزة للنقل وإعادة التسمية غير متوافقة مع Uniswap V3."
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "حدث خطأ أثناء محاولة تنفيذ هذا التبادل. قد تحتاج إلى زيادة تحملك للانزلاق. إذا لم يفلح ذلك ، فقد يكون هناك عدم توافق مع الرمز الذي تتداوله. ملاحظة: رسوم النقل وإعادة الرموز المميزة غير متوافقة مع Uniswap V3."
#: src/components/Menu/index.tsx
msgid "Analytics"
@@ -400,6 +400,10 @@ msgstr "إغلاق"
msgid "Closed"
msgstr "مغلق"
#: src/pages/Pool/index.tsx
msgid "Closed positions"
msgstr "المراكز المغلقة"
#: src/components/Menu/index.tsx
msgid "Code"
msgstr "الكود"
@@ -727,8 +731,8 @@ msgid "Get support on Discord"
msgstr "احصل على الدعم على Discord"
#: src/pages/Pool/index.tsx
msgid "Hide closed positions"
msgstr "إخفاء المراكز المغلقة"
msgid "Hide"
msgstr "يخفي"
#: src/pages/Swap/index.tsx
msgid "High Price Impact"
@@ -1280,6 +1284,10 @@ msgstr "حصة من المجموعة"
msgid "Share of Pool:"
msgstr "مشاركة المجموعة:"
#: src/pages/Pool/index.tsx
msgid "Show"
msgstr "تبين"
#: src/components/AccountDetails/index.tsx
msgid "Show Portis"
msgstr "عرض Portis"

View File

@@ -1,6 +1,6 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
"POT-Creation-Date: 2021-06-21 15:11+0000\n"
"Mime-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -14,7 +14,7 @@ msgstr ""
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Catalan\n"
"PO-Revision-Date: 2021-06-14 18:04\n"
"PO-Revision-Date: 2021-06-21 16:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -128,8 +128,8 @@ msgid "<0>🎉 </0>Welcome to team Unicorn :) <1>🎉</1>"
msgstr "<0>🎉</0> Benvingut a l'equip Unicorn :) <1> 🎉</1>"
#: src/pages/Vote/index.tsx
msgid "A minimum threshold of 1% of the total UNI supply is required to submit proposals"
msgstr "Per presentar les propostes, cal un llindar mínim de l1% del subministrament total dUNI"
msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals"
msgstr "Per presentar les propostes es requereix un llindar mínim del 0,25% del subministrament total dUNI"
#: src/components/Menu/index.tsx
msgid "About"
@@ -223,8 +223,8 @@ msgid "Amount"
msgstr "Import"
#: src/hooks/useSwapCallback.ts
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "S'ha produït un error en intentar executar aquest intercanvi. És possible que hàgiu d'augmentar la tolerància a la relliscada. Si això no funciona, és possible que hi hagi una incompatibilitat amb el testimoni que esteu negociant. La tarifa de nota en les fitxes de transferència i rebase no és compatible amb Uniswap V3."
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "S'ha produït un error en intentar executar aquest intercanvi. És possible que hàgiu d'augmentar la tolerància a la relliscada. Si això no funciona, és possible que hi hagi una incompatibilitat amb el testimoni que esteu negociant. Nota: els tokens de transferència i rebase no són compatibles amb Uniswap V3."
#: src/components/Menu/index.tsx
msgid "Analytics"
@@ -400,6 +400,10 @@ msgstr "Tanca"
msgid "Closed"
msgstr "Tancat"
#: src/pages/Pool/index.tsx
msgid "Closed positions"
msgstr "Posicions tancades"
#: src/components/Menu/index.tsx
msgid "Code"
msgstr "Codi"
@@ -727,8 +731,8 @@ msgid "Get support on Discord"
msgstr "Obteniu assistència a Discord"
#: src/pages/Pool/index.tsx
msgid "Hide closed positions"
msgstr "Amaga les posicions tancades"
msgid "Hide"
msgstr "Amaga"
#: src/pages/Swap/index.tsx
msgid "High Price Impact"
@@ -1280,6 +1284,10 @@ msgstr "Quota de grup"
msgid "Share of Pool:"
msgstr "Quota de grup:"
#: src/pages/Pool/index.tsx
msgid "Show"
msgstr "Espectacle"
#: src/components/AccountDetails/index.tsx
msgid "Show Portis"
msgstr "Mostra Portis"

View File

@@ -1,6 +1,6 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
"POT-Creation-Date: 2021-06-21 15:11+0000\n"
"Mime-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -14,7 +14,7 @@ msgstr ""
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Czech\n"
"PO-Revision-Date: 2021-06-14 18:04\n"
"PO-Revision-Date: 2021-06-21 16:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -128,8 +128,8 @@ msgid "<0>🎉 </0>Welcome to team Unicorn :) <1>🎉</1>"
msgstr "<0>🎉 </0>Vítejte v týmu Unicorn :) <1>🎉</1>"
#: src/pages/Vote/index.tsx
msgid "A minimum threshold of 1% of the total UNI supply is required to submit proposals"
msgstr "K předkládání návrhů je nutná minimální prahová hodnota 1 % celkové zásoby UNI."
msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals"
msgstr "K podání návrhů je nutná minimální hranice 0,25% z celkové nabídky UNI"
#: src/components/Menu/index.tsx
msgid "About"
@@ -223,8 +223,8 @@ msgid "Amount"
msgstr "Částka"
#: src/hooks/useSwapCallback.ts
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Při pokusu o provedení tohoto swapu došlo k chybě. Možná budete muset zvýšit toleranci skluzu. Pokud to nefunguje, může to být způsobeno nekompatibilitou s žetonem, s nímž obchodujete. Pamatujte, že poplatky za převod a zpětné převzetí žetonů nejsou kompatibilní s Uniswap V3."
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Při pokusu o provedení tohoto swapu došlo k chybě. Možná budete muset zvýšit toleranci skluzu. Pokud to nefunguje, může dojít k nekompatibilitě s tokenem, s nímž obchodujete. Poznámka: Poplatky za tokeny za převody a rebase nejsou kompatibilní s Uniswap V3."
#: src/components/Menu/index.tsx
msgid "Analytics"
@@ -400,6 +400,10 @@ msgstr "Zavřít"
msgid "Closed"
msgstr "Zavřeno"
#: src/pages/Pool/index.tsx
msgid "Closed positions"
msgstr "Uzavřené pozice"
#: src/components/Menu/index.tsx
msgid "Code"
msgstr "Kód"
@@ -727,8 +731,8 @@ msgid "Get support on Discord"
msgstr "Získejte podporu o Discord"
#: src/pages/Pool/index.tsx
msgid "Hide closed positions"
msgstr "Skrýt zavřené pozice"
msgid "Hide"
msgstr "Skrýt"
#: src/pages/Swap/index.tsx
msgid "High Price Impact"
@@ -1280,6 +1284,10 @@ msgstr "Podíl na fondu"
msgid "Share of Pool:"
msgstr "Podíl na fondu:"
#: src/pages/Pool/index.tsx
msgid "Show"
msgstr "Ukázat"
#: src/components/AccountDetails/index.tsx
msgid "Show Portis"
msgstr "Zobrazit Portis"
@@ -1336,7 +1344,7 @@ msgstr "Výměna {0} {1} za {2} {3}"
#: src/components/Popups/ClaimPopup.tsx
msgid "Thanks for being part of the Uniswap community <0/>"
msgstr "Děkujeme, že jste součástí komunity Uniswap <0 />"
msgstr "Děkujeme, že jste součástí komunity Uniswap <0/>"
#: src/hooks/useSwapCallback.ts
msgid "The Uniswap invariant x*y=k was not satisfied by the swap. This usually means one of the tokens you are swapping incorporates custom behavior on transfer."
@@ -1356,7 +1364,7 @@ msgstr "Výstupní žeton nelze přenést. Možná je s výstupním žetonem ně
#: src/hooks/useSwapCallback.ts
msgid "The output token cannot be transferred. There may be an issue with the output token. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Výstupní token nelze přenést. Může dojít k problému s výstupním tokenem. Poznámka: Poplatky za tokeny za převody a rebase nejsou kompatibilní s Uniswap V3."
msgstr "Výstupní žeton nelze přenést. Může dojít k problému s výstupním žetonem. Poznámka: Poplatky za žetony za převody a rebase nejsou kompatibilní s Uniswap V3."
#: src/components/Badge/RangeBadge.tsx
msgid "The price of this pool is outside of your selected range. Your position is not currently earning fees."
@@ -1388,7 +1396,7 @@ msgstr "Tento nástroj bezpečně migruje vaši {0} likviditu do V3. Proces je z
#: src/hooks/useSwapCallback.ts
msgid "This transaction will not succeed due to price movement. Try increasing your slippage tolerance. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Tato transakce nebude úspěšná z důvodu cenového pohybu. Zkuste zvýšit toleranci skluzu. Poznámka: Poplatky za tokeny za převody a rebase nejsou kompatibilní s Uniswap V3."
msgstr "Tato transakce nebude úspěšná z důvodu cenového pohybu. Zkuste zvýšit toleranci skluzu. Poznámka: Poplatky za žetony za převody a rebase nejsou kompatibilní s Uniswap V3."
#: src/hooks/useSwapCallback.ts
msgid "This transaction will not succeed either due to price movement or fee on transfer. Try increasing your slippage tolerance."
@@ -1527,7 +1535,7 @@ msgstr "Neznámý zdroj"
#: src/hooks/useSwapCallback.ts
msgid "Unknown error{0}. Try increasing your slippage tolerance. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Neznámá chyba{0}. Zkuste zvýšit toleranci skluzu. Poznámka: Poplatky za tokeny za převody a rebase nejsou kompatibilní s Uniswap V3."
msgstr "Neznámá chyba{0}. Zkuste zvýšit toleranci skluzu. Poznámka: Poplatky za žetony za převody a rebase nejsou kompatibilní s Uniswap V3."
#: src/pages/Vote/VotePage.tsx
#: src/pages/Vote/index.tsx

View File

@@ -1,6 +1,6 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
"POT-Creation-Date: 2021-06-21 15:11+0000\n"
"Mime-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -14,7 +14,7 @@ msgstr ""
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Danish\n"
"PO-Revision-Date: 2021-06-14 18:04\n"
"PO-Revision-Date: 2021-06-21 16:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -128,8 +128,8 @@ msgid "<0>🎉 </0>Welcome to team Unicorn :) <1>🎉</1>"
msgstr "<0>🎉 </0>Velkommen til team Unicorn :) <1>🎉</1>"
#: src/pages/Vote/index.tsx
msgid "A minimum threshold of 1% of the total UNI supply is required to submit proposals"
msgstr "Der kræves en minimumstærskel på 1 % af det samlede UNI-udbud for at fremlægge forslag"
msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals"
msgstr "En minimumstærskel på 0,25% af den samlede UNI-forsyning kræves for at indsende forslag"
#: src/components/Menu/index.tsx
msgid "About"
@@ -223,8 +223,8 @@ msgid "Amount"
msgstr "Beløb"
#: src/hooks/useSwapCallback.ts
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Der opstod en fejl under forsøg på at udføre denne swap. Det kan være nødvendigt at øge din glidningstolerance. Hvis det ikke virker, kan der være en uforenelighed med det token, du handler. Bemærk, at gebyr ved overførsel og rebase-tokens er inkompatibelt med Uniswap V3."
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Der opstod en fejl under forsøg på at udføre denne swap. Det kan være nødvendigt at øge din glidningstolerance. Hvis det ikke virker, kan der være en uforenelighed med det token, du handler. Bemærk: gebyr ved overførsel og rebase-tokens er inkompatibelt med Uniswap V3."
#: src/components/Menu/index.tsx
msgid "Analytics"
@@ -400,6 +400,10 @@ msgstr "Luk"
msgid "Closed"
msgstr "Lukket"
#: src/pages/Pool/index.tsx
msgid "Closed positions"
msgstr "Lukkede stillinger"
#: src/components/Menu/index.tsx
msgid "Code"
msgstr "Kode"
@@ -727,8 +731,8 @@ msgid "Get support on Discord"
msgstr "Få support på Discord"
#: src/pages/Pool/index.tsx
msgid "Hide closed positions"
msgstr "Skjul lukkede positioner"
msgid "Hide"
msgstr "Skjule"
#: src/pages/Swap/index.tsx
msgid "High Price Impact"
@@ -1280,6 +1284,10 @@ msgstr "Andel i pulje"
msgid "Share of Pool:"
msgstr "Andel i pulje:"
#: src/pages/Pool/index.tsx
msgid "Show"
msgstr "At vise"
#: src/components/AccountDetails/index.tsx
msgid "Show Portis"
msgstr "Vis Portis"
@@ -1336,7 +1344,7 @@ msgstr "Byt {0} {1} til {2} {3}"
#: src/components/Popups/ClaimPopup.tsx
msgid "Thanks for being part of the Uniswap community <0/>"
msgstr "Tak, fordi du er en del af Uniswap-gruppen <0 />"
msgstr "Tak, fordi du er en del af Uniswap-gruppen <0/>"
#: src/hooks/useSwapCallback.ts
msgid "The Uniswap invariant x*y=k was not satisfied by the swap. This usually means one of the tokens you are swapping incorporates custom behavior on transfer."

View File

@@ -1,6 +1,6 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
"POT-Creation-Date: 2021-06-21 15:11+0000\n"
"Mime-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -14,7 +14,7 @@ msgstr ""
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: German\n"
"PO-Revision-Date: 2021-06-15 09:05\n"
"PO-Revision-Date: 2021-06-21 16:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -128,8 +128,8 @@ msgid "<0>🎉 </0>Welcome to team Unicorn :) <1>🎉</1>"
msgstr "<0>🎉 </0>Willkommen im Team Unicorn :) <1>🎉</1>"
#: src/pages/Vote/index.tsx
msgid "A minimum threshold of 1% of the total UNI supply is required to submit proposals"
msgstr "Eine Mindestschwelle von 1 % des gesamten UNI-Angebots ist erforderlich, um Vorschläge einzureichen"
msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals"
msgstr "Für die Einreichung von Vorschlägen ist eine Mindestschwelle von 0,25% des gesamten UNI-Angebots erforderlich"
#: src/components/Menu/index.tsx
msgid "About"
@@ -223,8 +223,8 @@ msgid "Amount"
msgstr "Betrag"
#: src/hooks/useSwapCallback.ts
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Beim Versuch, diesen Swap auszuführen, ist ein Fehler aufgetreten. Möglicherweise müssen Sie Ihre Schlupftoleranz erhöhen. Wenn dies nicht funktioniert, liegt möglicherweise eine Inkompatibilität mit dem Token vor, mit dem Sie handeln. Beachten Sie, dass Gebühr-bei-Transfer- und Rebase-Token nicht mit Uniswap V3 kompatibel sind."
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Beim Versuch, diesen Swap auszuführen, ist ein Fehler aufgetreten. Möglicherweise müssen Sie Ihre Schlupftoleranz erhöhen. Wenn dies nicht funktioniert, liegt möglicherweise eine Inkompatibilität mit dem Token vor, den Sie handeln. Hinweis: Gebühren für Transfer- und Rebase-Token sind nicht mit Uniswap V3 kompatibel."
#: src/components/Menu/index.tsx
msgid "Analytics"
@@ -400,6 +400,10 @@ msgstr "Schließen"
msgid "Closed"
msgstr "Geschlossen"
#: src/pages/Pool/index.tsx
msgid "Closed positions"
msgstr "Geschlossene Positionen"
#: src/components/Menu/index.tsx
msgid "Code"
msgstr "Code"
@@ -727,8 +731,8 @@ msgid "Get support on Discord"
msgstr "Holen Sie sich Unterstützung bei Discord"
#: src/pages/Pool/index.tsx
msgid "Hide closed positions"
msgstr "Geschlossene Positionen ausblenden"
msgid "Hide"
msgstr "Ausblenden"
#: src/pages/Swap/index.tsx
msgid "High Price Impact"
@@ -1280,6 +1284,10 @@ msgstr "Anteil am Pool"
msgid "Share of Pool:"
msgstr "Anteil am Pool:"
#: src/pages/Pool/index.tsx
msgid "Show"
msgstr "Show"
#: src/components/AccountDetails/index.tsx
msgid "Show Portis"
msgstr "Portis anzeigen"

View File

@@ -1,6 +1,6 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
"POT-Creation-Date: 2021-06-21 15:11+0000\n"
"Mime-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -14,7 +14,7 @@ msgstr ""
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Greek\n"
"PO-Revision-Date: 2021-06-15 08:04\n"
"PO-Revision-Date: 2021-06-21 16:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -128,8 +128,8 @@ msgid "<0>🎉 </0>Welcome to team Unicorn :) <1>🎉</1>"
msgstr "<0>🎉 </0>Καλώς ήρθατε στην ομάδα Unicorn :) <1>🎉</1>"
#: src/pages/Vote/index.tsx
msgid "A minimum threshold of 1% of the total UNI supply is required to submit proposals"
msgstr "Απαιτείται ελάχιστο όριο 1% της συνολικής παροχής UNI για την υποβολή προτάσεων"
msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals"
msgstr "Απαιτείται ελάχιστο όριο 0,25% της συνολικής προσφοράς UNI για την υποβολή προτάσεων"
#: src/components/Menu/index.tsx
msgid "About"
@@ -223,8 +223,8 @@ msgid "Amount"
msgstr "Ποσό"
#: src/hooks/useSwapCallback.ts
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Παρουσιάστηκε σφάλμα κατά την προσπάθεια εκτέλεσης αυτής της ανταλλαγής. Ίσως χρειαστεί να αυξήσετε την ανοχή ολίσθησης. Εάν αυτό δεν λειτουργεί, μπορεί να υπάρχει ασυμβατότητα με το διακριτικό που διαπραγματεύεστε. Σημείωση τέλος για τα διακριτικά μεταφοράς και επαναφοράς δεν είναι συμβατά με το Uniswap V3."
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Παρουσιάστηκε σφάλμα κατά την προσπάθεια εκτέλεσης αυτής της ανταλλαγής. Ίσως χρειαστεί να αυξήσετε την ανοχή ολίσθησης. Εάν αυτό δεν λειτουργεί, μπορεί να υπάρχει ασυμβατότητα με το διακριτικό που διαπραγματεύεστε. Σημείωση: τα τέλη μεταφοράς και επαναφοράς δεν είναι συμβατά με το Uniswap V3."
#: src/components/Menu/index.tsx
msgid "Analytics"
@@ -400,6 +400,10 @@ msgstr "Κλείσιμο"
msgid "Closed"
msgstr "Κλειστό"
#: src/pages/Pool/index.tsx
msgid "Closed positions"
msgstr "Κλειστές θέσεις"
#: src/components/Menu/index.tsx
msgid "Code"
msgstr "Κωδικός"
@@ -618,7 +622,7 @@ msgstr "Αποσύνδεση"
#: src/components/Menu/index.tsx
msgid "Discord"
msgstr "Διαφωνία"
msgstr "Discord"
#: src/components/TransactionConfirmationModal/index.tsx
msgid "Dismiss"
@@ -727,8 +731,8 @@ msgid "Get support on Discord"
msgstr "Βρείτε υποστήριξη για τη Διαφωνία"
#: src/pages/Pool/index.tsx
msgid "Hide closed positions"
msgstr "Απόκρυψη κλειστών θέσεων"
msgid "Hide"
msgstr "Κρύβω"
#: src/pages/Swap/index.tsx
msgid "High Price Impact"
@@ -1280,6 +1284,10 @@ msgstr "Μερίδιο από τη Δεξαμενή"
msgid "Share of Pool:"
msgstr "Μερίδιο από τη Δεξαμενή:"
#: src/pages/Pool/index.tsx
msgid "Show"
msgstr "προβολή"
#: src/components/AccountDetails/index.tsx
msgid "Show Portis"
msgstr "Εμφάνιση Portis"
@@ -1291,7 +1299,7 @@ msgstr "Απλό"
#: src/components/TransactionSettings/index.tsx
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Slippage tolerance"
msgstr ""
msgstr "Ανοχή ολίσθησης"
#: src/components/swap/UnsupportedCurrencyFooter.tsx
msgid "Some assets are not available through this interface because they may not work well with the smart contracts or we are unable to allow trading for legal reasons."
@@ -1388,11 +1396,11 @@ msgstr "Αυτό το εργαλείο θα μεταφέρει με ασφάλε
#: src/hooks/useSwapCallback.ts
msgid "This transaction will not succeed due to price movement. Try increasing your slippage tolerance. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr ""
msgstr "Αυτή η συναλλαγή δεν θα πετύχει λόγω της μεταβολής των τιμών. Δοκιμάστε να αυξήσετε την ανοχή ολίσθησης. Σημείωση: οι χρεώσεις μεταφοράς και οι μάρκες rebase δεν είναι συμβατές με το Uniswap V3."
#: src/hooks/useSwapCallback.ts
msgid "This transaction will not succeed either due to price movement or fee on transfer. Try increasing your slippage tolerance."
msgstr ""
msgstr "Αυτή η συναλλαγή δεν θα πετύχει είτε λόγω της κίνησης των τιμών είτε της χρέωσης κατά τη μεταφορά. Δοκιμάστε να αυξήσετε την ανοχή ολίσθησης."
#: src/components/SearchModal/ManageTokens.tsx
msgid "Tip: Custom tokens are stored locally in your browser"
@@ -1527,7 +1535,7 @@ msgstr "Άγνωστη πηγή"
#: src/hooks/useSwapCallback.ts
msgid "Unknown error{0}. Try increasing your slippage tolerance. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Άγνωστο σφάλμα{0}. Δοκιμάστε να αυξήσετε την ανοχή ολίσθησης Σημείωση: τα τέλη μεταφοράς και επαναφοράς δεν είναι συμβατά με το Uniswap V3."
msgstr "Άγνωστο σφάλμα{0}. Δοκιμάστε να αυξήσετε την ανοχή ολίσθησης Σημείωση: οι χρεώσεις μεταφοράς και οι rebase μάρκες δεν είναι συμβατές με το Uniswap V3."
#: src/pages/Vote/VotePage.tsx
#: src/pages/Vote/index.tsx
@@ -1554,7 +1562,7 @@ msgstr "Μη Υποστηριζόμενα Περιουσιακά Στοιχεί
#: src/pages/Swap/index.tsx
msgid "Unwrap"
msgstr "Ξεδιπλώνω"
msgstr "Αποκαλύπτω"
#: src/pages/Vote/index.tsx
msgid "Update Delegation"
@@ -1688,7 +1696,7 @@ msgstr "Πραγματοποιήθηκε ανάληψη UNI-V2!"
#: src/pages/Swap/index.tsx
msgid "Wrap"
msgstr "Σύνοψη"
msgstr "Καλύπτω"
#: src/components/WalletModal/index.tsx
#: src/components/Web3Status/index.tsx

View File

@@ -1,6 +1,6 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
"POT-Creation-Date: 2021-06-21 15:11+0000\n"
"Mime-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -14,7 +14,7 @@ msgstr ""
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Spanish\n"
"PO-Revision-Date: 2021-06-14 18:04\n"
"PO-Revision-Date: 2021-06-21 16:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -128,8 +128,8 @@ msgid "<0>🎉 </0>Welcome to team Unicorn :) <1>🎉</1>"
msgstr "<0>🎉 </0>Bienvenido al equipo Unicorn :) <1>🎉</1>"
#: src/pages/Vote/index.tsx
msgid "A minimum threshold of 1% of the total UNI supply is required to submit proposals"
msgstr "Se requiere un umbral mínimo del 1 % del suministro total de UNI para presentar propuestas"
msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals"
msgstr "Se requiere un umbral mínimo del 0,25% del suministro total de UNI para presentar propuestas."
#: src/components/Menu/index.tsx
msgid "About"
@@ -223,8 +223,8 @@ msgid "Amount"
msgstr "Cantidad"
#: src/hooks/useSwapCallback.ts
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Se produjo un error al intentar ejecutar este intercambio. Es posible que deba aumentar su tolerancia al deslizamiento. Si eso no funciona, puede haber una incompatibilidad con el token que está negociando. Tenga en cuenta que la tarifa de transferencia y rebase de tokens es incompatible con Uniswap V3."
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Se produjo un error al intentar ejecutar este intercambio. Es posible que deba aumentar su tolerancia al deslizamiento. Si eso no funciona, puede haber una incompatibilidad con el token que está negociando. Nota: la tarifa de transferencia y los tokens de rebase son incompatibles con Uniswap V3."
#: src/components/Menu/index.tsx
msgid "Analytics"
@@ -400,6 +400,10 @@ msgstr "Cerrar"
msgid "Closed"
msgstr "Cerrado"
#: src/pages/Pool/index.tsx
msgid "Closed positions"
msgstr "Posiciones cerradas"
#: src/components/Menu/index.tsx
msgid "Code"
msgstr "Código"
@@ -727,8 +731,8 @@ msgid "Get support on Discord"
msgstr "Obtenga apoyo en Discord"
#: src/pages/Pool/index.tsx
msgid "Hide closed positions"
msgstr "Ocultar posiciones cerradas"
msgid "Hide"
msgstr "Esconder"
#: src/pages/Swap/index.tsx
msgid "High Price Impact"
@@ -1280,6 +1284,10 @@ msgstr "Participación del fondo común"
msgid "Share of Pool:"
msgstr "Participación del fondo común:"
#: src/pages/Pool/index.tsx
msgid "Show"
msgstr "Show"
#: src/components/AccountDetails/index.tsx
msgid "Show Portis"
msgstr "Mostrar Portis"

View File

@@ -1,6 +1,6 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
"POT-Creation-Date: 2021-06-21 15:11+0000\n"
"Mime-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -14,7 +14,7 @@ msgstr ""
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Finnish\n"
"PO-Revision-Date: 2021-06-14 18:04\n"
"PO-Revision-Date: 2021-06-21 16:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -128,8 +128,8 @@ msgid "<0>🎉 </0>Welcome to team Unicorn :) <1>🎉</1>"
msgstr "<0>🎉 </0>Tervetuloa Team Unicorniin :) <1>🎉</1>"
#: src/pages/Vote/index.tsx
msgid "A minimum threshold of 1% of the total UNI supply is required to submit proposals"
msgstr "Ehdotusten esittäminen edellyttää, että kynnysarvo on vähintään yksi prosentti UNIn kokonaistarjonnasta"
msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals"
msgstr "Ehdotusten ttämiseen vaaditaan vähintään 0,25 prosentin kynnysarvo UNI: n kokonaismäärästä"
#: src/components/Menu/index.tsx
msgid "About"
@@ -223,8 +223,8 @@ msgid "Amount"
msgstr "Määrä"
#: src/hooks/useSwapCallback.ts
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Tapahtui virhe yritettäessä vaihdon suorittamista. Saatat joutua lisäämään luistonsietoprosenttiasi. Jos se ei toimi, kaupankäynnin kohteena oleva rahake saattaa olla yhteensopimaton. Siirtopalkkiolliset ja joustavan tarjonnan rahakkeet eivät ole yhteensopivia Uniswap V3:n kanssa."
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Tapahtui virhe yritettäessä suorittaa tämä vaihto. Saatat joutua lisäämään luistonsietokykyäsi. Jos se ei toimi, kaupankäynnin kohteena olevan tunnuksen kanssa saattaa olla ristiriita. Huomautus: siirto- ja uudelleentase-tunnusten maksu ei ole yhteensopiva Uniswap V3: n kanssa."
#: src/components/Menu/index.tsx
msgid "Analytics"
@@ -400,6 +400,10 @@ msgstr "Sulje"
msgid "Closed"
msgstr "Suljettu"
#: src/pages/Pool/index.tsx
msgid "Closed positions"
msgstr "Suljetut asennot"
#: src/components/Menu/index.tsx
msgid "Code"
msgstr "Koodi"
@@ -727,8 +731,8 @@ msgid "Get support on Discord"
msgstr "Hae apua Discordista"
#: src/pages/Pool/index.tsx
msgid "Hide closed positions"
msgstr "Piilota suljetut positiot"
msgid "Hide"
msgstr "Piilottaa"
#: src/pages/Swap/index.tsx
msgid "High Price Impact"
@@ -1280,6 +1284,10 @@ msgstr "Poolin osuus"
msgid "Share of Pool:"
msgstr "Poolin osuus:"
#: src/pages/Pool/index.tsx
msgid "Show"
msgstr "Näytä"
#: src/components/AccountDetails/index.tsx
msgid "Show Portis"
msgstr "Näytä Portis"

View File

@@ -1,6 +1,6 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
"POT-Creation-Date: 2021-06-21 15:11+0000\n"
"Mime-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -14,7 +14,7 @@ msgstr ""
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: French\n"
"PO-Revision-Date: 2021-06-14 18:04\n"
"PO-Revision-Date: 2021-06-21 16:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -128,8 +128,8 @@ msgid "<0>🎉 </0>Welcome to team Unicorn :) <1>🎉</1>"
msgstr "<0>🎉 </0>Bienvenue dans l'équipe des Licornes :) <1>🎉</1>"
#: src/pages/Vote/index.tsx
msgid "A minimum threshold of 1% of the total UNI supply is required to submit proposals"
msgstr "Un seuil minimum de 1% de l'offre totale de l'UNI est requis pour soumettre des propositions"
msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals"
msgstr "Un seuil minimum de 0,25% de l'offre totale d'UNI est requis pour soumettre des propositions"
#: src/components/Menu/index.tsx
msgid "About"
@@ -223,8 +223,8 @@ msgid "Amount"
msgstr "Montant"
#: src/hooks/useSwapCallback.ts
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Une erreur s'est produite lors de la tentative d'exécution de cet échange. Vous devrez peut-être augmenter votre acceptation du slippage. Si cela ne fonctionne pas, il peut y avoir une incompatibilité avec le jeton que vous échangez. Notez que les jeton déflationniste et de rebase sont incompatibles avec Uniswap V3."
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Une erreur s'est produite lors de la tentative d'exécution de cet échange. Vous devrez peut-être augmenter votre tolérance au glissement. Si cela ne fonctionne pas, il peut y avoir une incompatibilité avec le jeton que vous négociez. Remarque : les frais sur les jetons de transfert et de rebase sont incompatibles avec Uniswap V3."
#: src/components/Menu/index.tsx
msgid "Analytics"
@@ -400,6 +400,10 @@ msgstr "Fermer"
msgid "Closed"
msgstr "Fermé"
#: src/pages/Pool/index.tsx
msgid "Closed positions"
msgstr "Postes fermés"
#: src/components/Menu/index.tsx
msgid "Code"
msgstr "Code"
@@ -618,7 +622,7 @@ msgstr "Déconnecter"
#: src/components/Menu/index.tsx
msgid "Discord"
msgstr "Discorde"
msgstr "Discord"
#: src/components/TransactionConfirmationModal/index.tsx
msgid "Dismiss"
@@ -727,8 +731,8 @@ msgid "Get support on Discord"
msgstr "Obtenez de l'aide sur Discord"
#: src/pages/Pool/index.tsx
msgid "Hide closed positions"
msgstr "Masquer les positions fermées"
msgid "Hide"
msgstr "Cacher"
#: src/pages/Swap/index.tsx
msgid "High Price Impact"
@@ -1280,6 +1284,10 @@ msgstr "Part du pool"
msgid "Share of Pool:"
msgstr "Partage du pool :"
#: src/pages/Pool/index.tsx
msgid "Show"
msgstr "Spectacle"
#: src/components/AccountDetails/index.tsx
msgid "Show Portis"
msgstr "Afficher Portis"

View File

@@ -1,6 +1,6 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
"POT-Creation-Date: 2021-06-21 15:11+0000\n"
"Mime-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -14,12 +14,12 @@ msgstr ""
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Hebrew\n"
"PO-Revision-Date: 2021-06-14 18:04\n"
"PO-Revision-Date: 2021-06-21 16:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
msgid "$-"
msgstr "$ -"
msgstr "$-"
#: src/components/earn/PoolCard.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -37,7 +37,7 @@ msgstr "(מקסימום)"
#: src/components/Header/UniBalanceContent.tsx
msgid "(claim)"
msgstr "(תְבִיעָה)"
msgstr "(תביעה)"
#: src/components/AccountDetails/index.tsx
msgid "(clear all)"
@@ -45,7 +45,7 @@ msgstr "(נקה הכל)"
#: src/pages/Vote/index.tsx
msgid "(edit)"
msgstr "(לַעֲרוֹך)"
msgstr "(עריכה)"
#: src/components/InputStepCounter/InputStepCounter.tsx
msgid "+{feeAmountFormatted}%"
@@ -53,7 +53,7 @@ msgstr "+{feeAmountFormatted}%"
#: src/pages/Swap/index.tsx
msgid "- Remove send"
msgstr "- הסר שלח"
msgstr "- הסר שליחה"
#: src/components/InputStepCounter/InputStepCounter.tsx
msgid "-{feeAmountFormatted}%"
@@ -92,12 +92,12 @@ msgstr "75%"
#: src/pages/Vote/VotePage.tsx
msgid "<0/> All Proposals"
msgstr "<0 /> כל ההצעות"
msgstr "<0/> כל ההצעות"
#: src/pages/Vote/index.tsx
#: src/pages/Vote/index.tsx
msgid "<0/> Votes"
msgstr "<0 /> הצבעות"
msgstr "<0/> הצבעות"
#: src/pages/Pool/v2.tsx
msgid "<0>Account analytics and accrued fees</0><1> ↗ </1>"
@@ -109,7 +109,7 @@ msgstr "<0> חזרה אל</0> V3"
#: src/pages/RemoveLiquidity/index.tsx
msgid "<0>Tip:</0> Removing pool tokens converts your position back into underlying tokens at the current rate, proportional to your share of the pool. Accrued fees are included in the amounts you receive."
msgstr "<0> טיפ:</0> הסרת אסימונים לבריכה ממירה את עמדתך בחזרה לאסימונים בסיסיים בקצב הנוכחי, פרופורציונלי לחלקך בבריכה. העמלות שנצברו כלולות בסכומים שאתה מקבל."
msgstr "<0> טיפ:</0> הסרת אסימונים לבריכה ממירה את עמדתך בחזרה לאסימונים בסיסיים בקצב הנוכחי, פרופורציונלי ביחס לחלקך בבריכה. העמלות שנצברו כלולות בסכומים שאתה מקבל."
#: src/pages/PoolFinder/index.tsx
msgid "<0>Tip:</0> Use this tool to find v2 pools that don't automatically appear in the interface."
@@ -117,7 +117,7 @@ msgstr "<0> טיפ:</0> השתמש בכלי זה כדי למצוא מאגרי v2
#: src/pages/AddLiquidityV2/index.tsx
msgid "<0>Tip:</0> When you add liquidity, you will receive pool tokens representing your position. These tokens automatically earn fees proportional to your share of the pool, and can be redeemed at any time."
msgstr "<0> טיפ:</0> כשתוסיף נזילות, תקבל אסימונים לבריכה המייצגים את עמדתך. אסימונים אלה מרוויחים עמלות באופן אוטומטי ביחס לחלקכם בבריכה, וניתן לפדותם בכל עת."
msgstr "<0> טיפ:</0> כשתוסיף נזילות, תקבל אסימונים לבריכה המייצגים את עמדתך. אסימונים אלה מרוויחים עמלות באופן אוטומטי ביחס לחלקך בבריכה, וניתן לפדותם בכל עת."
#: src/pages/Vote/VotePage.tsx
msgid "<0>Unlock voting</0> to prepare for the next proposal."
@@ -128,12 +128,12 @@ msgid "<0>🎉 </0>Welcome to team Unicorn :) <1>🎉</1>"
msgstr "<0> 🎉</0> ברוך הבא לצוות חד קרן :) <1> 🎉</1>"
#: src/pages/Vote/index.tsx
msgid "A minimum threshold of 1% of the total UNI supply is required to submit proposals"
msgstr "כדי להגיש הצעות נדרש רף מינימלי של 1% מסך היצע ה- UNI"
msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals"
msgstr "הגשת הצעות נדרשת רף מינימלי של 0.25% מסך היצע ה- UNI"
#: src/components/Menu/index.tsx
msgid "About"
msgstr "על אודות"
msgstr "אודות"
#: src/components/swap/SwapModalHeader.tsx
msgid "Accept"
@@ -151,7 +151,7 @@ msgstr "פָּעִיל"
#: src/pages/AddLiquidity/index.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "Add"
msgstr "לְהוֹסִיף"
msgstr "הוספה"
#: src/components/vote/DelegateModal.tsx
msgid "Add Delegate +"
@@ -171,12 +171,12 @@ msgstr "הוסף נזילות."
#: src/components/TransactionConfirmationModal/index.tsx
msgid "Add {0} to Metamask <0/>"
msgstr "הוסף {0} למטא-מסכה <0 />"
msgstr "הוסף {0} למטא-מסכה <0/>"
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
msgid "Add {0} {1} and {2} {3}"
msgstr "הוסף {0} {1} ו {2} {3}"
msgstr "הוסף {0} {1} ו- {2} {3}"
#: src/pages/Earn/Manage.tsx
msgid "Add {0}-{1} liquidity"
@@ -204,7 +204,7 @@ msgstr "אפשר העברת אסימון LP"
#: src/components/Settings/index.tsx
msgid "Allow high price impact trades and skip the confirm screen. Use at your own risk."
msgstr "אפשר עסקאות עם השפעות מחיר גבוהות ודלג על מסך האישור. השתמש על אחריותך בלבד."
msgstr "אפשר עסקאות עם השפעות מחיר גבוהות ודלג על מסך האישור. השימוש על אחריותך בלבד."
#: src/pages/Swap/index.tsx
msgid "Allow the Uniswap Protocol to use your {0}"
@@ -216,15 +216,15 @@ msgstr "מוּתָר"
#: src/components/Header/URLWarning.tsx
msgid "Always make sure the URL is<0>app.uniswap.org</0> - bookmark it to be safe."
msgstr "ודא תמיד שכתובת האתר היא <0> app.uniswap.org</0> - סימן את זה כדי להיות בטוח."
msgstr "ודא תמיד שכתובת האתר היא <0> app.uniswap.org</0> - סמן את זה כדי להיות בטוח."
#: src/pages/RemoveLiquidity/V3.tsx
msgid "Amount"
msgstr "כמות"
#: src/hooks/useSwapCallback.ts
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "אירעה שגיאה בניסיון לבצע החלפה זו. יתכן שתצטרך להגביר את סובלנות ההחלקה שלך. אם זה לא עובד, ייתכן שיש אי התאמה לאסימון שאתה סוחר בו. עמלת הערה על אסימוני העברה וריבוי בסיס אינם תואמים ל- Uniswap V3."
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "אירעה שגיאה בניסיון לבצע החלפה זו. יתכן שתצטרך להגביר את סובלנות ההחלקה שלך. אם זה לא עובד, ייתכן שיש אי התאמה לאסימון שאתה סוחר בו. הערה: עמלה על אסימון העברה וריבוס אינם תואמים ל- Uniswap V3."
#: src/components/Menu/index.tsx
msgid "Analytics"
@@ -264,7 +264,7 @@ msgstr "האם אתה בטוח?"
#: src/components/claim/ClaimModal.tsx
msgid "As a member of the Uniswap community you may claim UNI to be used for voting and governance.<0/><1/><2>Read more about UNI</2>"
msgstr "כחבר בקהילת Uniswap אתה יכול לטעון ש- UNI משמשת להצבעה ולממשל. <0 /> <1 /> <2> קרא עוד על UNI</2>"
msgstr "כחבר בקהילת Uniswap אתה יכול לטעון ש- UNI משמשת להצבעה ולממשל. <0/> <1/> <2> קרא עוד על UNI</2>"
#: src/pages/MigrateV2/MigrateV2Pair.tsx
msgid "At least {0} {1} and {2} {3} will be refunded to your wallet due to selected price range."
@@ -280,11 +280,11 @@ msgstr "זמין להפקדה: {0}"
#: src/components/WalletModal/index.tsx
msgid "Back"
msgstr "חזור"
msgstr "חזרה"
#: src/components/Header/UniBalanceContent.tsx
msgid "Balance:"
msgstr "איזון:"
msgstr "מאזן:"
#: src/components/CurrencyInputPanel/index.tsx
msgid "Balance: {0} {1}"
@@ -292,7 +292,7 @@ msgstr "מאזן: {0} {1}"
#: src/components/FeeSelector/index.tsx
msgid "Best for exotic pairs."
msgstr "הכי טוב לזוגות אקזוטיים."
msgstr "הטוב ביותר לזוגות אקזוטיים."
#: src/components/FeeSelector/index.tsx
msgid "Best for most pairs."
@@ -312,11 +312,11 @@ msgstr "על ידי הוספת נזילות תרוויח 0.3% מכלל העסק
#: src/components/SearchModal/ImportList.tsx
msgid "By adding this list you are implicitly trusting that the data is correct. Anyone can create a list, including creating fake versions of existing lists and lists that claim to represent projects that do not have one."
msgstr "על ידי הוספת רשימה זו אתה סומך באופן מרומז שהנתונים נכונים. כל אחד יכול ליצור רשימה, כולל יצירת גרסאות מזויפות של רשימות קיימות ורשימות המתיימרות לייצג פרויקטים שאין להם."
msgstr "על ידי הוספת רשימה זו אתה סומך באופן מרומז על כך שהנתונים נכונים. כל אחד יכול ליצור רשימה, כולל יצירת גרסאות מזויפות של רשימות קיימות ורשימות המתיימרות לייצג פרויקטים שאין להם."
#: src/components/WalletModal/index.tsx
msgid "By connecting a wallet, you agree to Uniswap Labs <0>Terms of Service</0> and acknowledge that you have read and understand the <1>Uniswap protocol disclaimer</1>."
msgstr "על ידי חיבור ארנק אתה מסכים לתנאי השירות <0> של Uniswap Labs</0> והודה כי קראת והבנת את כתב הוויתור על פרוטוקול Uniswap</1> ."
msgstr "על ידי חיבור ארנק אתה מסכים <0>לתנאי השירות</0> של Uniswap Labs ומודה כי קראת והבנת את כתב הוויתור על פרוטוקול <1>Uniswap</1>."
#: src/components/AccountDetails/index.tsx
msgid "Change"
@@ -368,20 +368,20 @@ msgstr "נִתבָּע"
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/UnstakingModal.tsx
msgid "Claimed UNI!"
msgstr "תבעה UNI!"
msgstr "UNI נתבע!"
#: src/components/claim/AddressClaimModal.tsx
msgid "Claiming"
msgstr "בטענה"
msgstr "תביעה"
#: src/components/Header/index.tsx
msgid "Claiming UNI"
msgstr "טוענים ל- UNI"
msgstr "תביעת UNI"
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/UnstakingModal.tsx
msgid "Claiming {0} UNI"
msgstr "טוענים {0} UNI"
msgstr "תביעת {0} UNI"
#: src/pages/AddLiquidity/index.tsx
msgid "Clear All"
@@ -400,30 +400,34 @@ msgstr "סגור"
msgid "Closed"
msgstr "סָגוּר"
#: src/pages/Pool/index.tsx
msgid "Closed positions"
msgstr "תפקידים סגורים"
#: src/components/Menu/index.tsx
msgid "Code"
msgstr "קוד"
#: src/pages/Pool/PositionPage.tsx
msgid "Collect"
msgstr "לאסוף"
msgstr "לגבות"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/RemoveLiquidity/V3.tsx
msgid "Collect as WETH"
msgstr "אסוף כ- WETH"
msgstr "לגבות כ- WETH"
#: src/pages/Pool/PositionPage.tsx
msgid "Collect fees"
msgstr "גבו עמלות"
msgstr "גבה עמלות"
#: src/pages/Pool/PositionPage.tsx
msgid "Collected"
msgstr "נאסף"
msgstr "נגבה"
#: src/pages/Pool/PositionPage.tsx
msgid "Collecting"
msgstr "אוספים"
msgstr "גבייה"
#: src/pages/Pool/PositionPage.tsx
msgid "Collecting fees"
@@ -431,11 +435,11 @@ msgstr "גביית עמלות"
#: src/pages/Pool/PositionPage.tsx
msgid "Collecting fees will withdraw currently available fees for you."
msgstr "דמי גבייה ימשכו עבורך את העמלות הזמינות."
msgstr "דמי גבייה ימשכו עבורך את העמלות הזמינות כיום."
#: src/components/SearchModal/CommonBases.tsx
msgid "Common bases"
msgstr "בסיסים משותפים"
msgstr "מכנים משותפים"
#: src/pages/RemoveLiquidity/index.tsx
msgid "Confirm"
@@ -522,7 +526,7 @@ msgstr "צור זוג"
#: src/pages/Pool/index.tsx
msgid "Create a pool"
msgstr "צור בריכה"
msgstr "צור מאגר"
#: src/components/ErrorBoundary/index.tsx
msgid "Create an issue on GitHub"
@@ -530,7 +534,7 @@ msgstr "צור בעיה ב- GitHub"
#: src/pages/AddLiquidity/index.tsx
msgid "Create pool and add {0}/{1} V3 liquidity"
msgstr "צור ברכה ולהוסיף {0}/{1} נזילות V3"
msgstr "צור ברכה והוסף {0}/{1} נזילות V3"
#: src/pages/PoolFinder/index.tsx
msgid "Create pool."
@@ -551,11 +555,11 @@ msgstr "מחיר {0} נוכחי:"
#: src/components/vote/DelegateModal.tsx
msgid "Delegate Votes"
msgstr "נציג הצבעות"
msgstr "האצל הצבעות"
#: src/pages/Vote/index.tsx
msgid "Delegated to:"
msgstr "הועבר ל:"
msgstr "הואצל ל:"
#: src/components/vote/DelegateModal.tsx
msgid "Delegating votes"
@@ -630,7 +634,7 @@ msgstr "מסמכים"
#: src/pages/MigrateV2/index.tsx
msgid "Dont see one of your v2 positions? <0>Import it.</0>"
msgstr "אינך רואה את אחת מעמדות ה- v2 שלך? <0> ייבא אותו.</0>"
msgstr "אינך רואה את אחת מעמדות ה- v2 שלך? <0> יבא אותו.</0>"
#: src/components/vote/DelegateModal.tsx
msgid "Earned UNI tokens represent voting shares in Uniswap governance."
@@ -695,11 +699,11 @@ msgstr "תוצאות מורחבות מרשימות אסימון לא פעילו
#: src/components/Settings/index.tsx
msgid "Expert mode turns off the confirm transaction prompt and allows high slippage trades that often result in bad rates and lost funds."
msgstr "מצב מומחה מכבה את בקשת האישור לעסקה ומאפשר עסקאות החלקה גבוהות שלעתים קרובות גורמות לשיעורים גרועים ולאיבוד כספים."
msgstr "מצב מומחה מכבה את בקשת האישור לעסקה ומאפשר עסקאות החלקה גבוהות שלעתים קרובות גורמות לשיעורים גרועים ולאובדן כספים."
#: src/pages/Pool/CTACards.tsx
msgid "Explore popular pools on Uniswap Analytics."
msgstr "חקור בריכות פופולריות ב- Uniswap Analytics."
msgstr "גלה בריכות פופולריות ב- Uniswap Analytics."
#: src/components/PositionPreview/index.tsx
msgid "Fee Tier"
@@ -727,8 +731,8 @@ msgid "Get support on Discord"
msgstr "קבל תמיכה בדיסקורד"
#: src/pages/Pool/index.tsx
msgid "Hide closed positions"
msgstr "הסתר עמדות סגורות"
msgid "Hide"
msgstr "להתחבא"
#: src/pages/Swap/index.tsx
msgid "High Price Impact"
@@ -747,7 +751,7 @@ msgstr "אם אתה רוכש אסימון מרשימה זו, ייתכן שלא
#: src/components/SearchModal/ImportToken.tsx
#: src/components/SearchModal/ManageLists.tsx
msgid "Import"
msgstr "יְבוּא"
msgstr "יְיבוּא"
#: src/components/SearchModal/ImportList.tsx
msgid "Import List"
@@ -755,11 +759,11 @@ msgstr "רשימת ייבוא"
#: src/pages/Pool/v2.tsx
msgid "Import Pool"
msgstr "יבוא בריכה"
msgstr "יְיבוּא בריכה"
#: src/components/NavigationTabs/index.tsx
msgid "Import V2 Pool"
msgstr "יבוא בריכת V2"
msgstr "יְיבוּא בריכת V2"
#: src/components/SearchModal/ImportList.tsx
msgid "Import at your own risk"
@@ -894,7 +898,7 @@ msgstr "נהל רשימות אסימונים"
#: src/pages/PoolFinder/index.tsx
msgid "Manage this pool."
msgstr "נהל את הבריכה הזו."
msgstr "נהל את המאגר הזה."
#: src/pages/RemoveLiquidity/V3.tsx
msgid "Max"
@@ -903,11 +907,11 @@ msgstr "מקסימום"
#: src/components/PositionPreview/index.tsx
#: src/components/RangeSelector/index.tsx
msgid "Max Price"
msgstr "מקסימום מחיר"
msgstr "מחיר מירבי"
#: src/pages/Pool/PositionPage.tsx
msgid "Max price"
msgstr "מחיר מקסימלי"
msgstr "מחיר מירבי"
#: src/components/PositionListItem/index.tsx
msgid "Max:"
@@ -923,7 +927,7 @@ msgstr "מקסימום נשלח"
#: src/pages/MigrateV2/MigrateV2Pair.tsx
#: src/pages/Pool/index.tsx
msgid "Migrate"
msgstr "להגר"
msgstr "להעביר"
#: src/pages/Pool/index.tsx
msgid "Migrate Liquidity"
@@ -973,11 +977,11 @@ msgstr "יותר"
#: src/pages/Pool/index.tsx
msgid "New Position"
msgstr "תפקיד חדש"
msgstr "עמדה חדשה"
#: src/pages/MigrateV2/index.tsx
msgid "No V2 Liquidity found."
msgstr "לא נמצא נזילות V2."
msgstr "לא נמצאה נזילות V2."
#: src/pages/Earn/index.tsx
#: src/pages/Earn/index.tsx
@@ -986,11 +990,11 @@ msgstr "אין בריכות פעילות"
#: src/pages/Pool/v2.tsx
msgid "No liquidity found."
msgstr "לא נמצא נזילות."
msgstr "לא נמצאה נזילות."
#: src/pages/PoolFinder/index.tsx
msgid "No pool found."
msgstr "לא נמצאה בריכה."
msgstr "לא נמצא מאגר."
#: src/pages/Vote/index.tsx
msgid "No proposals found."
@@ -1006,7 +1010,7 @@ msgstr "כבוי"
#: src/components/Toggle/ListToggle.tsx
msgid "ON"
msgstr "עַל"
msgstr "דלוק"
#: src/components/Settings/index.tsx
msgid "ONLY USE THIS MODE IF YOU KNOW WHAT YOU ARE DOING."
@@ -1018,11 +1022,11 @@ msgstr "כבוי"
#: src/components/Toggle/index.tsx
msgid "On"
msgstr "עַל"
msgstr "דלוק"
#: src/pages/AddLiquidityV2/index.tsx
msgid "Once you are happy with the rate click supply to review."
msgstr "ברגע שאתה מרוצה מהספק לחץ על שיעור לבדיקה."
msgstr "ברגע שאתה מרוצה מההספק לחץ על האספקה לבדיקה."
#: src/pages/Vote/VotePage.tsx
msgid "Only UNI votes that were self delegated or delegated to another address before block {0} are eligible for voting."
@@ -1030,7 +1034,7 @@ msgstr "זכאים להצביע רק קולות של UNI שהועברו בעצמ
#: src/components/Web3ReactManager/index.tsx
msgid "Oops! An unknown error occurred. Please refresh the page, or visit from another browser or device."
msgstr "אופס! אירעה שגיאה לא ידועה. אנא רענן את הדף, או בקר בדפדפן או מכשיר אחר."
msgstr "אופס! אירעה שגיאה לא ידועה. אנא רענן את הדף, או בקר בדפדפן או במכשיר אחר."
#: src/components/Badge/RangeBadge.tsx
msgid "Out of range"
@@ -1039,15 +1043,15 @@ msgstr "מחוץ לטווח"
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
msgid "Output is estimated. If the price changes by more than {0}% your transaction will revert."
msgstr "התפוקה מוערכת. אם המחיר ישתנה ביותר מ- {0}% העסקה שלך תחזור."
msgstr "התפוקה משוערת. אם המחיר ישתנה ביותר מ- {0}% העסקה שלך תחזור."
#: src/components/swap/SwapModalHeader.tsx
msgid "Output is estimated. You will receive at least <0>{0} {1}</0> or the transaction will revert."
msgstr "התפוקה מוערכת. תקבל <0>{0} {1}</0> או שהעסקה תחזור."
msgstr "התפוקה משוערת. תקבל <0>{0} {1}</0> או שהעסקה תחזור."
#: src/components/swap/SwapModalHeader.tsx
msgid "Output will be sent to <0>{0}</0>"
msgstr "הפלט יישלח אל <0>{0}</0>"
msgstr "התפוקה תישלח אל <0>{0}</0>"
#: src/pages/Pool/PositionPage.tsx
msgid "Owner"
@@ -1068,24 +1072,24 @@ msgstr "אנא הקלד את המילה \"{confirmWord}\" כדי להפעיל מ
#: src/components/Header/index.tsx
#: src/components/NavigationTabs/index.tsx
msgid "Pool"
msgstr "בריכה"
msgstr "מאגר"
#: src/pages/PoolFinder/index.tsx
msgid "Pool Found!"
msgstr "בריכה נמצאה!"
msgstr "מאגר נמצא!"
#: src/pages/Earn/Manage.tsx
msgid "Pool Rate"
msgstr "תעריף בריכה"
msgstr "תעריף מאגר"
#: src/components/earn/PoolCard.tsx
msgid "Pool rate"
msgstr "תעריף בריכה"
msgstr "תעריף מאגר"
#: src/components/PositionCard/V2.tsx
#: src/components/PositionCard/index.tsx
msgid "Pool tokens in rewards pool:"
msgstr "אסימונים לבריכה בבריכת תגמולים:"
msgstr "אסימונים למאגר בבריכת תגמולים:"
#: src/components/PositionCard/V2.tsx
#: src/components/PositionCard/V2.tsx
@@ -1100,7 +1104,7 @@ msgstr "מאוגד {0}:"
#: src/pages/Pool/index.tsx
msgid "Pools Overview"
msgstr "סקירת בריכות"
msgstr "סקירת מאגרים"
#: src/components/swap/SwapModalHeader.tsx
#: src/pages/RemoveLiquidity/index.tsx
@@ -1117,7 +1121,7 @@ msgstr "השפעת מחיר"
#: src/pages/Swap/index.tsx
msgid "Price Impact Too High"
msgstr "השפעת מחיר גבוהה מדי"
msgstr "השפעת המחיר גבוהה מדי"
#: src/components/swap/SwapModalHeader.tsx
msgid "Price Updated"
@@ -1233,7 +1237,7 @@ msgstr "בחר בריכה"
#: src/components/FeeSelector/index.tsx
msgid "Select a pool type based on your preferred liquidity provider fee."
msgstr "בחר סוג בריכה על בסיס עמלת ספק הנזילות המועדפת עליך."
msgstr "בחר סוג מאגר על בסיס עמלת ספק הנזילות המועדפת עליך."
#: src/components/CurrencyInputPanel/index.tsx
#: src/components/SearchModal/CurrencySearch.tsx
@@ -1270,15 +1274,19 @@ msgstr "הגדר טווח מחירים"
#: src/pages/AddLiquidity/index.tsx
msgid "Set Starting Price"
msgstr "קבע מחיר התחלתי"
msgstr "הגדר מחיר התחלתי"
#: src/pages/AddLiquidityV2/PoolPriceBar.tsx
msgid "Share of Pool"
msgstr "נתח הבריכה"
msgstr "נתח המאגר"
#: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx
msgid "Share of Pool:"
msgstr "נתח הבריכה:"
msgstr "נתח המאגר:"
#: src/pages/Pool/index.tsx
msgid "Show"
msgstr "הופעה"
#: src/components/AccountDetails/index.tsx
msgid "Show Portis"
@@ -1332,7 +1340,7 @@ msgstr "החלף בכל מקרה"
#: src/components/swap/ConfirmSwapModal.tsx
msgid "Swapping {0} {1} for {2} {3}"
msgstr "החלפת {0} {1} ל {2} {3}"
msgstr "החלפת {0} {1} ב- {2} {3}"
#: src/components/Popups/ClaimPopup.tsx
msgid "Thanks for being part of the Uniswap community <0/>"
@@ -1344,7 +1352,7 @@ msgstr "המשתנה של Uniswap x * y = k לא הסתפק בהחלפה. זה
#: src/hooks/useSwapCallback.ts
msgid "The input token cannot be transferred. There may be an issue with the input token."
msgstr "לא ניתן להעביר את אסימן הקלט. יכול להיות שיש בעיה באסימן הקלט."
msgstr "לא ניתן להעביר את אסימון הקלט. יכול להיות שיש בעיה באסימון הקלט."
#: src/components/CurrencyInputPanel/index.tsx
msgid "The market price is outside your specified price range. Single-asset deposit only."
@@ -1352,19 +1360,19 @@ msgstr "מחיר השוק הוא מחוץ לטווח המחירים שצוין.
#: src/hooks/useSwapCallback.ts
msgid "The output token cannot be transferred. There may be an issue with the output token."
msgstr "לא ניתן להעביר את אסימון הפלט. ייתכן שיש בעיה באסימן הפלט."
msgstr "לא ניתן להעביר את אסימון הפלט. ייתכן שיש בעיה באסימון הפלט."
#: src/hooks/useSwapCallback.ts
msgid "The output token cannot be transferred. There may be an issue with the output token. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "לא ניתן להעביר את אסימון הפלט. ייתכן שיש בעיה באסימן הפלט. הערה: עמלה על אסימון העברה וריבוס אינם תואמים ל- Uniswap V3."
msgstr "לא ניתן להעביר את אסימון הפלט. ייתכן שיש בעיה באסימון הפלט. הערה: עמלה על אסימון העברה וריבוס אינם תואמים ל- Uniswap V3."
#: src/components/Badge/RangeBadge.tsx
msgid "The price of this pool is outside of your selected range. Your position is not currently earning fees."
msgstr "המחיר של הבריכה הזו מחוץ לטווח שבחרתם. עמדתך אינה מרוויחה כרגע עמלות."
msgstr "המחיר של המאגר הזה מחוץ לטווח שבחרתם. עמדתך אינה מרוויחה כרגע עמלות."
#: src/components/Badge/RangeBadge.tsx
msgid "The price of this pool is within your selected range. Your position is currently earning fees."
msgstr "המחיר של הבריכה הזו הוא בטווח שבחרתם. עמדתך מרוויחה כרגע עמלות."
msgstr "המחיר של המאגר הזה הוא בטווח שבחרתם. עמדתך מרוויחה כרגע עמלות."
#: src/pages/AddLiquidityV2/index.tsx
msgid "The ratio of tokens you add will set the price of this pool."
@@ -1372,7 +1380,7 @@ msgstr "יחס האסימונים שתוסיף יקבע את מחיר הבריכ
#: src/hooks/useSwapCallback.ts
msgid "The transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low."
msgstr "לא ניתן היה לשלוח את העסקה מכיוון שהמועד האחרון חלף. אנא בדוק שמועד אחרון העסקה שלך אינו נמוך מדי."
msgstr "לא ניתן היה לשלוח את העסקה מכיוון שהמועד האחרון חלף. אנא בדוק שמועד העסקה האחרון שלך אינו קרוב מדי."
#: src/components/SearchModal/CommonBases.tsx
msgid "These tokens are commonly paired with other tokens."
@@ -1384,11 +1392,11 @@ msgstr "אסימון זה אינו מופיע ברשימות האסימונים
#: src/pages/MigrateV2/MigrateV2Pair.tsx
msgid "This tool will safely migrate your {0} liquidity to V3. The process is completely trustless thanks to the"
msgstr "כלי זה בבטחה יעבור שלך {0} נזילות כדי V3. התהליך חסר אמון לחלוטין בזכות"
msgstr "כלי זה יעביר בבטחה את נזילות {0} שלך ל- V3. התהליך חסר אמון לחלוטין בזכות"
#: src/hooks/useSwapCallback.ts
msgid "This transaction will not succeed due to price movement. Try increasing your slippage tolerance. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "עסקה זו לא תצליח בגלל תנועת מחירים. נסה להגביר את סובלנות ההחלקה שלך. הערה: עמלה על אסימון העברה וריבוס אינם תואמים ל- Uniswap V3."
msgstr "עסקה זו לא תצליח בגלל תנועת מחירים. נסה להגביר את סובלנות ההחלקה שלך. הערה: עמלה על אסימון העברה ומיקום מחדש אינם תואמים ל- Uniswap V3."
#: src/hooks/useSwapCallback.ts
msgid "This transaction will not succeed either due to price movement or fee on transfer. Try increasing your slippage tolerance."
@@ -1405,7 +1413,7 @@ msgstr "ל"
#: src/pages/Swap/index.tsx
msgid "To (at least)"
msgstr "לפחות)"
msgstr "עבור (לפחות)"
#: src/components/Settings/index.tsx
msgid "Toggle Expert Mode"
@@ -1429,7 +1437,7 @@ msgstr "סך ההיצע"
#: src/components/earn/PoolCard.tsx
msgid "Total deposited"
msgstr "סה\"כ הופקד"
msgstr "סה\"כ מה שהופקד"
#: src/pages/Earn/Manage.tsx
msgid "Total deposits"
@@ -1491,7 +1499,7 @@ msgstr "UNI-V2 {0}-{1}"
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/UnstakingModal.tsx
msgid "Unclaimed UNI"
msgstr "UNI ללא תביעות"
msgstr "UNI שלא נדרש"
#: src/pages/Pool/PositionPage.tsx
msgid "Unclaimed fees"
@@ -1527,7 +1535,7 @@ msgstr "מקור לא ידוע"
#: src/hooks/useSwapCallback.ts
msgid "Unknown error{0}. Try increasing your slippage tolerance. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "שגיאה לא ידועה{0}. נסה להגביר את סובלנות ההחלקה שלך. הערה: עמלה על אסימון העברה וריבוס אינם תואמים ל- Uniswap V3."
msgstr "שגיאה לא ידועה{0}. נסה להגביר את סובלנות ההחלקה שלך. הערה: עמלה על אסימון העברה ומיקום מחדש אינם תואמים ל- Uniswap V3."
#: src/pages/Vote/VotePage.tsx
#: src/pages/Vote/index.tsx
@@ -1595,7 +1603,7 @@ msgstr "צפו בעמלות וניתוחים צבורים <0> ↗</0>"
#: src/components/SearchModal/ManageLists.tsx
msgid "View list"
msgstr "רשימת צפיה"
msgstr "רשימת צפייה"
#: src/components/AccountDetails/index.tsx
#: src/components/AccountDetails/index.tsx
@@ -1620,7 +1628,7 @@ msgstr "הצביעו נגד"
#: src/pages/Vote/VotePage.tsx
msgid "Vote For"
msgstr "להצביע ל"
msgstr "להצביע בעד"
#: src/components/vote/VoteModal.tsx
#: src/components/vote/VoteModal.tsx
@@ -1680,7 +1688,7 @@ msgstr "משיכת נזילות שהופקדה"
#: src/components/earn/UnstakingModal.tsx
msgid "Withdrawing {0} UNI-V2"
msgstr "משיכה {0} UNI-V2"
msgstr "משיכת {0} UNI-V2"
#: src/components/earn/UnstakingModal.tsx
msgid "Withdrew UNI-V2!"
@@ -1729,7 +1737,7 @@ msgstr "עליך לתת לחוזים החכמים של Uniswap להשתמש ב-
#: src/pages/MigrateV2/MigrateV2Pair.tsx
msgid "You should only deposit liquidity into Uniswap V3 at a price you believe is correct. <0/>If the price seems incorrect, you can either make a swap to move the price or wait for someone else to do so."
msgstr "עליכם להפקיד נזילות רק ב- Uniswap V3 במחיר שלדעתכם נכון. <0 /> אם נראה שהמחיר שגוי, באפשרותך להחליף כדי להזיז את המחיר או לחכות שמישהו אחר יעשה זאת."
msgstr "עליכם להפקיד נזילות רק ב- Uniswap V3 במחיר שלדעתכם נכון. <0/> אם נראה שהמחיר שגוי, באפשרותך להחליף כדי להזיז את המחיר או לחכות שמישהו אחר יעשה זאת."
#: src/pages/RemoveLiquidity/V3.tsx
msgid "You will also collect fees earned from this position."
@@ -1764,7 +1772,7 @@ msgstr "הנזילות שלך תרוויח עמלות רק כאשר מחיר ה
#: src/components/PositionCard/index.tsx
#: src/components/PositionCard/index.tsx
msgid "Your pool share:"
msgstr "נתח הבריכה שלך:"
msgstr "נתח המאגר שלך:"
#: src/components/PositionCard/index.tsx
msgid "Your position"
@@ -1801,11 +1809,11 @@ msgstr "השיעור שלך"
#: src/components/PositionCard/V2.tsx
#: src/components/PositionCard/index.tsx
msgid "Your total pool tokens:"
msgstr "סך כל אסימוני הבריכה שלך:"
msgstr "סך כל אסימוני המאגר שלך:"
#: src/pages/MigrateV2/MigrateV2Pair.tsx
msgid "Your transaction cost will be much higher as it includes the gas to create the pool."
msgstr "עלות העסקה שלך תהיה גבוהה בהרבה מכיוון שהיא כוללת את הגז ליצירת הבריכה."
msgstr "עלות העסקה שלך תהיה גבוהה בהרבה מכיוון שהיא כוללת את הגז ליצירת המאגר."
#: src/components/TransactionSettings/index.tsx
msgid "Your transaction may be frontrun"
@@ -1829,7 +1837,7 @@ msgstr "העסקאות שלך יופיעו כאן ..."
#: src/pages/Earn/Manage.tsx
msgid "Your unclaimed UNI"
msgstr "האו\"ם הלא מתבקש שלך"
msgstr "ה-UNI שלך לא נדרש"
#: src/components/Settings/index.tsx
msgid "confirm"
@@ -1841,7 +1849,7 @@ msgstr "עבור {0}"
#: src/components/Web3Status/index.tsx
msgid "has socks emoji"
msgstr "יש אימוג'י גרביים"
msgstr "יש אימוג'י של גרביים"
#: src/components/SearchModal/ManageLists.tsx
msgid "https:// or ipfs:// or ENS name"
@@ -1872,7 +1880,7 @@ msgstr "{0} %"
#: src/components/PositionListItem/index.tsx
#: src/components/PositionListItem/index.tsx
msgid "{0} <0/> per <1/>"
msgstr "{0} <0 /> לכל <1 />"
msgstr "{0} <0 /> לכל <1/>"
#: src/components/SearchModal/ManageTokens.tsx
msgid "{0} Custom Tokens"
@@ -1999,9 +2007,9 @@ msgstr "{tokenB} לכל {tokenA}"
#: src/components/CurrencyInputPanel/FiatValue.tsx
msgid "~$ <0/>"
msgstr "~ $ <0 />"
msgstr "~ $ <0/>"
#: src/pages/Pool/PositionPage.tsx
msgid "← Back to Pools Overview"
msgstr "← חזרה לסקירת בריכות"
msgstr "← חזרה לסקירת מאגרים"

View File

@@ -1,6 +1,6 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
"POT-Creation-Date: 2021-06-21 15:11+0000\n"
"Mime-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -14,7 +14,7 @@ msgstr ""
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Hungarian\n"
"PO-Revision-Date: 2021-06-14 18:04\n"
"PO-Revision-Date: 2021-06-21 16:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -128,8 +128,8 @@ msgid "<0>🎉 </0>Welcome to team Unicorn :) <1>🎉</1>"
msgstr "<0> 🎉</0> Üdvözöljük az Unicorn csapatában :) <1> 🎉</1>"
#: src/pages/Vote/index.tsx
msgid "A minimum threshold of 1% of the total UNI supply is required to submit proposals"
msgstr "A javaslatok benyújtásához a teljes UNI-kínálat legalább 1%-ának elérése szükséges"
msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals"
msgstr "A pályázatok benyújtásához az UNI teljes kínálatának minimum 0,25% -a szükséges"
#: src/components/Menu/index.tsx
msgid "About"
@@ -171,7 +171,7 @@ msgstr "Adja hozzá a likviditást."
#: src/components/TransactionConfirmationModal/index.tsx
msgid "Add {0} to Metamask <0/>"
msgstr "{0} hozzáadása a Metamask <0 /> elemhez"
msgstr "{0} hozzáadása a Metamask <0/> elemhez"
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/AddLiquidityV2/index.tsx
@@ -223,8 +223,8 @@ msgid "Amount"
msgstr "Összeg"
#: src/hooks/useSwapCallback.ts
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Hiba történt a csere végrehajtása során. Lehet, hogy növelnie kell a csúszási toleranciát. Ha ez nem működik, akkor összeférhetetlenség állhat fenn a kereskedett tokennel. Megjegyzés: az átutalási és az újraalapítási tokenek díja nem kompatibilis a Uniswap V3-mal."
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Hiba történt a csere végrehajtása során. Lehet, hogy növelnie kell a csúszási toleranciát. Ha ez nem működik, akkor összeférhetetlenség állhat fenn az Ön által forgalmazott tokennel. Megjegyzés: az átviteli és újrabázis tokenek díja nem kompatibilis az Uniswap V3 verzióval."
#: src/components/Menu/index.tsx
msgid "Analytics"
@@ -400,6 +400,10 @@ msgstr "Bezárás"
msgid "Closed"
msgstr "Zárva"
#: src/pages/Pool/index.tsx
msgid "Closed positions"
msgstr "Zárt pozíciók"
#: src/components/Menu/index.tsx
msgid "Code"
msgstr "Kód"
@@ -728,8 +732,8 @@ msgid "Get support on Discord"
msgstr "Kérjen támogatást a Discordon"
#: src/pages/Pool/index.tsx
msgid "Hide closed positions"
msgstr "Zárt pozíciók elrejtése"
msgid "Hide"
msgstr "Elrejt"
#: src/pages/Swap/index.tsx
msgid "High Price Impact"
@@ -1281,6 +1285,10 @@ msgstr "Pool részesedése"
msgid "Share of Pool:"
msgstr "Pool részesedése:"
#: src/pages/Pool/index.tsx
msgid "Show"
msgstr "Előadás"
#: src/components/AccountDetails/index.tsx
msgid "Show Portis"
msgstr "Portis megjelenítése"
@@ -1337,7 +1345,7 @@ msgstr "{0} {1} cseréje a következőre {2} {3}"
#: src/components/Popups/ClaimPopup.tsx
msgid "Thanks for being part of the Uniswap community <0/>"
msgstr "Köszönjük, hogy az Uniswap közösség tagja <0 />"
msgstr "Köszönjük, hogy az Uniswap közösség tagja <0/>"
#: src/hooks/useSwapCallback.ts
msgid "The Uniswap invariant x*y=k was not satisfied by the swap. This usually means one of the tokens you are swapping incorporates custom behavior on transfer."
@@ -1873,7 +1881,7 @@ msgstr "{0} %"
#: src/components/PositionListItem/index.tsx
#: src/components/PositionListItem/index.tsx
msgid "{0} <0/> per <1/>"
msgstr "{0} <0 /> per <1 />"
msgstr "{0} <0/> per <1/>"
#: src/components/SearchModal/ManageTokens.tsx
msgid "{0} Custom Tokens"
@@ -2001,7 +2009,7 @@ msgstr "{tokenB} per {tokenA}"
#: src/components/CurrencyInputPanel/FiatValue.tsx
msgid "~$ <0/>"
msgstr "~ $ <0 />"
msgstr "~ $ <0/>"
#: src/pages/Pool/PositionPage.tsx
msgid "← Back to Pools Overview"

View File

@@ -1,6 +1,6 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
"POT-Creation-Date: 2021-06-21 15:11+0000\n"
"Mime-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -14,7 +14,7 @@ msgstr ""
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Indonesian\n"
"PO-Revision-Date: 2021-06-14 18:04\n"
"PO-Revision-Date: 2021-06-21 16:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -128,8 +128,8 @@ msgid "<0>🎉 </0>Welcome to team Unicorn :) <1>🎉</1>"
msgstr "<0>🎉</0>Selamat datang di tim Unicorn :) <1>🎉</1>"
#: src/pages/Vote/index.tsx
msgid "A minimum threshold of 1% of the total UNI supply is required to submit proposals"
msgstr "Batas minimum 1% dari total pasokan UNI diperlukan untuk mengajukan usulan"
msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals"
msgstr "Ambang batas minimum 0,25% dari total pasokan UNI diperlukan untuk mengirimkan proposal"
#: src/components/Menu/index.tsx
msgid "About"
@@ -223,8 +223,8 @@ msgid "Amount"
msgstr "Jumlah"
#: src/hooks/useSwapCallback.ts
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Terjadi kesalahan saat mencoba menjalankan swap ini. Anda mungkin perlu meningkatkan toleransi slippage Anda. Jika tidak berhasil, mungkin ada ketidakcocokan dengan token yang Anda perdagangkan. Catatan biaya transfer dan token rebase tidak cocok dengan Uniswap V3."
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Terjadi kesalahan saat mencoba menjalankan swap ini. Anda mungkin perlu meningkatkan toleransi selip Anda. Jika itu tidak berhasil, mungkin ada ketidakcocokan dengan token yang Anda perdagangkan. Catatan: biaya transfer dan token rebase tidak sesuai dengan Uniswap V3."
#: src/components/Menu/index.tsx
msgid "Analytics"
@@ -400,6 +400,10 @@ msgstr "Tutup"
msgid "Closed"
msgstr "Ditutup"
#: src/pages/Pool/index.tsx
msgid "Closed positions"
msgstr "Posisi tertutup"
#: src/components/Menu/index.tsx
msgid "Code"
msgstr "Kode"
@@ -727,8 +731,8 @@ msgid "Get support on Discord"
msgstr "Dapatkan dukungan di Discord"
#: src/pages/Pool/index.tsx
msgid "Hide closed positions"
msgstr "Sembunyikan posisi tertutup"
msgid "Hide"
msgstr "Menyembunyikan"
#: src/pages/Swap/index.tsx
msgid "High Price Impact"
@@ -1280,6 +1284,10 @@ msgstr "Bagian dari Pool"
msgid "Share of Pool:"
msgstr "Bagian dari Pool:"
#: src/pages/Pool/index.tsx
msgid "Show"
msgstr "Menunjukkan"
#: src/components/AccountDetails/index.tsx
msgid "Show Portis"
msgstr "Tampilkan Portis"
@@ -1336,7 +1344,7 @@ msgstr "Menukar {0} {1} untuk {2} {3}"
#: src/components/Popups/ClaimPopup.tsx
msgid "Thanks for being part of the Uniswap community <0/>"
msgstr "Terima kasih telah menjadi bagian dari komunitas Uniswap </>"
msgstr "Terima kasih telah menjadi bagian dari komunitas Uniswap <0/>"
#: src/hooks/useSwapCallback.ts
msgid "The Uniswap invariant x*y=k was not satisfied by the swap. This usually means one of the tokens you are swapping incorporates custom behavior on transfer."

View File

@@ -1,6 +1,6 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
"POT-Creation-Date: 2021-06-21 15:11+0000\n"
"Mime-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -14,7 +14,7 @@ msgstr ""
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Italian\n"
"PO-Revision-Date: 2021-06-14 18:04\n"
"PO-Revision-Date: 2021-06-21 16:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -128,8 +128,8 @@ msgid "<0>🎉 </0>Welcome to team Unicorn :) <1>🎉</1>"
msgstr "<0>🎉 </0>Benvenuto nel team Unicorn :) <1>🎉</1>"
#: src/pages/Vote/index.tsx
msgid "A minimum threshold of 1% of the total UNI supply is required to submit proposals"
msgstr "Per presentare proposte è necessaria una soglia minima dell'1% dell'offerta totale delle Nazioni Unite"
msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals"
msgstr "Per la presentazione delle proposte è richiesta una soglia minima dello 0,25% della fornitura UNI totale"
#: src/components/Menu/index.tsx
msgid "About"
@@ -223,8 +223,8 @@ msgid "Amount"
msgstr "Importo"
#: src/hooks/useSwapCallback.ts
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Si è verificato un errore durante il tentativo di eseguire questo scambio. Potrebbe essere necessario aumentare la tolleranza allo slittamento. Se non funziona, potrebbe esserci un'incompatibilità con il token che stai scambiando. Nota la commissione sui token di trasferimento e di base non sono compatibili con Uniswap V3."
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Si è verificato un errore durante il tentativo di eseguire questo scambio. Potrebbe essere necessario aumentare la tolleranza allo slittamento. Se ciò non funziona, potrebbe esserci un'incompatibilità con il token che stai scambiando. Nota: la commissione sui token di trasferimento e rebase non è compatibile con Uniswap V3."
#: src/components/Menu/index.tsx
msgid "Analytics"
@@ -400,6 +400,10 @@ msgstr "Chiudi"
msgid "Closed"
msgstr "Chiuso"
#: src/pages/Pool/index.tsx
msgid "Closed positions"
msgstr "Posizioni chiuse"
#: src/components/Menu/index.tsx
msgid "Code"
msgstr "Codice"
@@ -727,8 +731,8 @@ msgid "Get support on Discord"
msgstr "Ottieni supporto su Discord"
#: src/pages/Pool/index.tsx
msgid "Hide closed positions"
msgstr "Nascondi posizioni chiuse"
msgid "Hide"
msgstr "Nascondere"
#: src/pages/Swap/index.tsx
msgid "High Price Impact"
@@ -1280,6 +1284,10 @@ msgstr "Quota del pool"
msgid "Share of Pool:"
msgstr "Quota del pool:"
#: src/pages/Pool/index.tsx
msgid "Show"
msgstr "Mostrare"
#: src/components/AccountDetails/index.tsx
msgid "Show Portis"
msgstr "Show Portis"

View File

@@ -1,6 +1,6 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
"POT-Creation-Date: 2021-06-21 15:11+0000\n"
"Mime-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -14,7 +14,7 @@ msgstr ""
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Japanese\n"
"PO-Revision-Date: 2021-06-15 08:04\n"
"PO-Revision-Date: 2021-06-21 16:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -105,11 +105,11 @@ msgstr "<0>アカウント分析と発生した手数料</0><1>↗ </1>"
#: src/pages/Swap/index.tsx
msgid "<0>Back to </0>V3"
msgstr "V3<0>戻る</0>"
msgstr "V3<0>戻る</0>"
#: src/pages/RemoveLiquidity/index.tsx
msgid "<0>Tip:</0> Removing pool tokens converts your position back into underlying tokens at the current rate, proportional to your share of the pool. Accrued fees are included in the amounts you receive."
msgstr "<0>ヒント:</0> プールトークンを削除すると、プールのシェアに応じて現在の価格で原資産のトークンに戻ります。発生した手数料は受け取るトークンに含まれます。"
msgstr "<0>ヒント:</0> 流動性トークンを削除すると、プールのシェアに比例して現在の価格でのトークンに戻ります。発生した報酬は受け取るトークンに含まれます。"
#: src/pages/PoolFinder/index.tsx
msgid "<0>Tip:</0> Use this tool to find v2 pools that don't automatically appear in the interface."
@@ -117,7 +117,7 @@ msgstr "<0>ヒント:</0> このツールを使用して、画面に自動表示
#: src/pages/AddLiquidityV2/index.tsx
msgid "<0>Tip:</0> When you add liquidity, you will receive pool tokens representing your position. These tokens automatically earn fees proportional to your share of the pool, and can be redeemed at any time."
msgstr "<0>ヒント:</0> 流動性を追加すると、そのポジションを表すプールトークンを受け取ります。 プールトークンはプールのシェアに応じて自動的に報酬を獲得します。また、プールトークンはいつでも換金できます。"
msgstr "<0>ヒント:</0> 流動性を追加すると、そのポジションを表す流動性トークンを受け取ります。 流動性トークンはプールのシェアに応じて自動的に報酬を獲得します。また、流動性トークンはいつでも償還できます。"
#: src/pages/Vote/VotePage.tsx
msgid "<0>Unlock voting</0> to prepare for the next proposal."
@@ -125,11 +125,11 @@ msgstr "次の提案に備えるため <0>投票のロックを解除</0>"
#: src/components/claim/ClaimModal.tsx
msgid "<0>🎉 </0>Welcome to team Unicorn :) <1>🎉</1>"
msgstr "<0>🎉 </0>チーム ユニコーンにようこそ:)<1>🎉</1>"
msgstr "<0>🎉 </0>チーム ユニコーンにようこそ <1>🎉</1>"
#: src/pages/Vote/index.tsx
msgid "A minimum threshold of 1% of the total UNI supply is required to submit proposals"
msgstr "提案提出には総供給量の1%以上のUNIが必要です。"
msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals"
msgstr "提案提出するには、UNIの総供給量の0.25以上のUNIが必要です。"
#: src/components/Menu/index.tsx
msgid "About"
@@ -167,7 +167,7 @@ msgstr "V2の流動性を追加"
#: src/pages/PoolFinder/index.tsx
msgid "Add liquidity."
msgstr "流動性を追加"
msgstr "流動性を追加"
#: src/components/TransactionConfirmationModal/index.tsx
msgid "Add {0} to Metamask <0/>"
@@ -188,11 +188,11 @@ msgstr "{0}/{1} V3の流動性を追加"
#: src/components/TransactionConfirmationModal/index.tsx
msgid "Added {0}"
msgstr "{0} を追加"
msgstr "{0} を追加"
#: src/components/claim/AddressClaimModal.tsx
msgid "Address has no available claim"
msgstr "アドレスには可能な請求がありません"
msgstr "請求可能なアドレスではありません"
#: src/pages/Vote/VotePage.tsx
msgid "Against"
@@ -204,15 +204,15 @@ msgstr "LPトークンの移行を許可する"
#: src/components/Settings/index.tsx
msgid "Allow high price impact trades and skip the confirm screen. Use at your own risk."
msgstr "価格大きな影響がある取引を許可し、確認画面をスキップします。自己責任でご利用ください。"
msgstr "価格への大きな影響がある取引を許可し、確認画面をスキップします。自己責任でご利用ください。"
#: src/pages/Swap/index.tsx
msgid "Allow the Uniswap Protocol to use your {0}"
msgstr "{0} の使用をUniswapプロトコルに許可する"
msgstr "{0} の使用をUniswapに許可する"
#: src/pages/MigrateV2/MigrateV2Pair.tsx
msgid "Allowed"
msgstr "許可"
msgstr "許可"
#: src/components/Header/URLWarning.tsx
msgid "Always make sure the URL is<0>app.uniswap.org</0> - bookmark it to be safe."
@@ -223,12 +223,12 @@ msgid "Amount"
msgstr "数量"
#: src/hooks/useSwapCallback.ts
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "スワップを実行しようとした際、エラーが発生しました。スリッページの許容範囲を増やす必要があるかもしれません。それでも上手くいかない場合は、取引しているトークンとの互換性がない可能性があります。送金手数料およびリベーストークンにはUniswapV3と互換性がないことにご注意ください。"
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "このスワップを実行しようとしたときにエラーが発生しました。スリッページの許容範囲を広げる必要があるかもしれません。それが機能しない場合は、取引しているトークンとの互換性がない可能性があります。注:転送およびリベーストークンの料金は、UniswapV3と互換性がありません。"
#: src/components/Menu/index.tsx
msgid "Analytics"
msgstr "分析"
msgstr "アナリティクス"
#: src/components/earn/StakingModal.tsx
#: src/pages/RemoveLiquidity/index.tsx
@@ -264,7 +264,7 @@ msgstr "本当によろしいですか?"
#: src/components/claim/ClaimModal.tsx
msgid "As a member of the Uniswap community you may claim UNI to be used for voting and governance.<0/><1/><2>Read more about UNI</2>"
msgstr "Uniswapコミュニティのメンバーとして、投票とガバナンスにUNIを請求できます。<0/><1/><2>UNIについてもっと見る</2>"
msgstr "Uniswapコミュニティのメンバーとして、投票とガバナンスのためにUNIを使用できます。<0/><1/><2>UNIについてもっと見る</2>"
#: src/pages/MigrateV2/MigrateV2Pair.tsx
msgid "At least {0} {1} and {2} {3} will be refunded to your wallet due to selected price range."
@@ -276,7 +276,7 @@ msgstr "自動"
#: src/components/earn/StakingModal.tsx
msgid "Available to deposit: {0}"
msgstr "デポジット可能: {0}"
msgstr "預け入れ可能 {0}"
#: src/components/WalletModal/index.tsx
msgid "Back"
@@ -288,35 +288,35 @@ msgstr "残高:"
#: src/components/CurrencyInputPanel/index.tsx
msgid "Balance: {0} {1}"
msgstr "残高: {0} {1}"
msgstr "残高 {0} {1}"
#: src/components/FeeSelector/index.tsx
msgid "Best for exotic pairs."
msgstr "マイナーなペアに最適です。"
msgstr "マイナーなペアに最適"
#: src/components/FeeSelector/index.tsx
msgid "Best for most pairs."
msgstr "ほとんどのペアに最適です。"
msgstr "ほとんどのペアに最適"
#: src/components/FeeSelector/index.tsx
msgid "Best for stable pairs."
msgstr "安定したペアに最適です。"
msgstr "安定的なペアに最適"
#: src/components/Blocklist/index.tsx
msgid "Blocked address"
msgstr "ブロック済のアドレス"
msgstr "ブロックされたアドレス"
#: src/components/PositionCard/index.tsx
msgid "By adding liquidity you'll earn 0.3% of all trades on this pair proportional to your share of the pool. Fees are added to the pool, accrue in real time and can be claimed by withdrawing your liquidity."
msgstr "流動性を追加することで、あなたはプールのシェアに比例してこのペアのすべての取引の0.3%を得ることになります。手数料はプールに追加され、リアルタイムで発生し、流動性を引き出すことで請求できます。"
msgstr "流動性を追加することで、このペアのすべての取引で発生する0.3%の手数料のうち、プールのシェアに応じた報酬を獲得します。報酬はリアルタイムにプールに追加され、反映されます。報酬は流動性を引き出すことで請求できます。"
#: src/components/SearchModal/ImportList.tsx
msgid "By adding this list you are implicitly trusting that the data is correct. Anyone can create a list, including creating fake versions of existing lists and lists that claim to represent projects that do not have one."
msgstr "このリストを追加することで、データが正しいことを暗黙的に信頼することになります。 誰でもリストを作成することができため、既存リストの偽バージョンや、リストのないプロジェクトを表すリストである可能性があります。"
msgstr "このリストを追加することで、データが正しいことを暗黙的に信頼することになります。 誰でもリストを作成することができます。そのため、既存リストの偽バージョンや、実体のないプロジェクトを掲載するリストが作成されている可能性があります。"
#: src/components/WalletModal/index.tsx
msgid "By connecting a wallet, you agree to Uniswap Labs <0>Terms of Service</0> and acknowledge that you have read and understand the <1>Uniswap protocol disclaimer</1>."
msgstr "ウォレットを接続することにより、Uniswap Labsの <0>サービス利用規約</0>に同意し、<1>Uniswapプロトコルの免責事項</1>を読み、理解したことを認めます。"
msgstr "ウォレットを接続することにより、Uniswap Labsの <0>サービス利用規約</0>に同意し、Uniswapプロトコルの<1>免責事項</1>を読み、理解したことに同意します。"
#: src/components/AccountDetails/index.tsx
msgid "Change"
@@ -328,7 +328,7 @@ msgstr "チャート"
#: src/pages/Pool/CTACards.tsx
msgid "Check out our v3 LP walkthrough and migration guides."
msgstr "V3 LPの説明と移行ガイドをご覧ください。"
msgstr "V3の流動性と移行ガイドをご覧ください。"
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/ClaimRewardModal.tsx
@@ -351,7 +351,7 @@ msgstr "UNIトークンを請求する"
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/ClaimRewardModal.tsx
msgid "Claim accumulated UNI rewards"
msgstr "貯まったUNI報酬を請求する"
msgstr "UNI報酬を請求する"
#: src/pages/Pool/PositionPage.tsx
msgid "Claim fees"
@@ -400,38 +400,42 @@ msgstr "終了"
msgid "Closed"
msgstr "終了済"
#: src/pages/Pool/index.tsx
msgid "Closed positions"
msgstr "クローズドポジション"
#: src/components/Menu/index.tsx
msgid "Code"
msgstr "コード"
#: src/pages/Pool/PositionPage.tsx
msgid "Collect"
msgstr "集める"
msgstr "取得する"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/RemoveLiquidity/V3.tsx
msgid "Collect as WETH"
msgstr "WETHで集める"
msgstr "WETHで取得"
#: src/pages/Pool/PositionPage.tsx
msgid "Collect fees"
msgstr "手数料を集める"
msgstr "報酬を取得"
#: src/pages/Pool/PositionPage.tsx
msgid "Collected"
msgstr "収集済"
msgstr "取得済"
#: src/pages/Pool/PositionPage.tsx
msgid "Collecting"
msgstr "収集中"
msgstr "取得中"
#: src/pages/Pool/PositionPage.tsx
msgid "Collecting fees"
msgstr "手数料の収集中"
msgstr "報酬を取得中"
#: src/pages/Pool/PositionPage.tsx
msgid "Collecting fees will withdraw currently available fees for you."
msgstr "手数料の収集は現在取得可能な手数料を引き出します。"
msgstr "報酬の取得は現在取得できる報酬を引き出します。"
#: src/components/SearchModal/CommonBases.tsx
msgid "Common bases"
@@ -469,12 +473,12 @@ msgstr "ウォレットで取引を確認する"
#: src/state/stake/hooks.ts
#: src/state/swap/hooks.ts
msgid "Connect Wallet"
msgstr "ウォレット接続"
msgstr "ウォレット接続"
#: src/components/earn/UnstakingModal.tsx
#: src/pages/Pool/index.tsx
msgid "Connect a wallet"
msgstr "ウォレット接続"
msgstr "ウォレット接続"
#: src/components/WalletModal/index.tsx
#: src/components/Web3Status/index.tsx
@@ -496,7 +500,7 @@ msgstr "ウォレットに接続して流動性を確認します。"
#: src/components/earn/ClaimRewardModal.tsx
#: src/pages/AddLiquidity/index.tsx
msgid "Connect wallet"
msgstr "ウォレット接続"
msgstr "ウォレット接続"
#: src/components/AccountDetails/index.tsx
msgid "Connected with {name}"
@@ -504,7 +508,7 @@ msgstr "{name} と接続しました"
#: src/components/AccountDetails/Copy.tsx
msgid "Copied"
msgstr "コピー"
msgstr "コピーしました"
#: src/components/AccountDetails/index.tsx
#: src/components/AccountDetails/index.tsx
@@ -513,7 +517,7 @@ msgstr "アドレスをコピー"
#: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx
msgid "Create Pool & Supply"
msgstr "プールおよび供給を作成"
msgstr "プール作成と流動性の追加"
#: src/components/NavigationTabs/index.tsx
#: src/pages/Pool/v2.tsx
@@ -526,7 +530,7 @@ msgstr "プールを作成"
#: src/components/ErrorBoundary/index.tsx
msgid "Create an issue on GitHub"
msgstr "GitHubでイシューを作成"
msgstr "GitHubでissueを作成する"
#: src/pages/AddLiquidity/index.tsx
msgid "Create pool and add {0}/{1} V3 liquidity"
@@ -534,7 +538,7 @@ msgstr "プールを作成し、 {0}/{1} のV3流動性を追加"
#: src/pages/PoolFinder/index.tsx
msgid "Create pool."
msgstr "プールを作成"
msgstr "プールを作成"
#: src/pages/AddLiquidity/index.tsx
msgid "Current Price"
@@ -566,35 +570,35 @@ msgstr "投票を委任中"
#: src/components/earn/StakingModal.tsx
#: src/pages/Earn/Manage.tsx
msgid "Deposit"
msgstr "デポジット"
msgstr "預け入れ"
#: src/pages/AddLiquidity/index.tsx
msgid "Deposit Amounts"
msgstr "デポジット額"
msgstr "預け入れる数量"
#: src/pages/Earn/Manage.tsx
msgid "Deposit UNI-V2 LP Tokens"
msgstr "UNI-V2 LPトークンをデポジット"
msgstr "UNI-V2 LP トークンを預け入れる"
#: src/components/earn/StakingModal.tsx
msgid "Deposit liquidity"
msgstr "デポジットの流動性"
msgstr "流動性を預ける"
#: src/pages/Earn/index.tsx
msgid "Deposit your Liquidity Provider tokens to receive UNI, the Uniswap protocol governance token."
msgstr "流動性プロバイダトークンをデポジットして、UniswapプロトコルのガバナンストークンであるUNIを受け取ります。"
msgstr "流動性トークンを預けて、UniswapプロトコルのガバナンストークンであるUNIを受け取ります。"
#: src/components/earn/UnstakingModal.tsx
msgid "Deposited liquidity:"
msgstr "デポジット済の流動性:"
msgstr "預け入れ流動性:"
#: src/components/earn/StakingModal.tsx
msgid "Deposited {0} UNI-V2"
msgstr "デポジット済の {0} UNI-V2"
msgstr "預け入れた {0} UNI-V2"
#: src/components/earn/StakingModal.tsx
msgid "Depositing Liquidity"
msgstr "流動性をデポジット中"
msgstr "流動性を預け入れ中"
#: src/pages/Vote/VotePage.tsx
msgid "Description"
@@ -618,11 +622,11 @@ msgstr "接続を解除"
#: src/components/Menu/index.tsx
msgid "Discord"
msgstr "不一致"
msgstr "Discord"
#: src/components/TransactionConfirmationModal/index.tsx
msgid "Dismiss"
msgstr "却下"
msgstr "注文を取り下げる"
#: src/components/Menu/index.tsx
msgid "Docs"
@@ -630,11 +634,11 @@ msgstr "資料"
#: src/pages/MigrateV2/index.tsx
msgid "Dont see one of your v2 positions? <0>Import it.</0>"
msgstr "V2のポジションのひとつが表示されませんか?<0>インポートしてください。</0>"
msgstr "V2の流動性が表示されない場合、該当のトークンを<0>インポート</0>してください"
#: src/components/vote/DelegateModal.tsx
msgid "Earned UNI tokens represent voting shares in Uniswap governance."
msgstr "獲得したUNIトークンは、Uniswapガバナンスにおける議決権を表します。"
msgstr "保有するUNIトークンは、Uniswapガバナンスにおける投票権を表します。"
#: src/state/burn/v3/hooks.ts
msgid "Enter a percent"
@@ -646,7 +650,7 @@ msgstr "受取人を入力"
#: src/components/TransactionSettings/index.tsx
msgid "Enter a valid slippage percentage"
msgstr "有効なスリッページの割合を入力してください"
msgstr "有効なスリッページのを入力してください"
#: src/components/claim/AddressClaimModal.tsx
msgid "Enter an address to trigger a UNI claim. If the address has any claimable UNI it will be sent to them on submission."
@@ -665,7 +669,7 @@ msgstr "数量を入力してください"
#: src/components/SearchModal/ManageLists.tsx
msgid "Enter valid list location"
msgstr "有効なリストの位置を入力してください"
msgstr "有効なリストの位置を入力ください"
#: src/components/SearchModal/ManageTokens.tsx
msgid "Enter valid token address"
@@ -691,19 +695,19 @@ msgstr "リストのインポートエラー"
#: src/components/SearchModal/CurrencyList.tsx
msgid "Expanded results from inactive Token Lists"
msgstr "アクティブでないトークンリストからの拡張検索結果"
msgstr "あなたが利用していないトークンリストからの検索結果"
#: src/components/Settings/index.tsx
msgid "Expert mode turns off the confirm transaction prompt and allows high slippage trades that often result in bad rates and lost funds."
msgstr "エキスパートモードは取引確認画面をスキップし、不利な価格や資金を失う可能性のある高スリッページ取引を許可します。"
msgstr "エキスパートモードは取引確認画面をスキップし、不利な価格や資金を失う可能性のある高スリッページ取引を許可します。"
#: src/pages/Pool/CTACards.tsx
msgid "Explore popular pools on Uniswap Analytics."
msgstr "Uniswap分析で人気のプールを探しましょう。"
msgstr "Uniswap分析サイトで人気のあるプールを探しましょう。"
#: src/components/PositionPreview/index.tsx
msgid "Fee Tier"
msgstr "手数料の段階"
msgstr "設定手数料"
#: src/pages/Vote/VotePage.tsx
msgid "For"
@@ -711,7 +715,7 @@ msgstr "賛成"
#: src/pages/MigrateV2/index.tsx
msgid "For each pool shown below, click migrate to remove your liquidity from Uniswap V2 and deposit it into Uniswap V3."
msgstr "以下の各プールについて「移行」ボタンをクリックして、Uniswap V2から流動性を取り除き、Uniswap V3にデポジットします。"
msgstr "以下の各流動性について「移行」ボタンをクリックすると、Uniswap V2から流動性を取り出し、Uniswap V3に移行します。"
#: src/components/swap/SwapModalHeader.tsx
#: src/pages/Swap/index.tsx
@@ -727,8 +731,8 @@ msgid "Get support on Discord"
msgstr "Discordでサポートを受ける"
#: src/pages/Pool/index.tsx
msgid "Hide closed positions"
msgstr "決済したポジションを隠す"
msgid "Hide"
msgstr "非表示"
#: src/pages/Swap/index.tsx
msgid "High Price Impact"
@@ -740,7 +744,7 @@ msgstr "理解しました"
#: src/components/SearchModal/ImportList.tsx
msgid "If you purchase a token from this list, you may not be able to sell it back."
msgstr "このリストからトークンを購入すると、トークンを売り戻せなくなる可能性があります。"
msgstr "このリストからトークンを購入すると、トークンを売却できなくなる可能性があります。"
#: src/components/SearchModal/ImportList.tsx
#: src/components/SearchModal/ImportRow.tsx
@@ -763,7 +767,7 @@ msgstr "V2プールのインポート"
#: src/components/SearchModal/ImportList.tsx
msgid "Import at your own risk"
msgstr "自己責任でインポート"
msgstr "自己責任でインポート"
#: src/components/Badge/RangeBadge.tsx
msgid "In range"
@@ -783,7 +787,7 @@ msgstr "初期化中..."
#: src/components/swap/SwapModalHeader.tsx
msgid "Input is estimated. You will sell at most <0>{0} {1}</0> or the transaction will revert."
msgstr "上記は見積です。最大<0>{0} {1}</0>売れなければ、取引は差し戻されます。"
msgstr "上記は概算です。最大<0>{0} {1}</0>売れなければ、取引は差し戻されます。"
#: src/components/WalletModal/index.tsx
msgid "Install Metamask"
@@ -807,7 +811,7 @@ msgstr "{0} の残高が足りません"
#: src/components/Settings/index.tsx
msgid "Interface Settings"
msgstr "インターフェイス設定"
msgstr "インターフェイス設定"
#: src/state/mint/hooks.ts
#: src/state/mint/v3/hooks.ts
@@ -825,11 +829,11 @@ msgstr "無効な価格入力"
#: src/pages/AddLiquidity/index.tsx
#: src/pages/MigrateV2/MigrateV2Pair.tsx
msgid "Invalid range selected. The min price must be lower than the max price."
msgstr "設定した価格帯は無効です。最小価格は最大価格より低くしてください。"
msgstr "設定した価格範囲が間違っています。最小価格は最大価格より低くしてください。"
#: src/state/swap/hooks.ts
msgid "Invalid recipient"
msgstr "受取人が無効です"
msgstr "受け取りアドレスが無効です"
#: src/pages/Pool/index.tsx
msgid "Learn"
@@ -846,11 +850,11 @@ msgstr "流動性プロバイダー手数料"
#: src/pages/Pool/v2.tsx
msgid "Liquidity provider rewards"
msgstr "流動性プロバイダー報酬"
msgstr "流動性提供者の報酬"
#: src/pages/Pool/v2.tsx
msgid "Liquidity providers earn a 0.3% fee on all trades proportional to their share of the pool. Fees are added to the pool, accrue in real time and can be claimed by withdrawing your liquidity."
msgstr "流動性プロバイダーは、プールのシェアに応じて、すべての取引で0.3%の手数料を取得します。手数料はプールに追加され、リアルタイムで発生します。手数料は流動性を引き出すことで請求できます。"
msgstr "流動性提供者はこのペアのすべての取引で発生する0.3%の手数料のうち、プールのシェアに応じた報酬を獲得します。 報酬はリアルタイムにプールに追加され、反映されます。報酬は流動性を引き出すことで請求できます。"
#: src/components/SearchModal/Manage.tsx
msgid "Lists"
@@ -894,7 +898,7 @@ msgstr "トークンリストを管理"
#: src/pages/PoolFinder/index.tsx
msgid "Manage this pool."
msgstr "このプールを管理します。"
msgstr "プールを管理"
#: src/pages/RemoveLiquidity/V3.tsx
msgid "Max"
@@ -911,11 +915,11 @@ msgstr "最大価格"
#: src/components/PositionListItem/index.tsx
msgid "Max:"
msgstr "最大:"
msgstr "最大"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Maximum sent"
msgstr "最大額送信済"
msgstr "最大売却数量"
#: src/components/PositionCard/Sushi.tsx
#: src/components/PositionCard/V2.tsx
@@ -965,7 +969,7 @@ msgstr "最小:"
#: src/components/swap/AdvancedSwapDetails.tsx
msgid "Minimum received"
msgstr "最小額を受取済"
msgstr "最小購入数量"
#: src/pages/Pool/index.tsx
msgid "More"
@@ -1010,7 +1014,7 @@ msgstr "ON"
#: src/components/Settings/index.tsx
msgid "ONLY USE THIS MODE IF YOU KNOW WHAT YOU ARE DOING."
msgstr "このモードは、自分が何をしているかわかっている場合にのみお使いください。"
msgstr "このモードは、あなたが何をしているかを理解している場合にのみご使用ください。"
#: src/components/Toggle/index.tsx
msgid "Off"
@@ -1022,7 +1026,7 @@ msgstr "ON"
#: src/pages/AddLiquidityV2/index.tsx
msgid "Once you are happy with the rate click supply to review."
msgstr "レートに納得しているのであれば、供給をクリックしてレビューします。"
msgstr "価格に問題がなければ、「追加」をクリックして確認します。"
#: src/pages/Vote/VotePage.tsx
msgid "Only UNI votes that were self delegated or delegated to another address before block {0} are eligible for voting."
@@ -1039,11 +1043,11 @@ msgstr "範囲外"
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
msgid "Output is estimated. If the price changes by more than {0}% your transaction will revert."
msgstr "取引結果が見積もられました。価格が {0}%以上変化した場合、取引は差し戻されす。"
msgstr "取引結果は概算です。価格が {0}%以上変化した場合、取引は差し戻される見込みです。"
#: src/components/swap/SwapModalHeader.tsx
msgid "Output is estimated. You will receive at least <0>{0} {1}</0> or the transaction will revert."
msgstr "取引結果は概算です。少なくとも<0>{0} {1}</0>は受け取るか、取引は差し戻されます。"
msgstr "取引結果は概算です。<0>{0} {1}</0> 以上を買えない場合は、取引は差し戻されます。"
#: src/components/swap/SwapModalHeader.tsx
msgid "Output will be sent to <0>{0}</0>"
@@ -1096,7 +1100,7 @@ msgstr "報酬プール内のプールトークン:"
#: src/pages/RemoveLiquidity/V3.tsx
#: src/pages/RemoveLiquidity/V3.tsx
msgid "Pooled {0}:"
msgstr "プール {0}:"
msgstr "プールしている {0}:"
#: src/pages/Pool/index.tsx
msgid "Pools Overview"
@@ -1121,12 +1125,12 @@ msgstr "価格の影響が大きすぎます"
#: src/components/swap/SwapModalHeader.tsx
msgid "Price Updated"
msgstr "価格更新"
msgstr "価格更新されています"
#: src/components/PositionList/index.tsx
#: src/pages/Pool/PositionPage.tsx
msgid "Price range"
msgstr "価格"
msgstr "価格範囲"
#: src/pages/RemoveLiquidity/index.tsx
msgid "Price:"
@@ -1225,7 +1229,7 @@ msgstr "取引ルート"
#: src/components/SearchModal/CurrencySearch.tsx
msgid "Search name or paste address"
msgstr "名前を検索またはアドレスを貼り付けてください"
msgstr "トークン名またはアドレス"
#: src/components/FeeSelector/index.tsx
msgid "Select Pool"
@@ -1233,7 +1237,7 @@ msgstr "プールを選択"
#: src/components/FeeSelector/index.tsx
msgid "Select a pool type based on your preferred liquidity provider fee."
msgstr "希望する流動性プロバイダ手数料に基づいてプールタイプをお選びください。"
msgstr "希望する手数料率のプールをお選びください。"
#: src/components/CurrencyInputPanel/index.tsx
#: src/components/SearchModal/CurrencySearch.tsx
@@ -1253,7 +1257,7 @@ msgstr "ペアを選択"
#: src/pages/AddLiquidity/index.tsx
msgid "Selected Range"
msgstr "選択した価格"
msgstr "設定した価格範囲"
#: src/pages/Vote/index.tsx
msgid "Self"
@@ -1266,7 +1270,7 @@ msgstr "自己委任する"
#: src/pages/AddLiquidity/index.tsx
#: src/pages/MigrateV2/MigrateV2Pair.tsx
msgid "Set Price Range"
msgstr "価格を設定"
msgstr "価格範囲を設定"
#: src/pages/AddLiquidity/index.tsx
msgid "Set Starting Price"
@@ -1280,6 +1284,10 @@ msgstr "プールのシェア"
msgid "Share of Pool:"
msgstr "プールのシェア:"
#: src/pages/Pool/index.tsx
msgid "Show"
msgstr "表示"
#: src/components/AccountDetails/index.tsx
msgid "Show Portis"
msgstr "Portisを表示"
@@ -1328,11 +1336,11 @@ msgstr "スワップ"
#: src/pages/Swap/index.tsx
#: src/pages/Swap/index.tsx
msgid "Swap Anyway"
msgstr "とにかくスワップする"
msgstr "問題発生の可能性があるが、スワップする"
#: src/components/swap/ConfirmSwapModal.tsx
msgid "Swapping {0} {1} for {2} {3}"
msgstr "{0} {1} を {2} {3} スワップ中"
msgstr "{0} {1} を {2} {3} スワップ中"
#: src/components/Popups/ClaimPopup.tsx
msgid "Thanks for being part of the Uniswap community <0/>"
@@ -1340,19 +1348,19 @@ msgstr "Uniswapコミュニティにご参加いただきありがとうござ
#: src/hooks/useSwapCallback.ts
msgid "The Uniswap invariant x*y=k was not satisfied by the swap. This usually means one of the tokens you are swapping incorporates custom behavior on transfer."
msgstr "Uniswap不変式 x * y = kはスワップで満たされませんでした。これは通常、スワップするトークンの1つが送時のカスタム動作を組み込んでいることを意味します。"
msgstr "Uniswap不変式 x * y = kはスワップで満たされませんでした。これは通常、スワップするトークンの1つが送時のカスタム動作を組み込んでいることを意味します。"
#: src/hooks/useSwapCallback.ts
msgid "The input token cannot be transferred. There may be an issue with the input token."
msgstr "入力したトークンは送信できません。入力したトークンに問題がある可能性があります。"
msgstr "売るトークンが転送できません。売るトークンに問題がある可能性があります。"
#: src/components/CurrencyInputPanel/index.tsx
msgid "The market price is outside your specified price range. Single-asset deposit only."
msgstr "市場価格があなたの設定価格帯から外れています。単一トークンのみデポジットできます。"
msgstr "市場価格が設定した価格範囲から外れています。単一トークンのみ預け入れできます。"
#: src/hooks/useSwapCallback.ts
msgid "The output token cannot be transferred. There may be an issue with the output token."
msgstr "買うトークンは送信できません。買うトークンに問題がある可能性があります。"
msgstr "買うトークンが転送できません。買うトークンに問題がある可能性があります。"
#: src/hooks/useSwapCallback.ts
msgid "The output token cannot be transferred. There may be an issue with the output token. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
@@ -1360,19 +1368,19 @@ msgstr "購入するトークンは転送できません。購入するトーク
#: src/components/Badge/RangeBadge.tsx
msgid "The price of this pool is outside of your selected range. Your position is not currently earning fees."
msgstr "現在の価格はあなたの設定価格帯から外れています。そのため、現時点であなたのポジションは報酬を獲得しません。"
msgstr "現在の価格は設定した価格範囲から外れています。そのため、現時点であなたのポジションは報酬を獲得しません。"
#: src/components/Badge/RangeBadge.tsx
msgid "The price of this pool is within your selected range. Your position is currently earning fees."
msgstr "このプールの価格はあなたの設定価格帯に入っています。現在あなたのポジションは手数料を獲得しています。"
msgstr "現在の価格は設定した価格範囲に入っています。そのため、あなたの流動性は現在、報酬を獲得しています。"
#: src/pages/AddLiquidityV2/index.tsx
msgid "The ratio of tokens you add will set the price of this pool."
msgstr "追加するトークンの比率によって、このプールの価格が決まります。"
msgstr "追加するトークンの比率によって、プールの価格が決まります。"
#: src/hooks/useSwapCallback.ts
msgid "The transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low."
msgstr "期限が過ぎたため、取引を送信できませんでした。あなたの取引期限が短くないことをご確認ください。"
msgstr "期限が過ぎたため、取引を送信できませんでした。期限が短すぎないかご確認ください。"
#: src/components/SearchModal/CommonBases.tsx
msgid "These tokens are commonly paired with other tokens."
@@ -1384,7 +1392,7 @@ msgstr "このトークンはご利用中のトークンリストに存在しま
#: src/pages/MigrateV2/MigrateV2Pair.tsx
msgid "This tool will safely migrate your {0} liquidity to V3. The process is completely trustless thanks to the"
msgstr "本ツールで {0} の流動性をV3に安全に移行します。このプロセスは完全に管理者が存在しません"
msgstr "本ツールで {0} の流動性をV3に安全に移行します。移行コントラクトは"
#: src/hooks/useSwapCallback.ts
msgid "This transaction will not succeed due to price movement. Try increasing your slippage tolerance. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
@@ -1392,11 +1400,11 @@ msgstr "価格変動により、この取引は成功しません。スリッペ
#: src/hooks/useSwapCallback.ts
msgid "This transaction will not succeed either due to price movement or fee on transfer. Try increasing your slippage tolerance."
msgstr "この取引は、価格変動または送信手数料のいずれかの理由により成功しません。スリッページの許容範囲を広げてみてください。"
msgstr "この取引は、価格変動または転送時に手数料が発生するため、成功しません。スリッページの許容範囲を広げてみてください。"
#: src/components/SearchModal/ManageTokens.tsx
msgid "Tip: Custom tokens are stored locally in your browser"
msgstr "ヒント: カスタムトークンはブラウザ内ローカル保存されます"
msgstr "ヒントカスタムトークンの設定はブラウザ内ローカル保存されます"
#: src/components/swap/SwapModalHeader.tsx
#: src/pages/Swap/index.tsx
@@ -1409,7 +1417,7 @@ msgstr "買うトークン(少なくとも)"
#: src/components/Settings/index.tsx
msgid "Toggle Expert Mode"
msgstr "エキスパートモードに切り替え"
msgstr "エキスパートモード"
#: src/components/SearchModal/Manage.tsx
msgid "Tokens"
@@ -1429,11 +1437,11 @@ msgstr "総供給"
#: src/components/earn/PoolCard.tsx
msgid "Total deposited"
msgstr "合計デポジット額"
msgstr "合計預入数量"
#: src/pages/Earn/Manage.tsx
msgid "Total deposits"
msgstr "合計デポジット"
msgstr "合計預入額"
#: src/components/Settings/index.tsx
msgid "Transaction Settings"
@@ -1462,7 +1470,7 @@ msgstr "エキスパートモードをオンにする"
#: src/components/Popups/ClaimPopup.tsx
msgid "UNI has arrived"
msgstr "UNI到着"
msgstr "UNIの登場"
#: src/components/Header/UniBalanceContent.tsx
msgid "UNI in circulation:"
@@ -1474,11 +1482,11 @@ msgstr "UNIの価格:"
#: src/pages/Vote/index.tsx
msgid "UNI tokens represent voting shares in Uniswap governance. You can vote on each proposal yourself or delegate your votes to a third party."
msgstr "UNIトークンはUniswapガバナンスにおける議決権を表します。各提案に対して自分で投票するか、もしくは第三者に投票を委任できます。"
msgstr "UNIトークンはUniswapガバナンスにおける投票権を表します。各提案に対して自分で投票するか、もしくは第三者に投票を委任することができます。"
#: src/pages/RemoveLiquidity/index.tsx
msgid "UNI {0}/{1} Burned"
msgstr "UNI {0}/{1}消費済"
msgstr "削除される UNI {0}/{1}"
#: src/pages/Earn/Manage.tsx
msgid "UNI-V2 LP tokens are required. Once you've added liquidity to the {0}-{1} pool you can stake your liquidity tokens on this page."
@@ -1495,11 +1503,11 @@ msgstr "未請求のUNI"
#: src/pages/Pool/PositionPage.tsx
msgid "Unclaimed fees"
msgstr "未請求の手数料"
msgstr "未請求の報酬"
#: src/components/Header/UniBalanceContent.tsx
msgid "Unclaimed:"
msgstr "未請求:"
msgstr "未請求"
#: src/pages/Vote/index.tsx
msgid "Uniswap Governance"
@@ -1511,7 +1519,7 @@ msgstr "Uniswap V3登場"
#: src/components/SwitchLocaleLink/index.tsx
msgid "Uniswap available in: <0>{0}</0>"
msgstr "Uniswapが利用可能: <0>{0}</0>"
msgstr "利用可能言語: <0>{0}</0>"
#: src/pages/Earn/index.tsx
msgid "Uniswap liquidity mining"
@@ -1519,7 +1527,7 @@ msgstr "Uniswap流動性マイニング"
#: src/pages/MigrateV2/MigrateV2Pair.tsx
msgid "Uniswap migration contract↗"
msgstr "Uniswap移行コントラクト↗"
msgstr "こちら↗"
#: src/components/SearchModal/ImportToken.tsx
msgid "Unknown Source"
@@ -1546,7 +1554,7 @@ msgstr "投票のロックを解除中"
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/Swap/index.tsx
msgid "Unsupported Asset"
msgstr "サポートされていないアセット"
msgstr "サポートされていないトークン"
#: src/components/swap/UnsupportedCurrencyFooter.tsx
msgid "Unsupported Assets"
@@ -1579,23 +1587,23 @@ msgstr "V3"
#: src/pages/MigrateV2/MigrateV2Pair.tsx
#: src/pages/MigrateV2/MigrateV2Pair.tsx
msgid "V3 {0} Price:"
msgstr "V3 {0} 価格:"
msgstr "v3 {0} 価格:"
#: src/components/Header/UniBalanceContent.tsx
msgid "View UNI Analytics"
msgstr "UNI アナリティクスを見る"
msgstr "UNI 分析サイトを表示"
#: src/pages/Pool/index.tsx
msgid "View V2 Liquidity"
msgstr "V2の流動性を見る"
msgstr "V2の流動性を表示"
#: src/components/PositionCard/index.tsx
msgid "View accrued fees and analytics<0>↗</0>"
msgstr "発生した手数料とアナリティクスを見る<0>↗</0>"
msgstr "発生した報酬と分析を見る<0>↗</0>"
#: src/components/SearchModal/ManageLists.tsx
msgid "View list"
msgstr "リストを見る"
msgstr "リストを表示"
#: src/components/AccountDetails/index.tsx
#: src/components/AccountDetails/index.tsx
@@ -1608,7 +1616,7 @@ msgstr "エクスプローラーで見る"
#: src/components/claim/ClaimModal.tsx
#: src/components/vote/VoteModal.tsx
msgid "View transaction on Explorer"
msgstr "エクスプローラーで取引をる"
msgstr "エクスプローラーで取引を表示する"
#: src/components/Header/index.tsx
msgid "Vote"
@@ -1650,15 +1658,15 @@ msgstr "週次の報酬"
#: src/components/claim/AddressClaimModal.tsx
msgid "Welcome to team Unicorn :)"
msgstr "チーム ユニコーンへようこそ:)"
msgstr "チーム ユニコーンへようこそ"
#: src/components/earn/ClaimRewardModal.tsx
msgid "When you claim without withdrawing your liquidity remains in the mining pool."
msgstr "流動性を引き出さずに請求すると、流動性はマイニングプールに残ります。"
msgstr "流動性を引き出すことなく、請求すると、流動性はマイニングプールに残ります。"
#: src/pages/Earn/Manage.tsx
msgid "When you withdraw, the contract will automagically claim UNI on your behalf!"
msgstr "引き出すと、コントラクトはあなたに代わって自動UNIを請求します"
msgstr "引き出すと、コントラクトはあなたに代わって自動的にUNIを請求します"
#: src/components/earn/UnstakingModal.tsx
msgid "When you withdraw, your UNI is claimed and your liquidity is removed from the mining pool."
@@ -1676,7 +1684,7 @@ msgstr "引き出しと請求"
#: src/components/earn/UnstakingModal.tsx
#: src/components/earn/UnstakingModal.tsx
msgid "Withdraw deposited liquidity"
msgstr "デポジットした流動性を引き出す"
msgstr "預け入れた流動性を引き出す"
#: src/components/earn/UnstakingModal.tsx
msgid "Withdrawing {0} UNI-V2"
@@ -1684,7 +1692,7 @@ msgstr "{0} UNI-V2を引き出し中"
#: src/components/earn/UnstakingModal.tsx
msgid "Withdrew UNI-V2!"
msgstr "UNI-V2を引き出しました"
msgstr "UNI-V2を引き出しました"
#: src/pages/Swap/index.tsx
msgid "Wrap"
@@ -1701,7 +1709,7 @@ msgstr "プールを作成しています"
#: src/pages/MigrateV2/MigrateV2Pair.tsx
msgid "You are the first liquidity provider for this Uniswap V3 pool. Your liquidity will migrate at the current {0} price."
msgstr "あなたはUniswap V3プールの最初の流動性プロバイダです。あなたの流動性は現在 {0} での価格で移行されます。"
msgstr "あなたはUniswap V3プールの最初の流動性提供者です。流動性は現在 {0} での価格で移行されます。"
#: src/pages/AddLiquidityV2/index.tsx
msgid "You are the first liquidity provider."
@@ -1729,11 +1737,11 @@ msgstr "{0}を使用するには、Uniswapスマートコントラクトに許
#: src/pages/MigrateV2/MigrateV2Pair.tsx
msgid "You should only deposit liquidity into Uniswap V3 at a price you believe is correct. <0/>If the price seems incorrect, you can either make a swap to move the price or wait for someone else to do so."
msgstr "Uniswap V3への流動性のデポジットは、正しいと思われる価格でのみ行ってください。<0/>もし価格が正しくないと思われる場合は、スワップをして価格を動かすか、他の人がそうするのを待つことができます。"
msgstr "Uniswap V3への流動性の預け入れは、正しいと思われる価格でのみ行ってください。<0/>もし価格が正しくないと思われる場合は、スワップをして価格を動かすか、他の人が同様のことをするのを待つことができます。"
#: src/pages/RemoveLiquidity/V3.tsx
msgid "You will also collect fees earned from this position."
msgstr "また、このポジションから得られた手数料も受け取ります。"
msgstr "また、このポジションから得られた報酬も受け取ります。"
#: src/pages/AddLiquidityV2/index.tsx
#: src/pages/RemoveLiquidity/index.tsx
@@ -1754,11 +1762,11 @@ msgstr "V3の流動性ポジションはこちらに表示されます。"
#: src/pages/Earn/Manage.tsx
msgid "Your liquidity deposits"
msgstr "流動性のデポジット"
msgstr "預け入れた流動性"
#: src/pages/AddLiquidity/index.tsx
msgid "Your liquidity will only earn fees when the market price of the pair is within your range. <0>Need help picking a range?</0>"
msgstr "あなたの流動性は、ペアの市場価格があなたの範囲内にある場合のみ手数料を得ます。<0>価格帯のヘルプが必要ですか?</0>"
msgstr "流動性は、設定する価格範囲にペアの市場価格が入っている場合のみ報酬を獲得します。 価格帯の設定ガイドは<0>こちら</0>"
#: src/components/PositionCard/V2.tsx
#: src/components/PositionCard/index.tsx
@@ -1772,7 +1780,7 @@ msgstr "ポジション"
#: src/components/Badge/RangeBadge.tsx
msgid "Your position has 0 liquidity, and is not earning fees."
msgstr "あなたのポジションには流動性がないため、手数料を得られません。"
msgstr "あなたのポジションには流動性がないため、報酬を得られません。"
#: src/components/PositionPreview/index.tsx
#: src/components/PositionPreview/index.tsx
@@ -1787,7 +1795,7 @@ msgstr "この価格であなたのポジションは100%の {0} になります
#: src/pages/AddLiquidity/index.tsx
#: src/pages/MigrateV2/MigrateV2Pair.tsx
msgid "Your position will not earn fees or be used in trades until the market price moves into your range."
msgstr "市場価格が設定した価格に入るまで、あなたのポジションは手数料を得られず、取引にも使われません。"
msgstr "市場価格が設定した価格範囲に入るまで、あなたのポジションは報酬を得られず、取引にも使われません。"
#: src/components/PositionList/index.tsx
#: src/components/PositionList/index.tsx
@@ -1796,12 +1804,12 @@ msgstr "ポジション"
#: src/components/earn/PoolCard.tsx
msgid "Your rate"
msgstr "あなたのレート"
msgstr "あなたの価格"
#: src/components/PositionCard/V2.tsx
#: src/components/PositionCard/index.tsx
msgid "Your total pool tokens:"
msgstr "合計プールトークン:"
msgstr "流動性トークン合計:"
#: src/pages/MigrateV2/MigrateV2Pair.tsx
msgid "Your transaction cost will be much higher as it includes the gas to create the pool."
@@ -1845,7 +1853,7 @@ msgstr "靴下の絵文字があります"
#: src/components/SearchModal/ManageLists.tsx
msgid "https:// or ipfs:// or ENS name"
msgstr "https://またはipfs://またはENS"
msgstr "https://ipfs://またはENS"
#: src/components/TransactionSettings/index.tsx
msgid "minutes"
@@ -1861,7 +1869,7 @@ msgstr "{0} トークンリストから"
#: src/components/SearchModal/ImportToken.tsx
msgid "{0, plural, one {Import token} other {Import tokens}}"
msgstr "{0, plural, other {Import tokens}}"
msgstr "{0, plural, one {トークンをインポート} other {トークンをインポート}}"
#: src/components/PositionCard/index.tsx
#: src/pages/Vote/VotePage.tsx
@@ -1872,7 +1880,7 @@ msgstr "{0} %"
#: src/components/PositionListItem/index.tsx
#: src/components/PositionListItem/index.tsx
msgid "{0} <0/> per <1/>"
msgstr "{0} <0/>あたり<1/>"
msgstr "{0} <0/> / <1/>"
#: src/components/SearchModal/ManageTokens.tsx
msgid "{0} Custom Tokens"
@@ -1881,7 +1889,7 @@ msgstr "{0} カスタムトークン"
#: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx
#: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx
msgid "{0} Deposited"
msgstr "{0}デポジット済"
msgstr "預け入れる {0}"
#: src/components/Header/index.tsx
msgid "{0} ETH"
@@ -1892,7 +1900,7 @@ msgstr "{0} ETH"
#: src/pages/RemoveLiquidity/V3.tsx
#: src/pages/RemoveLiquidity/V3.tsx
msgid "{0} Fees Earned:"
msgstr "{0} の手数料を獲得:"
msgstr "{0} の獲得した報酬:"
#: src/components/Web3Status/index.tsx
msgid "{0} Pending"
@@ -1979,7 +1987,7 @@ msgstr "{0}/{1} LP NFT"
#: src/pages/MigrateV2/MigrateV2Pair.tsx
msgid "{0}/{1} LP Tokens"
msgstr "{0}/{1} LPトークン"
msgstr "{0}/{1} 流動性トークン"
#: src/components/claim/ClaimModal.tsx
msgid "{SOCKS_AMOUNT} UNI"
@@ -2003,5 +2011,5 @@ msgstr "~$ <0/>"
#: src/pages/Pool/PositionPage.tsx
msgid "← Back to Pools Overview"
msgstr "プール概要に戻る"
msgstr "プール概要に戻る"

View File

@@ -1,6 +1,6 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
"POT-Creation-Date: 2021-06-21 15:11+0000\n"
"Mime-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -14,7 +14,7 @@ msgstr ""
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Korean\n"
"PO-Revision-Date: 2021-06-15 00:08\n"
"PO-Revision-Date: 2021-06-21 16:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -128,8 +128,8 @@ msgid "<0>🎉 </0>Welcome to team Unicorn :) <1>🎉</1>"
msgstr "<0> 🎉</0> Unicorn 팀에 오신 것을 환영합니다. :) <1> 🎉</1>"
#: src/pages/Vote/index.tsx
msgid "A minimum threshold of 1% of the total UNI supply is required to submit proposals"
msgstr "제안서를 제출하려면 총 UNI 공급량의 최소 1 %가 필요합니다."
msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals"
msgstr "제안서를 제출하려면 총 UNI 공급량의 최소 0.25 %가 필요합니다."
#: src/components/Menu/index.tsx
msgid "About"
@@ -223,8 +223,8 @@ msgid "Amount"
msgstr "금액"
#: src/hooks/useSwapCallback.ts
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "이 스왑을 실행하는 중에 오류가 발생했습니다. 슬리피지 허용치를 높여야 할 수도 있습니다. 그래도 지 않으면 거래중인 토큰과 호환되지 않을 수 있습니다. 이체 및 리베이스 토큰에 대한 수수료가 Uniswap V3와 호환되지 않을 수도 있음에 유의하십시오."
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "이 스왑을 실행하는 중에 오류가 발생했습니다. 미끄러짐 허용치를 높여야 할 수도 있습니다. 그래도 작동하지 않으면 거래중인 토큰과 호환되지 않을 수 있습니다. 참고 : 전송 수수료 및 리베이스 토큰 Uniswap V3와 호환되지 않습니다."
#: src/components/Menu/index.tsx
msgid "Analytics"
@@ -400,6 +400,10 @@ msgstr "닫기"
msgid "Closed"
msgstr "닫힘"
#: src/pages/Pool/index.tsx
msgid "Closed positions"
msgstr "폐쇄 포지션"
#: src/components/Menu/index.tsx
msgid "Code"
msgstr "코드"
@@ -727,8 +731,8 @@ msgid "Get support on Discord"
msgstr "Discord에서 지원 받기"
#: src/pages/Pool/index.tsx
msgid "Hide closed positions"
msgstr "마감된 포지션 숨기기"
msgid "Hide"
msgstr "숨는 장소"
#: src/pages/Swap/index.tsx
msgid "High Price Impact"
@@ -1280,6 +1284,10 @@ msgstr "풀 쉐어"
msgid "Share of Pool:"
msgstr "풀 쉐어:"
#: src/pages/Pool/index.tsx
msgid "Show"
msgstr "보여 주다"
#: src/components/AccountDetails/index.tsx
msgid "Show Portis"
msgstr "Portis 표시"
@@ -1336,7 +1344,7 @@ msgstr "{0} {1} 을 {2} {3}(으)로 스왑"
#: src/components/Popups/ClaimPopup.tsx
msgid "Thanks for being part of the Uniswap community <0/>"
msgstr "Uniswap 커뮤니티에 참여해 주셔서 감사합니다. <0 />"
msgstr "Uniswap 커뮤니티에 참여해 주셔서 감사합니다. <0/>"
#: src/hooks/useSwapCallback.ts
msgid "The Uniswap invariant x*y=k was not satisfied by the swap. This usually means one of the tokens you are swapping incorporates custom behavior on transfer."

View File

@@ -1,6 +1,6 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
"POT-Creation-Date: 2021-06-21 15:11+0000\n"
"Mime-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -14,7 +14,7 @@ msgstr ""
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Dutch\n"
"PO-Revision-Date: 2021-06-15 03:07\n"
"PO-Revision-Date: 2021-06-21 16:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -128,8 +128,8 @@ msgid "<0>🎉 </0>Welcome to team Unicorn :) <1>🎉</1>"
msgstr "<0>🎉 </0>Welkom bij team Unicorn :) <1>🎉</1>"
#: src/pages/Vote/index.tsx
msgid "A minimum threshold of 1% of the total UNI supply is required to submit proposals"
msgstr "Een minimumdrempel van 1% van de totale UNI-voorraad is vereist om voorstellen in te dienen"
msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals"
msgstr "Een minimumdrempel van 0,25% van het totale UNI-aanbod is vereist om voorstellen in te dienen"
#: src/components/Menu/index.tsx
msgid "About"
@@ -223,8 +223,8 @@ msgid "Amount"
msgstr "Bedrag"
#: src/hooks/useSwapCallback.ts
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Er is een fout opgetreden bij het uitvoeren van deze wissel. U dient mogelijk uw slippage-tolerantie te vergroten. Als dat niet werkt, is er mogelijk een incompatibiliteit met het token dat u verhandelt. Let op: kosten voor transfer- en rebase-tokens zijn niet compatibel met Uniswap V3."
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Er is een fout opgetreden bij het uitvoeren van deze swap. Mogelijk moet u uw sliptolerantie verhogen. Als dat niet werkt, is er mogelijk een incompatibiliteit met het token dat u verhandelt. Let op: kosten voor overdracht en rebase tokens zijn niet compatibel met Uniswap V3."
#: src/components/Menu/index.tsx
msgid "Analytics"
@@ -400,6 +400,10 @@ msgstr "Sluiten"
msgid "Closed"
msgstr "Gesloten"
#: src/pages/Pool/index.tsx
msgid "Closed positions"
msgstr "Gesloten posities"
#: src/components/Menu/index.tsx
msgid "Code"
msgstr "Code"
@@ -727,8 +731,8 @@ msgid "Get support on Discord"
msgstr "Ontvang ondersteuning op Discord"
#: src/pages/Pool/index.tsx
msgid "Hide closed positions"
msgstr "Verberg gesloten posities"
msgid "Hide"
msgstr "Zich verstoppen"
#: src/pages/Swap/index.tsx
msgid "High Price Impact"
@@ -1280,6 +1284,10 @@ msgstr "Aandeel in pool"
msgid "Share of Pool:"
msgstr "Aandeel in pool:"
#: src/pages/Pool/index.tsx
msgid "Show"
msgstr "Tonen"
#: src/components/AccountDetails/index.tsx
msgid "Show Portis"
msgstr "Toon Portis"

View File

@@ -1,6 +1,6 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
"POT-Creation-Date: 2021-06-21 15:11+0000\n"
"Mime-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -14,7 +14,7 @@ msgstr ""
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Norwegian\n"
"PO-Revision-Date: 2021-06-14 18:04\n"
"PO-Revision-Date: 2021-06-21 16:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -128,8 +128,8 @@ msgid "<0>🎉 </0>Welcome to team Unicorn :) <1>🎉</1>"
msgstr "<0>🎉 </0>Velkommen til team Unicorn :) <1>🎉</1>"
#: src/pages/Vote/index.tsx
msgid "A minimum threshold of 1% of the total UNI supply is required to submit proposals"
msgstr "En minimumsgrense på 1 % av samlet UNI-forsyning kreves for å sende inn forslag"
msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals"
msgstr "En minimumsterskel på 0,25% av den totale UNI-forsyningen kreves for å sende inn forslag"
#: src/components/Menu/index.tsx
msgid "About"
@@ -223,8 +223,8 @@ msgid "Amount"
msgstr "Beløp"
#: src/hooks/useSwapCallback.ts
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Det oppstod en feil under forsøk på å utføre denne byttingen. Det kan hende du må øke glidetoleransen. Hvis det ikke fungerer, kan det være en inkompatibilitet med symbolet du handler. Noteringsgebyr ved overføring og rebase-polletter er inkompatibelt med Uniswap V3."
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Det oppstod en feil under forsøket på å utføre dette byttet. Det kan hende du må øke glidetoleransen. Hvis det ikke fungerer, kan det være en inkompatibilitet med symbolet du handler. Merk: gebyr ved overføring og rebase-tokens er inkompatibelt med Uniswap V3."
#: src/components/Menu/index.tsx
msgid "Analytics"
@@ -400,6 +400,10 @@ msgstr "Lukk"
msgid "Closed"
msgstr "Lukket"
#: src/pages/Pool/index.tsx
msgid "Closed positions"
msgstr "Stengte stillinger"
#: src/components/Menu/index.tsx
msgid "Code"
msgstr "Kode"
@@ -727,8 +731,8 @@ msgid "Get support on Discord"
msgstr "Få støtte på Discord"
#: src/pages/Pool/index.tsx
msgid "Hide closed positions"
msgstr "Skjul avsluttede posisjoner"
msgid "Hide"
msgstr "Gjemme seg"
#: src/pages/Swap/index.tsx
msgid "High Price Impact"
@@ -1280,6 +1284,10 @@ msgstr "Andel av pott"
msgid "Share of Pool:"
msgstr "Deling av pott:"
#: src/pages/Pool/index.tsx
msgid "Show"
msgstr "Vise fram"
#: src/components/AccountDetails/index.tsx
msgid "Show Portis"
msgstr "Vis portis"
@@ -1336,7 +1344,7 @@ msgstr "Bytte {0} {1} mot {2} {3}"
#: src/components/Popups/ClaimPopup.tsx
msgid "Thanks for being part of the Uniswap community <0/>"
msgstr "Takk for at du er en del av Uniswap-fellesskapet <0 />"
msgstr "Takk for at du er en del av Uniswap-fellesskapet <0/>"
#: src/hooks/useSwapCallback.ts
msgid "The Uniswap invariant x*y=k was not satisfied by the swap. This usually means one of the tokens you are swapping incorporates custom behavior on transfer."

View File

@@ -1,6 +1,6 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
"POT-Creation-Date: 2021-06-21 15:11+0000\n"
"Mime-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -14,7 +14,7 @@ msgstr ""
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Polish\n"
"PO-Revision-Date: 2021-06-14 18:04\n"
"PO-Revision-Date: 2021-06-21 16:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -128,8 +128,8 @@ msgid "<0>🎉 </0>Welcome to team Unicorn :) <1>🎉</1>"
msgstr "<0>🎉 </0>Witamy w zespole Unicorn :) <1>🎉</1>"
#: src/pages/Vote/index.tsx
msgid "A minimum threshold of 1% of the total UNI supply is required to submit proposals"
msgstr "Do składania wniosków wymagany jest minimalny próg 1 % całkowitej podaży UNI."
msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals"
msgstr "Minimalny próg 0,25% całkowitej podaży UNI jest wymagany do składania ofert"
#: src/components/Menu/index.tsx
msgid "About"
@@ -223,8 +223,8 @@ msgid "Amount"
msgstr "Kwota"
#: src/hooks/useSwapCallback.ts
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Wystąpił błąd podczas próby wykonania tej zamiany. Konieczne może być zwiększenie tolerancji na poślizg. Jeśli to nie zadziała, może wystąpić niekompatybilność z tokenem, którym handlujesz. Uwaga opłaty za tokeny transferu i rebase są niezgodne z Uniswap V3."
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Wystąpił błąd podczas próby wykonania tej wymiany. Może być konieczne zwiększenie tolerancji na poślizg. Jeśli to nie zadziała, może występować niezgodność z tokenem, którym handlujesz. Uwaga: opłata za transfer i rebase tokeny są niezgodne z Uniswap V3."
#: src/components/Menu/index.tsx
msgid "Analytics"
@@ -400,6 +400,10 @@ msgstr "Zamknij"
msgid "Closed"
msgstr "Zamknięte"
#: src/pages/Pool/index.tsx
msgid "Closed positions"
msgstr "Pozycje zamknięte"
#: src/components/Menu/index.tsx
msgid "Code"
msgstr "Kod"
@@ -727,8 +731,8 @@ msgid "Get support on Discord"
msgstr "Uzyskaj wsparcie na Discordzie"
#: src/pages/Pool/index.tsx
msgid "Hide closed positions"
msgstr "Ukryj zamknięte pozycje"
msgid "Hide"
msgstr "Ukryć"
#: src/pages/Swap/index.tsx
msgid "High Price Impact"
@@ -1280,6 +1284,10 @@ msgstr "Udział puli"
msgid "Share of Pool:"
msgstr "Udział w puli:"
#: src/pages/Pool/index.tsx
msgid "Show"
msgstr "Pokazać"
#: src/components/AccountDetails/index.tsx
msgid "Show Portis"
msgstr "Show Portis"

View File

@@ -1,6 +1,6 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
"POT-Creation-Date: 2021-06-21 15:11+0000\n"
"Mime-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -14,7 +14,7 @@ msgstr ""
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Portuguese, Brazilian\n"
"PO-Revision-Date: 2021-06-14 18:04\n"
"PO-Revision-Date: 2021-06-21 16:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -128,8 +128,8 @@ msgid "<0>🎉 </0>Welcome to team Unicorn :) <1>🎉</1>"
msgstr "<0>🎉 </0>Seja bem-vindo à Equipe Unicórnio :) <1>🎉</1>"
#: src/pages/Vote/index.tsx
msgid "A minimum threshold of 1% of the total UNI supply is required to submit proposals"
msgstr "Um patamar mínimo de 1% do fornecimento total de UNI é obrigatório para enviar propostas"
msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals"
msgstr "Um limite mínimo de 0,25% do fornecimento total da UNI é necessário para enviar propostas"
#: src/components/Menu/index.tsx
msgid "About"
@@ -223,8 +223,8 @@ msgid "Amount"
msgstr "Valor"
#: src/hooks/useSwapCallback.ts
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Ocorreu um erro ao tentar executar esta conversão. Pode ser preciso aumentar sua tolerância às discrepâncias. Se não der certo, pode haver incompatibilidade com o token que você está negociando. Observe que a taxa sobre transferências e os tokens de reembasamento são incompatíveis com o Uniswap V3."
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Ocorreu um erro ao tentar executar esta troca. Pode ser necessário aumentar sua tolerância ao deslizamento. Se isso não funcionar, pode haver uma incompatibilidade com o token que você está negociando. Nota: a taxa de transferência e tokens de rebase são incompatíveis com Uniswap V3."
#: src/components/Menu/index.tsx
msgid "Analytics"
@@ -400,6 +400,10 @@ msgstr "Fechar"
msgid "Closed"
msgstr "Fechado"
#: src/pages/Pool/index.tsx
msgid "Closed positions"
msgstr "Posições fechadas"
#: src/components/Menu/index.tsx
msgid "Code"
msgstr "Código"
@@ -727,8 +731,8 @@ msgid "Get support on Discord"
msgstr "Obtenha suporte em caso de Discordância"
#: src/pages/Pool/index.tsx
msgid "Hide closed positions"
msgstr "Ocultar posições fechadas"
msgid "Hide"
msgstr "Esconder"
#: src/pages/Swap/index.tsx
msgid "High Price Impact"
@@ -1280,6 +1284,10 @@ msgstr "Compartilhamento de Lotes"
msgid "Share of Pool:"
msgstr "Compartilhamento do Lote:"
#: src/pages/Pool/index.tsx
msgid "Show"
msgstr "mostrar"
#: src/components/AccountDetails/index.tsx
msgid "Show Portis"
msgstr "Exibir Portas"

View File

@@ -1,6 +1,6 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
"POT-Creation-Date: 2021-06-21 15:11+0000\n"
"Mime-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -14,7 +14,7 @@ msgstr ""
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Portuguese\n"
"PO-Revision-Date: 2021-06-14 18:04\n"
"PO-Revision-Date: 2021-06-21 16:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -128,8 +128,8 @@ msgid "<0>🎉 </0>Welcome to team Unicorn :) <1>🎉</1>"
msgstr "<0>🎉 </0>Bem-vindo à equipa Unicórnio :) <1>🎉</1>"
#: src/pages/Vote/index.tsx
msgid "A minimum threshold of 1% of the total UNI supply is required to submit proposals"
msgstr "Um limiar mínimo de 1% do total da oferta de UNI é necessário para apresentar propostas"
msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals"
msgstr "Um limite mínimo de 0,25% do fornecimento total da UNI é necessário para enviar propostas"
#: src/components/Menu/index.tsx
msgid "About"
@@ -223,8 +223,8 @@ msgid "Amount"
msgstr "Quantia"
#: src/hooks/useSwapCallback.ts
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Ocorreu um erro ao tentar executar esta troca. Pode ter de aumentar a sua tolerância ao deslizamento. Se isso não funcionar, pode haver uma incompatibilidade com o token que está a negociar. Note que a comissão sobre transferência e tokens de rebase são incompatíveis com Uniswap V3."
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Ocorreu um erro ao tentar executar esta troca. Pode ser necessário aumentar sua tolerância ao deslizamento. Se isso não funcionar, pode haver uma incompatibilidade com o token que você está negociando. Nota: a taxa de transferência e tokens de rebase são incompatíveis com Uniswap V3."
#: src/components/Menu/index.tsx
msgid "Analytics"
@@ -400,6 +400,10 @@ msgstr "Fechar"
msgid "Closed"
msgstr "Fechado"
#: src/pages/Pool/index.tsx
msgid "Closed positions"
msgstr "Posições fechadas"
#: src/components/Menu/index.tsx
msgid "Code"
msgstr "Código"
@@ -727,8 +731,8 @@ msgid "Get support on Discord"
msgstr "Obtenha suporte no Discord"
#: src/pages/Pool/index.tsx
msgid "Hide closed positions"
msgstr "Ocultar posições fechadas"
msgid "Hide"
msgstr "Esconder"
#: src/pages/Swap/index.tsx
msgid "High Price Impact"
@@ -1280,6 +1284,10 @@ msgstr "Parcela da Pool"
msgid "Share of Pool:"
msgstr "Parcela da Pool:"
#: src/pages/Pool/index.tsx
msgid "Show"
msgstr "mostrar"
#: src/components/AccountDetails/index.tsx
msgid "Show Portis"
msgstr "Apresentar Portis"

View File

@@ -1,6 +1,6 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
"POT-Creation-Date: 2021-06-21 15:11+0000\n"
"Mime-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -14,7 +14,7 @@ msgstr ""
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Romanian\n"
"PO-Revision-Date: 2021-06-14 18:04\n"
"PO-Revision-Date: 2021-06-21 16:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -101,7 +101,7 @@ msgstr "Voturi <0/>"
#: src/pages/Pool/v2.tsx
msgid "<0>Account analytics and accrued fees</0><1> ↗ </1>"
msgstr "<0>Statistici cont și comisioane acumulate</0><1> ↗ </1>"
msgstr "<0>Statisticile contului și comisioane acumulate</0><1> ↗ </1>"
#: src/pages/Swap/index.tsx
msgid "<0>Back to </0>V3"
@@ -128,8 +128,8 @@ msgid "<0>🎉 </0>Welcome to team Unicorn :) <1>🎉</1>"
msgstr "<0>🎉 </0>Bine ai venit la echipa Unicorn :) <1>🎉</1>"
#: src/pages/Vote/index.tsx
msgid "A minimum threshold of 1% of the total UNI supply is required to submit proposals"
msgstr "Este necesar un prag minim de 1 % din totalul ofertei UNI pentru prezentarea de propuneri"
msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals"
msgstr "Pentru depunerea propunerilor este necesar un prag minim de 0,25% din totalul aprovizionării UNI"
#: src/components/Menu/index.tsx
msgid "About"
@@ -223,9 +223,8 @@ msgid "Amount"
msgstr "Sumă"
#: src/hooks/useSwapCallback.ts
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "A apărut o eroare la încercarea de a executa acest schimb. Este posibil să fie nevoie să îți mărești toleranța la alunecare. Dacă acest lucru nu funcționează, poate exista o incompatibilitate cu jetonul pe care îl tranzacționezi. Atenție că taxele jetoanelor de transfer și rebase sunt \n"
" incompatibile cu Uniswap V3."
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "A apărut o eroare la încercarea de a executa acest swap. Este posibil să fie nevoie să mări toleranța la alunecare. Dacă acest lucru nu funcționează, poate exista o incompatibilitate cu jetonul pe care îl tranzacționi. Notă: taxa pentru jetoane de transfer și rebase sunt incompatibile cu Uniswap V3."
#: src/components/Menu/index.tsx
msgid "Analytics"
@@ -401,6 +400,10 @@ msgstr "Închide"
msgid "Closed"
msgstr "Închis"
#: src/pages/Pool/index.tsx
msgid "Closed positions"
msgstr "Poziții închise"
#: src/components/Menu/index.tsx
msgid "Code"
msgstr "Cod"
@@ -728,8 +731,8 @@ msgid "Get support on Discord"
msgstr "Obține asistență pentru Discord"
#: src/pages/Pool/index.tsx
msgid "Hide closed positions"
msgstr "Ascunde pozițiile închise"
msgid "Hide"
msgstr "Ascunde"
#: src/pages/Swap/index.tsx
msgid "High Price Impact"
@@ -1281,6 +1284,10 @@ msgstr "Cota de Grup"
msgid "Share of Pool:"
msgstr "Cota de Grup:"
#: src/pages/Pool/index.tsx
msgid "Show"
msgstr "Spectacol"
#: src/components/AccountDetails/index.tsx
msgid "Show Portis"
msgstr "Arată Portis"

View File

@@ -1,6 +1,6 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
"POT-Creation-Date: 2021-06-21 15:11+0000\n"
"Mime-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -14,7 +14,7 @@ msgstr ""
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Russian\n"
"PO-Revision-Date: 2021-06-14 18:04\n"
"PO-Revision-Date: 2021-06-22 08:04\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -128,8 +128,8 @@ msgid "<0>🎉 </0>Welcome to team Unicorn :) <1>🎉</1>"
msgstr "<0>🎉 </0>Добро пожаловать в команду единорогов :) <1>🎉</1>"
#: src/pages/Vote/index.tsx
msgid "A minimum threshold of 1% of the total UNI supply is required to submit proposals"
msgstr "Для внесения предложений требуется минимальный порог в 1% от общего предложения UNI"
msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals"
msgstr "Для внесения предложений требуется минимальный порог в 0,25% от общего предложения UNI"
#: src/components/Menu/index.tsx
msgid "About"
@@ -223,8 +223,8 @@ msgid "Amount"
msgstr "Сумма"
#: src/hooks/useSwapCallback.ts
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Произошла ошибка при попытке произвести этот обмен. Возможно, нужно увеличить допустимое проскальзывание. Если это не сработает, возможно, имеет место несовместимость с токеном, которым вы торгуете. Токены с комиссией за перевод или изменяемой базой несовместимы с Uniswap V3."
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Произошла ошибка при попытке произвести этот обмен. Возможно, нужно увеличить допустимое проскальзывание. Если это не сработает, возможно, имеет место несовместимость с токеном, которым вы торгуете. Обратите внимание: токены с комиссией за перевод или изменяемой базой несовместимы с Uniswap V3."
#: src/components/Menu/index.tsx
msgid "Analytics"
@@ -316,7 +316,7 @@ msgstr "Добавляя этот список, вы подразумевает
#: src/components/WalletModal/index.tsx
msgid "By connecting a wallet, you agree to Uniswap Labs <0>Terms of Service</0> and acknowledge that you have read and understand the <1>Uniswap protocol disclaimer</1>."
msgstr "Подключая кошелёк, вы соглашаетесь с <0>Условиями предоставления услуг</0> Uniswap Labs и подтверждаете, что прочитали и поняли <1>Отказ от претензий протокола Uniswap </1>."
msgstr "Подключая кошелёк, вы соглашаетесь с <0>Условиями предоставления услуг</0> Uniswap Labs и подтверждаете, что прочитали и поняли <1>Отказ от претензий протокола Uniswap</1>."
#: src/components/AccountDetails/index.tsx
msgid "Change"
@@ -400,6 +400,10 @@ msgstr "Закрыть"
msgid "Closed"
msgstr "Закрыто"
#: src/pages/Pool/index.tsx
msgid "Closed positions"
msgstr "Закрытые позиции"
#: src/components/Menu/index.tsx
msgid "Code"
msgstr "Код"
@@ -727,8 +731,8 @@ msgid "Get support on Discord"
msgstr "Получите поддержку в Discord"
#: src/pages/Pool/index.tsx
msgid "Hide closed positions"
msgstr "Скрыть закрытые позиции"
msgid "Hide"
msgstr "Скрыть"
#: src/pages/Swap/index.tsx
msgid "High Price Impact"
@@ -1280,6 +1284,10 @@ msgstr "Доля в пуле"
msgid "Share of Pool:"
msgstr "Доля в пуле:"
#: src/pages/Pool/index.tsx
msgid "Show"
msgstr "Показать"
#: src/components/AccountDetails/index.tsx
msgid "Show Portis"
msgstr "Показать Portis"
@@ -1336,7 +1344,7 @@ msgstr "Идет обмен {0} {1} на {2} {3}"
#: src/components/Popups/ClaimPopup.tsx
msgid "Thanks for being part of the Uniswap community <0/>"
msgstr "Спасибо, что присоединились к сообществу Uniswap <0 />"
msgstr "Спасибо, что присоединились к сообществу Uniswap <0/>"
#: src/hooks/useSwapCallback.ts
msgid "The Uniswap invariant x*y=k was not satisfied by the swap. This usually means one of the tokens you are swapping incorporates custom behavior on transfer."

View File

@@ -1,6 +1,6 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
"POT-Creation-Date: 2021-06-21 15:11+0000\n"
"Mime-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -14,7 +14,7 @@ msgstr ""
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Serbian (Cyrillic)\n"
"PO-Revision-Date: 2021-06-14 18:04\n"
"PO-Revision-Date: 2021-06-21 16:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -128,8 +128,8 @@ msgid "<0>🎉 </0>Welcome to team Unicorn :) <1>🎉</1>"
msgstr "<0> 🎉</0> Добродошли у тим Unicorn :) <1> 🎉</1>"
#: src/pages/Vote/index.tsx
msgid "A minimum threshold of 1% of the total UNI supply is required to submit proposals"
msgstr "За подношење предлога потребан је минимални праг од 1% укупне УНИ понуде"
msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals"
msgstr "За подношење предлога потребан је минимални праг од 0,25% укупне УНИ понуде"
#: src/components/Menu/index.tsx
msgid "About"
@@ -223,8 +223,8 @@ msgid "Amount"
msgstr "Износ"
#: src/hooks/useSwapCallback.ts
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Дошло је до грешке приликом покушаја извршења ове замене. Можда ћете морати да повећате клизну толеранцију. Ако то не успе, можда доћи до некомпатибилности са токеном којим тргујете. Накнада за пренос и постављање базне вредности токена није компатибилна са Uniswap V3."
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Дошло је до грешке приликом покушаја извршења ове замене. Можда ћете морати повећати толеранцију клизања. Ако то не успе, можда постоји некомпатибилност са токеном којим тргујете. Напомена: накнада за токене за пренос и пребазу није компатибилна са Унисвап В3."
#: src/components/Menu/index.tsx
msgid "Analytics"
@@ -400,6 +400,10 @@ msgstr "Затвори"
msgid "Closed"
msgstr "Затворено"
#: src/pages/Pool/index.tsx
msgid "Closed positions"
msgstr "Затворене позиције"
#: src/components/Menu/index.tsx
msgid "Code"
msgstr "Код"
@@ -727,8 +731,8 @@ msgid "Get support on Discord"
msgstr "Затражите подршку на Discord-у"
#: src/pages/Pool/index.tsx
msgid "Hide closed positions"
msgstr "Сакриј затворене позиције"
msgid "Hide"
msgstr "Сакрити"
#: src/pages/Swap/index.tsx
msgid "High Price Impact"
@@ -1280,6 +1284,10 @@ msgstr "Удео фонда"
msgid "Share of Pool:"
msgstr "Удео фонда:"
#: src/pages/Pool/index.tsx
msgid "Show"
msgstr "Прикажи"
#: src/components/AccountDetails/index.tsx
msgid "Show Portis"
msgstr "Прикажи Portis"

View File

@@ -1,6 +1,6 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
"POT-Creation-Date: 2021-06-21 15:11+0000\n"
"Mime-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -14,7 +14,7 @@ msgstr ""
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Swedish\n"
"PO-Revision-Date: 2021-06-14 18:04\n"
"PO-Revision-Date: 2021-06-21 16:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -128,8 +128,8 @@ msgid "<0>🎉 </0>Welcome to team Unicorn :) <1>🎉</1>"
msgstr "<0>🎉 </0>Välkommen till teamet Unicorn :) <1>🎉</1>"
#: src/pages/Vote/index.tsx
msgid "A minimum threshold of 1% of the total UNI supply is required to submit proposals"
msgstr "En minimitröskel på 1 procent av totala UNI-utbudet krävs för att lägga fram förslag"
msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals"
msgstr "En minimitröskel på 0,25% av det totala UNI-utbudet krävs för att skicka in förslag"
#: src/components/Menu/index.tsx
msgid "About"
@@ -223,8 +223,8 @@ msgid "Amount"
msgstr "Belopp"
#: src/hooks/useSwapCallback.ts
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Ett fel uppstod när denna swap skulle genomföras. Du kan behöva öka din toleransmarginal. Om det inte fungerar kan det finnas en oförenlighet med den token du handlar. Kom ihåg att avgifter för överföring och rebase tokens är oförenliga med Uniswap V3."
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Ett fel uppstod när det här försöket skulle genomföras. Du kan behöva öka din glidningstolerans. Om det inte fungerar kan det finnas en inkompatibilitet med det token du handlar. Obs: avgift för överföring och rebase-tokens är oförenliga med Uniswap V3."
#: src/components/Menu/index.tsx
msgid "Analytics"
@@ -400,6 +400,10 @@ msgstr "Stäng"
msgid "Closed"
msgstr "Stängd"
#: src/pages/Pool/index.tsx
msgid "Closed positions"
msgstr "Stängda positioner"
#: src/components/Menu/index.tsx
msgid "Code"
msgstr "Kod"
@@ -727,8 +731,8 @@ msgid "Get support on Discord"
msgstr "Få support angående brist på överensstämmelse"
#: src/pages/Pool/index.tsx
msgid "Hide closed positions"
msgstr "Dölj stängda positioner"
msgid "Hide"
msgstr "Dölj"
#: src/pages/Swap/index.tsx
msgid "High Price Impact"
@@ -1280,6 +1284,10 @@ msgstr "Andel av poolen"
msgid "Share of Pool:"
msgstr "Andel av Pool:"
#: src/pages/Pool/index.tsx
msgid "Show"
msgstr "Show"
#: src/components/AccountDetails/index.tsx
msgid "Show Portis"
msgstr "Visa Portis"
@@ -1336,7 +1344,7 @@ msgstr "Byter ut {0} {1} mot {2} {3}"
#: src/components/Popups/ClaimPopup.tsx
msgid "Thanks for being part of the Uniswap community <0/>"
msgstr "Tack för att du deltar i Uniswap-gemenskapen<0 />"
msgstr "Tack för att du deltar i Uniswap-gemenskapen<0/>"
#: src/hooks/useSwapCallback.ts
msgid "The Uniswap invariant x*y=k was not satisfied by the swap. This usually means one of the tokens you are swapping incorporates custom behavior on transfer."

View File

@@ -1,6 +1,6 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
"POT-Creation-Date: 2021-06-21 15:11+0000\n"
"Mime-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -14,7 +14,7 @@ msgstr ""
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Turkish\n"
"PO-Revision-Date: 2021-06-14 18:04\n"
"PO-Revision-Date: 2021-06-21 16:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -128,8 +128,8 @@ msgid "<0>🎉 </0>Welcome to team Unicorn :) <1>🎉</1>"
msgstr "<0> 🎉</0> Unicorn takımına hoş geldiniz :) <1> 🎉</1>"
#: src/pages/Vote/index.tsx
msgid "A minimum threshold of 1% of the total UNI supply is required to submit proposals"
msgstr "Teklifleri sunmak için toplam UNI arzının en az %1'i kadar bir eşik gereklidir"
msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals"
msgstr "Teklifleri sunmak için toplam UNI arzının minimum %0,25'i gereklidir"
#: src/components/Menu/index.tsx
msgid "About"
@@ -223,8 +223,8 @@ msgid "Amount"
msgstr "Miktar"
#: src/hooks/useSwapCallback.ts
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Bu swap'ı gerçekleştirmeye çalışırken bir hata oluştu. Kayma toleransınızı artırmanız gerekebilir. Bu işe yaramazsa, işlem yaptığınız jetonla uyumsuzluk olabilir. Transfer ve yeniden ödeme jetonları üzerindeki ücretin, Uniswap V3 ile uyumlu olmadığına dikkat edin."
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Bu takas yürütülmeye çalışılırken bir hata oluştu. Kayma toleransınızı artırmanız gerekebilir. Bu işe yaramazsa, işlem yaptığınız token ile uyumsuzluk olabilir. Not: Transfer ve rebase jetonlarındaki ücret, Uniswap V3 ile uyumlu değildir."
#: src/components/Menu/index.tsx
msgid "Analytics"
@@ -400,6 +400,10 @@ msgstr "Kapat"
msgid "Closed"
msgstr "Kapalı"
#: src/pages/Pool/index.tsx
msgid "Closed positions"
msgstr "Kapalı pozisyonlar"
#: src/components/Menu/index.tsx
msgid "Code"
msgstr "Kod"
@@ -727,8 +731,8 @@ msgid "Get support on Discord"
msgstr "Discord ile ilgili destek alın"
#: src/pages/Pool/index.tsx
msgid "Hide closed positions"
msgstr "Kapalı pozisyonları gizle"
msgid "Hide"
msgstr "Saklamak"
#: src/pages/Swap/index.tsx
msgid "High Price Impact"
@@ -1280,6 +1284,10 @@ msgstr "Havuz Payı"
msgid "Share of Pool:"
msgstr "Havuz Payı:"
#: src/pages/Pool/index.tsx
msgid "Show"
msgstr "Göstermek"
#: src/components/AccountDetails/index.tsx
msgid "Show Portis"
msgstr "Portis'i göster"

View File

@@ -1,6 +1,6 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
"POT-Creation-Date: 2021-06-21 15:11+0000\n"
"Mime-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -14,7 +14,7 @@ msgstr ""
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Ukrainian\n"
"PO-Revision-Date: 2021-06-14 22:04\n"
"PO-Revision-Date: 2021-06-21 16:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -128,8 +128,8 @@ msgid "<0>🎉 </0>Welcome to team Unicorn :) <1>🎉</1>"
msgstr "<0>🎉 </0>Вітаємо в команді Unicorn :) <1>🎉</1>"
#: src/pages/Vote/index.tsx
msgid "A minimum threshold of 1% of the total UNI supply is required to submit proposals"
msgstr "Для подання пропозицій необхідний мінімальний поріг 1% від загальної кількості UNI"
msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals"
msgstr "Для подання пропозицій необхідний мінімальний поріг 0,25% від загальної кількості UNI"
#: src/components/Menu/index.tsx
msgid "About"
@@ -223,8 +223,8 @@ msgid "Amount"
msgstr "Сума"
#: src/hooks/useSwapCallback.ts
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Під час спроби цього обміну сталася помилка. Можливо, вам доведеться збільшити толерантність до проковзування. Якщо це не спрацює, то ймовірне існування несумісності з токеном, яким ви торгуєте. Зауважте, що плата за перенесення й перебазування токенів несумісна з Uniswap V3."
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Під час спроби виконати цей обмін сталася помилка. Можливо, вам доведеться збільшити толерантність до ковзання. Якщо це не спрацює, можливо, існує несумісність з токеном, яким ви торгуєте. Примітка: плата за перенесення та перебазування токенів несумісні з Uniswap V3."
#: src/components/Menu/index.tsx
msgid "Analytics"
@@ -400,6 +400,10 @@ msgstr "Закрити"
msgid "Closed"
msgstr "Закрито"
#: src/pages/Pool/index.tsx
msgid "Closed positions"
msgstr "Закриті позиції"
#: src/components/Menu/index.tsx
msgid "Code"
msgstr "Код"
@@ -727,8 +731,8 @@ msgid "Get support on Discord"
msgstr "Отримайте підтримку в Discord"
#: src/pages/Pool/index.tsx
msgid "Hide closed positions"
msgstr "Приховати закриті позиції"
msgid "Hide"
msgstr "Сховати"
#: src/pages/Swap/index.tsx
msgid "High Price Impact"
@@ -1280,6 +1284,10 @@ msgstr "Частка пулу"
msgid "Share of Pool:"
msgstr "Частка пулу:"
#: src/pages/Pool/index.tsx
msgid "Show"
msgstr "Показати"
#: src/components/AccountDetails/index.tsx
msgid "Show Portis"
msgstr "Показати Portis"
@@ -1729,7 +1737,7 @@ msgstr "Ви маєте дати дозвіл розумних контракт
#: src/pages/MigrateV2/MigrateV2Pair.tsx
msgid "You should only deposit liquidity into Uniswap V3 at a price you believe is correct. <0/>If the price seems incorrect, you can either make a swap to move the price or wait for someone else to do so."
msgstr "Ви маєте вносити ліквідність у Uniswap V3 лише за ціною, яку ви вважаєте правильною. <0 /> Якщо ціна здається неправильною, ви можете здійснити обмін, аби перемістити ціну, або дочекатися, поки цього зробить хтось інший."
msgstr "Ви маєте вносити ліквідність у Uniswap V3 лише за ціною, яку ви вважаєте правильною. <0/> Якщо ціна здається неправильною, ви можете здійснити обмін, аби перемістити ціну, або дочекатися, поки цього зробить хтось інший."
#: src/pages/RemoveLiquidity/V3.tsx
msgid "You will also collect fees earned from this position."

View File

@@ -1,6 +1,6 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
"POT-Creation-Date: 2021-06-21 15:11+0000\n"
"Mime-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -14,7 +14,7 @@ msgstr ""
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Vietnamese\n"
"PO-Revision-Date: 2021-06-14 18:04\n"
"PO-Revision-Date: 2021-06-21 16:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -128,8 +128,8 @@ msgid "<0>🎉 </0>Welcome to team Unicorn :) <1>🎉</1>"
msgstr "<0>🎉 </0> Chào mừng đến với đội Unicorn :) <1> 🎉</1>"
#: src/pages/Vote/index.tsx
msgid "A minimum threshold of 1% of the total UNI supply is required to submit proposals"
msgstr "Yêu cầu ngưỡng tối thiểu 1% tổng nguồn cung cấp UNI để gửi đề xuất"
msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals"
msgstr "Yêu cầu ngưỡng tối thiểu 0,25% tổng nguồn cung cấp UNI để gửi đề xuất"
#: src/components/Menu/index.tsx
msgid "About"
@@ -223,8 +223,8 @@ msgid "Amount"
msgstr "Số tiền"
#: src/hooks/useSwapCallback.ts
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Đã xảy ra lỗi khi cố gắng thực hiện hoán đổi này. Bạn có thể cần phải tăng khả năng chịu trượt của mình. Nếu điều đó không hiệu quả, có thể có sự không tương thích với mã token bạn đang giao dịch. Lưu ý phí chuyển và mã token rebase không tương thích với Uniswap V3."
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "Đã xảy ra lỗi khi cố gắng thực hiện hoán đổi này. Bạn có thể cần phải tăng khả năng chịu trượt của mình. Nếu điều đó không hiệu quả, có thể có sự không tương thích với mã thông báo bạn đang giao dịch. Lưu ý: phí chuyển và mã thông báo rebase không tương thích với Uniswap V3."
#: src/components/Menu/index.tsx
msgid "Analytics"
@@ -400,6 +400,10 @@ msgstr "Đóng"
msgid "Closed"
msgstr "Đã đóng cửa"
#: src/pages/Pool/index.tsx
msgid "Closed positions"
msgstr "Các vị trí đã đóng"
#: src/components/Menu/index.tsx
msgid "Code"
msgstr "Mã"
@@ -727,8 +731,8 @@ msgid "Get support on Discord"
msgstr "Nhận hỗ trợ về Discord"
#: src/pages/Pool/index.tsx
msgid "Hide closed positions"
msgstr "Ẩn các vị trí đã đóng"
msgid "Hide"
msgstr "Ẩn giấu"
#: src/pages/Swap/index.tsx
msgid "High Price Impact"
@@ -1280,6 +1284,10 @@ msgstr "Chia sẻ của Pool"
msgid "Share of Pool:"
msgstr "Chia sẻ của Pool:"
#: src/pages/Pool/index.tsx
msgid "Show"
msgstr "Chỉ"
#: src/components/AccountDetails/index.tsx
msgid "Show Portis"
msgstr "Hiển thị Portis"
@@ -1336,7 +1344,7 @@ msgstr "Đổi {0} {1} lấy {2} {3}"
#: src/components/Popups/ClaimPopup.tsx
msgid "Thanks for being part of the Uniswap community <0/>"
msgstr "Cảm ơn bạn đã tham gia cộng đồng Uniswap <0 />"
msgstr "Cảm ơn bạn đã tham gia cộng đồng Uniswap <0/>"
#: src/hooks/useSwapCallback.ts
msgid "The Uniswap invariant x*y=k was not satisfied by the swap. This usually means one of the tokens you are swapping incorporates custom behavior on transfer."

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
"POT-Creation-Date: 2021-06-21 15:11+0000\n"
"Mime-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -14,7 +14,7 @@ msgstr ""
"X-Crowdin-File-ID: 4\n"
"Project-Id-Version: uniswap-interface\n"
"Language-Team: Chinese Traditional\n"
"PO-Revision-Date: 2021-06-14 18:04\n"
"PO-Revision-Date: 2021-06-21 16:05\n"
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
@@ -128,8 +128,8 @@ msgid "<0>🎉 </0>Welcome to team Unicorn :) <1>🎉</1>"
msgstr "<0>🎉</0>歡迎加入Unicorn獨角獸團隊 :) <1>🎉</1>"
#: src/pages/Vote/index.tsx
msgid "A minimum threshold of 1% of the total UNI supply is required to submit proposals"
msgstr "提交提案的最低門檻為 UNI 代幣總供應量的1%。"
msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals"
msgstr "提交提案所需的最低門檻為 UNI 總供應量的 0.25%"
#: src/components/Menu/index.tsx
msgid "About"
@@ -208,7 +208,7 @@ msgstr "允許高兌換率影響的交易,並跳過確認步驟。須自行承
#: src/pages/Swap/index.tsx
msgid "Allow the Uniswap Protocol to use your {0}"
msgstr "允許 Uniswap 協議使用您的 {0}"
msgstr "允許 Uniswap 使用您的 {0}"
#: src/pages/MigrateV2/MigrateV2Pair.tsx
msgid "Allowed"
@@ -223,8 +223,8 @@ msgid "Amount"
msgstr "數額"
#: src/hooks/useSwapCallback.ts
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "嘗試執行此換時發生錯誤。您可能需要增加滑點限製。如果還是不行,則可能是您正在交易的代幣與 Uniswap 不相容。註轉賬時帶扣除費用fee-on-transfer的代幣和會自動重新定價rebase的代幣都與Uniswap V3不兼容。"
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "嘗試執行此換時出錯。您可能需要增加您的滑點容忍度。如果這不起作用,則可能與您交易的代幣不兼容。注意:轉賬和 rebase 代幣的費用與 Uniswap V3 不兼容。"
#: src/components/Menu/index.tsx
msgid "Analytics"
@@ -264,7 +264,7 @@ msgstr "您確定嗎?"
#: src/components/claim/ClaimModal.tsx
msgid "As a member of the Uniswap community you may claim UNI to be used for voting and governance.<0/><1/><2>Read more about UNI</2>"
msgstr "作為 Uniswap 社群的成員,您可以認領 UNI 代幣,用於投票和治理。<0/><1/><2>閱讀更多關於 UNI 的訊息</2>"
msgstr "作為 Uniswap 社群的成員,您可以認領 UNI 代幣,用於投票和治理。<0/><1/><2>閱讀更多關於 UNI 代幣的訊息</2>"
#: src/pages/MigrateV2/MigrateV2Pair.tsx
msgid "At least {0} {1} and {2} {3} will be refunded to your wallet due to selected price range."
@@ -351,7 +351,7 @@ msgstr "領取 UNI 代幣"
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/ClaimRewardModal.tsx
msgid "Claim accumulated UNI rewards"
msgstr "領取累積的 UNI 獎勵"
msgstr "領取累積的 UNI 代幣獎勵"
#: src/pages/Pool/PositionPage.tsx
msgid "Claim fees"
@@ -368,7 +368,7 @@ msgstr "已領取"
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/UnstakingModal.tsx
msgid "Claimed UNI!"
msgstr "已領取 UNI"
msgstr "已領取 UNI 代幣"
#: src/components/claim/AddressClaimModal.tsx
msgid "Claiming"
@@ -376,12 +376,12 @@ msgstr "領取中"
#: src/components/Header/index.tsx
msgid "Claiming UNI"
msgstr "正在領取 UNI"
msgstr "正在領取 UNI 代幣"
#: src/components/earn/ClaimRewardModal.tsx
#: src/components/earn/UnstakingModal.tsx
msgid "Claiming {0} UNI"
msgstr "正在領取 {0} UNI"
msgstr "正在領取 {0} UNI 代幣"
#: src/pages/AddLiquidity/index.tsx
msgid "Clear All"
@@ -400,6 +400,10 @@ msgstr "關閉"
msgid "Closed"
msgstr "已關閉"
#: src/pages/Pool/index.tsx
msgid "Closed positions"
msgstr "平倉"
#: src/components/Menu/index.tsx
msgid "Code"
msgstr "代碼"
@@ -513,7 +517,7 @@ msgstr "複製地址"
#: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx
msgid "Create Pool & Supply"
msgstr "創建流動池和供應"
msgstr "創建流動池和供應流動資金"
#: src/components/NavigationTabs/index.tsx
#: src/pages/Pool/v2.tsx
@@ -566,11 +570,11 @@ msgstr "委托投票"
#: src/components/earn/StakingModal.tsx
#: src/pages/Earn/Manage.tsx
msgid "Deposit"
msgstr "存款"
msgstr "充值"
#: src/pages/AddLiquidity/index.tsx
msgid "Deposit Amounts"
msgstr "存款數額"
msgstr "充值數額"
#: src/pages/Earn/Manage.tsx
msgid "Deposit UNI-V2 LP Tokens"
@@ -602,7 +606,7 @@ msgstr "描述"
#: src/pages/RemoveLiquidity/index.tsx
msgid "Detailed"
msgstr "詳細"
msgstr "詳細信息"
#: src/pages/Vote/VotePage.tsx
msgid "Details"
@@ -630,7 +634,7 @@ msgstr "文檔"
#: src/pages/MigrateV2/index.tsx
msgid "Dont see one of your v2 positions? <0>Import it.</0>"
msgstr "看不到您的一些 v2 流動資金嗎?<0>將它手動入。</0>"
msgstr "看不到您的一些 v2 流動資金嗎?<0>將它手動入。</0>"
#: src/components/vote/DelegateModal.tsx
msgid "Earned UNI tokens represent voting shares in Uniswap governance."
@@ -687,7 +691,7 @@ msgstr "連接錯誤。請嘗試刷新頁面。"
#: src/components/SearchModal/ManageLists.tsx
msgid "Error importing list"
msgstr "入列表時出錯"
msgstr "入列表時出錯"
#: src/components/SearchModal/CurrencyList.tsx
msgid "Expanded results from inactive Token Lists"
@@ -699,7 +703,7 @@ msgstr "“專家模式”將解除確認交易的提示,並允許兌換率高
#: src/pages/Pool/CTACards.tsx
msgid "Explore popular pools on Uniswap Analytics."
msgstr "在 Uniswap 分析中探索較受歡迎的流動池。"
msgstr "在 Uniswap 數據分析中探索較受歡迎的流動池。"
#: src/components/PositionPreview/index.tsx
msgid "Fee Tier"
@@ -716,19 +720,19 @@ msgstr "對於下面顯示的每個流動池,單擊“遷移”以從 Uniswap
#: src/components/swap/SwapModalHeader.tsx
#: src/pages/Swap/index.tsx
msgid "From"
msgstr "自"
msgstr "自"
#: src/pages/Swap/index.tsx
msgid "From (at most)"
msgstr " (最多)"
msgstr "來源 (最多)"
#: src/components/ErrorBoundary/index.tsx
msgid "Get support on Discord"
msgstr "在 Discord 上尋求技術支持"
#: src/pages/Pool/index.tsx
msgid "Hide closed positions"
msgstr "隱藏已關閉的倉位"
msgid "Hide"
msgstr "隱藏"
#: src/pages/Swap/index.tsx
msgid "High Price Impact"
@@ -747,23 +751,23 @@ msgstr "如果您從這個代幣列表中購買代幣,您可能無法再將其
#: src/components/SearchModal/ImportToken.tsx
#: src/components/SearchModal/ManageLists.tsx
msgid "Import"
msgstr "入"
msgstr "入"
#: src/components/SearchModal/ImportList.tsx
msgid "Import List"
msgstr "匯入列表"
msgstr "導入代幣列表"
#: src/pages/Pool/v2.tsx
msgid "Import Pool"
msgstr "入流動池"
msgstr "入流動池"
#: src/components/NavigationTabs/index.tsx
msgid "Import V2 Pool"
msgstr "入 V2 流動池"
msgstr "入 V2 流動池"
#: src/components/SearchModal/ImportList.tsx
msgid "Import at your own risk"
msgstr "自行承擔入的風險"
msgstr "自行承擔入的風險"
#: src/components/Badge/RangeBadge.tsx
msgid "In range"
@@ -791,11 +795,11 @@ msgstr "安裝Metamask"
#: src/pages/Swap/index.tsx
msgid "Insufficient liquidity for this trade."
msgstr "現有流動資金不足以支持此交易。"
msgstr "現有流動不足以支持此交易。"
#: src/pages/Swap/index.tsx
msgid "Insufficient liquidity for this trade. Try enabling multi-hop trades."
msgstr "現有流動資金不足以支持此交易。請嘗試啟用“多節點”(多跳式)交易途徑。"
msgstr "現有流動不足以支持此交易。請嘗試啟用“多節點”(多跳式)交易途徑。"
#: src/state/mint/hooks.ts
#: src/state/mint/hooks.ts
@@ -829,7 +833,7 @@ msgstr "選擇的範圍無效。最小兌換率必須低於最大兌換率。"
#: src/state/swap/hooks.ts
msgid "Invalid recipient"
msgstr "無效的接收"
msgstr "無效的接收"
#: src/pages/Pool/index.tsx
msgid "Learn"
@@ -1257,7 +1261,7 @@ msgstr "選定範圍"
#: src/pages/Vote/index.tsx
msgid "Self"
msgstr "自"
msgstr "自"
#: src/components/vote/DelegateModal.tsx
msgid "Self Delegate"
@@ -1280,6 +1284,10 @@ msgstr "流動池份額"
msgid "Share of Pool:"
msgstr "流動池份額:"
#: src/pages/Pool/index.tsx
msgid "Show"
msgstr "表演"
#: src/components/AccountDetails/index.tsx
msgid "Show Portis"
msgstr "顯示 Portis"
@@ -1340,7 +1348,7 @@ msgstr "感謝您加入 Uniswap 社區 <0/>"
#: src/hooks/useSwapCallback.ts
msgid "The Uniswap invariant x*y=k was not satisfied by the swap. This usually means one of the tokens you are swapping incorporates custom behavior on transfer."
msgstr "兌換交易不滿足 Uniswap 不變量 x*y=k 的要求。這通常意味著您要兌換的代幣之一在代幣轉賬過程中帶有一些自定義代幣合約特性。"
msgstr "兌換交易不滿足 Uniswap 不變量 X × Y = K 的要求。這通常意味著您要兌換的代幣之一在代幣轉賬過程中帶有一些自定義代幣合約特性。"
#: src/hooks/useSwapCallback.ts
msgid "The input token cannot be transferred. There may be an issue with the input token."
@@ -1356,7 +1364,7 @@ msgstr "輸出代幣無法進行轉賬。輸出代幣可能有些問題。"
#: src/hooks/useSwapCallback.ts
msgid "The output token cannot be transferred. There may be an issue with the output token. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "無法傳輸輸出令牌。輸出令牌可能有問題。注意:轉賬和 rebase 代幣的費用與 Uniswap V3 不兼容。"
msgstr "輸出代幣無法進行轉賬。輸出代幣可能有問題。:轉賬時帶扣除費用fee-on-transfer的代幣和會自動重新定價rebase的代幣都與Uniswap V3不相容。"
#: src/components/Badge/RangeBadge.tsx
msgid "The price of this pool is outside of your selected range. Your position is not currently earning fees."
@@ -1384,11 +1392,11 @@ msgstr "此代幣未出現在激活的代幣列表中。請確保這是您想要
#: src/pages/MigrateV2/MigrateV2Pair.tsx
msgid "This tool will safely migrate your {0} liquidity to V3. The process is completely trustless thanks to the"
msgstr "該工具將安全地將您的 {0} 流動資金遷移到 V3。該過程完全去信任,得益於"
msgstr "該工具將安全地將您的 {0} 流動資金遷移到 V3。該過程完全不依賴任何信任需求"
#: src/hooks/useSwapCallback.ts
msgid "This transaction will not succeed due to price movement. Try increasing your slippage tolerance. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "由於價格變動,交易不會成功。嘗試增加您的滑點容忍度。注意:轉賬和 rebase 代幣的費用與 Uniswap V3 不兼容。"
msgstr "由於兌換率變動,交易不會成功。嘗試增加滑點容差。註轉賬時帶扣除費用fee-on-transfer的代幣和會自動重新定價rebase的代幣都與Uniswap V3不兼容。"
#: src/hooks/useSwapCallback.ts
msgid "This transaction will not succeed either due to price movement or fee on transfer. Try increasing your slippage tolerance."
@@ -1466,11 +1474,11 @@ msgstr "UNI 代幣已到賬"
#: src/components/Header/UniBalanceContent.tsx
msgid "UNI in circulation:"
msgstr "流通中的 UNI"
msgstr "流通中的 UNI 代幣"
#: src/components/Header/UniBalanceContent.tsx
msgid "UNI price:"
msgstr "UNI 兌換率:"
msgstr "UNI 代幣兌換率:"
#: src/pages/Vote/index.tsx
msgid "UNI tokens represent voting shares in Uniswap governance. You can vote on each proposal yourself or delegate your votes to a third party."
@@ -1527,7 +1535,7 @@ msgstr "未知來源"
#: src/hooks/useSwapCallback.ts
msgid "Unknown error{0}. Try increasing your slippage tolerance. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
msgstr "未知錯誤{0}。嘗試增加您的滑點容忍度。注意:轉賬和 rebase 代幣的費用與 Uniswap V3 不兼容。"
msgstr "未知錯誤{0}。嘗試增加滑點容差。註轉賬時帶扣除費用fee-on-transfer的代幣和會自動重新定價rebase的代幣都與Uniswap V3不相容。"
#: src/pages/Vote/VotePage.tsx
#: src/pages/Vote/index.tsx
@@ -1583,7 +1591,7 @@ msgstr "V3 {0} 兌換率:"
#: src/components/Header/UniBalanceContent.tsx
msgid "View UNI Analytics"
msgstr "查看 UNI 分析"
msgstr "查看 UNI 代幣分析"
#: src/pages/Pool/index.tsx
msgid "View V2 Liquidity"
@@ -1591,7 +1599,7 @@ msgstr "查看 V2 流動資金"
#: src/components/PositionCard/index.tsx
msgid "View accrued fees and analytics<0>↗</0>"
msgstr "查看已累積手續費和分析<0>↗</0>"
msgstr "查看已累積手續費和數據分析<0>↗</0>"
#: src/components/SearchModal/ManageLists.tsx
msgid "View list"
@@ -1601,14 +1609,14 @@ msgstr "查看代幣列表"
#: src/components/AccountDetails/index.tsx
#: src/components/TransactionConfirmationModal/index.tsx
msgid "View on Explorer"
msgstr "在資源瀏覽器上查看"
msgstr "在以太坊資源瀏覽器上查看"
#: src/components/ModalViews/index.tsx
#: src/components/claim/AddressClaimModal.tsx
#: src/components/claim/ClaimModal.tsx
#: src/components/vote/VoteModal.tsx
msgid "View transaction on Explorer"
msgstr "在資源瀏覽器上查看"
msgstr "在以太坊資源瀏覽器上查看"
#: src/components/Header/index.tsx
msgid "Vote"
@@ -1658,11 +1666,11 @@ msgstr "當您領取獎勵但沒贖回流動資金時,流動資金仍然留在
#: src/pages/Earn/Manage.tsx
msgid "When you withdraw, the contract will automagically claim UNI on your behalf!"
msgstr "當您贖回流動資金時,智能合約將自動為您領取 UNI"
msgstr "當您贖回流動資金時,智能合約將自動為您領取 UNI 代幣"
#: src/components/earn/UnstakingModal.tsx
msgid "When you withdraw, your UNI is claimed and your liquidity is removed from the mining pool."
msgstr "當您贖回流動資金時,您的 UNI 將被領取,流動資金也將從礦池中移除。"
msgstr "當您贖回流動資金時,您的 UNI 代幣將被領取,流動資金也將從礦池中移除。"
#: src/components/earn/UnstakingModal.tsx
#: src/pages/Earn/Manage.tsx
@@ -1693,7 +1701,7 @@ msgstr "包裹"
#: src/components/WalletModal/index.tsx
#: src/components/Web3Status/index.tsx
msgid "Wrong Network"
msgstr "錯誤的網"
msgstr "錯誤的網"
#: src/pages/AddLiquidityV2/index.tsx
msgid "You are creating a pool"
@@ -1782,7 +1790,7 @@ msgstr "在達到此兌換率時,您的倉位流動資金將 100% 由 {0} 所
#: src/pages/Pool/PositionPage.tsx
#: src/pages/Pool/PositionPage.tsx
msgid "Your position will be 100% {0} at this price."
msgstr "在達到此兌換率時,您的倉位流動資金將100% {0}。"
msgstr "在達到此兌換率時,您的倉位流動資金將 100% {0} 所組成。"
#: src/pages/AddLiquidity/index.tsx
#: src/pages/MigrateV2/MigrateV2Pair.tsx
@@ -1975,7 +1983,7 @@ msgstr "{0}-{1} 流動資金采礦"
#: src/pages/MigrateV2/MigrateV2Pair.tsx
msgid "{0}/{1} LP NFT"
msgstr "{0}/{1} 流動池 NFT "
msgstr "{0}/{1} 流動池 NFT 代幣"
#: src/pages/MigrateV2/MigrateV2Pair.tsx
msgid "{0}/{1} LP Tokens"

View File

@@ -55,6 +55,7 @@ import RateToggle from 'components/RateToggle'
import { BigNumber } from '@ethersproject/bignumber'
import { AddRemoveTabs } from 'components/NavigationTabs'
import HoverInlineText from 'components/HoverInlineText'
import { SwitchLocaleLink } from 'components/SwitchLocaleLink'
const DEFAULT_ADD_IN_RANGE_SLIPPAGE_TOLERANCE = new Percent(50, 10_000)
@@ -385,393 +386,397 @@ export default function AddLiquidity({
!argentWalletContract && approvalB !== ApprovalState.APPROVED && !!parsedAmounts[Field.CURRENCY_B]
return (
<ScrollablePage>
<TransactionConfirmationModal
isOpen={showConfirm}
onDismiss={handleDismissConfirmation}
attemptingTxn={attemptingTxn}
hash={txHash}
content={() => (
<ConfirmationModalContent
title={'Add Liquidity'}
onDismiss={handleDismissConfirmation}
topContent={() => (
<Review
parsedAmounts={parsedAmounts}
position={position}
existingPosition={existingPosition}
priceLower={priceLower}
priceUpper={priceUpper}
outOfRange={outOfRange}
/>
)}
bottomContent={() => (
<ButtonPrimary style={{ marginTop: '1rem' }} onClick={onAdd}>
<Text fontWeight={500} fontSize={20}>
<Trans>Add</Trans>
</Text>
</ButtonPrimary>
)}
/>
)}
pendingText={pendingText}
/>
<AppBody>
<AddRemoveTabs
creating={false}
adding={true}
positionID={tokenId}
defaultSlippage={DEFAULT_ADD_IN_RANGE_SLIPPAGE_TOLERANCE}
/>
<Wrapper>
<AutoColumn gap="32px">
{!hasExistingPosition && (
<>
<AutoColumn gap="md">
<RowBetween paddingBottom="20px">
<TYPE.label>
<Trans>Select pair</Trans>
</TYPE.label>
<ButtonText onClick={clearAll}>
<TYPE.blue fontSize="12px">
<Trans>Clear All</Trans>
</TYPE.blue>
</ButtonText>
</RowBetween>
<RowBetween>
<CurrencyDropdown
value={formattedAmounts[Field.CURRENCY_A]}
onUserInput={onFieldAInput}
hideInput={true}
onMax={() => {
onFieldAInput(maxAmounts[Field.CURRENCY_A]?.toExact() ?? '')
}}
onCurrencySelect={handleCurrencyASelect}
showMaxButton={!atMaxAmounts[Field.CURRENCY_A]}
currency={currencies[Field.CURRENCY_A]}
id="add-liquidity-input-tokena"
showCommonBases
/>
<div style={{ width: '12px' }} />
<CurrencyDropdown
value={formattedAmounts[Field.CURRENCY_B]}
hideInput={true}
onUserInput={onFieldBInput}
onCurrencySelect={handleCurrencyBSelect}
onMax={() => {
onFieldBInput(maxAmounts[Field.CURRENCY_B]?.toExact() ?? '')
}}
showMaxButton={!atMaxAmounts[Field.CURRENCY_B]}
currency={currencies[Field.CURRENCY_B]}
id="add-liquidity-input-tokenb"
showCommonBases
/>
</RowBetween>
</AutoColumn>{' '}
</>
)}
{hasExistingPosition && existingPosition ? (
<PositionPreview
position={existingPosition}
title={<Trans>Selected Range</Trans>}
inRange={!outOfRange}
/>
) : (
<>
<FeeSelector
disabled={!currencyB || !currencyA}
feeAmount={feeAmount}
handleFeePoolSelect={handleFeePoolSelect}
<>
<ScrollablePage>
<TransactionConfirmationModal
isOpen={showConfirm}
onDismiss={handleDismissConfirmation}
attemptingTxn={attemptingTxn}
hash={txHash}
content={() => (
<ConfirmationModalContent
title={'Add Liquidity'}
onDismiss={handleDismissConfirmation}
topContent={() => (
<Review
parsedAmounts={parsedAmounts}
position={position}
existingPosition={existingPosition}
priceLower={priceLower}
priceUpper={priceUpper}
outOfRange={outOfRange}
/>
{noLiquidity && (
<DynamicSection disabled={!currencyA || !currencyB}>
<AutoColumn gap="md">
<RowBetween>
<TYPE.label>
<Trans>Set Starting Price</Trans>
</TYPE.label>
{baseCurrency && quoteCurrency ? (
<RateToggle
currencyA={baseCurrency}
currencyB={quoteCurrency}
handleRateToggle={() => {
onLeftRangeInput('')
onRightRangeInput('')
history.push(
`/add/${currencyIdB as string}/${currencyIdA as string}${
feeAmount ? '/' + feeAmount : ''
}`
)
}}
/>
) : null}
</RowBetween>
<OutlineCard padding="12px">
<StyledInput
className="start-price-input"
value={startPriceTypedValue}
onUserInput={onStartPriceInput}
/>
</OutlineCard>
<RowBetween style={{ backgroundColor: theme.bg1, padding: '12px', borderRadius: '12px' }}>
<TYPE.main>
<Trans>Current {baseCurrency?.symbol} Price:</Trans>
</TYPE.main>
<TYPE.main>
{price ? (
<TYPE.main>
<RowFixed>
<HoverInlineText
maxCharacters={20}
text={invertPrice ? price?.invert()?.toSignificant(5) : price?.toSignificant(5)}
/>{' '}
<span style={{ marginLeft: '4px' }}>{quoteCurrency?.symbol}</span>
</RowFixed>
</TYPE.main>
) : (
'-'
)}
</TYPE.main>
</RowBetween>
<BlueCard
style={{
display: 'flex',
flexDirection: 'column',
alignItems: 'center',
padding: ' 1.5rem 1.25rem',
}}
>
<AlertCircle color={theme.text1} size={32} style={{ marginBottom: '12px', opacity: 0.8 }} />
<TYPE.body
fontSize={14}
style={{ marginBottom: 8, fontWeight: 500, opacity: 0.8 }}
textAlign="center"
>
You are the first liquidity provider for this Uniswap V3 pool.
</TYPE.body>
<TYPE.body fontWeight={500} textAlign="center" fontSize={14} style={{ opacity: 0.8 }}>
The transaction cost will be much higher as it includes the gas to create the pool.
</TYPE.body>
</BlueCard>
</AutoColumn>
</DynamicSection>
)}
<DynamicSection gap="md" disabled={!feeAmount || invalidPool || (noLiquidity && !startPriceTypedValue)}>
<RowBetween>
<TYPE.label>
<Trans>Set Price Range</Trans>
</TYPE.label>
{baseCurrency && quoteCurrency ? (
<RateToggle
currencyA={baseCurrency}
currencyB={quoteCurrency}
handleRateToggle={() => {
onLeftRangeInput('')
onRightRangeInput('')
history.push(
`/add/${currencyIdB as string}/${currencyIdA as string}${feeAmount ? '/' + feeAmount : ''}`
)
)}
bottomContent={() => (
<ButtonPrimary style={{ marginTop: '1rem' }} onClick={onAdd}>
<Text fontWeight={500} fontSize={20}>
<Trans>Add</Trans>
</Text>
</ButtonPrimary>
)}
/>
)}
pendingText={pendingText}
/>
<AppBody>
<AddRemoveTabs
creating={false}
adding={true}
positionID={tokenId}
defaultSlippage={DEFAULT_ADD_IN_RANGE_SLIPPAGE_TOLERANCE}
/>
<Wrapper>
<AutoColumn gap="32px">
{!hasExistingPosition && (
<>
<AutoColumn gap="md">
<RowBetween paddingBottom="20px">
<TYPE.label>
<Trans>Select pair</Trans>
</TYPE.label>
<ButtonText onClick={clearAll}>
<TYPE.blue fontSize="12px">
<Trans>Clear All</Trans>
</TYPE.blue>
</ButtonText>
</RowBetween>
<RowBetween>
<CurrencyDropdown
value={formattedAmounts[Field.CURRENCY_A]}
onUserInput={onFieldAInput}
hideInput={true}
onMax={() => {
onFieldAInput(maxAmounts[Field.CURRENCY_A]?.toExact() ?? '')
}}
onCurrencySelect={handleCurrencyASelect}
showMaxButton={!atMaxAmounts[Field.CURRENCY_A]}
currency={currencies[Field.CURRENCY_A]}
id="add-liquidity-input-tokena"
showCommonBases
/>
) : null}
</RowBetween>
<TYPE.main fontSize={14} fontWeight={400} style={{ marginBottom: '.5rem', lineHeight: '125%' }}>
<Trans>
Your liquidity will only earn fees when the market price of the pair is within your range.{' '}
<ExternalLink
href={'https://docs.uniswap.org/concepts/introduction/liquidity-user-guide#4-set-price-range'}
style={{ fontSize: '14px' }}
>
Need help picking a range?
</ExternalLink>
</Trans>
</TYPE.main>
<div style={{ width: '12px' }} />
<RangeSelector
priceLower={priceLower}
priceUpper={priceUpper}
getDecrementLower={getDecrementLower}
getIncrementLower={getIncrementLower}
getDecrementUpper={getDecrementUpper}
getIncrementUpper={getIncrementUpper}
onLeftRangeInput={onLeftRangeInput}
onRightRangeInput={onRightRangeInput}
currencyA={baseCurrency}
currencyB={quoteCurrency}
<CurrencyDropdown
value={formattedAmounts[Field.CURRENCY_B]}
hideInput={true}
onUserInput={onFieldBInput}
onCurrencySelect={handleCurrencyBSelect}
onMax={() => {
onFieldBInput(maxAmounts[Field.CURRENCY_B]?.toExact() ?? '')
}}
showMaxButton={!atMaxAmounts[Field.CURRENCY_B]}
currency={currencies[Field.CURRENCY_B]}
id="add-liquidity-input-tokenb"
showCommonBases
/>
</RowBetween>
</AutoColumn>{' '}
</>
)}
{hasExistingPosition && existingPosition ? (
<PositionPreview
position={existingPosition}
title={<Trans>Selected Range</Trans>}
inRange={!outOfRange}
/>
) : (
<>
<FeeSelector
disabled={!currencyB || !currencyA}
feeAmount={feeAmount}
handleFeePoolSelect={handleFeePoolSelect}
/>
{price && baseCurrency && quoteCurrency && !noLiquidity && (
<LightCard style={{ padding: '12px' }}>
<AutoColumn gap="4px">
<TYPE.main fontWeight={500} textAlign="center" fontSize={12}>
<Trans>Current Price</Trans>
</TYPE.main>
<TYPE.body fontWeight={500} textAlign="center" fontSize={20}>
<HoverInlineText
maxCharacters={20}
text={invertPrice ? price.invert().toSignificant(6) : price.toSignificant(6)}
/>{' '}
</TYPE.body>
<TYPE.main fontWeight={500} textAlign="center" fontSize={12}>
<Trans>
{quoteCurrency?.symbol} per {baseCurrency.symbol}
</Trans>
</TYPE.main>
{noLiquidity && (
<DynamicSection disabled={!currencyA || !currencyB}>
<AutoColumn gap="md">
<RowBetween>
<TYPE.label>
<Trans>Set Starting Price</Trans>
</TYPE.label>
{baseCurrency && quoteCurrency ? (
<RateToggle
currencyA={baseCurrency}
currencyB={quoteCurrency}
handleRateToggle={() => {
onLeftRangeInput('')
onRightRangeInput('')
history.push(
`/add/${currencyIdB as string}/${currencyIdA as string}${
feeAmount ? '/' + feeAmount : ''
}`
)
}}
/>
) : null}
</RowBetween>
<OutlineCard padding="12px">
<StyledInput
className="start-price-input"
value={startPriceTypedValue}
onUserInput={onStartPriceInput}
/>
</OutlineCard>
<RowBetween style={{ backgroundColor: theme.bg1, padding: '12px', borderRadius: '12px' }}>
<TYPE.main>
<Trans>Current {baseCurrency?.symbol} Price:</Trans>
</TYPE.main>
<TYPE.main>
{price ? (
<TYPE.main>
<RowFixed>
<HoverInlineText
maxCharacters={20}
text={invertPrice ? price?.invert()?.toSignificant(5) : price?.toSignificant(5)}
/>{' '}
<span style={{ marginLeft: '4px' }}>{quoteCurrency?.symbol}</span>
</RowFixed>
</TYPE.main>
) : (
'-'
)}
</TYPE.main>
</RowBetween>
<BlueCard
style={{
display: 'flex',
flexDirection: 'column',
alignItems: 'center',
padding: ' 1.5rem 1.25rem',
}}
>
<AlertCircle color={theme.text1} size={32} style={{ marginBottom: '12px', opacity: 0.8 }} />
<TYPE.body
fontSize={14}
style={{ marginBottom: 8, fontWeight: 500, opacity: 0.8 }}
textAlign="center"
>
You are the first liquidity provider for this Uniswap V3 pool.
</TYPE.body>
<TYPE.body fontWeight={500} textAlign="center" fontSize={14} style={{ opacity: 0.8 }}>
The transaction cost will be much higher as it includes the gas to create the pool.
</TYPE.body>
</BlueCard>
</AutoColumn>
</LightCard>
</DynamicSection>
)}
{outOfRange ? (
<YellowCard padding="8px 12px" borderRadius="12px">
<RowBetween>
<AlertTriangle stroke={theme.yellow3} size="16px" />
<TYPE.yellow ml="12px" fontSize="12px">
<Trans>
Your position will not earn fees or be used in trades until the market price moves into your
range.
</Trans>
</TYPE.yellow>
</RowBetween>
</YellowCard>
) : null}
{invalidRange ? (
<YellowCard padding="8px 12px" borderRadius="12px">
<RowBetween>
<AlertTriangle stroke={theme.yellow3} size="16px" />
<TYPE.yellow ml="12px" fontSize="12px">
<Trans>Invalid range selected. The min price must be lower than the max price.</Trans>
</TYPE.yellow>
</RowBetween>
</YellowCard>
) : null}
</DynamicSection>
</>
)}
<DynamicSection
disabled={tickLower === undefined || tickUpper === undefined || invalidPool || invalidRange}
>
<AutoColumn gap="md">
<TYPE.label>{hasExistingPosition ? 'Add more liquidity' : t`Deposit Amounts`}</TYPE.label>
<CurrencyInputPanel
value={formattedAmounts[Field.CURRENCY_A]}
onUserInput={onFieldAInput}
onMax={() => {
onFieldAInput(maxAmounts[Field.CURRENCY_A]?.toExact() ?? '')
}}
showMaxButton={!atMaxAmounts[Field.CURRENCY_A]}
currency={currencies[Field.CURRENCY_A]}
id="add-liquidity-input-tokena"
fiatValue={usdcValues[Field.CURRENCY_A]}
showCommonBases
locked={depositADisabled}
/>
<CurrencyInputPanel
value={formattedAmounts[Field.CURRENCY_B]}
onUserInput={onFieldBInput}
onMax={() => {
onFieldBInput(maxAmounts[Field.CURRENCY_B]?.toExact() ?? '')
}}
showMaxButton={!atMaxAmounts[Field.CURRENCY_B]}
fiatValue={usdcValues[Field.CURRENCY_B]}
currency={currencies[Field.CURRENCY_B]}
id="add-liquidity-input-tokenb"
showCommonBases
locked={depositBDisabled}
/>
</AutoColumn>
</DynamicSection>
<div>
{addIsUnsupported ? (
<ButtonPrimary disabled={true} borderRadius="12px" padding={'12px'}>
<TYPE.main mb="4px">
<Trans>Unsupported Asset</Trans>
</TYPE.main>
</ButtonPrimary>
) : !account ? (
<ButtonLight onClick={toggleWalletModal} borderRadius="12px" padding={'12px'}>
<Trans>Connect wallet</Trans>
</ButtonLight>
) : (
<AutoColumn gap={'md'}>
{(approvalA === ApprovalState.NOT_APPROVED ||
approvalA === ApprovalState.PENDING ||
approvalB === ApprovalState.NOT_APPROVED ||
approvalB === ApprovalState.PENDING) &&
isValid && (
<RowBetween>
{showApprovalA && (
<ButtonPrimary
borderRadius="12px"
padding={'12px'}
onClick={approveACallback}
disabled={approvalA === ApprovalState.PENDING}
width={showApprovalB ? '48%' : '100%'}
>
{approvalA === ApprovalState.PENDING ? (
<Dots>
<Trans>Approving {currencies[Field.CURRENCY_A]?.symbol}</Trans>
</Dots>
) : (
<Trans>Approve {currencies[Field.CURRENCY_A]?.symbol}</Trans>
)}
</ButtonPrimary>
)}
{showApprovalB && (
<ButtonPrimary
borderRadius="12px"
padding={'12px'}
onClick={approveBCallback}
disabled={approvalB === ApprovalState.PENDING}
width={showApprovalA ? '48%' : '100%'}
>
{approvalB === ApprovalState.PENDING ? (
<Dots>
<Trans>Approving {currencies[Field.CURRENCY_B]?.symbol}</Trans>
</Dots>
) : (
<Trans>Approve {currencies[Field.CURRENCY_B]?.symbol}</Trans>
)}
</ButtonPrimary>
)}
</RowBetween>
)}
<ButtonError
onClick={() => {
expertMode ? onAdd() : setShowConfirm(true)
}}
disabled={
!isValid ||
(!argentWalletContract && approvalA !== ApprovalState.APPROVED && !depositADisabled) ||
(!argentWalletContract && approvalB !== ApprovalState.APPROVED && !depositBDisabled)
}
error={!isValid && !!parsedAmounts[Field.CURRENCY_A] && !!parsedAmounts[Field.CURRENCY_B]}
<DynamicSection
gap="md"
disabled={!feeAmount || invalidPool || (noLiquidity && !startPriceTypedValue)}
>
<Text fontWeight={500}>{errorMessage ? errorMessage : <Trans>Add</Trans>}</Text>
</ButtonError>
</AutoColumn>
<RowBetween>
<TYPE.label>
<Trans>Set Price Range</Trans>
</TYPE.label>
{baseCurrency && quoteCurrency ? (
<RateToggle
currencyA={baseCurrency}
currencyB={quoteCurrency}
handleRateToggle={() => {
onLeftRangeInput('')
onRightRangeInput('')
history.push(
`/add/${currencyIdB as string}/${currencyIdA as string}${
feeAmount ? '/' + feeAmount : ''
}`
)
}}
/>
) : null}
</RowBetween>
<TYPE.main fontSize={14} fontWeight={400} style={{ marginBottom: '.5rem', lineHeight: '125%' }}>
<Trans>
Your liquidity will only earn fees when the market price of the pair is within your range.{' '}
<ExternalLink
href={'https://docs.uniswap.org/concepts/introduction/liquidity-user-guide#4-set-price-range'}
style={{ fontSize: '14px' }}
>
Need help picking a range?
</ExternalLink>
</Trans>
</TYPE.main>
<RangeSelector
priceLower={priceLower}
priceUpper={priceUpper}
getDecrementLower={getDecrementLower}
getIncrementLower={getIncrementLower}
getDecrementUpper={getDecrementUpper}
getIncrementUpper={getIncrementUpper}
onLeftRangeInput={onLeftRangeInput}
onRightRangeInput={onRightRangeInput}
currencyA={baseCurrency}
currencyB={quoteCurrency}
feeAmount={feeAmount}
/>
{price && baseCurrency && quoteCurrency && !noLiquidity && (
<LightCard style={{ padding: '12px' }}>
<AutoColumn gap="4px">
<TYPE.main fontWeight={500} textAlign="center" fontSize={12}>
<Trans>Current Price</Trans>
</TYPE.main>
<TYPE.body fontWeight={500} textAlign="center" fontSize={20}>
<HoverInlineText
maxCharacters={20}
text={invertPrice ? price.invert().toSignificant(6) : price.toSignificant(6)}
/>{' '}
</TYPE.body>
<TYPE.main fontWeight={500} textAlign="center" fontSize={12}>
<Trans>
{quoteCurrency?.symbol} per {baseCurrency.symbol}
</Trans>
</TYPE.main>
</AutoColumn>
</LightCard>
)}
{outOfRange ? (
<YellowCard padding="8px 12px" borderRadius="12px">
<RowBetween>
<AlertTriangle stroke={theme.yellow3} size="16px" />
<TYPE.yellow ml="12px" fontSize="12px">
<Trans>
Your position will not earn fees or be used in trades until the market price moves into
your range.
</Trans>
</TYPE.yellow>
</RowBetween>
</YellowCard>
) : null}
{invalidRange ? (
<YellowCard padding="8px 12px" borderRadius="12px">
<RowBetween>
<AlertTriangle stroke={theme.yellow3} size="16px" />
<TYPE.yellow ml="12px" fontSize="12px">
<Trans>Invalid range selected. The min price must be lower than the max price.</Trans>
</TYPE.yellow>
</RowBetween>
</YellowCard>
) : null}
</DynamicSection>
</>
)}
</div>
</AutoColumn>
</Wrapper>
</AppBody>
{addIsUnsupported && (
<UnsupportedCurrencyFooter
show={addIsUnsupported}
currencies={[currencies.CURRENCY_A, currencies.CURRENCY_B]}
/>
)}
</ScrollablePage>
<DynamicSection
disabled={tickLower === undefined || tickUpper === undefined || invalidPool || invalidRange}
>
<AutoColumn gap="md">
<TYPE.label>{hasExistingPosition ? 'Add more liquidity' : t`Deposit Amounts`}</TYPE.label>
<CurrencyInputPanel
value={formattedAmounts[Field.CURRENCY_A]}
onUserInput={onFieldAInput}
onMax={() => {
onFieldAInput(maxAmounts[Field.CURRENCY_A]?.toExact() ?? '')
}}
showMaxButton={!atMaxAmounts[Field.CURRENCY_A]}
currency={currencies[Field.CURRENCY_A]}
id="add-liquidity-input-tokena"
fiatValue={usdcValues[Field.CURRENCY_A]}
showCommonBases
locked={depositADisabled}
/>
<CurrencyInputPanel
value={formattedAmounts[Field.CURRENCY_B]}
onUserInput={onFieldBInput}
onMax={() => {
onFieldBInput(maxAmounts[Field.CURRENCY_B]?.toExact() ?? '')
}}
showMaxButton={!atMaxAmounts[Field.CURRENCY_B]}
fiatValue={usdcValues[Field.CURRENCY_B]}
currency={currencies[Field.CURRENCY_B]}
id="add-liquidity-input-tokenb"
showCommonBases
locked={depositBDisabled}
/>
</AutoColumn>
</DynamicSection>
<div>
{addIsUnsupported ? (
<ButtonPrimary disabled={true} borderRadius="12px" padding={'12px'}>
<TYPE.main mb="4px">
<Trans>Unsupported Asset</Trans>
</TYPE.main>
</ButtonPrimary>
) : !account ? (
<ButtonLight onClick={toggleWalletModal} borderRadius="12px" padding={'12px'}>
<Trans>Connect wallet</Trans>
</ButtonLight>
) : (
<AutoColumn gap={'md'}>
{(approvalA === ApprovalState.NOT_APPROVED ||
approvalA === ApprovalState.PENDING ||
approvalB === ApprovalState.NOT_APPROVED ||
approvalB === ApprovalState.PENDING) &&
isValid && (
<RowBetween>
{showApprovalA && (
<ButtonPrimary
onClick={approveACallback}
disabled={approvalA === ApprovalState.PENDING}
width={showApprovalB ? '48%' : '100%'}
>
{approvalA === ApprovalState.PENDING ? (
<Dots>
<Trans>Approving {currencies[Field.CURRENCY_A]?.symbol}</Trans>
</Dots>
) : (
<Trans>Approve {currencies[Field.CURRENCY_A]?.symbol}</Trans>
)}
</ButtonPrimary>
)}
{showApprovalB && (
<ButtonPrimary
onClick={approveBCallback}
disabled={approvalB === ApprovalState.PENDING}
width={showApprovalA ? '48%' : '100%'}
>
{approvalB === ApprovalState.PENDING ? (
<Dots>
<Trans>Approving {currencies[Field.CURRENCY_B]?.symbol}</Trans>
</Dots>
) : (
<Trans>Approve {currencies[Field.CURRENCY_B]?.symbol}</Trans>
)}
</ButtonPrimary>
)}
</RowBetween>
)}
<ButtonError
onClick={() => {
expertMode ? onAdd() : setShowConfirm(true)
}}
disabled={
!isValid ||
(!argentWalletContract && approvalA !== ApprovalState.APPROVED && !depositADisabled) ||
(!argentWalletContract && approvalB !== ApprovalState.APPROVED && !depositBDisabled)
}
error={!isValid && !!parsedAmounts[Field.CURRENCY_A] && !!parsedAmounts[Field.CURRENCY_B]}
>
<Text fontWeight={500}>{errorMessage ? errorMessage : <Trans>Add</Trans>}</Text>
</ButtonError>
</AutoColumn>
)}
</div>
</AutoColumn>
</Wrapper>
</AppBody>
{addIsUnsupported && (
<UnsupportedCurrencyFooter
show={addIsUnsupported}
currencies={[currencies.CURRENCY_A, currencies.CURRENCY_B]}
/>
)}
</ScrollablePage>
<SwitchLocaleLink />
</>
)
}

View File

@@ -42,6 +42,7 @@ import { ConfirmAddModalBottom } from './ConfirmAddModalBottom'
import { currencyId } from '../../utils/currencyId'
import { PoolPriceBar } from './PoolPriceBar'
import UnsupportedCurrencyFooter from 'components/swap/UnsupportedCurrencyFooter'
import { SwitchLocaleLink } from 'components/SwitchLocaleLink'
import { t, Trans } from '@lingui/macro'
const DEFAULT_ADD_V2_SLIPPAGE_TOLERANCE = new Percent(50, 10_000)
@@ -485,6 +486,8 @@ export default function AddLiquidity({
</AutoColumn>
</Wrapper>
</AppBody>
<SwitchLocaleLink />
{!addIsUnsupported ? (
pair && !noLiquidity && pairState !== PairState.INVALID ? (
<AutoColumn style={{ minWidth: '20rem', width: '100%', maxWidth: '400px', marginTop: '1rem' }}>

View File

@@ -87,7 +87,7 @@ export default function App() {
<Web3ReactManager>
<Switch>
<Route exact strict path="/vote" component={Vote} />
<Route exact strict path="/vote/:id" component={VotePage} />
<Route exact strict path="/vote/:governorIndex/:id" component={VotePage} />
<Route exact strict path="/claim" component={OpenClaimAddressModalAndRedirectToSwap} />
<Route exact strict path="/uni" component={Earn} />
<Route exact strict path="/uni/:currencyIdA/:currencyIdB" component={Manage} />

View File

@@ -16,6 +16,7 @@ import { Dots } from '../../components/swap/styleds'
import { toV2LiquidityToken, useTrackedTokenPairs } from '../../state/user/hooks'
import MigrateV2PositionCard from 'components/PositionCard/V2'
import MigrateSushiPositionCard from 'components/PositionCard/Sushi'
import { SwitchLocaleLink } from 'components/SwitchLocaleLink'
import { PairState, useV2Pairs } from 'hooks/useV2Pairs'
import { getCreate2Address } from '@ethersproject/address'
import { pack, keccak256 } from '@ethersproject/solidity'
@@ -110,73 +111,76 @@ export default function MigrateV2() {
const v2IsLoading = fetchingPairBalances || v2Pairs.some(([pairState]) => pairState === PairState.LOADING)
return (
<BodyWrapper style={{ padding: 24 }}>
<AutoColumn gap="16px">
<AutoRow style={{ alignItems: 'center', justifyContent: 'space-between' }} gap="8px">
<BackArrow to="/pool/v2" />
<TYPE.mediumHeader>
<Trans>Migrate V2 Liquidity</Trans>
</TYPE.mediumHeader>
<div>
<QuestionHelper text={<Trans>Migrate your liquidity tokens from Uniswap V2 to Uniswap V3.</Trans>} />
</div>
</AutoRow>
<>
<BodyWrapper style={{ padding: 24 }}>
<AutoColumn gap="16px">
<AutoRow style={{ alignItems: 'center', justifyContent: 'space-between' }} gap="8px">
<BackArrow to="/pool/v2" />
<TYPE.mediumHeader>
<Trans>Migrate V2 Liquidity</Trans>
</TYPE.mediumHeader>
<div>
<QuestionHelper text={<Trans>Migrate your liquidity tokens from Uniswap V2 to Uniswap V3.</Trans>} />
</div>
</AutoRow>
<TYPE.body style={{ marginBottom: 8, fontWeight: 400 }}>
<Trans>
For each pool shown below, click migrate to remove your liquidity from Uniswap V2 and deposit it into
Uniswap V3.
</Trans>
</TYPE.body>
{!account ? (
<LightCard padding="40px">
<TYPE.body color={theme.text3} textAlign="center">
<Trans>Connect to a wallet to view your V2 liquidity.</Trans>
</TYPE.body>
</LightCard>
) : v2IsLoading ? (
<LightCard padding="40px">
<TYPE.body color={theme.text3} textAlign="center">
<Dots>
<Trans>Loading</Trans>
</Dots>
</TYPE.body>
</LightCard>
) : v2Pairs.filter(([, pair]) => !!pair).length > 0 ? (
<>
{v2Pairs
.filter(([, pair]) => !!pair)
.map(([, pair]) => (
<MigrateV2PositionCard key={(pair as Pair).liquidityToken.address} pair={pair as Pair} />
))}
{tokenPairsWithSushiBalance.map(({ sushiLiquidityToken, tokens }) => {
return (
<MigrateSushiPositionCard
key={(sushiLiquidityToken as Token).address}
tokenA={tokens[0]}
tokenB={tokens[1]}
liquidityToken={sushiLiquidityToken as Token}
/>
)
})}
</>
) : (
<EmptyState message={<Trans>No V2 Liquidity found.</Trans>} />
)}
<AutoColumn justify={'center'} gap="md">
<Text textAlign="center" fontSize={14} style={{ padding: '.5rem 0 .5rem 0' }}>
<TYPE.body style={{ marginBottom: 8, fontWeight: 400 }}>
<Trans>
Dont see one of your v2 positions?{' '}
<StyledInternalLink id="import-pool-link" to={'/find?origin=/migrate/v2'}>
Import it.
</StyledInternalLink>
For each pool shown below, click migrate to remove your liquidity from Uniswap V2 and deposit it into
Uniswap V3.
</Trans>
</Text>
</TYPE.body>
{!account ? (
<LightCard padding="40px">
<TYPE.body color={theme.text3} textAlign="center">
<Trans>Connect to a wallet to view your V2 liquidity.</Trans>
</TYPE.body>
</LightCard>
) : v2IsLoading ? (
<LightCard padding="40px">
<TYPE.body color={theme.text3} textAlign="center">
<Dots>
<Trans>Loading</Trans>
</Dots>
</TYPE.body>
</LightCard>
) : v2Pairs.filter(([, pair]) => !!pair).length > 0 ? (
<>
{v2Pairs
.filter(([, pair]) => !!pair)
.map(([, pair]) => (
<MigrateV2PositionCard key={(pair as Pair).liquidityToken.address} pair={pair as Pair} />
))}
{tokenPairsWithSushiBalance.map(({ sushiLiquidityToken, tokens }) => {
return (
<MigrateSushiPositionCard
key={(sushiLiquidityToken as Token).address}
tokenA={tokens[0]}
tokenB={tokens[1]}
liquidityToken={sushiLiquidityToken as Token}
/>
)
})}
</>
) : (
<EmptyState message={<Trans>No V2 Liquidity found.</Trans>} />
)}
<AutoColumn justify={'center'} gap="md">
<Text textAlign="center" fontSize={14} style={{ padding: '.5rem 0 .5rem 0' }}>
<Trans>
Dont see one of your v2 positions?{' '}
<StyledInternalLink id="import-pool-link" to={'/find?origin=/migrate/v2'}>
Import it.
</StyledInternalLink>
</Trans>
</Text>
</AutoColumn>
</AutoColumn>
</AutoColumn>
</BodyWrapper>
</BodyWrapper>
<SwitchLocaleLink />
</>
)
}

View File

@@ -37,6 +37,7 @@ import useTheme from '../../hooks/useTheme'
import RateToggle from '../../components/RateToggle'
import { useSingleCallResult } from 'state/multicall/hooks'
import RangeBadge from '../../components/Badge/RangeBadge'
import { SwitchLocaleLink } from '../../components/SwitchLocaleLink'
import useUSDCPrice from 'hooks/useUSDCPrice'
import Loader from 'components/Loader'
import Toggle from 'components/Toggle'
@@ -495,338 +496,341 @@ export function PositionPage({
<div />
</LoadingRows>
) : (
<PageWrapper>
<TransactionConfirmationModal
isOpen={showConfirm}
onDismiss={() => setShowConfirm(false)}
attemptingTxn={collecting}
hash={collectMigrationHash ?? ''}
content={() => (
<ConfirmationModalContent
title={<Trans>Claim fees</Trans>}
onDismiss={() => setShowConfirm(false)}
topContent={modalHeader}
/>
)}
pendingText={<Trans>Collecting fees</Trans>}
/>
<AutoColumn gap="md">
<AutoColumn gap="sm">
<Link style={{ textDecoration: 'none', width: 'fit-content', marginBottom: '0.5rem' }} to="/pool">
<HoverText>
<Trans> Back to Pools Overview</Trans>
</HoverText>
</Link>
<ResponsiveRow>
<RowFixed>
<DoubleCurrencyLogo currency0={currencyBase} currency1={currencyQuote} size={24} margin={true} />
<TYPE.label fontSize={'24px'} mr="10px">
&nbsp;{currencyQuote?.symbol}&nbsp;/&nbsp;{currencyBase?.symbol}
</TYPE.label>
<Badge style={{ marginRight: '8px' }}>
<BadgeText>
<Trans>{new Percent(feeAmount, 1_000_000).toSignificant()}%</Trans>
</BadgeText>
</Badge>
<RangeBadge removed={removed} inRange={inRange} />
</RowFixed>
{ownsNFT && (
<RowFixed>
{currency0 && currency1 && feeAmount && tokenId ? (
<ButtonGray
as={Link}
to={`/increase/${currencyId(currency0)}/${currencyId(currency1)}/${feeAmount}/${tokenId}`}
width="fit-content"
padding="6px 8px"
borderRadius="12px"
style={{ marginRight: '8px' }}
>
<Trans>Increase Liquidity</Trans>
</ButtonGray>
) : null}
{tokenId && !removed ? (
<ResponsiveButtonPrimary
as={Link}
to={`/remove/${tokenId}`}
width="fit-content"
padding="6px 8px"
borderRadius="12px"
>
<Trans>Remove Liquidity</Trans>
</ResponsiveButtonPrimary>
) : null}
</RowFixed>
)}
</ResponsiveRow>
<RowBetween></RowBetween>
</AutoColumn>
<ResponsiveRow align="flex-start">
{'result' in metadata ? (
<DarkCard
width="100%"
height="100%"
style={{
display: 'flex',
alignItems: 'center',
flexDirection: 'column',
justifyContent: 'space-around',
marginRight: '12px',
}}
>
<div style={{ marginRight: 12 }}>
<NFT image={metadata.result.image} height={400} />
</div>
{typeof chainId === 'number' && owner && !ownsNFT ? (
<ExternalLink href={getExplorerLink(chainId, owner, ExplorerDataType.ADDRESS)}>
<Trans>Owner</Trans>
</ExternalLink>
) : null}
</DarkCard>
) : (
<DarkCard
width="100%"
height="100%"
style={{
marginRight: '12px',
minWidth: '340px',
}}
>
<Loader />
</DarkCard>
)}
<AutoColumn gap="sm" style={{ width: '100%', height: '100%' }}>
<DarkCard>
<AutoColumn gap="md" style={{ width: '100%' }}>
<AutoColumn gap="md">
<Label>
<Trans>Liquidity</Trans>
</Label>
{fiatValueOfLiquidity?.greaterThan(new Fraction(1, 100)) ? (
<TYPE.largeHeader fontSize="36px" fontWeight={500}>
<Trans>${fiatValueOfLiquidity.toFixed(2, { groupSeparator: ',' })}</Trans>
</TYPE.largeHeader>
) : (
<TYPE.largeHeader color={theme.text1} fontSize="36px" fontWeight={500}>
<Trans>$-</Trans>
</TYPE.largeHeader>
)}
</AutoColumn>
<LightCard padding="12px 16px">
<AutoColumn gap="md">
<RowBetween>
<LinkedCurrency chainId={chainId} currency={currencyQuote} />
<RowFixed>
<TYPE.main>
{inverted ? position?.amount0.toSignificant(4) : position?.amount1.toSignificant(4)}
</TYPE.main>
{typeof ratio === 'number' && !removed ? (
<Badge style={{ marginLeft: '10px' }}>
<TYPE.main fontSize={11}>
<Trans>{inverted ? ratio : 100 - ratio}%</Trans>
</TYPE.main>
</Badge>
) : null}
</RowFixed>
</RowBetween>
<RowBetween>
<LinkedCurrency chainId={chainId} currency={currencyBase} />
<RowFixed>
<TYPE.main>
{inverted ? position?.amount1.toSignificant(4) : position?.amount0.toSignificant(4)}
</TYPE.main>
{typeof ratio === 'number' && !removed ? (
<Badge style={{ marginLeft: '10px' }}>
<TYPE.main color={theme.text2} fontSize={11}>
<Trans>{inverted ? 100 - ratio : ratio}%</Trans>
</TYPE.main>
</Badge>
) : null}
</RowFixed>
</RowBetween>
</AutoColumn>
</LightCard>
</AutoColumn>
</DarkCard>
<DarkCard>
<AutoColumn gap="md" style={{ width: '100%' }}>
<AutoColumn gap="md">
<RowBetween style={{ alignItems: 'flex-start' }}>
<AutoColumn gap="md">
<Label>
<Trans>Unclaimed fees</Trans>
</Label>
{fiatValueOfFees?.greaterThan(new Fraction(1, 100)) ? (
<TYPE.largeHeader color={theme.green1} fontSize="36px" fontWeight={500}>
<Trans>${fiatValueOfFees.toFixed(2, { groupSeparator: ',' })}</Trans>
</TYPE.largeHeader>
) : (
<TYPE.largeHeader color={theme.text1} fontSize="36px" fontWeight={500}>
<Trans>$-</Trans>
</TYPE.largeHeader>
)}
</AutoColumn>
{ownsNFT && (feeValue0?.greaterThan(0) || feeValue1?.greaterThan(0) || !!collectMigrationHash) ? (
<ButtonConfirmed
disabled={collecting || !!collectMigrationHash}
confirmed={!!collectMigrationHash && !isCollectPending}
width="fit-content"
style={{ borderRadius: '12px' }}
padding="4px 8px"
onClick={() => setShowConfirm(true)}
>
{!!collectMigrationHash && !isCollectPending ? (
<TYPE.main color={theme.text1}>
<Trans> Collected</Trans>
</TYPE.main>
) : isCollectPending || collecting ? (
<TYPE.main color={theme.text1}>
{' '}
<Dots>
<Trans>Collecting</Trans>
</Dots>
</TYPE.main>
) : (
<>
<TYPE.main color={theme.white}>
<Trans>Collect fees</Trans>
</TYPE.main>
</>
)}
</ButtonConfirmed>
) : null}
</RowBetween>
</AutoColumn>
<LightCard padding="12px 16px">
<AutoColumn gap="md">
<RowBetween>
<RowFixed>
<CurrencyLogo
currency={feeValueUpper?.currency}
size={'20px'}
style={{ marginRight: '0.5rem' }}
/>
<TYPE.main>{feeValueUpper?.currency?.symbol}</TYPE.main>
</RowFixed>
<RowFixed>
<TYPE.main>{feeValueUpper ? formatCurrencyAmount(feeValueUpper, 4) : '-'}</TYPE.main>
</RowFixed>
</RowBetween>
<RowBetween>
<RowFixed>
<CurrencyLogo
currency={feeValueLower?.currency}
size={'20px'}
style={{ marginRight: '0.5rem' }}
/>
<TYPE.main>{feeValueLower?.currency?.symbol}</TYPE.main>
</RowFixed>
<RowFixed>
<TYPE.main>{feeValueLower ? formatCurrencyAmount(feeValueLower, 4) : '-'}</TYPE.main>
</RowFixed>
</RowBetween>
</AutoColumn>
</LightCard>
{ownsNFT &&
(feeValue0?.greaterThan(0) || feeValue1?.greaterThan(0)) &&
currency0 &&
currency1 &&
(currency0.isNative || currency1.isNative) &&
!collectMigrationHash ? (
<AutoColumn gap="md">
<RowBetween>
<TYPE.main>
<Trans>Collect as WETH</Trans>
</TYPE.main>
<Toggle
id="receive-as-weth"
isActive={receiveWETH}
toggle={() => setReceiveWETH((receiveWETH) => !receiveWETH)}
/>
</RowBetween>
</AutoColumn>
) : null}
</AutoColumn>
</DarkCard>
</AutoColumn>
</ResponsiveRow>
<DarkCard>
<AutoColumn gap="md">
<RowBetween>
<RowFixed>
<Label display="flex" style={{ marginRight: '12px' }}>
<Trans>Price range</Trans>
</Label>
<HideExtraSmall>
<>
<RangeBadge removed={removed} inRange={inRange} />
<span style={{ width: '8px' }} />
</>
</HideExtraSmall>
</RowFixed>
<RowFixed>
{currencyBase && currencyQuote && (
<RateToggle
currencyA={currencyBase}
currencyB={currencyQuote}
handleRateToggle={() => setManuallyInverted(!manuallyInverted)}
/>
)}
</RowFixed>
</RowBetween>
<RowBetween>
<LightCard padding="12px" width="100%">
<AutoColumn gap="8px" justify="center">
<ExtentsText>
<Trans>Min price</Trans>
</ExtentsText>
<TYPE.mediumHeader textAlign="center">{priceLower?.toSignificant(5)}</TYPE.mediumHeader>
<ExtentsText>
{' '}
<Trans>
{currencyQuote?.symbol} per {currencyBase?.symbol}
</Trans>
</ExtentsText>
{inRange && (
<TYPE.small color={theme.text3}>
<Trans>Your position will be 100% {currencyBase?.symbol} at this price.</Trans>
</TYPE.small>
)}
</AutoColumn>
</LightCard>
<DoubleArrow></DoubleArrow>
<LightCard padding="12px" width="100%">
<AutoColumn gap="8px" justify="center">
<ExtentsText>
<Trans>Max price</Trans>
</ExtentsText>
<TYPE.mediumHeader textAlign="center">{priceUpper?.toSignificant(5)}</TYPE.mediumHeader>
<ExtentsText>
{' '}
<Trans>
{currencyQuote?.symbol} per {currencyBase?.symbol}
</Trans>
</ExtentsText>
{inRange && (
<TYPE.small color={theme.text3}>
<Trans>Your position will be 100% {currencyQuote?.symbol} at this price.</Trans>
</TYPE.small>
)}
</AutoColumn>
</LightCard>
</RowBetween>
<CurrentPriceCard
inverted={inverted}
pool={pool}
currencyQuote={currencyQuote}
currencyBase={currencyBase}
<>
<PageWrapper>
<TransactionConfirmationModal
isOpen={showConfirm}
onDismiss={() => setShowConfirm(false)}
attemptingTxn={collecting}
hash={collectMigrationHash ?? ''}
content={() => (
<ConfirmationModalContent
title={<Trans>Claim fees</Trans>}
onDismiss={() => setShowConfirm(false)}
topContent={modalHeader}
/>
)}
pendingText={<Trans>Collecting fees</Trans>}
/>
<AutoColumn gap="md">
<AutoColumn gap="sm">
<Link style={{ textDecoration: 'none', width: 'fit-content', marginBottom: '0.5rem' }} to="/pool">
<HoverText>
<Trans> Back to Pools Overview</Trans>
</HoverText>
</Link>
<ResponsiveRow>
<RowFixed>
<DoubleCurrencyLogo currency0={currencyBase} currency1={currencyQuote} size={24} margin={true} />
<TYPE.label fontSize={'24px'} mr="10px">
&nbsp;{currencyQuote?.symbol}&nbsp;/&nbsp;{currencyBase?.symbol}
</TYPE.label>
<Badge style={{ marginRight: '8px' }}>
<BadgeText>
<Trans>{new Percent(feeAmount, 1_000_000).toSignificant()}%</Trans>
</BadgeText>
</Badge>
<RangeBadge removed={removed} inRange={inRange} />
</RowFixed>
{ownsNFT && (
<RowFixed>
{currency0 && currency1 && feeAmount && tokenId ? (
<ButtonGray
as={Link}
to={`/increase/${currencyId(currency0)}/${currencyId(currency1)}/${feeAmount}/${tokenId}`}
width="fit-content"
padding="6px 8px"
borderRadius="12px"
style={{ marginRight: '8px' }}
>
<Trans>Increase Liquidity</Trans>
</ButtonGray>
) : null}
{tokenId && !removed ? (
<ResponsiveButtonPrimary
as={Link}
to={`/remove/${tokenId}`}
width="fit-content"
padding="6px 8px"
borderRadius="12px"
>
<Trans>Remove Liquidity</Trans>
</ResponsiveButtonPrimary>
) : null}
</RowFixed>
)}
</ResponsiveRow>
<RowBetween></RowBetween>
</AutoColumn>
</DarkCard>
</AutoColumn>
</PageWrapper>
<ResponsiveRow align="flex-start">
{'result' in metadata ? (
<DarkCard
width="100%"
height="100%"
style={{
display: 'flex',
alignItems: 'center',
flexDirection: 'column',
justifyContent: 'space-around',
marginRight: '12px',
}}
>
<div style={{ marginRight: 12 }}>
<NFT image={metadata.result.image} height={400} />
</div>
{typeof chainId === 'number' && owner && !ownsNFT ? (
<ExternalLink href={getExplorerLink(chainId, owner, ExplorerDataType.ADDRESS)}>
<Trans>Owner</Trans>
</ExternalLink>
) : null}
</DarkCard>
) : (
<DarkCard
width="100%"
height="100%"
style={{
marginRight: '12px',
minWidth: '340px',
}}
>
<Loader />
</DarkCard>
)}
<AutoColumn gap="sm" style={{ width: '100%', height: '100%' }}>
<DarkCard>
<AutoColumn gap="md" style={{ width: '100%' }}>
<AutoColumn gap="md">
<Label>
<Trans>Liquidity</Trans>
</Label>
{fiatValueOfLiquidity?.greaterThan(new Fraction(1, 100)) ? (
<TYPE.largeHeader fontSize="36px" fontWeight={500}>
<Trans>${fiatValueOfLiquidity.toFixed(2, { groupSeparator: ',' })}</Trans>
</TYPE.largeHeader>
) : (
<TYPE.largeHeader color={theme.text1} fontSize="36px" fontWeight={500}>
<Trans>$-</Trans>
</TYPE.largeHeader>
)}
</AutoColumn>
<LightCard padding="12px 16px">
<AutoColumn gap="md">
<RowBetween>
<LinkedCurrency chainId={chainId} currency={currencyQuote} />
<RowFixed>
<TYPE.main>
{inverted ? position?.amount0.toSignificant(4) : position?.amount1.toSignificant(4)}
</TYPE.main>
{typeof ratio === 'number' && !removed ? (
<Badge style={{ marginLeft: '10px' }}>
<TYPE.main fontSize={11}>
<Trans>{inverted ? ratio : 100 - ratio}%</Trans>
</TYPE.main>
</Badge>
) : null}
</RowFixed>
</RowBetween>
<RowBetween>
<LinkedCurrency chainId={chainId} currency={currencyBase} />
<RowFixed>
<TYPE.main>
{inverted ? position?.amount1.toSignificant(4) : position?.amount0.toSignificant(4)}
</TYPE.main>
{typeof ratio === 'number' && !removed ? (
<Badge style={{ marginLeft: '10px' }}>
<TYPE.main color={theme.text2} fontSize={11}>
<Trans>{inverted ? 100 - ratio : ratio}%</Trans>
</TYPE.main>
</Badge>
) : null}
</RowFixed>
</RowBetween>
</AutoColumn>
</LightCard>
</AutoColumn>
</DarkCard>
<DarkCard>
<AutoColumn gap="md" style={{ width: '100%' }}>
<AutoColumn gap="md">
<RowBetween style={{ alignItems: 'flex-start' }}>
<AutoColumn gap="md">
<Label>
<Trans>Unclaimed fees</Trans>
</Label>
{fiatValueOfFees?.greaterThan(new Fraction(1, 100)) ? (
<TYPE.largeHeader color={theme.green1} fontSize="36px" fontWeight={500}>
<Trans>${fiatValueOfFees.toFixed(2, { groupSeparator: ',' })}</Trans>
</TYPE.largeHeader>
) : (
<TYPE.largeHeader color={theme.text1} fontSize="36px" fontWeight={500}>
<Trans>$-</Trans>
</TYPE.largeHeader>
)}
</AutoColumn>
{ownsNFT && (feeValue0?.greaterThan(0) || feeValue1?.greaterThan(0) || !!collectMigrationHash) ? (
<ButtonConfirmed
disabled={collecting || !!collectMigrationHash}
confirmed={!!collectMigrationHash && !isCollectPending}
width="fit-content"
style={{ borderRadius: '12px' }}
padding="4px 8px"
onClick={() => setShowConfirm(true)}
>
{!!collectMigrationHash && !isCollectPending ? (
<TYPE.main color={theme.text1}>
<Trans> Collected</Trans>
</TYPE.main>
) : isCollectPending || collecting ? (
<TYPE.main color={theme.text1}>
{' '}
<Dots>
<Trans>Collecting</Trans>
</Dots>
</TYPE.main>
) : (
<>
<TYPE.main color={theme.white}>
<Trans>Collect fees</Trans>
</TYPE.main>
</>
)}
</ButtonConfirmed>
) : null}
</RowBetween>
</AutoColumn>
<LightCard padding="12px 16px">
<AutoColumn gap="md">
<RowBetween>
<RowFixed>
<CurrencyLogo
currency={feeValueUpper?.currency}
size={'20px'}
style={{ marginRight: '0.5rem' }}
/>
<TYPE.main>{feeValueUpper?.currency?.symbol}</TYPE.main>
</RowFixed>
<RowFixed>
<TYPE.main>{feeValueUpper ? formatCurrencyAmount(feeValueUpper, 4) : '-'}</TYPE.main>
</RowFixed>
</RowBetween>
<RowBetween>
<RowFixed>
<CurrencyLogo
currency={feeValueLower?.currency}
size={'20px'}
style={{ marginRight: '0.5rem' }}
/>
<TYPE.main>{feeValueLower?.currency?.symbol}</TYPE.main>
</RowFixed>
<RowFixed>
<TYPE.main>{feeValueLower ? formatCurrencyAmount(feeValueLower, 4) : '-'}</TYPE.main>
</RowFixed>
</RowBetween>
</AutoColumn>
</LightCard>
{ownsNFT &&
(feeValue0?.greaterThan(0) || feeValue1?.greaterThan(0)) &&
currency0 &&
currency1 &&
(currency0.isNative || currency1.isNative) &&
!collectMigrationHash ? (
<AutoColumn gap="md">
<RowBetween>
<TYPE.main>
<Trans>Collect as WETH</Trans>
</TYPE.main>
<Toggle
id="receive-as-weth"
isActive={receiveWETH}
toggle={() => setReceiveWETH((receiveWETH) => !receiveWETH)}
/>
</RowBetween>
</AutoColumn>
) : null}
</AutoColumn>
</DarkCard>
</AutoColumn>
</ResponsiveRow>
<DarkCard>
<AutoColumn gap="md">
<RowBetween>
<RowFixed>
<Label display="flex" style={{ marginRight: '12px' }}>
<Trans>Price range</Trans>
</Label>
<HideExtraSmall>
<>
<RangeBadge removed={removed} inRange={inRange} />
<span style={{ width: '8px' }} />
</>
</HideExtraSmall>
</RowFixed>
<RowFixed>
{currencyBase && currencyQuote && (
<RateToggle
currencyA={currencyBase}
currencyB={currencyQuote}
handleRateToggle={() => setManuallyInverted(!manuallyInverted)}
/>
)}
</RowFixed>
</RowBetween>
<RowBetween>
<LightCard padding="12px" width="100%">
<AutoColumn gap="8px" justify="center">
<ExtentsText>
<Trans>Min price</Trans>
</ExtentsText>
<TYPE.mediumHeader textAlign="center">{priceLower?.toSignificant(5)}</TYPE.mediumHeader>
<ExtentsText>
{' '}
<Trans>
{currencyQuote?.symbol} per {currencyBase?.symbol}
</Trans>
</ExtentsText>
{inRange && (
<TYPE.small color={theme.text3}>
<Trans>Your position will be 100% {currencyBase?.symbol} at this price.</Trans>
</TYPE.small>
)}
</AutoColumn>
</LightCard>
<DoubleArrow></DoubleArrow>
<LightCard padding="12px" width="100%">
<AutoColumn gap="8px" justify="center">
<ExtentsText>
<Trans>Max price</Trans>
</ExtentsText>
<TYPE.mediumHeader textAlign="center">{priceUpper?.toSignificant(5)}</TYPE.mediumHeader>
<ExtentsText>
{' '}
<Trans>
{currencyQuote?.symbol} per {currencyBase?.symbol}
</Trans>
</ExtentsText>
{inRange && (
<TYPE.small color={theme.text3}>
<Trans>Your position will be 100% {currencyQuote?.symbol} at this price.</Trans>
</TYPE.small>
)}
</AutoColumn>
</LightCard>
</RowBetween>
<CurrentPriceCard
inverted={inverted}
pool={pool}
currencyQuote={currencyQuote}
currencyBase={currencyBase}
/>
</AutoColumn>
</DarkCard>
</AutoColumn>
</PageWrapper>
<SwitchLocaleLink />
</>
)
}

View File

@@ -204,11 +204,13 @@ export default function Pool() {
{closedPositions.length > 0 ? (
<ShowInactiveToggle>
<TYPE.darkGray>
<Trans>Hide closed positions</Trans>
<Trans>Closed positions</Trans>
</TYPE.darkGray>
<Toggle
isActive={userHideClosedPositions}
isActive={!userHideClosedPositions}
toggle={() => setUserHideClosedPositions(!userHideClosedPositions)}
checked={<Trans>Show</Trans>}
unchecked={<Trans>Hide</Trans>}
/>
</ShowInactiveToggle>
) : null}

View File

@@ -19,6 +19,7 @@ import { useV2Pairs } from '../../hooks/useV2Pairs'
import { toV2LiquidityToken, useTrackedTokenPairs } from '../../state/user/hooks'
import { Dots } from '../../components/swap/styleds'
import { CardSection, DataCard, CardNoise, CardBGImage } from '../../components/earn/styled'
import { SwitchLocaleLink } from '../../components/SwitchLocaleLink'
import { useStakingInfo } from '../../state/stake/hooks'
import { BIG_INT_ZERO } from '../../constants/misc'
import { Pair } from '@uniswap/v2-sdk'
@@ -54,6 +55,7 @@ const ButtonRow = styled(RowFixed)`
const ResponsiveButtonPrimary = styled(ButtonPrimary)`
width: fit-content;
border-radius: 12px;
${({ theme }) => theme.mediaWidth.upToSmall`
width: 48%;
`};
@@ -175,24 +177,12 @@ export default function Pool() {
<ResponsiveButtonSecondary as={Link} padding="6px 8px" to="/add/v2/ETH">
<Trans>Create a pair</Trans>
</ResponsiveButtonSecondary>
<ResponsiveButtonPrimary
id="find-pool-button"
as={Link}
padding="6px 8px"
borderRadius="12px"
to="/pool/v2/find"
>
<ResponsiveButtonPrimary id="find-pool-button" as={Link} to="/pool/v2/find" padding="6px 8px">
<Text fontWeight={500} fontSize={16}>
<Trans>Import Pool</Trans>
</Text>
</ResponsiveButtonPrimary>
<ResponsiveButtonPrimary
id="join-pool-button"
as={Link}
padding="6px 8px"
borderRadius="12px"
to="/add/v2/ETH"
>
<ResponsiveButtonPrimary id="join-pool-button" as={Link} to="/add/v2/ETH" padding="6px 8px">
<Text fontWeight={500} fontSize={16}>
<Trans>Add V2 Liquidity</Trans>
</Text>
@@ -267,6 +257,7 @@ export default function Pool() {
</AutoColumn>
</AutoColumn>
</PageWrapper>
<SwitchLocaleLink />
</>
)
}

View File

@@ -11,6 +11,7 @@ import { FindPoolTabs } from '../../components/NavigationTabs'
import { MinimalPositionCard } from '../../components/PositionCard'
import Row from '../../components/Row'
import CurrencySearchModal from '../../components/SearchModal/CurrencySearchModal'
import { SwitchLocaleLink } from '../../components/SwitchLocaleLink'
import { ExtendedEther } from '../../constants/tokens'
import { PairState, useV2Pair } from '../../hooks/useV2Pairs'
import { useActiveWeb3React } from '../../hooks/web3'
@@ -93,136 +94,139 @@ export default function PoolFinder() {
)
return (
<AppBody>
<FindPoolTabs origin={query.get('origin') ?? '/pool/v2'} />
<AutoColumn style={{ padding: '1rem' }} gap="md">
<BlueCard>
<AutoColumn gap="10px">
<TYPE.link fontWeight={400} color={'primaryText1'}>
<Trans>
<b>Tip:</b> Use this tool to find v2 pools that don&apos;t automatically appear in the interface.
</Trans>
</TYPE.link>
</AutoColumn>
</BlueCard>
<ButtonDropdownLight
onClick={() => {
setShowSearch(true)
setActiveField(Fields.TOKEN0)
}}
>
{currency0 ? (
<Row>
<CurrencyLogo currency={currency0} />
<Text fontWeight={500} fontSize={20} marginLeft={'12px'}>
{currency0.symbol}
</Text>
</Row>
) : (
<Text fontWeight={500} fontSize={20} marginLeft={'12px'}>
<Trans>Select a token</Trans>
</Text>
)}
</ButtonDropdownLight>
<ColumnCenter>
<Plus size="16" color="#888D9B" />
</ColumnCenter>
<ButtonDropdownLight
onClick={() => {
setShowSearch(true)
setActiveField(Fields.TOKEN1)
}}
>
{currency1 ? (
<Row>
<CurrencyLogo currency={currency1} />
<Text fontWeight={500} fontSize={20} marginLeft={'12px'}>
{currency1.symbol}
</Text>
</Row>
) : (
<Text fontWeight={500} fontSize={20} marginLeft={'12px'}>
<Trans>Select a token</Trans>
</Text>
)}
</ButtonDropdownLight>
{hasPosition && (
<ColumnCenter
style={{ justifyItems: 'center', backgroundColor: '', padding: '12px 0px', borderRadius: '12px' }}
<>
<AppBody>
<FindPoolTabs origin={query.get('origin') ?? '/pool/v2'} />
<AutoColumn style={{ padding: '1rem' }} gap="md">
<BlueCard>
<AutoColumn gap="10px">
<TYPE.link fontWeight={400} color={'primaryText1'}>
<Trans>
<b>Tip:</b> Use this tool to find v2 pools that don&apos;t automatically appear in the interface.
</Trans>
</TYPE.link>
</AutoColumn>
</BlueCard>
<ButtonDropdownLight
onClick={() => {
setShowSearch(true)
setActiveField(Fields.TOKEN0)
}}
>
<Text textAlign="center" fontWeight={500}>
<Trans>Pool Found!</Trans>
</Text>
<StyledInternalLink to={`/pool/v2`}>
<Text textAlign="center">
<Trans>Manage this pool.</Trans>
</Text>
</StyledInternalLink>
</ColumnCenter>
)}
{currency0 && currency1 ? (
pairState === PairState.EXISTS ? (
hasPosition && pair ? (
<MinimalPositionCard pair={pair} border="1px solid #CED0D9" />
{currency0 ? (
<Row>
<CurrencyLogo currency={currency0} />
<Text fontWeight={500} fontSize={20} marginLeft={'12px'}>
{currency0.symbol}
</Text>
</Row>
) : (
<Text fontWeight={500} fontSize={20} marginLeft={'12px'}>
<Trans>Select a token</Trans>
</Text>
)}
</ButtonDropdownLight>
<ColumnCenter>
<Plus size="16" color="#888D9B" />
</ColumnCenter>
<ButtonDropdownLight
onClick={() => {
setShowSearch(true)
setActiveField(Fields.TOKEN1)
}}
>
{currency1 ? (
<Row>
<CurrencyLogo currency={currency1} />
<Text fontWeight={500} fontSize={20} marginLeft={'12px'}>
{currency1.symbol}
</Text>
</Row>
) : (
<Text fontWeight={500} fontSize={20} marginLeft={'12px'}>
<Trans>Select a token</Trans>
</Text>
)}
</ButtonDropdownLight>
{hasPosition && (
<ColumnCenter
style={{ justifyItems: 'center', backgroundColor: '', padding: '12px 0px', borderRadius: '12px' }}
>
<Text textAlign="center" fontWeight={500}>
<Trans>Pool Found!</Trans>
</Text>
<StyledInternalLink to={`/pool/v2`}>
<Text textAlign="center">
<Trans>Manage this pool.</Trans>
</Text>
</StyledInternalLink>
</ColumnCenter>
)}
{currency0 && currency1 ? (
pairState === PairState.EXISTS ? (
hasPosition && pair ? (
<MinimalPositionCard pair={pair} border="1px solid #CED0D9" />
) : (
<LightCard padding="45px 10px">
<AutoColumn gap="sm" justify="center">
<Text textAlign="center">
<Trans>You dont have liquidity in this pool yet.</Trans>
</Text>
<StyledInternalLink to={`/add/${currencyId(currency0)}/${currencyId(currency1)}`}>
<Text textAlign="center">
<Trans>Add liquidity.</Trans>
</Text>
</StyledInternalLink>
</AutoColumn>
</LightCard>
)
) : validPairNoLiquidity ? (
<LightCard padding="45px 10px">
<AutoColumn gap="sm" justify="center">
<Text textAlign="center">
<Trans>You dont have liquidity in this pool yet.</Trans>
<Trans>No pool found.</Trans>
</Text>
<StyledInternalLink to={`/add/${currencyId(currency0)}/${currencyId(currency1)}`}>
<Text textAlign="center">
<Trans>Add liquidity.</Trans>
</Text>
<Trans>Create pool.</Trans>
</StyledInternalLink>
</AutoColumn>
</LightCard>
)
) : validPairNoLiquidity ? (
<LightCard padding="45px 10px">
<AutoColumn gap="sm" justify="center">
<Text textAlign="center">
<Trans>No pool found.</Trans>
</Text>
<StyledInternalLink to={`/add/${currencyId(currency0)}/${currencyId(currency1)}`}>
<Trans>Create pool.</Trans>
</StyledInternalLink>
</AutoColumn>
</LightCard>
) : pairState === PairState.INVALID ? (
<LightCard padding="45px 10px">
<AutoColumn gap="sm" justify="center">
<Text textAlign="center" fontWeight={500}>
<Trans>Invalid pair.</Trans>
</Text>
</AutoColumn>
</LightCard>
) : pairState === PairState.LOADING ? (
<LightCard padding="45px 10px">
<AutoColumn gap="sm" justify="center">
<Text textAlign="center">
<Trans>Loading</Trans>
<Dots />
</Text>
</AutoColumn>
</LightCard>
) : null
) : (
prerequisiteMessage
)}
</AutoColumn>
) : pairState === PairState.INVALID ? (
<LightCard padding="45px 10px">
<AutoColumn gap="sm" justify="center">
<Text textAlign="center" fontWeight={500}>
<Trans>Invalid pair.</Trans>
</Text>
</AutoColumn>
</LightCard>
) : pairState === PairState.LOADING ? (
<LightCard padding="45px 10px">
<AutoColumn gap="sm" justify="center">
<Text textAlign="center">
<Trans>Loading</Trans>
<Dots />
</Text>
</AutoColumn>
</LightCard>
) : null
) : (
prerequisiteMessage
)}
</AutoColumn>
<CurrencySearchModal
isOpen={showSearch}
onCurrencySelect={handleCurrencySelect}
onDismiss={handleSearchDismiss}
showCommonBases
selectedCurrency={(activeField === Fields.TOKEN0 ? currency1 : currency0) ?? undefined}
/>
</AppBody>
<CurrencySearchModal
isOpen={showSearch}
onCurrencySelect={handleCurrencySelect}
onDismiss={handleSearchDismiss}
showCommonBases
selectedCurrency={(activeField === Fields.TOKEN0 ? currency1 : currency0) ?? undefined}
/>
</AppBody>
<SwitchLocaleLink />
</>
)
}

View File

@@ -452,7 +452,6 @@ export default function Swap({ history }: RouteComponentProps) {
justifyContent: 'space-between',
alignItems: 'center',
height: '24px',
opacity: 0.8,
lineHeight: '120%',
marginLeft: '0.75rem',
}}
@@ -477,7 +476,7 @@ export default function Swap({ history }: RouteComponentProps) {
display: 'flex',
justifyContent: 'space-between',
height: '24px',
opacity: 0.4,
opacity: 0.8,
marginLeft: '0.25rem',
}}
>

View File

@@ -121,13 +121,13 @@ const ProposerAddressLink = styled(ExternalLink)`
export default function VotePage({
match: {
params: { id },
params: { governorIndex, id },
},
}: RouteComponentProps<{ id: string }>) {
}: RouteComponentProps<{ governorIndex: string; id: string }>) {
const { chainId, account } = useActiveWeb3React()
// get data for this specific proposal
const proposalData: ProposalData | undefined = useProposalData(id)
const proposalData: ProposalData | undefined = useProposalData(Number.parseInt(governorIndex), id)
// update support based on button interactions
const [support, setSupport] = useState<boolean>(true)

View File

@@ -120,8 +120,7 @@ export default function Vote() {
const toggleDelegateModal = useToggleDelegateModal()
// get data to list all proposals
// TODO don't hardcode for first gov alpha
const allProposals: ProposalData[] = useAllProposalData()[0]
const allProposals: ProposalData[] = useAllProposalData()
// user data
const availableVotes: CurrencyAmount<Token> | undefined = useUserVotes()
@@ -249,9 +248,9 @@ export default function Vote() {
</TYPE.subHeader>
</EmptyProposals>
)}
{allProposals?.reverse()?.map((p: ProposalData, i) => {
{allProposals?.reverse()?.map((p: ProposalData) => {
return (
<Proposal as={Link} to={'/vote/' + p.id} key={i}>
<Proposal as={Link} to={`/vote/${p.governorIndex}/${p.id}`} key={`${p.governorIndex}${p.id}`}>
<ProposalNumber>{p.id}</ProposalNumber>
<ProposalTitle>{p.title}</ProposalTitle>
<ProposalStatus status={p.status}>{ProposalState[p.status]}</ProposalStatus>
@@ -260,7 +259,7 @@ export default function Vote() {
})}
</TopSection>
<TYPE.subHeader color="text3">
<Trans>A minimum threshold of 1% of the total UNI supply is required to submit proposals</Trans>
<Trans>A minimum threshold of 0.25% of the total UNI supply is required to submit proposals</Trans>
</TYPE.subHeader>
</PageWrapper>
<SwitchLocaleLink />

View File

@@ -1,16 +1,19 @@
import { CurrencyAmount, Token } from '@uniswap/sdk-core'
import { isAddress } from 'ethers/lib/utils'
import { UNI } from '../../constants/tokens'
import { useGovernanceContracts, useUniContract } from '../../hooks/useContract'
import { calculateGasMargin } from '../../utils/calculateGasMargin'
import { useSingleCallResult, useSingleContractMultipleData } from '../multicall/hooks'
import { useActiveWeb3React } from '../../hooks/web3'
import { ethers, utils } from 'ethers'
import { TransactionResponse } from '@ethersproject/providers'
import { useTransactionAdder } from '../transactions/hooks'
import { useState, useEffect, useCallback, useMemo } from 'react'
import { abi as GOV_ABI } from '@uniswap/governance/build/GovernorAlpha.json'
import { CurrencyAmount, Token } from '@uniswap/sdk-core'
import { GOVERNANCE_ADDRESSES } from 'constants/addresses'
import { SupportedChainId } from 'constants/chains'
import { UNISWAP_GRANTS_PROPOSAL_DESCRIPTION } from 'constants/proposals/uniswap_grants_proposal_description'
import { BigNumber, ethers, utils } from 'ethers'
import { isAddress } from 'ethers/lib/utils'
import { useGovernanceContracts, useUniContract } from 'hooks/useContract'
import { useActiveWeb3React } from 'hooks/web3'
import { useCallback, useEffect, useMemo, useState } from 'react'
import { calculateGasMargin } from 'utils/calculateGasMargin'
import { UNISWAP_GRANTS_START_BLOCK } from '../../constants/proposals'
import { UNI } from '../../constants/tokens'
import { useMultipleContractMultipleData, useSingleCallResult } from '../multicall/hooks'
import { useTransactionAdder } from '../transactions/hooks'
interface ProposalDetail {
target: string
@@ -29,6 +32,7 @@ export interface ProposalData {
startBlock: number
endBlock: number
details: ProposalDetail[]
governorIndex: number // index in the governance address array for which this proposal pertains
}
export enum ProposalState {
@@ -43,12 +47,17 @@ export enum ProposalState {
Executed,
}
// get count of all proposals made on the given governor alpha
function useProposalCount(govContract: ethers.Contract | null): number | undefined {
const res = useSingleCallResult(govContract, 'proposalCount')
if (res.result && !res.loading) {
return parseInt(res.result[0])
const GovernanceInterface = new ethers.utils.Interface(GOV_ABI)
// get count of all proposals made in the latest governor contract
function useLatestProposalCount(): number | undefined {
const govContracts = useGovernanceContracts()
const res = useSingleCallResult(govContracts[0], 'proposalCount')
if (res?.result?.[0]) {
return (res.result[0] as BigNumber).toNumber()
}
return undefined
}
@@ -56,152 +65,179 @@ function useProposalCount(govContract: ethers.Contract | null): number | undefin
* Need proposal events to get description data emitted from
* new proposal event.
*/
const eventParser = new ethers.utils.Interface(GOV_ABI)
function useDataFromEventLogs(govContract: ethers.Contract | null) {
function useDataFromEventLogs():
| {
description: string
details: { target: string; functionSig: string; callData: string }[]
}[][]
| undefined {
const { library, chainId } = useActiveWeb3React()
const [formattedEvents, setFormattedEvents] =
useState<{ description: string; details: { target: string; functionSig: string; callData: string }[] }[]>()
useState<{ description: string; details: { target: string; functionSig: string; callData: string }[] }[][]>()
// create filter for these specific events
const filter = useMemo(
const govContracts = useGovernanceContracts()
// create filters for ProposalCreated events
const filters = useMemo(
() =>
govContract ? { ...govContract.filters.ProposalCreated(), fromBlock: 10861678, toBlock: 'latest' } : undefined,
[govContract]
govContracts?.filter((govContract) => !!govContract)?.length > 0
? govContracts
.filter((govContract): govContract is ethers.Contract => !!govContract)
.map((contract) => ({
...contract.filters.ProposalCreated(),
fromBlock: 10861678, // TODO could optimize this on a per-contract basis, this is the safe value
toBlock: 'latest',
}))
: undefined,
[govContracts]
)
// clear logs on chainId change
useEffect(() => {
if (!filter || !library) return
return () => {
setFormattedEvents(undefined)
}
}, [chainId])
useEffect(() => {
if (!filters || !library) return
let stale = false
if (!formattedEvents) {
library
.getLogs(filter)
.then((proposalEvents) => {
Promise.all(filters.map((filter) => library.getLogs(filter)))
.then((governanceContractsProposalEvents) => {
if (stale) return
const formattedEventData = proposalEvents?.map((event) => {
const eventParsed = eventParser.parseLog(event).args
return {
description: eventParsed.description,
details: eventParsed.targets.map((target: string, i: number) => {
const signature = eventParsed.signatures[i]
const [name, types] = signature.substr(0, signature.length - 1).split('(')
const calldata = eventParsed.calldatas[i]
const decoded = utils.defaultAbiCoder.decode(types.split(','), calldata)
return {
target,
functionSig: name,
callData: decoded.join(', '),
}
}),
}
const formattedEventData = governanceContractsProposalEvents.map((proposalEvents) => {
return proposalEvents.map((event) => {
const eventParsed = GovernanceInterface.parseLog(event).args
return {
description: eventParsed.description,
details: eventParsed.targets.map((target: string, i: number) => {
const signature = eventParsed.signatures[i]
const [name, types] = signature.substr(0, signature.length - 1).split('(')
const calldata = eventParsed.calldatas[i]
const decoded = utils.defaultAbiCoder.decode(types.split(','), calldata)
return {
target,
functionSig: name,
callData: decoded.join(', '),
}
}),
}
})
})
setFormattedEvents(formattedEventData)
})
.catch((error) => {
if (stale) return
console.error('Failed to fetch proposals', error)
setFormattedEvents(undefined)
})
return () => {
stale = true
}
}
return
}, [filter, library, formattedEvents, chainId])
}, [filters, library, formattedEvents, chainId])
return formattedEvents
}
// get data for all past and active proposals
export function useAllProposalData(): ProposalData[][] {
// fetch all governance contracts
const govContracts = useGovernanceContracts()
export function useAllProposalData(): ProposalData[] {
const { chainId } = useActiveWeb3React()
const proposalCount = useLatestProposalCount()
// fetch the proposal count on the active contract
const proposalCount = useProposalCount(govContracts[govContracts.length - 1])
const addresses = useMemo(() => {
return chainId === SupportedChainId.MAINNET ? GOVERNANCE_ADDRESSES.map((addressMap) => addressMap[chainId]) : []
}, [chainId])
// get all proposals for all contracts
const proposalsIndicesByGovContract = [
[1, 2, 3, 4], // hardcoded for first governor alpha
typeof proposalCount === 'number' ? new Array(proposalCount).fill(0).map((_, i) => i + 1) : [], // dynamic for current governor alpha
]
const proposalIndexes = useMemo(() => {
return chainId === SupportedChainId.MAINNET
? [
typeof proposalCount === 'number' ? new Array(proposalCount).fill(0).map((_, i) => [i + 1]) : [], // dynamic for current governor alpha
[[1], [2], [3], [4]], // hardcoded for governor alpha V0
]
: []
}, [chainId, proposalCount])
// get all proposal entities
const allProposalsByGovContract = [
useSingleContractMultipleData(
govContracts[0],
'proposals',
proposalsIndicesByGovContract[0].map((i) => [i])
),
useSingleContractMultipleData(
govContracts[1],
'proposals',
proposalsIndicesByGovContract[1].map((i) => [i])
),
]
const allProposalsCallData = useMultipleContractMultipleData(
addresses,
GovernanceInterface,
'proposals',
proposalIndexes
)
// get all proposal states
const allProposalStatesByGovContract = [
useSingleContractMultipleData(
govContracts[0],
'state',
proposalsIndicesByGovContract[0].map((i) => [i])
),
useSingleContractMultipleData(
govContracts[1],
'state',
proposalsIndicesByGovContract[1].map((i) => [i])
),
]
const allProposalStatesCallData = useMultipleContractMultipleData(
addresses,
GovernanceInterface,
'state',
proposalIndexes
)
// get metadata from past events
const formattedEventsByGovContract = [useDataFromEventLogs(govContracts[0]), useDataFromEventLogs(govContracts[1])]
const allFormattedEvents = useDataFromEventLogs()
const returnData: ProposalData[][] = []
// early return until events are fetched
if (!allFormattedEvents) return []
for (let governorIndex = 0; governorIndex < allProposalsByGovContract.length; governorIndex++) {
const allProposals = allProposalsByGovContract[governorIndex]
const allProposalStates = allProposalStatesByGovContract[governorIndex]
const formattedEvents = formattedEventsByGovContract[governorIndex]
const results: ProposalData[][] = []
for (
let governanceContractIndex = 0;
governanceContractIndex < allProposalsCallData.length;
governanceContractIndex++
) {
const proposalsCallData = allProposalsCallData[governanceContractIndex]
const proposalStatesCallData = allProposalStatesCallData[governanceContractIndex]
const formattedEvents = allFormattedEvents[governanceContractIndex]
if (
allProposals?.every((p) => Boolean(p.result)) &&
allProposalStates?.every((p) => Boolean(p.result)) &&
formattedEvents?.every((p) => Boolean(p))
!proposalsCallData?.every((p) => Boolean(p.result)) ||
!proposalStatesCallData?.every((p) => Boolean(p.result)) ||
!formattedEvents?.every((p) => Boolean(p))
) {
returnData.push(
allProposals.map((proposal, i): ProposalData => {
let description = formattedEvents[i].description
// overwrite broken description
if (governorIndex === 0 && i === 2) description = UNISWAP_GRANTS_PROPOSAL_DESCRIPTION
return {
id: proposal?.result?.id.toString(),
title: description?.split(/# |\n/g)[1] ?? 'Untitled',
description: description ?? 'No description.',
proposer: proposal?.result?.proposer,
status: allProposalStates[i]?.result?.[0] ?? ProposalState.Undetermined,
forCount: parseFloat(ethers.utils.formatUnits(proposal?.result?.forVotes.toString(), 18)),
againstCount: parseFloat(ethers.utils.formatUnits(proposal?.result?.againstVotes.toString(), 18)),
startBlock: parseInt(proposal?.result?.startBlock?.toString()),
endBlock: parseInt(proposal?.result?.endBlock?.toString()),
details: formattedEvents[i].details,
}
})
)
} else {
returnData.push([])
results.push([])
continue
}
results.push(
proposalsCallData.map((proposal, i) => {
let description = formattedEvents[i].description
const startBlock = parseInt(proposal?.result?.startBlock?.toString())
if (startBlock === UNISWAP_GRANTS_START_BLOCK) {
description = UNISWAP_GRANTS_PROPOSAL_DESCRIPTION
}
return {
id: proposal?.result?.id.toString(),
title: description?.split(/# |\n/g)[1] ?? 'Untitled',
description: description ?? 'No description.',
proposer: proposal?.result?.proposer,
status: proposalStatesCallData[i]?.result?.[0] ?? ProposalState.Undetermined,
forCount: parseFloat(ethers.utils.formatUnits(proposal?.result?.forVotes.toString(), 18)),
againstCount: parseFloat(ethers.utils.formatUnits(proposal?.result?.againstVotes.toString(), 18)),
startBlock,
endBlock: parseInt(proposal?.result?.endBlock?.toString()),
details: formattedEvents[i].details,
governorIndex: governanceContractIndex,
}
})
)
}
return returnData
return results.flat()
}
export function useProposalData(id: string): ProposalData | undefined {
// TODO don't hardcode for first gov alpha
const allProposalData = useAllProposalData()[0]
return allProposalData?.find((p) => p.id === id)
export function useProposalData(governorIndex: number, id: string): ProposalData | undefined {
const allProposalData = useAllProposalData()
return allProposalData?.filter((p) => p.governorIndex === governorIndex)?.find((p) => p.id === id)
}
// get the users delegatee if it exists
@@ -266,18 +302,16 @@ export function useVoteCallback(): {
} {
const { account } = useActiveWeb3React()
// we only care about voting on the active governance contract
const govContracts = useGovernanceContracts()
const govContract = govContracts[govContracts.length - 1]
const latestGovernanceContract = govContracts ? govContracts[0] : null
const addTransaction = useTransactionAdder()
const voteCallback = useCallback(
(proposalId: string | undefined, support: boolean) => {
if (!account || !govContract || !proposalId) return
if (!account || !latestGovernanceContract || !proposalId) return
const args = [proposalId, support]
return govContract.estimateGas.castVote(...args, {}).then((estimatedGasLimit) => {
return govContract
return latestGovernanceContract.estimateGas.castVote(...args, {}).then((estimatedGasLimit) => {
return latestGovernanceContract
.castVote(...args, { value: null, gasLimit: calculateGasMargin(estimatedGasLimit) })
.then((response: TransactionResponse) => {
addTransaction(response, {
@@ -287,7 +321,7 @@ export function useVoteCallback(): {
})
})
},
[account, addTransaction, govContract]
[account, addTransaction, latestGovernanceContract]
)
return { voteCallback }
}

View File

@@ -1,4 +1,4 @@
import { Interface, FunctionFragment } from '@ethersproject/abi'
import { FunctionFragment, Interface } from '@ethersproject/abi'
import { BigNumber } from '@ethersproject/bignumber'
import { Contract } from '@ethersproject/contracts'
import { useEffect, useMemo } from 'react'
@@ -8,10 +8,10 @@ import { useBlockNumber } from '../application/hooks'
import {
addMulticallListeners,
Call,
removeMulticallListeners,
parseCallKey,
toCallKey,
ListenerOptions,
parseCallKey,
removeMulticallListeners,
toCallKey,
} from './actions'
export interface Result extends ReadonlyArray<any> {
@@ -231,6 +231,63 @@ export function useMultipleContractSingleData(
}, [fragment, results, contractInterface, latestBlockNumber])
}
export function useMultipleContractMultipleData(
addresses: (string | undefined)[],
contractInterface: Interface,
methodName: string,
callInputs?: OptionalMethodInputs[][],
options?: ListenerOptions,
gasRequired?: number
): CallState[][] {
const fragment = useMemo(() => contractInterface.getFunction(methodName), [contractInterface, methodName])
const calls = useMemo(() => {
return addresses.map((address, i) => {
const passesChecks = address && contractInterface && fragment
if (!passesChecks) {
return []
}
return callInputs
? callInputs[i].map<Call | undefined>((inputs) => {
const callData: string | undefined = isValidMethodArgs(inputs)
? contractInterface.encodeFunctionData(fragment, inputs)
: undefined
return address && callData
? {
address,
callData,
...(gasRequired ? { gasRequired } : {}),
}
: undefined
})
: []
})
}, [addresses, callInputs, contractInterface, fragment, gasRequired])
const callResults = useCallsData(calls.flat(), options)
const latestBlockNumber = useBlockNumber()
return useMemo(() => {
const callInputLengths = callInputs ? callInputs.map((inputArray) => inputArray.length) : []
const unformatedResults = callResults.map((result) =>
toCallState(result, contractInterface, fragment, latestBlockNumber)
)
return callInputLengths.map((length) => {
let j = 0
const indexElements: any = []
while (j < length) {
indexElements.push(unformatedResults.shift())
j++
}
return indexElements
})
}, [fragment, callInputs, callResults, contractInterface, latestBlockNumber])
}
export function useSingleCallResult(
contract: Contract | null | undefined,
methodName: string,

View File

@@ -44,8 +44,8 @@ export function colors(darkMode: boolean): Colors {
// text
text1: darkMode ? '#FFFFFF' : '#000000',
text2: darkMode ? '#C3C5CB' : '#565A69',
text3: darkMode ? '#6C7284' : '#888D9B',
text4: darkMode ? '#565A69' : '#C3C5CB',
text3: darkMode ? '#8F96AC' : '#6E727D',
text4: darkMode ? '#B2B9D2' : '#C3C5CB',
text5: darkMode ? '#2C2F36' : '#EDEEF2',
// backgrounds / greys
@@ -62,34 +62,33 @@ export function colors(darkMode: boolean): Colors {
advancedBG: darkMode ? 'rgba(0,0,0,0.1)' : 'rgba(255,255,255,0.6)',
//primary colors
primary1: darkMode ? '#2172E5' : '#ff007a',
primary1: darkMode ? '#2172E5' : '#E8006F',
primary2: darkMode ? '#3680E7' : '#FF8CC3',
primary3: darkMode ? '#4D8FEA' : '#FF99C9',
primary4: darkMode ? '#376bad70' : '#F6DDE8',
primary5: darkMode ? '#153d6f70' : '#FDEAF1',
// color text
primaryText1: darkMode ? '#6da8ff' : '#ff007a',
primaryText1: darkMode ? '#438BF0' : '#D50066',
// secondary colors
secondary1: darkMode ? '#2172E5' : '#ff007a',
secondary1: darkMode ? '#2172E5' : '#E8006F',
secondary2: darkMode ? '#17000b26' : '#F6DDE8',
secondary3: darkMode ? '#17000b26' : '#FDEAF1',
// other
red1: '#FD4040',
red2: '#F82D3A',
red1: darkMode ? '#FF4343' : '#DA2D2B',
red2: darkMode ? '#F82D3A' : '#DF1F38',
red3: '#D60000',
green1: '#27AE60',
yellow1: '#e3a507',
yellow2: '#ff8f00',
green1: darkMode ? '#27AE60' : '#007D35',
yellow1: '#E3A507',
yellow2: '#FF8F00',
yellow3: '#F3B71E',
blue1: '#2172E5',
blue2: '#5199FF',
error: '#FD4040',
success: '#27AE60',
warning: '#ff8f00',
blue1: darkMode ? '#2172E5' : '#0068FC',
blue2: darkMode ? '#5199FF' : '#0068FC',
error: darkMode ? '#FD4040' : '#DF1F38',
success: darkMode ? '#27AE60' : '#007D35',
warning: '#FF8F00',
// dont wanna forget these blue yet
// blue4: darkMode ? '#153d6f70' : '#C4D9F8',