Compare commits

...

13 Commits

Author SHA1 Message Date
Crowdin Bot
c48adc519f chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-16 11:05:10 +00:00
Crowdin Bot
9f8983a92e chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-16 10:05:07 +00:00
Crowdin Bot
c9d3d81768 chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-16 09:05:06 +00:00
Crowdin Bot
c6f73c35ee chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-16 08:05:22 +00:00
Crowdin Bot
7a2777b814 chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-16 03:05:54 +00:00
Jordan Frankfurt
014595cdfb feat: add multi-contract governance support (#1860)
* Revert "feat: quick fix for new governor"
This reverts commit 5dd1249ddd.

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

* more a11y fixes

* updated theme colors

* addressed rev4 comments

* address rev5 comments

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

* fix ResponsiveButtonPrimary style
2021-06-15 07:55:11 -07:00
52 changed files with 759 additions and 658 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -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)};
}
`

View File

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

View File

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

View File

@@ -16,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 = {

View File

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

View File

@@ -1,11 +1,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(),
},
}

View File

@@ -0,0 +1,2 @@
export const UNISWAP_GRANTS_START_BLOCK = 11473815
export const EDUCATION_FUND_1_START_BLOCK = 12620175

View File

@@ -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() {

View File

@@ -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"

View File

@@ -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"

View File

@@ -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 l1% del subministrament total dUNI"
msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals"
msgstr "Per presentar les propostes es requereix un llindar mínim del 0,25% del subministrament total dUNI"
#: src/components/Menu/index.tsx
msgid "About"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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

View File

@@ -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"

View File

@@ -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 ttämiseen vaaditaan vähintään 0,25 prosentin kynnysarvo UNI: n kokonaismäärästä"
#: src/components/Menu/index.tsx
msgid "About"

View File

@@ -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"

View File

@@ -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 "Dont see one of your v2 positions? <0>Import it.</0>"
msgstr "אינך רואה את אחת מעמדות ה- v2 שלך? <0> ייבא אותו.</0>"
msgstr "אינך רואה את אחת מעמדות ה- v2 שלך? <0> יבא אותו.</0>"
#: src/components/vote/DelegateModal.tsx
msgid "Earned UNI tokens represent voting shares in Uniswap governance."
@@ -695,11 +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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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

View File

@@ -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 "Dont see one of your v2 positions? <0>Import it.</0>"
msgstr "看不到您的一些 v2 流動資金嗎?<0>將它手動入。</0>"
msgstr "看不到您的一些 v2 流動資金嗎?<0>將它手動入。</0>"
#: src/components/vote/DelegateModal.tsx
msgid "Earned UNI tokens represent voting shares in Uniswap governance."
@@ -687,7 +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"

View File

@@ -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>

View File

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

View File

@@ -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 />

View File

@@ -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 }
}

View File

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

View File

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