Compare commits
13 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c48adc519f | ||
|
|
9f8983a92e | ||
|
|
c9d3d81768 | ||
|
|
c6f73c35ee | ||
|
|
7a2777b814 | ||
|
|
014595cdfb | ||
|
|
1b27d8dab0 | ||
|
|
c4d12c86a8 | ||
|
|
8d2feeb89e | ||
|
|
576b399768 | ||
|
|
eb8ce85872 | ||
|
|
1644e4f9c6 | ||
|
|
574fab54d1 |
@@ -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
|
||||
|
||||
@@ -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')};
|
||||
}
|
||||
`
|
||||
|
||||
|
||||
@@ -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}>
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
@@ -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({
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -12,15 +12,15 @@ const ToggleElement = styled.span<{ isActive?: boolean; isOnSwitch?: boolean }>`
|
||||
|
||||
padding: 0.35rem 0.6rem;
|
||||
border-radius: 12px;
|
||||
background: ${({ theme, isActive, isOnSwitch }) => (isActive ? (isOnSwitch ? theme.primary1 : theme.text4) : 'none')};
|
||||
background: ${({ theme, isActive, isOnSwitch }) => (isActive ? (isOnSwitch ? theme.primary1 : theme.text5) : 'none')};
|
||||
color: ${({ theme, isActive, isOnSwitch }) => (isActive ? (isOnSwitch ? theme.white : theme.text2) : 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 ? theme.primary1 : theme.text5) : 'none'};
|
||||
color: ${({ theme, isActive, isOnSwitch }) => (isActive ? (isOnSwitch ? theme.white : theme.text3) : theme.text3)};
|
||||
}
|
||||
`
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -16,11 +16,13 @@ export const V2_ROUTER_ADDRESS: AddressMap = constructSameAddressMap(
|
||||
'0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D',
|
||||
false
|
||||
)
|
||||
|
||||
// most current governance contract address should always be the 0 index
|
||||
export const GOVERNANCE_ADDRESSES: AddressMap[] = [
|
||||
constructSameAddressMap('0x5e4be8Bc9637f0EAA1A755019e06A68ce081D58F', false),
|
||||
{
|
||||
[SupportedChainId.MAINNET]: '0xC4e172459f1E7939D522503B81AFAaC1014CE6F6',
|
||||
},
|
||||
constructSameAddressMap('0x5e4be8Bc9637f0EAA1A755019e06A68ce081D58F', false),
|
||||
]
|
||||
export const TIMELOCK_ADDRESS: AddressMap = constructSameAddressMap('0x1a9C8182C09F50C8318d769245beA52c32BE35BC', false)
|
||||
export const MERKLE_DISTRIBUTOR_ADDRESS: AddressMap = {
|
||||
|
||||
@@ -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',
|
||||
}
|
||||
|
||||
@@ -1,11 +1,21 @@
|
||||
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 === GOVERNANCE_ADDRESSES.length - 1 ? '' : ` (V${i})`}`,
|
||||
}),
|
||||
{}
|
||||
)
|
||||
|
||||
export const COMMON_CONTRACT_NAMES: Record<number, { [address: string]: string }> = {
|
||||
[SupportedChainId.MAINNET]: {
|
||||
[UNI_ADDRESS[SupportedChainId.MAINNET]]: 'UNI',
|
||||
[TIMELOCK_ADDRESS[SupportedChainId.MAINNET]]: 'Timelock',
|
||||
...governanceContracts(),
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
2
src/constants/proposals/index.ts
Normal file
2
src/constants/proposals/index.ts
Normal file
@@ -0,0 +1,2 @@
|
||||
export const UNISWAP_GRANTS_START_BLOCK = 11473815
|
||||
export const EDUCATION_FUND_1_START_BLOCK = 12620175
|
||||
@@ -46,19 +46,34 @@ import { useActiveWeb3React } from './web3'
|
||||
|
||||
// returns null on errors
|
||||
export function useContract<T extends Contract = Contract>(
|
||||
addressOrAddressMap: string | { [chainId: number]: string } | undefined,
|
||||
addressOrAddressMap: string | { [chainId: number]: string } | { [chainId: number]: string }[] | undefined,
|
||||
ABI: any,
|
||||
withSignerIfPossible = true
|
||||
): T | null {
|
||||
const { library, account, chainId } = useActiveWeb3React()
|
||||
|
||||
return useMemo(() => {
|
||||
if (!addressOrAddressMap || !ABI || !library || !chainId) return null
|
||||
if (!addressOrAddressMap || !ABI || !library || !chainId) {
|
||||
return null
|
||||
}
|
||||
let address: string | undefined
|
||||
if (typeof addressOrAddressMap === 'string') address = addressOrAddressMap
|
||||
else address = addressOrAddressMap[chainId]
|
||||
if (!address) return null
|
||||
if (typeof addressOrAddressMap === 'string') {
|
||||
address = addressOrAddressMap
|
||||
} else if (!Array.isArray(addressOrAddressMap)) {
|
||||
address = addressOrAddressMap[chainId]
|
||||
}
|
||||
if (!address && !Array.isArray(addressOrAddressMap)) {
|
||||
return null
|
||||
}
|
||||
try {
|
||||
if (Array.isArray(addressOrAddressMap)) {
|
||||
return addressOrAddressMap.map((addressMap) =>
|
||||
getContract(addressMap[chainId], ABI, library, withSignerIfPossible && account ? account : undefined)
|
||||
)
|
||||
}
|
||||
if (!address) {
|
||||
return null
|
||||
}
|
||||
return getContract(address, ABI, library, withSignerIfPossible && account ? account : undefined)
|
||||
} catch (error) {
|
||||
console.error('Failed to get contract', error)
|
||||
@@ -116,11 +131,22 @@ export function useMerkleDistributorContract() {
|
||||
return useContract(MERKLE_DISTRIBUTOR_ADDRESS, MERKLE_DISTRIBUTOR_ABI, true)
|
||||
}
|
||||
|
||||
export function useGovernanceContracts(): (Contract | null)[] {
|
||||
return [
|
||||
useContract(GOVERNANCE_ADDRESSES[0], GOVERNANCE_ABI, false),
|
||||
useContract(GOVERNANCE_ADDRESSES[1], GOVERNANCE_ABI, true),
|
||||
]
|
||||
export function useGovernanceContracts(): Contract[] | null {
|
||||
const { library, account, chainId } = useActiveWeb3React()
|
||||
|
||||
return useMemo(() => {
|
||||
if (!library || !chainId) {
|
||||
return null
|
||||
}
|
||||
try {
|
||||
return GOVERNANCE_ADDRESSES.filter((addressMap) => Boolean(addressMap[chainId])).map((addressMap) =>
|
||||
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() {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
|
||||
"POT-Creation-Date: 2021-06-16 02:37+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-16 03: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 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"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
|
||||
"POT-Creation-Date: 2021-06-16 02:37+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-16 03: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"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
|
||||
"POT-Creation-Date: 2021-06-16 02:37+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-16 03: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 l’1% del subministrament total d’UNI"
|
||||
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 d’UNI"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "About"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
|
||||
"POT-Creation-Date: 2021-06-16 02:37+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-16 03: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"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
|
||||
"POT-Creation-Date: 2021-06-16 02:37+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-16 03: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"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
|
||||
"POT-Creation-Date: 2021-06-16 02:37+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-16 03: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"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
|
||||
"POT-Creation-Date: 2021-06-16 02:37+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-16 03: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"
|
||||
@@ -224,7 +224,7 @@ 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."
|
||||
msgstr "Παρουσιάστηκε σφάλμα κατά την προσπάθεια εκτέλεσης αυτής της ανταλλαγής. Ίσως χρειαστεί να αυξήσετε την ανοχή ολίσθησης. Εάν αυτό δεν λειτουργεί, μπορεί να υπάρχει ασυμβατότητα με τη μάρκα που διαπραγματεύεστε. Σημείωση: οι χρεώσεις κατά την μεταφορά και οι μάρκες rebase είναι ασύμβατες με το Uniswap V3."
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Analytics"
|
||||
@@ -618,7 +618,7 @@ msgstr "Αποσύνδεση"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Discord"
|
||||
msgstr "Διαφωνία"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Dismiss"
|
||||
@@ -1291,7 +1291,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 +1388,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 +1527,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
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
|
||||
"POT-Creation-Date: 2021-06-16 02:37+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-16 03: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"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
|
||||
"POT-Creation-Date: 2021-06-16 02:37+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-16 03: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 jättämiseen vaaditaan vähintään 0,25 prosentin kynnysarvo UNI: n kokonaismäärästä"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "About"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
|
||||
"POT-Creation-Date: 2021-06-16 02:37+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-16 03: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"
|
||||
@@ -618,7 +618,7 @@ msgstr "Déconnecter"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Discord"
|
||||
msgstr "Discorde"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Dismiss"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
|
||||
"POT-Creation-Date: 2021-06-16 02:37+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: Hebrew\n"
|
||||
"PO-Revision-Date: 2021-06-14 18:04\n"
|
||||
"PO-Revision-Date: 2021-06-16 11:05\n"
|
||||
|
||||
#: src/pages/Pool/PositionPage.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}%"
|
||||
@@ -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,16 +128,16 @@ 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"
|
||||
msgstr "לְקַבֵּל"
|
||||
msgstr "קבלה"
|
||||
|
||||
#: src/components/AccountDetails/index.tsx
|
||||
msgid "Account"
|
||||
@@ -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 +"
|
||||
@@ -176,7 +176,7 @@ 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,7 +216,7 @@ 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"
|
||||
@@ -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> של Uniswap Labs</0> ומודה כי קראת והבנת את כתב הוויתור על פרוטוקול 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"
|
||||
@@ -406,24 +406,24 @@ 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 +431,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"
|
||||
@@ -530,7 +530,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 +551,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 +630,7 @@ msgstr "מסמכים"
|
||||
|
||||
#: src/pages/MigrateV2/index.tsx
|
||||
msgid "Don’t 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 +695,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"
|
||||
@@ -747,7 +747,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 +755,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"
|
||||
@@ -903,11 +903,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 +923,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 +973,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,7 +986,7 @@ msgstr "אין בריכות פעילות"
|
||||
|
||||
#: src/pages/Pool/v2.tsx
|
||||
msgid "No liquidity found."
|
||||
msgstr "לא נמצא נזילות."
|
||||
msgstr "לא נמצאה נזילות."
|
||||
|
||||
#: src/pages/PoolFinder/index.tsx
|
||||
msgid "No pool found."
|
||||
@@ -1006,7 +1006,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 +1018,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 +1030,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 +1039,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"
|
||||
@@ -1117,7 +1117,7 @@ msgstr "השפעת מחיר"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Price Impact Too High"
|
||||
msgstr "השפעת מחיר גבוהה מדי"
|
||||
msgstr "השפעת המחיר גבוהה מדי"
|
||||
|
||||
#: src/components/swap/SwapModalHeader.tsx
|
||||
msgid "Price Updated"
|
||||
@@ -1270,7 +1270,7 @@ msgstr "הגדר טווח מחירים"
|
||||
|
||||
#: src/pages/AddLiquidity/index.tsx
|
||||
msgid "Set Starting Price"
|
||||
msgstr "קבע מחיר התחלתי"
|
||||
msgstr "הגדר מחיר התחלתי"
|
||||
|
||||
#: src/pages/AddLiquidityV2/PoolPriceBar.tsx
|
||||
msgid "Share of Pool"
|
||||
@@ -1332,7 +1332,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 +1344,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,11 +1352,11 @@ 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."
|
||||
@@ -1372,7 +1372,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 +1384,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 +1405,7 @@ msgstr "ל"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "To (at least)"
|
||||
msgstr "לפחות)"
|
||||
msgstr "עבור (לפחות)"
|
||||
|
||||
#: src/components/Settings/index.tsx
|
||||
msgid "Toggle Expert Mode"
|
||||
@@ -1429,7 +1429,7 @@ msgstr "סך ההיצע"
|
||||
|
||||
#: src/components/earn/PoolCard.tsx
|
||||
msgid "Total deposited"
|
||||
msgstr "סה\"כ הופקד"
|
||||
msgstr "סה\"כ מה שהופקד"
|
||||
|
||||
#: src/pages/Earn/Manage.tsx
|
||||
msgid "Total deposits"
|
||||
@@ -1491,7 +1491,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 +1527,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 +1595,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 +1620,7 @@ msgstr "הצביעו נגד"
|
||||
|
||||
#: src/pages/Vote/VotePage.tsx
|
||||
msgid "Vote For"
|
||||
msgstr "להצביע ל"
|
||||
msgstr "להצביע בעד"
|
||||
|
||||
#: src/components/vote/VoteModal.tsx
|
||||
#: src/components/vote/VoteModal.tsx
|
||||
@@ -1680,7 +1680,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!"
|
||||
@@ -1764,7 +1764,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 +1801,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"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
|
||||
"POT-Creation-Date: 2021-06-16 02:37+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-16 03: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"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
|
||||
"POT-Creation-Date: 2021-06-16 02:37+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-16 03: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"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
|
||||
"POT-Creation-Date: 2021-06-16 02:37+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-16 03: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"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
|
||||
"POT-Creation-Date: 2021-06-16 02:37+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-16 03: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 "提案を提出するには、UNIの総供給量の0.25%以上のしきい値が必要です。"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "About"
|
||||
@@ -618,7 +618,7 @@ msgstr "接続を解除"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Discord"
|
||||
msgstr "不一致"
|
||||
msgstr "Discord"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Dismiss"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
|
||||
"POT-Creation-Date: 2021-06-16 02:37+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-16 03: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"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
|
||||
"POT-Creation-Date: 2021-06-16 02:37+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-16 03: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"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
|
||||
"POT-Creation-Date: 2021-06-16 02:37+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-16 03: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"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
|
||||
"POT-Creation-Date: 2021-06-16 02:37+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-16 03: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"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
|
||||
"POT-Creation-Date: 2021-06-16 02:37+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-16 03: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"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
|
||||
"POT-Creation-Date: 2021-06-16 02:37+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-16 03: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"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
|
||||
"POT-Creation-Date: 2021-06-16 02:37+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-16 03: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>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"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
|
||||
"POT-Creation-Date: 2021-06-16 02:37+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-16 08: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"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
|
||||
"POT-Creation-Date: 2021-06-16 02:37+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-16 03: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"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
|
||||
"POT-Creation-Date: 2021-06-16 02:37+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-16 03: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"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
|
||||
"POT-Creation-Date: 2021-06-16 02:37+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-16 03: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"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
|
||||
"POT-Creation-Date: 2021-06-16 02:37+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-16 03: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"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
|
||||
"POT-Creation-Date: 2021-06-16 02:37+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-16 03: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"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2021-06-14 17:25+0000\n"
|
||||
"POT-Creation-Date: 2021-06-16 02:37+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-16 03: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"
|
||||
@@ -224,7 +224,7 @@ 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不兼容。"
|
||||
msgstr "嘗試執行此兌換時發生錯誤。您可能需要增加滑點限製。如果還是不行,則可能是您正在交易的代幣與 Uniswap 不相容。註:轉帳額外抽取手續費(fee-on-transfer)的代幣和會自動重新定價(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"
|
||||
@@ -513,7 +513,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 +566,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 +602,7 @@ msgstr "描述"
|
||||
|
||||
#: src/pages/RemoveLiquidity/index.tsx
|
||||
msgid "Detailed"
|
||||
msgstr "詳細"
|
||||
msgstr "詳細信息"
|
||||
|
||||
#: src/pages/Vote/VotePage.tsx
|
||||
msgid "Details"
|
||||
@@ -630,7 +630,7 @@ msgstr "文檔"
|
||||
|
||||
#: src/pages/MigrateV2/index.tsx
|
||||
msgid "Don’t 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 +687,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 +699,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,11 +716,11 @@ 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"
|
||||
@@ -747,23 +747,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 +791,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 +829,7 @@ msgstr "選擇的範圍無效。最小兌換率必須低於最大兌換率。"
|
||||
|
||||
#: src/state/swap/hooks.ts
|
||||
msgid "Invalid recipient"
|
||||
msgstr "無效的接收者"
|
||||
msgstr "無效的接收方"
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "Learn"
|
||||
@@ -1257,7 +1257,7 @@ msgstr "選定範圍"
|
||||
|
||||
#: src/pages/Vote/index.tsx
|
||||
msgid "Self"
|
||||
msgstr "自我"
|
||||
msgstr "自身"
|
||||
|
||||
#: src/components/vote/DelegateModal.tsx
|
||||
msgid "Self Delegate"
|
||||
@@ -1340,7 +1340,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."
|
||||
@@ -1384,7 +1384,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."
|
||||
@@ -1466,11 +1466,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."
|
||||
@@ -1583,7 +1583,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 +1591,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 +1601,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 +1658,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 +1693,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 +1782,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 +1975,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"
|
||||
|
||||
@@ -54,6 +54,7 @@ const ButtonRow = styled(RowFixed)`
|
||||
|
||||
const ResponsiveButtonPrimary = styled(ButtonPrimary)`
|
||||
width: fit-content;
|
||||
border-radius: 12px;
|
||||
${({ theme }) => theme.mediaWidth.upToSmall`
|
||||
width: 48%;
|
||||
`};
|
||||
@@ -175,24 +176,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>
|
||||
|
||||
@@ -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',
|
||||
}}
|
||||
>
|
||||
|
||||
@@ -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,7 +248,7 @@ export default function Vote() {
|
||||
</TYPE.subHeader>
|
||||
</EmptyProposals>
|
||||
)}
|
||||
{allProposals?.reverse()?.map((p: ProposalData, i) => {
|
||||
{allProposals?.reverse().map((p: ProposalData, i) => {
|
||||
return (
|
||||
<Proposal as={Link} to={'/vote/' + p.id} key={i}>
|
||||
<ProposalNumber>{p.id}</ProposalNumber>
|
||||
@@ -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 />
|
||||
|
||||
@@ -1,16 +1,18 @@
|
||||
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 { UNISWAP_GRANTS_PROPOSAL_DESCRIPTION } from 'constants/proposals/uniswap_grants_proposal_description'
|
||||
import { 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 { EDUCATION_FUND_1_START_BLOCK, UNISWAP_GRANTS_START_BLOCK } from '../../constants/proposals'
|
||||
import { UNI } from '../../constants/tokens'
|
||||
import { useMultipleContractMultipleData, useMultipleContractSingleData, useSingleCallResult } from '../multicall/hooks'
|
||||
import { useTransactionAdder } from '../transactions/hooks'
|
||||
|
||||
interface ProposalDetail {
|
||||
target: string
|
||||
@@ -43,52 +45,72 @@ 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])
|
||||
}
|
||||
return undefined
|
||||
const GovernanceInterface = new ethers.utils.Interface(GOV_ABI)
|
||||
// get count of all proposals made
|
||||
export function useProposalCounts(): Record<string, number> | undefined {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const addresses = useMemo(() => {
|
||||
if (!chainId) {
|
||||
return []
|
||||
}
|
||||
return GOVERNANCE_ADDRESSES.map((addressMap) => addressMap[chainId])
|
||||
}, [chainId])
|
||||
const responses = useMultipleContractSingleData(addresses, GovernanceInterface, 'proposalCount')
|
||||
return useMemo(() => {
|
||||
return responses.reduce((acc, response, i) => {
|
||||
if (response.result && !response.loading) {
|
||||
return {
|
||||
...acc,
|
||||
[addresses[i]]: parseInt(response.result[0]),
|
||||
}
|
||||
}
|
||||
return acc
|
||||
}, {})
|
||||
}, [addresses, responses])
|
||||
}
|
||||
|
||||
/**
|
||||
* 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) {
|
||||
export function useDataFromEventLogs() {
|
||||
const { library, chainId } = useActiveWeb3React()
|
||||
const [formattedEvents, setFormattedEvents] =
|
||||
useState<{ description: string; details: { target: string; functionSig: string; callData: string }[] }[]>()
|
||||
const govContracts = useGovernanceContracts()
|
||||
|
||||
// create filter for these specific events
|
||||
const filter = useMemo(
|
||||
const filters = useMemo(
|
||||
() =>
|
||||
govContract ? { ...govContract.filters.ProposalCreated(), fromBlock: 10861678, toBlock: 'latest' } : undefined,
|
||||
[govContract]
|
||||
govContracts
|
||||
? govContracts.map((contract) => ({
|
||||
...contract.filters.ProposalCreated(),
|
||||
fromBlock: 10861678,
|
||||
toBlock: 'latest',
|
||||
}))
|
||||
: undefined,
|
||||
[govContracts]
|
||||
)
|
||||
|
||||
useEffect(() => {
|
||||
if (!filter || !library) return
|
||||
if (!filters || !library) return
|
||||
let stale = false
|
||||
|
||||
if (!formattedEvents) {
|
||||
library
|
||||
.getLogs(filter)
|
||||
.then((proposalEvents) => {
|
||||
const filterRequests = filters.map((filter) => library.getLogs(filter))
|
||||
Promise.all(filterRequests)
|
||||
.then((events) => events.flat())
|
||||
.then((governanceContractsProposalEvents) => {
|
||||
if (stale) return
|
||||
const formattedEventData = proposalEvents?.map((event) => {
|
||||
const eventParsed = eventParser.parseLog(event).args
|
||||
const formattedEventData = governanceContractsProposalEvents.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,
|
||||
@@ -108,99 +130,99 @@ function useDataFromEventLogs(govContract: ethers.Contract | null) {
|
||||
}
|
||||
|
||||
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() {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const proposalCounts = useProposalCounts()
|
||||
|
||||
// fetch the proposal count on the active contract
|
||||
const proposalCount = useProposalCount(govContracts[govContracts.length - 1])
|
||||
const proposalIndexes = useMemo(() => {
|
||||
const results: number[][][] = []
|
||||
const emptyState = new Array(GOVERNANCE_ADDRESSES.length).fill([], 0)
|
||||
GOVERNANCE_ADDRESSES.forEach((addressMap, i) => {
|
||||
results[i] = []
|
||||
if (!chainId) {
|
||||
return emptyState
|
||||
}
|
||||
const address = addressMap[chainId]
|
||||
if (!proposalCounts || proposalCounts[address] === undefined) {
|
||||
return emptyState
|
||||
}
|
||||
for (let j = 1; j <= proposalCounts[address]; j++) {
|
||||
results[i].push([j])
|
||||
}
|
||||
return results
|
||||
})
|
||||
return results.filter((indexArray) => indexArray.length > 0)
|
||||
}, [chainId, proposalCounts])
|
||||
|
||||
// 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
|
||||
]
|
||||
|
||||
// get all proposal entities
|
||||
const allProposalsByGovContract = [
|
||||
useSingleContractMultipleData(
|
||||
govContracts[0],
|
||||
'proposals',
|
||||
proposalsIndicesByGovContract[0].map((i) => [i])
|
||||
),
|
||||
useSingleContractMultipleData(
|
||||
govContracts[1],
|
||||
'proposals',
|
||||
proposalsIndicesByGovContract[1].map((i) => [i])
|
||||
),
|
||||
]
|
||||
|
||||
// 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 addresses = useMemo(() => {
|
||||
if (!chainId) {
|
||||
return []
|
||||
}
|
||||
return GOVERNANCE_ADDRESSES.map((addressMap) => addressMap[chainId]).filter(
|
||||
(address) => proposalCounts && proposalCounts[address] > 0
|
||||
)
|
||||
}, [chainId, proposalCounts])
|
||||
|
||||
// get metadata from past events
|
||||
const formattedEventsByGovContract = [useDataFromEventLogs(govContracts[0]), useDataFromEventLogs(govContracts[1])]
|
||||
const formattedEvents = useDataFromEventLogs()
|
||||
|
||||
const returnData: ProposalData[][] = []
|
||||
// get all proposal entities
|
||||
const allProposalsCallData = useMultipleContractMultipleData(
|
||||
addresses,
|
||||
GovernanceInterface,
|
||||
'proposals',
|
||||
proposalIndexes
|
||||
).flat()
|
||||
|
||||
for (let governorIndex = 0; governorIndex < allProposalsByGovContract.length; governorIndex++) {
|
||||
const allProposals = allProposalsByGovContract[governorIndex]
|
||||
const allProposalStates = allProposalStatesByGovContract[governorIndex]
|
||||
const formattedEvents = formattedEventsByGovContract[governorIndex]
|
||||
// get all proposal states
|
||||
const allProposalStatesCallData = useMultipleContractMultipleData(
|
||||
addresses,
|
||||
GovernanceInterface,
|
||||
'state',
|
||||
proposalIndexes
|
||||
).flat()
|
||||
|
||||
if (
|
||||
allProposals?.every((p) => Boolean(p.result)) &&
|
||||
allProposalStates?.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([])
|
||||
}
|
||||
if (
|
||||
!allProposalsCallData?.every((p) => Boolean(p.result)) ||
|
||||
!allProposalStatesCallData?.every((p) => Boolean(p.result)) ||
|
||||
!formattedEvents?.every((p) => Boolean(p))
|
||||
) {
|
||||
return []
|
||||
}
|
||||
|
||||
return returnData
|
||||
const omittedProposalStartBlocks = [EDUCATION_FUND_1_START_BLOCK]
|
||||
|
||||
return allProposalsCallData
|
||||
.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: allProposalStatesCallData[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,
|
||||
}
|
||||
})
|
||||
.filter((proposal) => !omittedProposalStartBlocks.includes(proposal.startBlock))
|
||||
}
|
||||
|
||||
export function useProposalData(id: string): ProposalData | undefined {
|
||||
// TODO don't hardcode for first gov alpha
|
||||
const allProposalData = useAllProposalData()[0]
|
||||
const allProposalData = useAllProposalData()
|
||||
return allProposalData?.find((p) => p.id === id)
|
||||
}
|
||||
|
||||
@@ -266,18 +288,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 +307,7 @@ export function useVoteCallback(): {
|
||||
})
|
||||
})
|
||||
},
|
||||
[account, addTransaction, govContract]
|
||||
[account, addTransaction, latestGovernanceContract]
|
||||
)
|
||||
return { voteCallback }
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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',
|
||||
|
||||
Reference in New Issue
Block a user