diff --git a/.gitignore b/.gitignore index 92d6d716547..fe9d33d48ba 100644 --- a/.gitignore +++ b/.gitignore @@ -8,8 +8,6 @@ /src/locales/**/en-US.po /src/locales/**/pseudo.po -# generated graphql types -schema.graphql # dependencies /node_modules @@ -43,3 +41,8 @@ cypress/videos cypress/screenshots .vercel + +#front page test images +src/components/About/images/nftCard_*.png +src/components/About/images/swapCard_*.png +.vscode/settings.json diff --git a/README.md b/README.md index f9d29c297a8..fbff57846e7 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Uniswap Labs Interface +# ForgeDEX | Capital Efficiency has arrived, IBC! [![codecov](https://codecov.io/gh/Uniswap/interface/branch/main/graph/badge.svg?token=YVT2Y86O82)](https://codecov.io/gh/Uniswap/interface) diff --git a/package.json b/package.json index 2e31f4dff3d..38be9a1207b 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "i18n:extract": "lingui extract --locale en-US", "i18n:compile": "yarn i18n:extract && lingui compile", "i18n:pseudo": "lingui extract --locale pseudo && lingui compile", - "prepare": "yarn contracts:compile && yarn graphql:fetch && yarn graphql:generate && yarn i18n:compile", + "prepare": "yarn contracts:compile && yarn i18n:compile", "start": "craco start", "build": "craco build", "serve": "serve build -l 3000", @@ -127,6 +127,7 @@ "@looksrare/sdk": "^0.10.2", "@metamask/jazzicon": "^2.0.0", "@opensea/seaport-js": "^1.0.10", + "@orbitalapes/smart-order-router": "^3.5.4", "@popperjs/core": "^2.4.4", "@reach/dialog": "^0.10.3", "@reach/portal": "^0.10.3", @@ -136,7 +137,7 @@ "@types/react-window-infinite-loader": "^1.0.6", "@uniswap/analytics": "^1.3.1", "@uniswap/analytics-events": "^2.6.0", - "@uniswap/conedison": "^1.4.0", + "@uniswap/conedison": "^1.5.3", "@uniswap/governance": "^1.0.2", "@uniswap/liquidity-staker": "^1.0.2", "@uniswap/merkle-distributor": "1.0.1", @@ -192,6 +193,7 @@ "inter-ui": "^3.13.1", "jotai": "^1.3.7", "jsbi": "^3.1.4", + "lightweight-charts": "^4.0.0", "make-plural": "^7.0.0", "multicodec": "^3.0.1", "multihashes": "^4.0.2", diff --git a/public/android-chrome-192x192.png b/public/android-chrome-192x192.png new file mode 100644 index 00000000000..8933fd094a4 Binary files /dev/null and b/public/android-chrome-192x192.png differ diff --git a/public/android-chrome-512x512.png b/public/android-chrome-512x512.png new file mode 100644 index 00000000000..0b384e53305 Binary files /dev/null and b/public/android-chrome-512x512.png differ diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png new file mode 100644 index 00000000000..74a9ff75f27 Binary files /dev/null and b/public/apple-touch-icon.png differ diff --git a/public/favicon-16x16.png b/public/favicon-16x16.png new file mode 100644 index 00000000000..e81829ff426 Binary files /dev/null and b/public/favicon-16x16.png differ diff --git a/public/favicon-32x32.png b/public/favicon-32x32.png new file mode 100644 index 00000000000..e6aa20b381a Binary files /dev/null and b/public/favicon-32x32.png differ diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 00000000000..4aaa3008bd4 Binary files /dev/null and b/public/favicon.ico differ diff --git a/public/favicon.png b/public/favicon.png deleted file mode 100644 index 47c6e1fa490..00000000000 Binary files a/public/favicon.png and /dev/null differ diff --git a/public/images/ForgeIcon.png b/public/images/ForgeIcon.png new file mode 100644 index 00000000000..35f4f468404 Binary files /dev/null and b/public/images/ForgeIcon.png differ diff --git a/public/images/ForgeLogoFinal.png b/public/images/ForgeLogoFinal.png new file mode 100644 index 00000000000..955cb519b96 Binary files /dev/null and b/public/images/ForgeLogoFinal.png differ diff --git a/public/images/forge-header.png b/public/images/forge-header.png new file mode 100644 index 00000000000..fb00571ce01 Binary files /dev/null and b/public/images/forge-header.png differ diff --git a/public/index.html b/public/index.html index 2449ffc0149..14b82ffe6ea 100644 --- a/public/index.html +++ b/public/index.html @@ -3,23 +3,24 @@ - Uniswap Interface - + Forge + - - - - + + + + + + + + + - - + - @@ -97,13 +97,13 @@ @media (prefers-color-scheme: dark) { html { - background: linear-gradient(180deg, #202738 0%, #070816 100%); + background: linear-gradient(180deg, #0D0E0E 0%, #0D0E0E 100%); } } @media (prefers-color-scheme: light) { html { - background: radial-gradient(100% 100% at 50% 0%, rgba(255, 184, 226, 0.51) 0%, rgba(255, 255, 255, 0) 100%), #FFFFFF + background: linear-gradient(180deg, #0D0E0E 0%, #0D0E0E 100%); } } diff --git a/public/manifest.json b/public/manifest.json index 64e0ec04ef9..55480a72753 100644 --- a/public/manifest.json +++ b/public/manifest.json @@ -3,28 +3,28 @@ "display": "standalone", "homepage_url": "https://app.uniswap.org", "providedBy": { - "name": "Uniswap", + "name": "Forge", "url": "https://uniswap.org" }, "icons": [ { - "src": "./images/192x192_App_Icon.png", + "src": "./images/android-chrome-192x192.png", "sizes": "192x192", "type": "image/png", "purpose": "any maskable" }, { - "src": "./images/512x512_App_Icon.png", + "src": "./images/android-chrome-512x512.png", "sizes": "512x512", "type": "image/png", "purpose": "any maskable" } ], "orientation": "portrait", - "name": "Uniswap", + "name": "Forge", "description": "Swap or provide liquidity on the Uniswap Protocol", "iconPath": "./images/256x256_App_Icon_Pink.svg", "short_name": "Uniswap", "start_url": ".", - "theme_color": "#FC72FF" + "theme_color": "#111212" } \ No newline at end of file diff --git a/public/og-social.png b/public/og-social.png new file mode 100644 index 00000000000..7e5c44b8acd Binary files /dev/null and b/public/og-social.png differ diff --git a/public/site.webmanifest b/public/site.webmanifest new file mode 100644 index 00000000000..45dc8a20658 --- /dev/null +++ b/public/site.webmanifest @@ -0,0 +1 @@ +{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} \ No newline at end of file diff --git a/src/components/About/AboutFooter.tsx b/src/components/About/AboutFooter.tsx index 31051c67c04..831e6adad5d 100644 --- a/src/components/About/AboutFooter.tsx +++ b/src/components/About/AboutFooter.tsx @@ -1,12 +1,10 @@ import { TraceEvent } from '@uniswap/analytics' import { BrowserEvent, InterfaceElementName, SharedEventName } from '@uniswap/analytics-events' -import { useIsDarkMode } from 'state/user/hooks' import styled from 'styled-components/macro' -import { BREAKPOINTS, ExternalLink, StyledRouterLink } from 'theme' +import { BREAKPOINTS, ExternalLink } from 'theme' -import { DiscordIcon, GithubIcon, TwitterIcon } from './Icons' -import darkUnicornImgSrc from './images/unicornEmbossDark.png' -import lightUnicornImgSrc from './images/unicornEmbossLight.png' +import Telegram from '../../pages/Landing/images/telegram.svg' +import { GithubIcon, TwitterIcon } from './Icons' const Footer = styled.div` display: flex; @@ -42,16 +40,6 @@ const LogoSectionBottom = styled(LogoSection)` } ` -const StyledLogo = styled.img` - width: 72px; - height: 72px; - display: none; - - @media screen and (min-width: ${BREAKPOINTS.lg}px) { - display: block; - } -` - const SocialLinks = styled.div` display: flex; align-items: center; @@ -96,12 +84,6 @@ const ExternalTextLink = styled(ExternalLink)` color: ${({ theme }) => theme.textSecondary}; ` -const TextLink = styled(StyledRouterLink)` - font-size: 16px; - line-height: 20px; - color: ${({ theme }) => theme.textSecondary}; -` - const Copyright = styled.span` font-size: 16px; line-height: 20px; @@ -110,28 +92,27 @@ const Copyright = styled.span` ` const LogoSectionContent = () => { - const isDarkMode = useIsDarkMode() return ( <> - + {' '} - - + + - - + + - - + + - © {new Date().getFullYear()} Uniswap Labs + © {new Date().getFullYear()} Evmos community ) } @@ -145,57 +126,30 @@ export const AboutFooter = () => { - App - Swap - Tokens - NFTs - Pools + Orbital Apes + Validator + Orbit Market + OA Hub + Rumble - Protocol - Community - Governance - Developers + Evmos DAO + Governance Overview + Governance Docs + EvmosDAO Twitter + EvmosDAO Telegram - Company - - Careers - - - Blog - + Evmos Network + Dashboard + Developers + Stake & Vote Get Help - - - Contact Us - - - - Help Center - + + Telegram + diff --git a/src/components/About/Icons.tsx b/src/components/About/Icons.tsx index a606345e8fa..080e15f3ba2 100644 --- a/src/components/About/Icons.tsx +++ b/src/components/About/Icons.tsx @@ -1,16 +1,8 @@ import styled from 'styled-components/macro' -import { ReactComponent as DiscordI } from './images/discord.svg' import { ReactComponent as GithubI } from './images/github.svg' import { ReactComponent as TwitterI } from './images/twitter-safe.svg' -export const DiscordIcon = styled(DiscordI)<{ size?: number; fill?: string }>` - height: ${({ size }) => (size ? size + 'px' : '32px')}; - width: ${({ size }) => (size ? size + 'px' : '32px')}; - fill: ${({ fill }) => fill ?? '#98A1C0'}; - opacity: 1; -` - export const TwitterIcon = styled(TwitterI)<{ size?: number; fill?: string }>` height: ${({ size }) => (size ? size + 'px' : '32px')}; width: ${({ size }) => (size ? size + 'px' : '32px')}; diff --git a/src/components/About/ProtocolBanner.tsx b/src/components/About/ProtocolBanner.tsx index 35b0f2e6125..bbdb83b828a 100644 --- a/src/components/About/ProtocolBanner.tsx +++ b/src/components/About/ProtocolBanner.tsx @@ -1,12 +1,7 @@ -import { ButtonEmpty } from 'components/Button' import { useIsDarkMode } from 'state/user/hooks' import styled from 'styled-components/macro' import { BREAKPOINTS } from 'theme' -import meshSrc from './images/Mesh.png' - -const DARK_MODE_GRADIENT = 'radial-gradient(101.8% 4091.31% at 0% 0%, #4673FA 0%, #9646FA 100%)' - const Banner = styled.div<{ isDarkMode: boolean }>` height: 340px; width: 100%; @@ -22,10 +17,8 @@ const Banner = styled.div<{ isDarkMode: boolean }>` box-shadow: 0px 10px 24px rgba(51, 53, 72, 0.04); - background: ${({ isDarkMode }) => - isDarkMode - ? `url(${meshSrc}), ${DARK_MODE_GRADIENT}` - : `url(${meshSrc}), linear-gradient(93.06deg, #FF00C7 2.66%, #FF9FFB 98.99%);`}; + background: #121211; + border: 1px; @media screen and (min-width: ${BREAKPOINTS.lg}px) { height: 140px; @@ -41,6 +34,7 @@ const TextContainer = styled.div` ` const HeaderText = styled.div` + color: white; font-weight: 700; font-size: 28px; line-height: 36px; @@ -56,49 +50,21 @@ const DescriptionText = styled.div` font-weight: 500; font-size: 16px; line-height: 20px; + color: #ed4e33; @media screen and (min-width: ${BREAKPOINTS.xl}px) { font-size: 20px; line-height: 28px; } ` - -const BannerButtonContainer = styled.div` - width: 100%; - display: flex; - align-items: center; - - transition: ${({ theme }) => `${theme.transition.duration.medium} ${theme.transition.timing.ease} opacity`}; - - &:hover { - opacity: 0.6; - } - - @media screen and (min-width: ${BREAKPOINTS.lg}px) { - width: auto; - } -` - -const BannerButton = styled(ButtonEmpty)` - color: white; - border: 1px solid white; -` - const ProtocolBanner = () => { const isDarkMode = useIsDarkMode() return ( - Powered by the Uniswap Protocol - - The leading decentralized crypto trading protocol, governed by a global community. - + Powered by OrbitalApes and the Evmos DAO. + Community funded. No protocol fees. - - - Learn more - - ) } diff --git a/src/components/About/constants.tsx b/src/components/About/constants.tsx index 6092d254624..3ab59a5bcf4 100644 --- a/src/components/About/constants.tsx +++ b/src/components/About/constants.tsx @@ -3,10 +3,13 @@ import { DollarSign, Terminal } from 'react-feather' import styled from 'styled-components/macro' import { lightTheme } from 'theme/colors' -import darkArrowImgSrc from './images/aboutArrowDark.png' +import Arrow from '../../pages/Landing/images/arrow.svg' +import Bridge from '../../pages/Landing/images/bridge.svg' +import Building from '../../pages/Landing/images/building.svg' +import Code from '../../pages/Landing/images/code.svg' +import Drop from '../../pages/Landing/images/droplet.svg' +import People from '../../pages/Landing/images/people.svg' import lightArrowImgSrc from './images/aboutArrowLight.png' -import darkDollarImgSrc from './images/aboutDollarDark.png' -import darkTerminalImgSrc from './images/aboutTerminalDark.png' import nftCardImgSrc from './images/nftCard.png' import swapCardImgSrc from './images/swapCard.png' @@ -14,17 +17,17 @@ export const MAIN_CARDS = [ { to: '/swap', title: 'Swap tokens', - description: 'Buy, sell, and explore tokens on Ethereum, Polygon, Optimism, and more.', + description: 'Trade and explore EVM and Cosmos tokens.', cta: 'Trade Tokens', darkBackgroundImgSrc: swapCardImgSrc, lightBackgroundImgSrc: swapCardImgSrc, elementName: InterfaceElementName.ABOUT_PAGE_SWAP_CARD, }, { - to: '/nfts', - title: 'Trade NFTs', - description: 'Buy and sell NFTs across marketplaces to find more listings at better prices.', - cta: 'Explore NFTs', + to: '/pool', + title: 'Fuel the Forge', + description: 'Provide liquidity to pools and earn fees on swaps.', + cta: 'Provide liquidity', darkBackgroundImgSrc: nftCardImgSrc, lightBackgroundImgSrc: nftCardImgSrc, elementName: InterfaceElementName.ABOUT_PAGE_NFTS_CARD, @@ -40,32 +43,66 @@ const StyledCardLogo = styled.img` export const MORE_CARDS = [ { - to: 'https://support.uniswap.org/hc/en-us/articles/11306574799117-How-to-use-Moon-Pay-on-the-Uniswap-web-app-', + to: 'https://satellite.money/?source=avalanche&destination=evmos&asset_denom=uusdc&destination_address=', external: true, - title: 'Buy crypto', - description: 'Buy crypto with your credit card or bank account at the best rates.', + title: 'Bridge', + description: 'Transfer assets to Evmos from EVM and Cosmos chains through Axelar Bridge', lightIcon: , - darkIcon: , - cta: 'Buy now', + darkIcon: , + cta: 'Bridge assets', elementName: InterfaceElementName.ABOUT_PAGE_BUY_CRYPTO_CARD, }, { - to: '/pool', - title: 'Earn', - description: 'Provide liquidity to pools on Uniswap and earn fees on swaps.', - lightIcon: , - darkIcon: , - cta: 'Provide liquidity', - elementName: InterfaceElementName.ABOUT_PAGE_EARN_CARD, + to: 'https://app.stride.zone/', + external: true, + title: 'Liquid stake', + description: 'Stake your Evmos to earn rewards while using staked token in DeFi', + lightIcon: , + darkIcon: , + cta: 'Liquid stake Evmos', + elementName: InterfaceElementName.ABOUT_PAGE_BUY_CRYPTO_CARD, }, + { - to: 'https://docs.uniswap.org', + to: 'https://app.evmos.org/governance', + external: true, + title: 'Governance', + description: 'Shape the future. Vote in Evmos governance and discuss upcoming blueprints', + lightIcon: , + darkIcon: , + cta: 'Vote', + elementName: InterfaceElementName.ABOUT_PAGE_BUY_CRYPTO_CARD, + }, + + { + to: 'https://app.evmos.org/assets', + external: true, + title: 'IBC conversion', + description: 'Convert your IBC assets in and out of the Evmos EVM', + lightIcon: , + darkIcon: , + cta: 'Conversion page', + elementName: InterfaceElementName.ABOUT_PAGE_DEV_DOCS_CARD, + }, + + { + to: 'https://docs.evmos.org/', external: true, title: 'Build dApps', - description: 'Build apps and tools on the largest DeFi protocol on Ethereum.', + description: 'Learn of ways to contribute to the development of Forge', lightIcon: , - darkIcon: , + darkIcon: , cta: 'Developer docs', elementName: InterfaceElementName.ABOUT_PAGE_DEV_DOCS_CARD, }, + { + to: 'https://t.me/forgeDEX', + external: true, + title: 'Community', + description: 'Join our thriving community and connect with like-minded people', + lightIcon: , + darkIcon: , + cta: 'Join us', + elementName: InterfaceElementName.ABOUT_PAGE_EARN_CARD, + }, ] diff --git a/src/components/About/images/nftCard.png b/src/components/About/images/nftCard.png index b425989afe7..5d7f5af224a 100644 Binary files a/src/components/About/images/nftCard.png and b/src/components/About/images/nftCard.png differ diff --git a/src/components/About/images/nftCard_old.png b/src/components/About/images/nftCard_old.png new file mode 100644 index 00000000000..b425989afe7 Binary files /dev/null and b/src/components/About/images/nftCard_old.png differ diff --git a/src/components/About/images/swapCard.png b/src/components/About/images/swapCard.png index 1b6d4d9720a..a306c5a5bdd 100644 Binary files a/src/components/About/images/swapCard.png and b/src/components/About/images/swapCard.png differ diff --git a/src/components/About/images/swapCard_old.png b/src/components/About/images/swapCard_old.png new file mode 100644 index 00000000000..1b6d4d9720a Binary files /dev/null and b/src/components/About/images/swapCard_old.png differ diff --git a/src/components/Button/index.tsx b/src/components/Button/index.tsx index 039671fa488..2e5b6a11118 100644 --- a/src/components/Button/index.tsx +++ b/src/components/Button/index.tsx @@ -5,8 +5,6 @@ import styled, { DefaultTheme, useTheme } from 'styled-components/macro' import { RowBetween } from '../Row' -export { default as LoadingButtonSpinner } from './LoadingButtonSpinner' - type ButtonProps = Omit const ButtonOverlay = styled.div` diff --git a/src/components/ErrorBoundary/index.tsx b/src/components/ErrorBoundary/index.tsx index 691da4775fe..a94e0e622ac 100644 --- a/src/components/ErrorBoundary/index.tsx +++ b/src/components/ErrorBoundary/index.tsx @@ -182,7 +182,7 @@ const Fallback = ({ error, eventId }: { error: Error; eventId: string | null }) window.location.reload()}> Reload the app - + Get support diff --git a/src/components/FeeSelector/shared.tsx b/src/components/FeeSelector/shared.tsx index 0824ccf4697..f65f97de4f2 100644 --- a/src/components/FeeSelector/shared.tsx +++ b/src/components/FeeSelector/shared.tsx @@ -10,14 +10,7 @@ export const FEE_AMOUNT_DETAIL: Record< [FeeAmount.LOWEST]: { label: '0.01', description: Best for very stable pairs., - supportedChains: [ - SupportedChainId.MAINNET, - SupportedChainId.POLYGON, - SupportedChainId.POLYGON_MUMBAI, - SupportedChainId.CELO, - SupportedChainId.CELO_ALFAJORES, - SupportedChainId.OPTIMISM, - ], + supportedChains: [SupportedChainId.MAINNET, SupportedChainId.FUJI, SupportedChainId.TESTNET], }, [FeeAmount.LOW]: { label: '0.05', diff --git a/src/components/Identicon/StatusIcon.tsx b/src/components/Identicon/StatusIcon.tsx index 002929f2b87..dbe9e744487 100644 --- a/src/components/Identicon/StatusIcon.tsx +++ b/src/components/Identicon/StatusIcon.tsx @@ -13,7 +13,6 @@ import { flexColumnNoWrap } from 'theme/styles' import CoinbaseWalletIcon from '../../assets/images/coinbaseWalletIcon.svg' import WalletConnectIcon from '../../assets/images/walletConnectIcon.svg' import sockImg from '../../assets/svg/socks.svg' -import { useHasSocks } from '../../hooks/useSocksBalance' import Identicon from '../Identicon' export const IconWrapper = styled.div<{ size?: number }>` @@ -119,7 +118,7 @@ export default function StatusIcon({ size?: number enableInfotips?: boolean }) { - const hasSocks = useHasSocks() + const hasSocks = false const icon = useIcon(connectionType, size, enableInfotips) return ( diff --git a/src/components/NavBar/ChainSelector.tsx b/src/components/NavBar/ChainSelector.tsx index a40798b0a47..8755a4e66a9 100644 --- a/src/components/NavBar/ChainSelector.tsx +++ b/src/components/NavBar/ChainSelector.tsx @@ -19,13 +19,7 @@ import * as styles from './ChainSelector.css' import ChainSelectorRow from './ChainSelectorRow' import { NavDropdown } from './NavDropdown' -const NETWORK_SELECTOR_CHAINS = [ - SupportedChainId.MAINNET, - SupportedChainId.POLYGON, - SupportedChainId.OPTIMISM, - SupportedChainId.ARBITRUM_ONE, - SupportedChainId.CELO, -] +const NETWORK_SELECTOR_CHAINS = [SupportedChainId.TESTNET] interface ChainSelectorProps { leftAlign?: boolean diff --git a/src/components/NavBar/SuggestionRow.tsx b/src/components/NavBar/SuggestionRow.tsx index 54aee087af1..5bb5d1ef266 100644 --- a/src/components/NavBar/SuggestionRow.tsx +++ b/src/components/NavBar/SuggestionRow.tsx @@ -58,7 +58,7 @@ export const CollectionRow = ({ const navigate = useNavigate() const handleClick = useCallback(() => { - addRecentlySearchedAsset({ ...collection, isNft: true, chain: Chain.Ethereum }) + addRecentlySearchedAsset({ ...collection, isNft: true, chain: Chain.Evmos }) toggleOpen() sendAnalyticsEvent(InterfaceEventName.NAVBAR_RESULT_SELECTED, { ...eventProperties }) }, [addRecentlySearchedAsset, collection, toggleOpen, eventProperties]) diff --git a/src/components/NavBar/index.tsx b/src/components/NavBar/index.tsx index 37e31f8ed2f..f6b76724e3d 100644 --- a/src/components/NavBar/index.tsx +++ b/src/components/NavBar/index.tsx @@ -1,21 +1,13 @@ import { Trans } from '@lingui/macro' -import { useWeb3React } from '@web3-react/core' import Web3Status from 'components/Web3Status' -import { chainIdToBackendName } from 'graphql/data/util' import { useIsNftPage } from 'hooks/useIsNftPage' import { Box } from 'nft/components/Box' import { Row } from 'nft/components/Flex' -import { UniIcon } from 'nft/components/icons' -import { useProfilePageState } from 'nft/hooks' -import { ProfilePageStateType } from 'nft/types' import { ReactNode } from 'react' import { NavLink, NavLinkProps, useLocation, useNavigate } from 'react-router-dom' import styled from 'styled-components/macro' -import { Bag } from './Bag' import { ChainSelector } from './ChainSelector' -import { MenuDropdown } from './MenuDropdown' -import { SearchBar } from './SearchBar' import * as styles from './style.css' const Nav = styled.nav` @@ -49,38 +41,31 @@ const MenuItem = ({ href, dataTestId, id, isActive, children }: MenuItemProps) = export const PageTabs = () => { const { pathname } = useLocation() - const { chainId: connectedChainId } = useWeb3React() - const chainName = chainIdToBackendName(connectedChainId) const isPoolActive = - pathname.startsWith('/pool') || - pathname.startsWith('/add') || - pathname.startsWith('/remove') || - pathname.startsWith('/increase') - - const isNftPage = useIsNftPage() + (pathname.startsWith('/pool') || + pathname.startsWith('/add') || + pathname.startsWith('/remove') || + pathname.startsWith('/increase')) && + !pathname.startsWith('/pools') return ( - <> +
Swap - - Tokens + + Pools - - NFTs + + Add Liquidity - - Pool - - +
) } const Navbar = () => { const isNftPage = useIsNftPage() - const sellPageState = useProfilePageState((state) => state.state) const navigate = useNavigate() return ( @@ -89,17 +74,16 @@ const Navbar = () => { - { navigate({ pathname: '/', search: '?intro=true', }) }} + className={styles.logo} + style={{ width: '48px', height: '48px' }} + src="/images/ForgeIcon.png" /> {!isNftPage && ( @@ -111,18 +95,9 @@ const Navbar = () => { - - - + - - - - - - - {isNftPage && sellPageState !== ProfilePageStateType.LISTING && } {!isNftPage && ( diff --git a/src/components/NavBar/style.css.ts b/src/components/NavBar/style.css.ts index 572f7e06bbd..09cfedebb23 100644 --- a/src/components/NavBar/style.css.ts +++ b/src/components/NavBar/style.css.ts @@ -64,7 +64,6 @@ const baseMenuItem = style([ borderRadius: '12', transition: '250', height: 'min', - width: 'full', textAlign: 'center', }), { @@ -79,14 +78,14 @@ const baseMenuItem = style([ export const menuItem = style([ baseMenuItem, sprinkles({ - color: 'textSecondary', + color: 'white', }), ]) export const activeMenuItem = style([ baseMenuItem, sprinkles({ - color: 'textPrimary', + color: 'white', background: 'backgroundFloating', }), ]) diff --git a/src/components/NetworkAlert/NetworkAlert.tsx b/src/components/NetworkAlert/NetworkAlert.tsx index b9cc0e3e6bf..47225cf18be 100644 --- a/src/components/NetworkAlert/NetworkAlert.tsx +++ b/src/components/NetworkAlert/NetworkAlert.tsx @@ -28,14 +28,8 @@ const RootWrapper = styled.div` ` const SHOULD_SHOW_ALERT = { - [SupportedChainId.OPTIMISM]: true, - [SupportedChainId.OPTIMISM_GOERLI]: true, - [SupportedChainId.ARBITRUM_ONE]: true, - [SupportedChainId.ARBITRUM_GOERLI]: true, - [SupportedChainId.POLYGON]: true, - [SupportedChainId.POLYGON_MUMBAI]: true, - [SupportedChainId.CELO]: true, - [SupportedChainId.CELO_ALFAJORES]: true, + [SupportedChainId.FUJI]: false, + [SupportedChainId.TESTNET]: false, } type NetworkAlertChains = keyof typeof SHOULD_SHOW_ALERT @@ -44,40 +38,16 @@ const BG_COLORS_BY_DARK_MODE_AND_CHAIN_ID: { [darkMode in 'dark' | 'light']: { [chainId in NetworkAlertChains]: string } } = { dark: { - [SupportedChainId.POLYGON]: + [SupportedChainId.FUJI]: 'radial-gradient(100% 93.36% at 0% 6.64%, rgba(160, 108, 247, 0.1) 0%, rgba(82, 32, 166, 0.1) 100%)', - [SupportedChainId.POLYGON_MUMBAI]: + [SupportedChainId.TESTNET]: 'radial-gradient(100% 93.36% at 0% 6.64%, rgba(160, 108, 247, 0.1) 0%, rgba(82, 32, 166, 0.1) 100%)', - [SupportedChainId.CELO]: - 'radial-gradient(182.71% 150.59% at 2.81% 7.69%, rgba(90, 190, 170, 0.15) 0%, rgba(80, 160, 40, 0.15) 100%)', - [SupportedChainId.CELO_ALFAJORES]: - 'radial-gradient(182.71% 150.59% at 2.81% 7.69%, rgba(90, 190, 170, 0.15) 0%, rgba(80, 160, 40, 0.15) 100%)', - [SupportedChainId.OPTIMISM]: - 'radial-gradient(948% 292% at 42% 0%, rgba(255, 58, 212, 0.01) 0%, rgba(255, 255, 255, 0.04) 100%),radial-gradient(98% 96% at 2% 0%, rgba(255, 39, 39, 0.01) 0%, rgba(235, 0, 255, 0.01) 96%)', - [SupportedChainId.OPTIMISM_GOERLI]: - 'radial-gradient(948% 292% at 42% 0%, rgba(255, 58, 212, 0.04) 0%, rgba(255, 255, 255, 0.04) 100%),radial-gradient(98% 96% at 2% 0%, rgba(255, 39, 39, 0.04) 0%, rgba(235, 0, 255, 0.01 96%)', - [SupportedChainId.ARBITRUM_ONE]: - 'radial-gradient(285% 8200% at 30% 50%, rgba(40, 160, 240, 0.01) 0%, rgba(219, 255, 0, 0) 100%),radial-gradient(75% 75% at 0% 0%, rgba(150, 190, 220, 0.05) 0%, rgba(33, 114, 229, 0.05) 100%), hsla(0, 0%, 100%, 0.05)', - [SupportedChainId.ARBITRUM_GOERLI]: - 'radial-gradient(285% 8200% at 30% 50%, rgba(40, 160, 240, 0.05) 0%, rgba(219, 255, 0, 0) 100%),radial-gradient(75% 75% at 0% 0%, rgba(150, 190, 220, 0.05) 0%, rgba(33, 114, 229, 0.1) 100%), hsla(0, 0%, 100%, 0.05)', }, light: { - [SupportedChainId.POLYGON]: + [SupportedChainId.TESTNET]: 'radial-gradient(182.71% 205.59% at 2.81% 7.69%, rgba(130, 71, 229, 0.2) 0%, rgba(167, 202, 255, 0.2) 100%)', - [SupportedChainId.POLYGON_MUMBAI]: + [SupportedChainId.FUJI]: 'radial-gradient(182.71% 205.59% at 2.81% 7.69%, rgba(130, 71, 229, 0.2) 0%, rgba(167, 202, 255, 0.2) 100%)', - [SupportedChainId.CELO]: - 'radial-gradient(182.71% 150.59% at 2.81% 7.69%, rgba(63, 208, 137, 0.15) 0%, rgba(49, 205, 50, 0.15) 100%)', - [SupportedChainId.CELO_ALFAJORES]: - 'radial-gradient(182.71% 150.59% at 2.81% 7.69%, rgba(63, 208, 137, 0.15) 0%, rgba(49, 205, 50, 0.15) 100%)', - [SupportedChainId.OPTIMISM]: - 'radial-gradient(92% 105% at 50% 7%, rgba(255, 58, 212, 0.04) 0%, rgba(255, 255, 255, 0.03) 100%),radial-gradient(100% 97% at 0% 12%, rgba(235, 0, 255, 0.1) 0%, rgba(243, 19, 19, 0.1) 100%), hsla(0, 0%, 100%, 0.1)', - [SupportedChainId.OPTIMISM_GOERLI]: - 'radial-gradient(92% 105% at 50% 7%, rgba(255, 58, 212, 0.04) 0%, rgba(255, 255, 255, 0.03) 100%),radial-gradient(100% 97% at 0% 12%, rgba(235, 0, 255, 0.1) 0%, rgba(243, 19, 19, 0.1) 100%), hsla(0, 0%, 100%, 0.1)', - [SupportedChainId.ARBITRUM_ONE]: - 'radial-gradient(285% 8200% at 30% 50%, rgba(40, 160, 240, 0.1) 0%, rgba(219, 255, 0, 0) 100%),radial-gradient(circle at top left, hsla(206, 50%, 75%, 0.01), hsla(215, 79%, 51%, 0.12)), hsla(0, 0%, 100%, 0.1)', - [SupportedChainId.ARBITRUM_GOERLI]: - 'radial-gradient(285% 8200% at 30% 50%, rgba(40, 160, 240, 0.1) 0%, rgba(219, 255, 0, 0) 100%),radial-gradient(circle at top left, hsla(206, 50%, 75%, 0.01), hsla(215, 79%, 51%, 0.12)), hsla(0, 0%, 100%, 0.1)', }, } @@ -128,14 +98,8 @@ const StyledArrowUpRight = styled(ArrowUpRight)` ` const TEXT_COLORS: { [chainId in NetworkAlertChains]: string } = { - [SupportedChainId.POLYGON]: 'rgba(130, 71, 229)', - [SupportedChainId.POLYGON_MUMBAI]: 'rgba(130, 71, 229)', - [SupportedChainId.CELO]: 'rgba(53, 178, 97)', - [SupportedChainId.CELO_ALFAJORES]: 'rgba(53, 178, 97)', - [SupportedChainId.OPTIMISM]: '#ff3856', - [SupportedChainId.OPTIMISM_GOERLI]: '#ff3856', - [SupportedChainId.ARBITRUM_ONE]: '#0490ed', - [SupportedChainId.ARBITRUM_GOERLI]: '#0490ed', + [SupportedChainId.FUJI]: 'rgba(130, 71, 229)', + [SupportedChainId.TESTNET]: 'rgba(130, 71, 229)', } function shouldShowAlert(chainId: number | undefined): chainId is NetworkAlertChains { diff --git a/src/components/Pools/PoolTable.tsx b/src/components/Pools/PoolTable.tsx new file mode 100644 index 00000000000..e05864a8337 --- /dev/null +++ b/src/components/Pools/PoolTable.tsx @@ -0,0 +1,393 @@ +import { Token } from '@uniswap/sdk-core' +import Card from 'components/Card' +import { AutoColumn } from 'components/Column' +import DoubleCurrencyLogo from 'components/DoubleLogo' +import Loader from 'components/Loader' +import { LoadingRows } from 'components/Loader/styled' +import { RowFixed } from 'components/Row' +import { Arrow, Break, PageButtons } from 'components/shared' +import { MAX_WIDTH_MEDIA_BREAKPOINT } from 'components/Tokens/constants' +import { SupportedChainId } from 'constants/chains' +import { USDC_TEVMOS, WETH_TEVMOS } from 'constants/tokens' +import { useIsMobile } from 'nft/hooks' +import numbro from 'numbro' +import React, { useCallback, useEffect, useMemo, useState } from 'react' +import { Link } from 'react-router-dom' +import { Text } from 'rebass' +import styled from 'styled-components/macro' +import { darkTheme } from 'theme/colors' + +const GreyBadge = styled(Card)` + width: fit-content; + border-radius: 8px; + background: ${darkTheme.backgroundModule}; + color: ${darkTheme.textPrimary}; + padding: 4px 6px; + font-weight: 400; +` + +const DarkGreyCard = styled(Card)` + background-color: ${darkTheme.background}; +` + +const formatDollarAmount = (num: number | undefined, digits = 2, round = true) => { + if (num === 0) return '$0.00' + if (!num) return '-' + if (num < 0.001 && digits <= 3) { + return '<$0.001' + } + + return numbro(num).formatCurrency({ + average: round, + mantissa: num > 1000 ? 2 : digits, + abbreviations: { + million: 'M', + billion: 'B', + }, + }) +} + +const TextWrapper = styled(Text)<{ color: string; fontSize: number; fontWeight: number }>` + color: ${({ color, theme }) => (theme as any)[color]}; +` + +function feeTierPercent(fee: number): string { + return (fee / 10000).toPrecision(1) + '%' +} + +const Label = styled.div<{ end?: number; color?: string }>` + display: flex; + font-size: 16px; + font-weight: 400; + justify-content: ${({ end }) => (end ? 'flex-end' : 'flex-start')}; + align-items: center; + font-variant-numeric: tabular-nums; + @media screen and (max-width: 640px) { + font-size: 14px; + } + color: ${({ color }) => (color ? color : '#ffffff')}; +` + +const ClickableText = styled(Label)` + text-align: end; + &:hover { + cursor: pointer; + opacity: 0.6; + } + user-select: none; + @media screen and (max-width: 640px) { + font-size: 12px; + } +` + +export interface PoolData { + // basic token info + address: string + feeTier: number + + token0: { + name: string + symbol: string + address: string + decimals: number + derivedETH: number + } + + token1: { + name: string + symbol: string + address: string + decimals: number + derivedETH: number + } + + // for tick math + liquidity: number + sqrtPrice: number + tick: number + + // volume + volumeUSD: number + volumeUSDChange: number + volumeUSDWeek: number + + // liquidity + tvlUSD: number + tvlUSDChange: number + + // prices + token0Price: number + token1Price: number + + // token amounts + tvlToken0: number + tvlToken1: number +} + +const Wrapper = styled(DarkGreyCard)` + width: 100%; +` + +const ResponsiveGrid = styled.div` + display: grid; + grid-gap: 1em; + align-items: center; + + grid-template-columns: 20px 3.5fr repeat(3, 1fr); + + @media screen and (max-width: 900px) { + grid-template-columns: 20px 1.5fr repeat(2, 1fr); + & :nth-child(3) { + display: none; + } + } + + @media screen and (max-width: 500px) { + grid-template-columns: 20px 1.5fr repeat(1, 1fr); + & :nth-child(5) { + display: none; + } + } + + @media screen and (max-width: 480px) { + grid-template-columns: 2.5fr repeat(1, 1fr); + > *:nth-child(1) { + display: none; + } + } +` + +const LinkWrapper = styled(Link)` + text-decoration: none; + :hover { + cursor: pointer; + opacity: 0.7; + } +` + +const SORT_FIELD = { + feeTier: 'feeTier', + volumeUSD: 'volumeUSD', + tvlUSD: 'tvlUSD', + volumeUSDWeek: 'volumeUSDWeek', +} + +const GridContainer = styled.div` + display: flex; + flex-direction: column; + max-width: ${MAX_WIDTH_MEDIA_BREAKPOINT}; + background-color: ${({ theme }) => theme.backgroundSurface}; + box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.01), 0px 4px 8px rgba(0, 0, 0, 0.04), 0px 16px 24px rgba(0, 0, 0, 0.04), + 0px 24px 32px rgba(0, 0, 0, 0.01); + margin-left: auto; + margin-right: auto; + border-radius: 12px; + justify-content: center; + align-items: center; + border: 1px solid ${({ theme }) => theme.backgroundOutline}; +` + +const DataRow = ({ poolData, index }: { poolData: PoolData; index: number }) => { + const isMobile = useIsMobile() + let currency0 + let currency1 + if (poolData?.token1?.address?.toLowerCase() === WETH_TEVMOS?.address?.toLowerCase()) { + currency1 = WETH_TEVMOS + } else { + currency1 = new Token( + SupportedChainId.TESTNET, + poolData.token1.address, + poolData.token1.decimals, + poolData.token1.symbol + ) + } + if (poolData?.token0?.address?.toLowerCase() === WETH_TEVMOS?.address?.toLowerCase()) { + currency0 = WETH_TEVMOS + } else { + currency0 = new Token( + SupportedChainId.TESTNET, + poolData.token0.address, + poolData.token0.decimals, + poolData.token0.symbol + ) + } + + if (poolData?.token1?.address?.toLowerCase() === USDC_TEVMOS?.address?.toLowerCase()) { + currency1 = USDC_TEVMOS + } else if (poolData?.token1?.address?.toLowerCase() !== WETH_TEVMOS?.address?.toLowerCase()) { + currency1 = new Token( + SupportedChainId.TESTNET, + poolData.token1.address, + poolData.token1.decimals, + poolData.token1.symbol + ) + } + if (poolData?.token0?.address?.toLowerCase() === USDC_TEVMOS?.address?.toLowerCase()) { + currency0 = USDC_TEVMOS + } else if (poolData?.token0?.address?.toLowerCase() !== WETH_TEVMOS?.address?.toLowerCase()) { + currency0 = new Token( + SupportedChainId.TESTNET, + poolData.token0.address, + poolData.token0.decimals, + poolData.token0.symbol + ) + } + + return ( + + + + + {!isMobile && } + + {!isMobile && } + + + ) +} + +const MAX_ITEMS = 10 + +export default function PoolTable({ poolDatas, maxItems = MAX_ITEMS }: { poolDatas: PoolData[]; maxItems?: number }) { + // for sorting + const [sortField, setSortField] = useState(SORT_FIELD.tvlUSD) + const [sortDirection, setSortDirection] = useState(true) + const isMobile = useIsMobile() + + // pagination + const [page, setPage] = useState(1) + const [maxPage, setMaxPage] = useState(1) + useEffect(() => { + let extraPages = 1 + if (poolDatas.length % maxItems === 0) { + extraPages = 0 + } + setMaxPage(Math.floor(poolDatas.length / maxItems) + extraPages) + }, [maxItems, poolDatas]) + + const sortedPools = useMemo(() => { + return poolDatas + ? poolDatas + .sort((a, b) => { + if (a && b) { + return a[sortField as keyof PoolData] > b[sortField as keyof PoolData] + ? (sortDirection ? -1 : 1) * 1 + : (sortDirection ? -1 : 1) * -1 + } else { + return -1 + } + }) + .slice(maxItems * (page - 1), page * maxItems) + : [] + }, [maxItems, page, poolDatas, sortDirection, sortField]) + + const handleSort = useCallback( + (newField: string) => { + setSortField(newField) + setSortDirection(sortField !== newField ? true : !sortDirection) + }, + [sortDirection, sortField] + ) + + const arrow = useCallback( + (field: string) => { + return sortField === field ? (!sortDirection ? '↑' : '↓') : '' + }, + [sortDirection, sortField] + ) + + if (!poolDatas) { + return + } + + return ( + + + {sortedPools.length > 0 ? ( + + + + handleSort(SORT_FIELD.feeTier)}> + Pool {arrow(SORT_FIELD.feeTier)} + + {!isMobile && ( + handleSort(SORT_FIELD.tvlUSD)}> + TVL {arrow(SORT_FIELD.tvlUSD)} + + )} + handleSort(SORT_FIELD.volumeUSD)}> + Volume 24H {arrow(SORT_FIELD.volumeUSD)} + + {!isMobile && ( + handleSort(SORT_FIELD.volumeUSDWeek)} + > + Volume 7D {arrow(SORT_FIELD.volumeUSDWeek)} + + )} + + + {sortedPools.map((poolData, i) => { + if (poolData) { + return ( + + + + + ) + } + return null + })} + +
{ + setPage(page === 1 ? page : page - 1) + }} + > + +
+ + + {'Page ' + page + ' of ' + maxPage} + +
{ + setPage(page === maxPage ? page : page + 1) + }} + > + +
+
+
+ ) : ( + +
+
+
+
+
+
+
+
+
+
+
+
+ + )} + + + ) +} diff --git a/src/components/PositionListItem/index.tsx b/src/components/PositionListItem/index.tsx index 1747684fbbe..0fca893483b 100644 --- a/src/components/PositionListItem/index.tsx +++ b/src/components/PositionListItem/index.tsx @@ -20,7 +20,7 @@ import { formatTickPrice } from 'utils/formatTickPrice' import { unwrappedToken } from 'utils/unwrappedToken' import { hasURL } from 'utils/urlChecks' -import { DAI, USDC_MAINNET, USDT, WBTC, WRAPPED_NATIVE_CURRENCY } from '../../constants/tokens' +import { USDC_TEVMOS, WRAPPED_NATIVE_CURRENCY } from '../../constants/tokens' const LinkRow = styled(Link)` align-items: center; @@ -133,7 +133,7 @@ export function getPriceOrderingFromPositionForUI(position?: Position): { const token1 = position.amount1.currency // if token0 is a dollar-stable asset, set it as the quote token - const stables = [DAI, USDC_MAINNET, USDT] + const stables = [USDC_TEVMOS] if (stables.some((stable) => stable.equals(token0))) { return { priceLower: position.token0PriceUpper.invert(), @@ -144,7 +144,7 @@ export function getPriceOrderingFromPositionForUI(position?: Position): { } // if token1 is an ETH-/BTC-stable asset, set it as the base token - const bases = [...Object.values(WRAPPED_NATIVE_CURRENCY), WBTC] + const bases = [...Object.values(WRAPPED_NATIVE_CURRENCY)] if (bases.some((base) => base && base.equals(token1))) { return { priceLower: position.token0PriceUpper.invert(), diff --git a/src/components/Settings/index.tsx b/src/components/Settings/index.tsx index 35c8a3d8192..2553089dd39 100644 --- a/src/components/Settings/index.tsx +++ b/src/components/Settings/index.tsx @@ -12,7 +12,7 @@ import styled, { useTheme } from 'styled-components/macro' import { useOnClickOutside } from '../../hooks/useOnClickOutside' import { useModalIsOpen, useToggleSettingsMenu } from '../../state/application/hooks' import { ApplicationModal } from '../../state/application/reducer' -import { useClientSideRouter, useExpertModeManager } from '../../state/user/hooks' +import { useClientSideRouter, useExpertModeManager, useGraphManager } from '../../state/user/hooks' import { ThemedText } from '../../theme' import { ButtonError } from '../Button' import { AutoColumn } from '../Column' @@ -133,6 +133,8 @@ export default function SettingsTab({ placeholderSlippage }: { placeholderSlippa const [clientSideRouter, setClientSideRouter] = useClientSideRouter() + const { showGraph, setShowGraph } = useGraphManager() + // show confirmation view before turning on const [showConfirmation, setShowConfirmation] = useState(false) @@ -226,6 +228,23 @@ export default function SettingsTab({ placeholderSlippage }: { placeholderSlippa /> )} + + + + Price graph + + + { + const _showGraph = showGraph() === 'true' ? true : false + setShowGraph(!_showGraph) + toggle() + }} + /> + + diff --git a/src/components/SwitchLocaleLink/index.tsx b/src/components/SwitchLocaleLink/index.tsx index dfaee68d25b..a5b13a5e81a 100644 --- a/src/components/SwitchLocaleLink/index.tsx +++ b/src/components/SwitchLocaleLink/index.tsx @@ -1,49 +1,3 @@ -import { Trans } from '@lingui/macro' -import { useLocationLinkProps } from 'hooks/useLocationLinkProps' -import { useMemo } from 'react' -import styled from 'styled-components/macro' - -import { DEFAULT_LOCALE, LOCALE_LABEL, SupportedLocale } from '../../constants/locales' -import { navigatorLocale, useActiveLocale } from '../../hooks/useActiveLocale' -import { StyledInternalLink, ThemedText } from '../../theme' - -const Container = styled(ThemedText.DeprecatedSmall)` - opacity: ${({ theme }) => theme.opacity.hover}; - :hover { - opacity: 1; - } - margin-top: 1rem !important; -` - -const useTargetLocale = (activeLocale: SupportedLocale) => { - const browserLocale = useMemo(() => navigatorLocale(), []) - - if (browserLocale && (browserLocale !== DEFAULT_LOCALE || activeLocale !== DEFAULT_LOCALE)) { - if (activeLocale === browserLocale) { - return DEFAULT_LOCALE - } else { - return browserLocale - } - } - return null -} - export function SwitchLocaleLink() { - const activeLocale = useActiveLocale() - const targetLocale = useTargetLocale(activeLocale) - - const { to, onClick } = useLocationLinkProps(targetLocale) - - if (!targetLocale || !to) return null - - return ( - - - Uniswap available in:{' '} - - {LOCALE_LABEL[targetLocale]} - - - - ) + return null } diff --git a/src/components/Tokens/TokenDetails/About.tsx b/src/components/Tokens/TokenDetails/About.tsx index 742caa0f2d6..74523124906 100644 --- a/src/components/Tokens/TokenDetails/About.tsx +++ b/src/components/Tokens/TokenDetails/About.tsx @@ -105,7 +105,7 @@ export function AboutSection({ address, chainId, description, homepageUrl, twitt diff --git a/src/components/Tokens/TokenDetails/ChartSection.tsx b/src/components/Tokens/TokenDetails/ChartSection.tsx index 06dbcbead91..e19a6e1496a 100644 --- a/src/components/Tokens/TokenDetails/ChartSection.tsx +++ b/src/components/Tokens/TokenDetails/ChartSection.tsx @@ -3,22 +3,20 @@ import { ChartContainer, LoadingChart } from 'components/Tokens/TokenDetails/Ske import { TokenPriceQuery } from 'graphql/data/TokenPrice' import { isPricePoint, PricePoint } from 'graphql/data/util' import { TimePeriod } from 'graphql/data/util' -import { useAtomValue } from 'jotai/utils' -import { pageTimePeriodAtom } from 'pages/TokenDetails' -import { startTransition, Suspense, useMemo } from 'react' +import { Suspense, useMemo } from 'react' import { PriceChart } from './PriceChart' -import TimePeriodSelector from './TimeSelector' -function usePriceHistory(tokenPriceData: TokenPriceQuery): PricePoint[] | undefined { +function usePriceHistory(tokenPriceData: any): PricePoint[] | undefined { // Appends the current price to the end of the priceHistory array const priceHistory = useMemo(() => { - const market = tokenPriceData.token?.market - const priceHistory = market?.priceHistory?.filter(isPricePoint) - const currentPrice = market?.price?.value + const market = tokenPriceData + const priceHistory = market?.filter(isPricePoint) + const currentPrice = market[0].value + if (Array.isArray(priceHistory) && currentPrice !== undefined) { const timestamp = Date.now() / 1000 - return [...priceHistory, { timestamp, value: currentPrice }] + return [...priceHistory.reverse(), { timestamp, value: currentPrice }] } return priceHistory }, [tokenPriceData]) @@ -29,7 +27,7 @@ export default function ChartSection({ tokenPriceQuery, onChangeTimePeriod, }: { - tokenPriceQuery?: TokenPriceQuery + tokenPriceQuery: any onChangeTimePeriod: OnChangeTimePeriod }) { if (!tokenPriceQuery) { @@ -48,6 +46,7 @@ export default function ChartSection({ export type OnChangeTimePeriod = (t: TimePeriod) => void function Chart({ tokenPriceQuery, + // eslint-disable-next-line @typescript-eslint/no-unused-vars onChangeTimePeriod, }: { tokenPriceQuery: TokenPriceQuery @@ -55,19 +54,13 @@ function Chart({ }) { const prices = usePriceHistory(tokenPriceQuery) // Initializes time period to global & maintain separate time period for subsequent changes - const timePeriod = useAtomValue(pageTimePeriodAtom) + const timePeriod = 2 return ( {({ width }) => } - { - startTransition(() => onChangeTimePeriod(t)) - }} - /> ) } diff --git a/src/components/TopLevelModals/index.tsx b/src/components/TopLevelModals/index.tsx index 0a08ce2b4e9..f1a5987d2f3 100644 --- a/src/components/TopLevelModals/index.tsx +++ b/src/components/TopLevelModals/index.tsx @@ -1,24 +1,20 @@ import { useWeb3React } from '@web3-react/core' import AddressClaimModal from 'components/claim/AddressClaimModal' import ConnectedAccountBlocked from 'components/ConnectedAccountBlocked' -import FiatOnrampModal from 'components/FiatOnrampModal' import TaxServiceBanner from 'components/TaxServiceModal/TaxServiceBanner' import { useTaxServiceBannerEnabled } from 'featureFlags/flags/taxServiceBanner' -import useAccountRiskCheck from 'hooks/useAccountRiskCheck' import { lazy } from 'react' import { useModalIsOpen, useToggleModal } from 'state/application/hooks' import { ApplicationModal } from 'state/application/reducer' const Bag = lazy(() => import('nft/components/bag/Bag')) const TransactionCompleteModal = lazy(() => import('nft/components/collection/TransactionCompleteModal')) -const AirdropModal = lazy(() => import('components/AirdropModal')) export default function TopLevelModals() { const addressClaimOpen = useModalIsOpen(ApplicationModal.ADDRESS_CLAIM) const addressClaimToggle = useToggleModal(ApplicationModal.ADDRESS_CLAIM) const blockedAccountModalOpen = useModalIsOpen(ApplicationModal.BLOCKED_ACCOUNT) const { account } = useWeb3React() - useAccountRiskCheck(account) const accountBlocked = Boolean(blockedAccountModalOpen && account) const taxServiceEnabled = useTaxServiceBannerEnabled() @@ -28,8 +24,6 @@ export default function TopLevelModals() { - - {taxServiceEnabled && } ) diff --git a/src/components/TransactionConfirmationModal/index.tsx b/src/components/TransactionConfirmationModal/index.tsx index edb1a2e14ec..607d3d3ae69 100644 --- a/src/components/TransactionConfirmationModal/index.tsx +++ b/src/components/TransactionConfirmationModal/index.tsx @@ -161,7 +161,7 @@ function TransactionSubmittedContent({ {chainId && hash && ( - View on Etherscan + View on Explorer )} diff --git a/src/components/TransactionSettings/index.tsx b/src/components/TransactionSettings/index.tsx index 08d6ce53ce7..c9b01605aa1 100644 --- a/src/components/TransactionSettings/index.tsx +++ b/src/components/TransactionSettings/index.tsx @@ -1,7 +1,6 @@ import { Trans } from '@lingui/macro' import { Percent } from '@uniswap/sdk-core' import { useWeb3React } from '@web3-react/core' -import { L2_CHAIN_IDS } from 'constants/chains' import { DEFAULT_DEADLINE_FROM_NOW } from 'constants/misc' import ms from 'ms.macro' import { darken } from 'polished' @@ -165,7 +164,7 @@ export default function TransactionSettings({ placeholderSlippage }: Transaction } } - const showCustomDeadlineRow = Boolean(chainId && !L2_CHAIN_IDS.includes(chainId)) + const showCustomDeadlineRow = Boolean(chainId && true) return ( diff --git a/src/components/WalletDropdown/AuthenticatedHeader.tsx b/src/components/WalletDropdown/AuthenticatedHeader.tsx index 8f4419d4197..f2343838946 100644 --- a/src/components/WalletDropdown/AuthenticatedHeader.tsx +++ b/src/components/WalletDropdown/AuthenticatedHeader.tsx @@ -1,31 +1,25 @@ import { Trans } from '@lingui/macro' -import { sendAnalyticsEvent } from '@uniswap/analytics' -import { InterfaceEventName } from '@uniswap/analytics-events' import { formatUSDPrice } from '@uniswap/conedison/format' import { CurrencyAmount, Token } from '@uniswap/sdk-core' import { useWeb3React } from '@web3-react/core' -import { ButtonEmphasis, ButtonSize, LoadingButtonSpinner, ThemeButton } from 'components/Button' -import Tooltip from 'components/Tooltip' +import { ButtonEmphasis, ButtonSize, ThemeButton } from 'components/Button' import { getConnection } from 'connection/utils' import { getChainInfoOrDefault } from 'constants/chainInfo' import { SupportedChainId } from 'constants/chains' import useCopyClipboard from 'hooks/useCopyClipboard' import useStablecoinPrice from 'hooks/useStablecoinPrice' import useNativeCurrency from 'lib/hooks/useNativeCurrency' -import { useProfilePageState, useSellAsset, useWalletCollections } from 'nft/hooks' import { useIsNftClaimAvailable } from 'nft/hooks/useIsNftClaimAvailable' -import { ProfilePageStateType } from 'nft/types' -import { useCallback, useMemo, useState } from 'react' -import { Copy, CreditCard, ExternalLink as ExternalLinkIcon, Info, Power } from 'react-feather' -import { useNavigate } from 'react-router-dom' +import { useCallback, useMemo } from 'react' +import { Copy, ExternalLink as ExternalLinkIcon, Power } from 'react-feather' import { useCurrencyBalanceString } from 'state/connection/hooks' import { useAppDispatch } from 'state/hooks' import { updateSelectedWallet } from 'state/user/reducer' import styled, { css, keyframes } from 'styled-components/macro' -import { ExternalLink, ThemedText } from 'theme' +import { ThemedText } from 'theme' import { shortenAddress } from '../../nft/utils/address' -import { useCloseModal, useFiatOnrampAvailability, useOpenModal, useToggleModal } from '../../state/application/hooks' +import { useToggleModal } from '../../state/application/hooks' import { ApplicationModal } from '../../state/application/reducer' import { useUserHasAvailableClaim, useUserUnclaimedAmount } from '../../state/claim/hooks' import StatusIcon from '../Identicon/StatusIcon' @@ -107,20 +101,6 @@ const USDText = styled.div` color: ${({ theme }) => theme.textSecondary}; margin-top: 8px; ` -const FiatOnrampNotAvailableText = styled(ThemedText.Caption)` - align-items: center; - color: ${({ theme }) => theme.textSecondary}; - display: flex; - justify-content: center; -` -const FiatOnrampAvailabilityExternalLink = styled(ExternalLink)` - align-items: center; - display: flex; - height: 14px; - justify-content: center; - margin-left: 6px; - width: 14px; -` const TruncatedTextStyle = css` text-overflow: ellipsis; @@ -150,14 +130,7 @@ const AccountContainer = styled(ThemedText.BodySmall)` color: ${({ theme }) => theme.textSecondary}; margin-top: 2.5px; ` -const StyledInfoIcon = styled(Info)` - height: 12px; - width: 12px; - flex: 1 1 auto; -` -const StyledLoadingButtonSpinner = styled(LoadingButtonSpinner)` - fill: ${({ theme }) => theme.accentAction}; -` + const BalanceWrapper = styled.div` display: flex; flex-direction: column; @@ -183,11 +156,6 @@ const AuthenticatedHeader = () => { nativeCurrency: { symbol: nativeCurrencySymbol }, explorer, } = getChainInfoOrDefault(chainId ? chainId : SupportedChainId.MAINNET) - const navigate = useNavigate() - const closeModal = useCloseModal() - const setSellPageState = useProfilePageState((state) => state.setProfilePageState) - const resetSellAssets = useSellAsset((state) => state.reset) - const clearCollectionFilters = useWalletCollections((state) => state.clearCollectionFilters) const isClaimAvailable = useIsNftClaimAvailable((state) => state.isClaimAvailable) const unclaimedAmount: CurrencyAmount | undefined = useUserUnclaimedAmount(account) @@ -212,41 +180,8 @@ const AuthenticatedHeader = () => { return price * balance }, [balanceString, nativeCurrencyPrice]) - const navigateToProfile = useCallback(() => { - resetSellAssets() - setSellPageState(ProfilePageStateType.VIEWING) - clearCollectionFilters() - navigate('/nfts/profile') - closeModal() - }, [clearCollectionFilters, closeModal, navigate, resetSellAssets, setSellPageState]) - - const openFiatOnrampModal = useOpenModal(ApplicationModal.FIAT_ONRAMP) - const openFoRModalWithAnalytics = useCallback(() => { - sendAnalyticsEvent(InterfaceEventName.FIAT_ONRAMP_WIDGET_OPENED) - openFiatOnrampModal() - }, [openFiatOnrampModal]) - - const [shouldCheck, setShouldCheck] = useState(false) - const { - available: fiatOnrampAvailable, - availabilityChecked: fiatOnrampAvailabilityChecked, - error, - loading: fiatOnrampAvailabilityLoading, - } = useFiatOnrampAvailability(shouldCheck, openFoRModalWithAnalytics) - - const handleBuyCryptoClick = useCallback(() => { - if (!fiatOnrampAvailabilityChecked) { - setShouldCheck(true) - } else if (fiatOnrampAvailable) { - openFoRModalWithAnalytics() - } - }, [fiatOnrampAvailabilityChecked, fiatOnrampAvailable, openFoRModalWithAnalytics]) - const disableBuyCryptoButton = Boolean( - error || (!fiatOnrampAvailable && fiatOnrampAvailabilityChecked) || fiatOnrampAvailabilityLoading - ) - const [showFiatOnrampUnavailableTooltip, setShow] = useState(false) - const openFiatOnrampUnavailableTooltip = useCallback(() => setShow(true), [setShow]) - const closeFiatOnrampUnavailableTooltip = useCallback(() => setShow(false), [setShow]) + // animate the border of the buy crypto button when a user navigates here from the feature announcement + // can be removed when components/FiatOnrampAnnouncment.tsx is no longer used return ( <> @@ -276,7 +211,7 @@ const AuthenticatedHeader = () => { - ETH Balance + EVMOS Balance {balanceString} {nativeCurrencySymbol} @@ -284,7 +219,9 @@ const AuthenticatedHeader = () => { { + window.open('https://www.orbitmarket.io/profile/' + account) + }} size={ButtonSize.medium} emphasis={ButtonEmphasis.medium} > @@ -293,40 +230,12 @@ const AuthenticatedHeader = () => { window.open('https://pay.c14.money')} + disabled={false} > - {error ? ( - {error} - ) : ( - <> - {fiatOnrampAvailabilityLoading ? ( - - ) : ( - - )}{' '} - Buy crypto - - )} + Buy crypto - {Boolean(!fiatOnrampAvailable && fiatOnrampAvailabilityChecked) && ( - - Not available in your region - Moonpay is not available in some regions. Click to learn more.} - > - - - - - - )} + {isUnclaimed && ( Claim {unclaimedAmount?.toFixed(0, { groupSeparator: ',' } ?? '-')} reward diff --git a/src/components/WalletDropdown/DefaultMenu.tsx b/src/components/WalletDropdown/DefaultMenu.tsx index a087aaad75b..f0cc55ae92a 100644 --- a/src/components/WalletDropdown/DefaultMenu.tsx +++ b/src/components/WalletDropdown/DefaultMenu.tsx @@ -4,9 +4,8 @@ import { TransactionSummary } from 'components/AccountDetailsV2' import { ButtonPrimary } from 'components/Button' import { useActiveLocale } from 'hooks/useActiveLocale' import { useMemo } from 'react' -import { ChevronRight, Moon, Sun } from 'react-feather' +import { ChevronRight } from 'react-feather' import { useToggleWalletModal } from 'state/application/hooks' -import { useDarkModeManager } from 'state/user/hooks' import styled from 'styled-components/macro' import { useAllTransactions } from '../../state/transactions/hooks' @@ -106,7 +105,6 @@ const CenterVertically = styled.div` const WalletDropdown = ({ setMenu }: { setMenu: (state: MenuState) => void }) => { const { account } = useWeb3React() const isAuthenticated = !!account - const [darkMode, toggleDarkMode] = useDarkModeManager() const activeLocale = useActiveLocale() const ISO = activeLocale.split('-')[0].toUpperCase() const allTransactions = useAllTransactions() @@ -170,10 +168,6 @@ const WalletDropdown = ({ setMenu }: { setMenu: (state: MenuState) => void }) => - - {darkMode ? Light theme : Dark theme} - {darkMode ? : } - ) } diff --git a/src/components/Web3Status/index.tsx b/src/components/Web3Status/index.tsx index b242daea880..e5d2147253a 100644 --- a/src/components/Web3Status/index.tsx +++ b/src/components/Web3Status/index.tsx @@ -196,7 +196,7 @@ const CHEVRON_PROPS = { } function Web3StatusInner() { - const { account, connector, chainId, ENSName } = useWeb3React() + const { account, connector, ENSName } = useWeb3React() const connectionType = getConnection(connector).type const { trade: { state: tradeState, trade }, @@ -226,9 +226,7 @@ function Web3StatusInner() { const hasPendingTransactions = !!pending.length - if (!chainId) { - return null - } else if (error) { + if (error) { return ( diff --git a/src/components/analytics/index.ts b/src/components/analytics/index.ts index 0c3fa654c69..34d0f35ee4c 100644 --- a/src/components/analytics/index.ts +++ b/src/components/analytics/index.ts @@ -2,7 +2,6 @@ import { useWeb3React } from '@web3-react/core' import { useEffect } from 'react' import { UaEventOptions } from 'react-ga4/types/ga4' import { useLocation } from 'react-router-dom' -import { isMobile } from 'utils/userAgent' import { getCLS, getFCP, getFID, getLCP, Metric } from 'web-vitals' import GoogleAnalyticsProvider from './GoogleAnalyticsProvider' @@ -10,12 +9,10 @@ import GoogleAnalyticsProvider from './GoogleAnalyticsProvider' const GOOGLE_ANALYTICS_CLIENT_ID_STORAGE_KEY = 'ga_client_id' const GOOGLE_ANALYTICS_ID: string | undefined = process.env.REACT_APP_GOOGLE_ANALYTICS_ID -const storedClientId = window.localStorage.getItem(GOOGLE_ANALYTICS_CLIENT_ID_STORAGE_KEY) - const googleAnalytics = new GoogleAnalyticsProvider() export function sendEvent(event: string | UaEventOptions, params?: any) { - return googleAnalytics.sendEvent(event, params) + return event && params ? undefined : undefined } export function outboundLink( @@ -34,21 +31,7 @@ export function sendTiming(timingCategory: any, timingVar: any, timingValue: any } if (typeof GOOGLE_ANALYTICS_ID === 'string') { - googleAnalytics.initialize(GOOGLE_ANALYTICS_ID, { - gaOptions: { - storage: 'none', - storeGac: false, - clientId: storedClientId ?? undefined, - }, - }) - googleAnalytics.set({ - anonymizeIp: true, - customBrowserType: !isMobile - ? 'desktop' - : 'web3' in window || 'ethereum' in window - ? 'mobileWeb3' - : 'mobileRegular', - }) + console.log('skipped ga') } else { googleAnalytics.initialize('test', { gtagOptions: { debug_mode: true } }) } diff --git a/src/components/shared/index.tsx b/src/components/shared/index.tsx new file mode 100644 index 00000000000..e9c427045ca --- /dev/null +++ b/src/components/shared/index.tsx @@ -0,0 +1,27 @@ +import styled from 'styled-components/macro' +import { darkTheme } from 'theme/colors' + +export const PageButtons = styled.div` + width: 100%; + display: flex; + align-items: center; + justify-content: center; + margin-top: 0.2em; + margin-bottom: 0.5em; +` + +export const Arrow = styled.div<{ faded: boolean }>` + color: ${darkTheme.textPrimary}; + opacity: ${1}; + padding: 0 20px; + user-select: none; + :hover { + cursor: pointer; + } +` + +export const Break = styled.div` + height: 1px; + background-color: ${darkTheme.background}; + width: 100%; +` diff --git a/src/components/swap/styleds.tsx b/src/components/swap/styleds.tsx index ccacb01fae2..57572301830 100644 --- a/src/components/swap/styleds.tsx +++ b/src/components/swap/styleds.tsx @@ -4,24 +4,11 @@ import { ReactNode } from 'react' import { AlertTriangle } from 'react-feather' import { Text } from 'rebass' import styled, { css } from 'styled-components/macro' +import { BREAKPOINTS } from 'theme' import { Z_INDEX } from 'theme/zIndex' import { AutoColumn } from '../Column' -export const PageWrapper = styled.div` - padding: 68px 8px 0px; - max-width: 480px; - width: 100%; - - @media only screen and (max-width: ${({ theme }) => `${theme.breakpoint.md}px`}) { - padding-top: 48px; - } - - @media only screen and (max-width: ${({ theme }) => `${theme.breakpoint.sm}px`}) { - padding-top: 20px; - } -` - // Mostly copied from `AppBody` but it was getting too hard to maintain backwards compatibility. export const SwapWrapper = styled.main` position: relative; @@ -37,6 +24,33 @@ export const SwapWrapper = styled.main` } ` +export const SwapPageWrapper = styled.div` + display: flex; + width: 100%; + justify-content: center; + gap: 1rem; + padding: 68px 12px 0px; + flex-direction: column; + align-items: center; + + @media screen and (min-width: ${BREAKPOINTS.lg}px) { + flex-direction: row; + gap: 2rem; + align-items: flex-start; + } +` + +export const TokenInfoWrapper = styled.div<{ show: boolean }>` + display: none; + flex-direction: column; + width: '100%'; + max-width: 600; + + @media screen and (min-width: ${BREAKPOINTS.lg}px) { + display: ${({ show }) => (show ? 'flex' : 'none')}; + } +` + export const ArrowWrapper = styled.div<{ clickable: boolean }>` border-radius: 12px; height: 40px; diff --git a/src/constants/TokenSafetyLookupTable.ts b/src/constants/TokenSafetyLookupTable.ts index 8393425893d..7ec452d31ef 100644 --- a/src/constants/TokenSafetyLookupTable.ts +++ b/src/constants/TokenSafetyLookupTable.ts @@ -1,7 +1,7 @@ import { TokenInfo } from '@uniswap/token-lists' import store from '../state' -import { UNI_EXTENDED_LIST, UNI_LIST, UNSUPPORTED_LIST_URLS } from './lists' +import { TESTNET_LIST, UNSUPPORTED_LIST_URLS } from './lists' import brokenTokenList from './tokenLists/broken.tokenlist.json' import { NATIVE_CHAIN_ID } from './tokens' @@ -19,13 +19,8 @@ class TokenSafetyLookupTable { createMap() { const dict: { [key: string]: TOKEN_LIST_TYPES } = {} - // Initialize extended tokens first - store.getState().lists.byUrl[UNI_EXTENDED_LIST].current?.tokens.forEach((token) => { - dict[token.address.toLowerCase()] = TOKEN_LIST_TYPES.UNI_EXTENDED - }) - // Initialize default tokens second, so that any tokens on both default and extended will display as default (no warning) - store.getState().lists.byUrl[UNI_LIST].current?.tokens.forEach((token) => { + store.getState().lists.byUrl[TESTNET_LIST].current?.tokens.forEach((token) => { dict[token.address.toLowerCase()] = TOKEN_LIST_TYPES.UNI_DEFAULT }) diff --git a/src/constants/addresses.ts b/src/constants/addresses.ts index 11c7de2d704..7df1903b4f4 100644 --- a/src/constants/addresses.ts +++ b/src/constants/addresses.ts @@ -1,8 +1,7 @@ import { FACTORY_ADDRESS as V2_FACTORY_ADDRESS } from '@uniswap/v2-sdk' -import { FACTORY_ADDRESS as V3_FACTORY_ADDRESS } from '@uniswap/v3-sdk' -import { SupportedChainId } from 'constants/chains' import { constructSameAddressMap } from '../utils/constructSameAddressMap' +import { SupportedChainId } from './chains' type AddressMap = { [chainId: number]: string } @@ -13,67 +12,41 @@ export const UNISWAP_NFT_AIRDROP_CLAIM_ADDRESS = '0x8B799381ac40b838BBA4131ffB26 export const V2_FACTORY_ADDRESSES: AddressMap = constructSameAddressMap(V2_FACTORY_ADDRESS) export const V2_ROUTER_ADDRESS: AddressMap = constructSameAddressMap('0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D') -// celo v3 addresses -const CELO_V3_CORE_FACTORY_ADDRESSES = '0xAfE208a311B21f13EF87E33A90049fC17A7acDEc' -const CELO_V3_MIGRATOR_ADDRESSES = '0x3cFd4d48EDfDCC53D3f173F596f621064614C582' -const CELO_MULTICALL_ADDRESS = '0x633987602DE5C4F337e3DbF265303A1080324204' -const CELO_QUOTER_ADDRESSES = '0x82825d0554fA07f7FC52Ab63c961F330fdEFa8E8' -const CELO_NONFUNGIBLE_POSITION_MANAGER_ADDRESSES = '0x3d79EdAaBC0EaB6F08ED885C05Fc0B014290D95A' -const CELO_TICK_LENS_ADDRESSES = '0x5f115D9113F88e0a0Db1b5033D90D4a9690AcD3D' - -// optimism goerli addresses -const OPTIMISM_GOERLI_V3_CORE_FACTORY_ADDRESSES = '0xB656dA17129e7EB733A557f4EBc57B76CFbB5d10' -const OPTIMISM_GOERLI_V3_MIGRATOR_ADDRESSES = '0xf6c55fBe84B1C8c3283533c53F51bC32F5C7Aba8' -const OPTIMISM_GOERLI_MULTICALL_ADDRESS = '0x07F2D8a2a02251B62af965f22fC4744A5f96BCCd' -const OPTIMISM_GOERLI_QUOTER_ADDRESSES = '0x9569CbA925c8ca2248772A9A4976A516743A246F' -const OPTIMISM_GOERLI_NONFUNGIBLE_POSITION_MANAGER_ADDRESSES = '0x39Ca85Af2F383190cBf7d7c41ED9202D27426EF6' -const OPTIMISM_GOERLI_TICK_LENS_ADDRESSES = '0xe6140Bd164b63E8BfCfc40D5dF952f83e171758e' - -// arbitrum goerli v3 addresses -const ARBITRUM_GOERLI_V3_CORE_FACTORY_ADDRESSES = '0x4893376342d5D7b3e31d4184c08b265e5aB2A3f6' -const ARBITRUM_GOERLI_V3_MIGRATOR_ADDRESSES = '0xA815919D2584Ac3F76ea9CB62E6Fd40a43BCe0C3' -const ARBITRUM_GOERLI_MULTICALL_ADDRESS = '0x8260CB40247290317a4c062F3542622367F206Ee' -const ARBITRUM_GOERLI_QUOTER_ADDRESSES = '0x1dd92b83591781D0C6d98d07391eea4b9a6008FA' -const ARBITRUM_GOERLI_NONFUNGIBLE_POSITION_MANAGER_ADDRESSES = '0x622e4726a167799826d1E1D150b076A7725f5D81' -const ARBITRUM_GOERLI_TICK_LENS_ADDRESSES = '0xb52429333da969a0C79a60930a4Bf0020E5D1DE8' - +// fuji addresses +const FUJI_V3_CORE_FACTORY_ADDRESSES = '0x43bDe47a34801f6aB2d66016Aef723Ba1b3A62b3' +const FUJI_V3_MIGRATOR_ADDRESSES = '0x021d2b456b66e6b54fCef45CA2De298D533faC6B' +const FUJI_MULTICALL_ADDRESS = '0xBeFe898407483f0f2fF605971FBD8Cf8FbD8B160' +const FUJI_QUOTER_ADDRESSES = '0x92b5f5EAe221BC6FeD88259cd2805A9C842c29bF' +const FUJI_NONFUNGIBLE_POSITION_MANAGER_ADDRESSES = '0x0Ca5659fE0fD4a10bde2Ca4d78156B78e9F1de1a' +const FUJI_TICK_LENS_ADDRESSES = '0x4A3be35489fa980D75B4b96B7b7F8a14748F0172' +const FUJI_ROUTER_ADDRESS = '0xd55586A56F208daeb184647aD17466c404ee1A51' +// test evmos addresses +const TEVMOS_V3_CORE_FACTORY_ADDRESSES = '0x18107600e90ced8B7d8a4E2DaAE7360522f880B2' +const TEVMOS_V3_MIGRATOR_ADDRESSES = '0x92b5f5EAe221BC6FeD88259cd2805A9C842c29bF' +const TEVMOS_MULTICALL_ADDRESS = '0x5E9848eBE701d519bcd18fDa07f9432E6fb63dff' +const TEVMOS_QUOTER_ADDRESSES = '0x0F70b839BDdC6E95113cA3A51dFfC0CEd73d55a5' +const TEVMOS_NONFUNGIBLE_POSITION_MANAGER_ADDRESSES = '0x483e6D6D4dF00CFc4Ee18eEd7685221C3Aa9E2de' +const TEVMOS_TICK_LENS_ADDRESSES = '0xec8784A0FB44d94a9f7cfF4A59dC57F2E8bdEc8C' +const TEVMOS_ROUTER_ADDRESS = '0xeC5bfc01218e1CA43027A987c185E94A67AeDB6D' /* V3 Contract Addresses */ export const V3_CORE_FACTORY_ADDRESSES: AddressMap = { - ...constructSameAddressMap(V3_FACTORY_ADDRESS, [ - SupportedChainId.OPTIMISM, - SupportedChainId.ARBITRUM_ONE, - SupportedChainId.POLYGON_MUMBAI, - SupportedChainId.POLYGON, - ]), - [SupportedChainId.CELO]: CELO_V3_CORE_FACTORY_ADDRESSES, - [SupportedChainId.CELO_ALFAJORES]: CELO_V3_CORE_FACTORY_ADDRESSES, - [SupportedChainId.OPTIMISM_GOERLI]: OPTIMISM_GOERLI_V3_CORE_FACTORY_ADDRESSES, - [SupportedChainId.ARBITRUM_GOERLI]: ARBITRUM_GOERLI_V3_CORE_FACTORY_ADDRESSES, + [SupportedChainId.TESTNET]: TEVMOS_V3_CORE_FACTORY_ADDRESSES, + [SupportedChainId.FUJI]: FUJI_V3_CORE_FACTORY_ADDRESSES, } export const V3_MIGRATOR_ADDRESSES: AddressMap = { - ...constructSameAddressMap('0xA5644E29708357803b5A882D272c41cC0dF92B34', [ - SupportedChainId.ARBITRUM_ONE, - SupportedChainId.POLYGON_MUMBAI, - SupportedChainId.POLYGON, - ]), - [SupportedChainId.CELO]: CELO_V3_MIGRATOR_ADDRESSES, - [SupportedChainId.CELO_ALFAJORES]: CELO_V3_MIGRATOR_ADDRESSES, - [SupportedChainId.OPTIMISM_GOERLI]: OPTIMISM_GOERLI_V3_MIGRATOR_ADDRESSES, - [SupportedChainId.ARBITRUM_GOERLI]: ARBITRUM_GOERLI_V3_MIGRATOR_ADDRESSES, + [SupportedChainId.TESTNET]: TEVMOS_V3_MIGRATOR_ADDRESSES, + [SupportedChainId.FUJI]: FUJI_V3_MIGRATOR_ADDRESSES, } export const MULTICALL_ADDRESS: AddressMap = { - ...constructSameAddressMap('0x1F98415757620B543A52E61c46B32eB19261F984', [ - SupportedChainId.OPTIMISM, - SupportedChainId.POLYGON_MUMBAI, - SupportedChainId.POLYGON, - ]), - [SupportedChainId.ARBITRUM_ONE]: '0xadF885960B47eA2CD9B55E6DAc6B42b7Cb2806dB', - [SupportedChainId.CELO]: CELO_MULTICALL_ADDRESS, - [SupportedChainId.CELO_ALFAJORES]: CELO_MULTICALL_ADDRESS, - [SupportedChainId.OPTIMISM_GOERLI]: OPTIMISM_GOERLI_MULTICALL_ADDRESS, - [SupportedChainId.ARBITRUM_GOERLI]: ARBITRUM_GOERLI_MULTICALL_ADDRESS, + [SupportedChainId.TESTNET]: TEVMOS_MULTICALL_ADDRESS, + [SupportedChainId.FUJI]: FUJI_MULTICALL_ADDRESS, +} + +export const SWAP_ROUTER_ADDRESSES: AddressMap = { + [SupportedChainId.TESTNET]: TEVMOS_ROUTER_ADDRESS, + [SupportedChainId.FUJI]: FUJI_ROUTER_ADDRESS, } /** @@ -85,65 +58,33 @@ export const GOVERNANCE_ALPHA_V0_ADDRESSES: AddressMap = constructSameAddressMap /** * The older V1 governance address */ -export const GOVERNANCE_ALPHA_V1_ADDRESSES: AddressMap = { - [SupportedChainId.MAINNET]: '0xC4e172459f1E7939D522503B81AFAaC1014CE6F6', -} +export const GOVERNANCE_ALPHA_V1_ADDRESSES: AddressMap = {} /** * The latest governor bravo that is currently admin of timelock */ -export const GOVERNANCE_BRAVO_ADDRESSES: AddressMap = { - [SupportedChainId.MAINNET]: '0x408ED6354d4973f66138C91495F2f2FCbd8724C3', -} +export const GOVERNANCE_BRAVO_ADDRESSES: AddressMap = {} export const TIMELOCK_ADDRESS: AddressMap = constructSameAddressMap('0x1a9C8182C09F50C8318d769245beA52c32BE35BC') -export const MERKLE_DISTRIBUTOR_ADDRESS: AddressMap = { - [SupportedChainId.MAINNET]: '0x090D4613473dEE047c3f2706764f49E0821D256e', -} +export const MERKLE_DISTRIBUTOR_ADDRESS: AddressMap = {} -export const ARGENT_WALLET_DETECTOR_ADDRESS: AddressMap = { - [SupportedChainId.MAINNET]: '0xeca4B0bDBf7c55E9b7925919d03CbF8Dc82537E8', -} +export const ARGENT_WALLET_DETECTOR_ADDRESS: AddressMap = {} export const QUOTER_ADDRESSES: AddressMap = { - ...constructSameAddressMap('0xb27308f9F90D607463bb33eA1BeBb41C27CE5AB6', [ - SupportedChainId.OPTIMISM, - SupportedChainId.ARBITRUM_ONE, - SupportedChainId.POLYGON_MUMBAI, - SupportedChainId.POLYGON, - ]), - [SupportedChainId.CELO]: CELO_QUOTER_ADDRESSES, - [SupportedChainId.CELO_ALFAJORES]: CELO_QUOTER_ADDRESSES, - [SupportedChainId.OPTIMISM_GOERLI]: OPTIMISM_GOERLI_QUOTER_ADDRESSES, - [SupportedChainId.ARBITRUM_GOERLI]: ARBITRUM_GOERLI_QUOTER_ADDRESSES, + [SupportedChainId.TESTNET]: TEVMOS_QUOTER_ADDRESSES, + [SupportedChainId.FUJI]: FUJI_QUOTER_ADDRESSES, } export const NONFUNGIBLE_POSITION_MANAGER_ADDRESSES: AddressMap = { - ...constructSameAddressMap('0xC36442b4a4522E871399CD717aBDD847Ab11FE88', [ - SupportedChainId.OPTIMISM, - SupportedChainId.ARBITRUM_ONE, - SupportedChainId.POLYGON_MUMBAI, - SupportedChainId.POLYGON, - ]), - [SupportedChainId.CELO]: CELO_NONFUNGIBLE_POSITION_MANAGER_ADDRESSES, - [SupportedChainId.CELO_ALFAJORES]: CELO_NONFUNGIBLE_POSITION_MANAGER_ADDRESSES, - [SupportedChainId.OPTIMISM_GOERLI]: OPTIMISM_GOERLI_NONFUNGIBLE_POSITION_MANAGER_ADDRESSES, - [SupportedChainId.ARBITRUM_GOERLI]: ARBITRUM_GOERLI_NONFUNGIBLE_POSITION_MANAGER_ADDRESSES, + [SupportedChainId.TESTNET]: TEVMOS_NONFUNGIBLE_POSITION_MANAGER_ADDRESSES, + [SupportedChainId.FUJI]: FUJI_NONFUNGIBLE_POSITION_MANAGER_ADDRESSES, } -export const ENS_REGISTRAR_ADDRESSES: AddressMap = { - [SupportedChainId.MAINNET]: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e', - [SupportedChainId.GOERLI]: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e', -} +export const ENS_REGISTRAR_ADDRESSES: AddressMap = {} -export const SOCKS_CONTROLLER_ADDRESSES: AddressMap = { - [SupportedChainId.MAINNET]: '0x65770b5283117639760beA3F867b69b3697a91dd', -} +export const SOCKS_CONTROLLER_ADDRESSES: AddressMap = {} export const TICK_LENS_ADDRESSES: AddressMap = { - [SupportedChainId.ARBITRUM_ONE]: '0xbfd8137f7d1516D3ea5cA83523914859ec47F573', - [SupportedChainId.ARBITRUM_GOERLI]: ARBITRUM_GOERLI_TICK_LENS_ADDRESSES, - [SupportedChainId.CELO]: CELO_TICK_LENS_ADDRESSES, - [SupportedChainId.CELO_ALFAJORES]: CELO_TICK_LENS_ADDRESSES, - [SupportedChainId.OPTIMISM_GOERLI]: OPTIMISM_GOERLI_TICK_LENS_ADDRESSES, + [SupportedChainId.TESTNET]: TEVMOS_TICK_LENS_ADDRESSES, + [SupportedChainId.FUJI]: FUJI_TICK_LENS_ADDRESSES, } diff --git a/src/constants/chainInfo.ts b/src/constants/chainInfo.ts index 1667c248dac..bcd351a065f 100644 --- a/src/constants/chainInfo.ts +++ b/src/constants/chainInfo.ts @@ -1,16 +1,9 @@ -import celoCircleLogoUrl from 'assets/images/celoCircle.png' import ethereumLogoUrl from 'assets/images/ethereum-logo.png' -import polygonCircleLogoUrl from 'assets/images/polygonCircle.png' -import { default as arbitrumCircleLogoUrl, default as arbitrumLogoUrl } from 'assets/svg/arbitrum_logo.svg' -import celoLogo from 'assets/svg/celo_logo.svg' -import optimismLogoUrl from 'assets/svg/optimistic_ethereum.svg' -import polygonMaticLogo from 'assets/svg/polygon-matic-logo.svg' -import { SupportedChainId } from 'constants/chains' import ms from 'ms.macro' import { darkTheme } from 'theme/colors' -import { SupportedL1ChainId, SupportedL2ChainId } from './chains' -import { ARBITRUM_LIST, CELO_LIST, OPTIMISM_LIST } from './lists' +import { SupportedChainId, SupportedL1ChainId, SupportedL2ChainId } from './chains' +import { FUJI_LIST, TESTNET_LIST } from './lists' export const AVERAGE_L1_BLOCK_TIME = ms`12s` @@ -55,6 +48,32 @@ type ChainInfoMap = { readonly [chainId: number]: L1ChainInfo | L2ChainInfo } & } & { readonly [chainId in SupportedL1ChainId]: L1ChainInfo } const CHAIN_INFO: ChainInfoMap = { + [SupportedChainId.TESTNET]: { + networkType: NetworkType.L1, + blockWaitMsBeforeWarning: ms`10m`, + docs: 'https://evm.evmos.dev/', + explorer: 'https://evm.evmos.dev/', + infoLink: '', + label: 'Evmos Testnet', + logoUrl: 'https://raw.githubusercontent.com/cosmos/chain-registry/master/evmos/images/evmos.png', + circleLogoUrl: 'https://raw.githubusercontent.com/cosmos/chain-registry/master/evmos/images/evmos.png', + nativeCurrency: { name: 'Test Evmos', symbol: 'TEVMOS', decimals: 18 }, + defaultListUrl: TESTNET_LIST, + }, + [SupportedChainId.FUJI]: { + networkType: NetworkType.L1, + blockWaitMsBeforeWarning: ms`10m`, + docs: 'https://docs.avax.network/quickstart/fuji-workflow', + explorer: 'https://testnet.snowtrace.io/', + infoLink: '', + label: 'Fuji', + logoUrl: + 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/avalanchec/assets/0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7/logo.png', + circleLogoUrl: + 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/avalanchec/assets/0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7/logo.png', + nativeCurrency: { name: 'Avax', symbol: 'AVAX', decimals: 18 }, + defaultListUrl: FUJI_LIST, + }, [SupportedChainId.MAINNET]: { networkType: NetworkType.L1, docs: 'https://docs.uniswap.org/', @@ -65,129 +84,24 @@ const CHAIN_INFO: ChainInfoMap = { nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 }, color: darkTheme.chain_1, }, - [SupportedChainId.GOERLI]: { - networkType: NetworkType.L1, - docs: 'https://docs.uniswap.org/', - explorer: 'https://goerli.etherscan.io/', - infoLink: 'https://info.uniswap.org/#/', - label: 'Görli', - logoUrl: ethereumLogoUrl, - nativeCurrency: { name: 'Görli Ether', symbol: 'görETH', decimals: 18 }, - color: darkTheme.chain_5, - }, [SupportedChainId.OPTIMISM]: { networkType: NetworkType.L2, blockWaitMsBeforeWarning: ms`25m`, bridge: 'https://app.optimism.io/bridge', - defaultListUrl: OPTIMISM_LIST, + defaultListUrl: FUJI_LIST, docs: 'https://optimism.io/', explorer: 'https://optimistic.etherscan.io/', infoLink: 'https://info.uniswap.org/#/optimism/', label: 'Optimism', - logoUrl: optimismLogoUrl, + logoUrl: ethereumLogoUrl, // Optimism perfers same icon for both - circleLogoUrl: optimismLogoUrl, + circleLogoUrl: ethereumLogoUrl, statusPage: 'https://optimism.io/status', helpCenterUrl: 'https://help.uniswap.org/en/collections/3137778-uniswap-on-optimistic-ethereum-oξ', nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 }, color: darkTheme.chain_10, backgroundColor: darkTheme.chain_10_background, }, - [SupportedChainId.OPTIMISM_GOERLI]: { - networkType: NetworkType.L2, - blockWaitMsBeforeWarning: ms`25m`, - bridge: 'https://app.optimism.io/bridge', - defaultListUrl: OPTIMISM_LIST, - docs: 'https://optimism.io/', - explorer: 'https://goerli-optimism.etherscan.io/', - infoLink: 'https://info.uniswap.org/#/optimism/', - label: 'Optimism Görli', - logoUrl: optimismLogoUrl, - statusPage: 'https://optimism.io/status', - helpCenterUrl: 'https://help.uniswap.org/en/collections/3137778-uniswap-on-optimistic-ethereum-oξ', - nativeCurrency: { name: 'Optimism Goerli Ether', symbol: 'görOpETH', decimals: 18 }, - color: darkTheme.chain_420, - }, - [SupportedChainId.ARBITRUM_ONE]: { - networkType: NetworkType.L2, - blockWaitMsBeforeWarning: ms`10m`, - bridge: 'https://bridge.arbitrum.io/', - docs: 'https://offchainlabs.com/', - explorer: 'https://arbiscan.io/', - infoLink: 'https://info.uniswap.org/#/arbitrum', - label: 'Arbitrum', - logoUrl: arbitrumLogoUrl, - circleLogoUrl: arbitrumCircleLogoUrl, - defaultListUrl: ARBITRUM_LIST, - helpCenterUrl: 'https://help.uniswap.org/en/collections/3137787-uniswap-on-arbitrum', - nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 }, - color: darkTheme.chain_42, - backgroundColor: darkTheme.chain_42161_background, - }, - [SupportedChainId.ARBITRUM_GOERLI]: { - networkType: NetworkType.L2, - blockWaitMsBeforeWarning: ms`10m`, - bridge: 'https://bridge.arbitrum.io/', - docs: 'https://offchainlabs.com/', - explorer: 'https://goerli.arbiscan.io/', - infoLink: 'https://info.uniswap.org/#/arbitrum/', - label: 'Arbitrum Goerli', - logoUrl: arbitrumLogoUrl, - defaultListUrl: ARBITRUM_LIST, // TODO: use arbitrum goerli token list - helpCenterUrl: 'https://help.uniswap.org/en/collections/3137787-uniswap-on-arbitrum', - nativeCurrency: { name: 'Goerli Arbitrum Ether', symbol: 'goerliArbETH', decimals: 18 }, - color: darkTheme.chain_421613, - }, - [SupportedChainId.POLYGON]: { - networkType: NetworkType.L1, - blockWaitMsBeforeWarning: ms`10m`, - bridge: 'https://wallet.polygon.technology/login', - docs: 'https://polygon.io/', - explorer: 'https://polygonscan.com/', - infoLink: 'https://info.uniswap.org/#/polygon/', - label: 'Polygon', - logoUrl: polygonMaticLogo, - circleLogoUrl: polygonCircleLogoUrl, - nativeCurrency: { name: 'Polygon Matic', symbol: 'MATIC', decimals: 18 }, - color: darkTheme.chain_137, - backgroundColor: darkTheme.chain_137_background, - }, - [SupportedChainId.POLYGON_MUMBAI]: { - networkType: NetworkType.L1, - blockWaitMsBeforeWarning: ms`10m`, - bridge: 'https://wallet.polygon.technology/bridge', - docs: 'https://polygon.io/', - explorer: 'https://mumbai.polygonscan.com/', - infoLink: 'https://info.uniswap.org/#/polygon/', - label: 'Polygon Mumbai', - logoUrl: polygonMaticLogo, - nativeCurrency: { name: 'Polygon Mumbai Matic', symbol: 'mMATIC', decimals: 18 }, - }, - [SupportedChainId.CELO]: { - networkType: NetworkType.L1, - blockWaitMsBeforeWarning: ms`10m`, - bridge: 'https://www.portalbridge.com/#/transfer', - docs: 'https://docs.celo.org/', - explorer: 'https://celoscan.io/', - infoLink: 'https://info.uniswap.org/#/celo', - label: 'Celo', - logoUrl: celoLogo, - circleLogoUrl: celoCircleLogoUrl, - nativeCurrency: { name: 'Celo', symbol: 'CELO', decimals: 18 }, - defaultListUrl: CELO_LIST, - }, - [SupportedChainId.CELO_ALFAJORES]: { - networkType: NetworkType.L1, - blockWaitMsBeforeWarning: ms`10m`, - bridge: 'https://www.portalbridge.com/#/transfer', - docs: 'https://docs.celo.org/', - explorer: 'https://alfajores-blockscout.celo-testnet.org/', - infoLink: 'https://info.uniswap.org/#/celo', - label: 'Celo Alfajores', - logoUrl: celoLogo, - nativeCurrency: { name: 'Celo', symbol: 'CELO', decimals: 18 }, - defaultListUrl: CELO_LIST, - }, } export function getChainInfo(chainId: SupportedL1ChainId): L1ChainInfo @@ -195,7 +109,7 @@ export function getChainInfo(chainId: SupportedL2ChainId): L2ChainInfo export function getChainInfo(chainId: SupportedChainId): L1ChainInfo | L2ChainInfo export function getChainInfo( chainId: SupportedChainId | SupportedL1ChainId | SupportedL2ChainId | number | undefined -): L1ChainInfo | L2ChainInfo | undefined +): L1ChainInfo | L2ChainInfo /** * Overloaded method for returning ChainInfo given a chainID diff --git a/src/constants/chains.ts b/src/constants/chains.ts index c487e68c9b8..1c81b2ff60a 100644 --- a/src/constants/chains.ts +++ b/src/constants/chains.ts @@ -7,33 +7,17 @@ * Because this is not explicitly derived from @uniswap/sdk-core, there is a unit test to enforce conformance. */ export enum SupportedChainId { - MAINNET = 1, - GOERLI = 5, - - ARBITRUM_ONE = 42161, - ARBITRUM_GOERLI = 421613, - + FUJI = 43113, + MAINNET = 9001, OPTIMISM = 10, - OPTIMISM_GOERLI = 420, - - POLYGON = 137, - POLYGON_MUMBAI = 80001, - - CELO = 42220, - CELO_ALFAJORES = 44787, + TESTNET = 9000, } export const CHAIN_IDS_TO_NAMES = { - [SupportedChainId.MAINNET]: 'mainnet', - [SupportedChainId.GOERLI]: 'goerli', - [SupportedChainId.POLYGON]: 'polygon', - [SupportedChainId.POLYGON_MUMBAI]: 'polygon_mumbai', - [SupportedChainId.CELO]: 'celo', - [SupportedChainId.CELO_ALFAJORES]: 'celo_alfajores', - [SupportedChainId.ARBITRUM_ONE]: 'arbitrum', - [SupportedChainId.ARBITRUM_GOERLI]: 'arbitrum_goerli', + [SupportedChainId.MAINNET]: 'evmos', + [SupportedChainId.FUJI]: 'fuji', [SupportedChainId.OPTIMISM]: 'optimism', - [SupportedChainId.OPTIMISM_GOERLI]: 'optimism_goerli', + [SupportedChainId.TESTNET]: 'tevmos', } /** @@ -49,42 +33,23 @@ export function isSupportedChain(chainId: number | null | undefined): chainId is export const SUPPORTED_GAS_ESTIMATE_CHAIN_IDS = [ SupportedChainId.MAINNET, - SupportedChainId.POLYGON, - SupportedChainId.CELO, - SupportedChainId.OPTIMISM, - SupportedChainId.ARBITRUM_ONE, -] as const + SupportedChainId.FUJI, + SupportedChainId.TESTNET, +] /** * Unsupported networks for V2 pool behavior. */ -export const UNSUPPORTED_V2POOL_CHAIN_IDS = [ - SupportedChainId.POLYGON, - SupportedChainId.OPTIMISM, - SupportedChainId.ARBITRUM_ONE, - SupportedChainId.ARBITRUM_GOERLI, -] as const +export const UNSUPPORTED_V2POOL_CHAIN_IDS = [SupportedChainId.TESTNET] -export const TESTNET_CHAIN_IDS = [ - SupportedChainId.GOERLI, - SupportedChainId.POLYGON_MUMBAI, - SupportedChainId.ARBITRUM_GOERLI, - SupportedChainId.OPTIMISM_GOERLI, -] as const +export const TESTNET_CHAIN_IDS = [SupportedChainId.TESTNET] as const export type SupportedTestnetChainId = typeof TESTNET_CHAIN_IDS[number] /** * All the chain IDs that are running the Ethereum protocol. */ -export const L1_CHAIN_IDS = [ - SupportedChainId.MAINNET, - SupportedChainId.GOERLI, - SupportedChainId.POLYGON, - SupportedChainId.POLYGON_MUMBAI, - SupportedChainId.CELO, - SupportedChainId.CELO_ALFAJORES, -] as const +export const L1_CHAIN_IDS = [SupportedChainId.MAINNET, SupportedChainId.TESTNET] as const export type SupportedL1ChainId = typeof L1_CHAIN_IDS[number] @@ -92,11 +57,6 @@ export type SupportedL1ChainId = typeof L1_CHAIN_IDS[number] * Controls some L2 specific behavior, e.g. slippage tolerance, special UI behavior. * The expectation is that all of these networks have immediate transaction confirmation. */ -export const L2_CHAIN_IDS = [ - SupportedChainId.ARBITRUM_ONE, - SupportedChainId.ARBITRUM_GOERLI, - SupportedChainId.OPTIMISM, - SupportedChainId.OPTIMISM_GOERLI, -] as const +export const L2_CHAIN_IDS = [SupportedChainId.OPTIMISM] as const export type SupportedL2ChainId = typeof L2_CHAIN_IDS[number] diff --git a/src/constants/lists.ts b/src/constants/lists.ts index 2538059f090..929d6b14cd5 100644 --- a/src/constants/lists.ts +++ b/src/constants/lists.ts @@ -1,38 +1,11 @@ -export const UNI_LIST = 'https://gateway.ipfs.io/ipns/tokens.uniswap.org' -export const UNI_EXTENDED_LIST = 'https://gateway.ipfs.io/ipns/extendedtokens.uniswap.org' -const UNI_UNSUPPORTED_LIST = 'https://gateway.ipfs.io/ipns/unsupportedtokens.uniswap.org' -const AAVE_LIST = 'tokenlist.aave.eth' -const BA_LIST = 'https://raw.githubusercontent.com/The-Blockchain-Association/sec-notice-list/master/ba-sec-list.json' -const CMC_ALL_LIST = 'https://api.coinmarketcap.com/data-api/v3/uniswap/all.json' -const COINGECKO_LIST = 'https://tokens.coingecko.com/uniswap/all.json' -const COMPOUND_LIST = 'https://raw.githubusercontent.com/compound-finance/token-list/master/compound.tokenlist.json' -const GEMINI_LIST = 'https://www.gemini.com/uniswap/manifest.json' -const KLEROS_LIST = 't2crtokens.eth' -const SET_LIST = 'https://raw.githubusercontent.com/SetProtocol/uniswap-tokenlist/main/set.tokenlist.json' -const WRAPPED_LIST = 'wrapped.tokensoft.eth' +export const FUJI_LIST = 'https://raw.githubusercontent.com/Orbital-Apes-Labs/tokenlist/fuji-testnet/src/tokenlist.json' +export const TESTNET_LIST = + 'https://raw.githubusercontent.com/Forge-Trade/tokenlist/evmos-testnet/src/tokenlist_testnet.json' -export const OPTIMISM_LIST = 'https://static.optimism.io/optimism.tokenlist.json' -export const ARBITRUM_LIST = 'https://bridge.arbitrum.io/token-list-42161.json' -export const CELO_LIST = 'https://celo-org.github.io/celo-token-list/celo.tokenlist.json' - -export const UNSUPPORTED_LIST_URLS: string[] = [BA_LIST, UNI_UNSUPPORTED_LIST] +export const UNSUPPORTED_LIST_URLS: string[] = [] // default lists to be 'active' aka searched across -export const DEFAULT_ACTIVE_LIST_URLS: string[] = [UNI_LIST] -export const DEFAULT_INACTIVE_LIST_URLS: string[] = [ - UNI_EXTENDED_LIST, - COMPOUND_LIST, - AAVE_LIST, - CMC_ALL_LIST, - COINGECKO_LIST, - KLEROS_LIST, - GEMINI_LIST, - WRAPPED_LIST, - SET_LIST, - ARBITRUM_LIST, - OPTIMISM_LIST, - CELO_LIST, - ...UNSUPPORTED_LIST_URLS, -] +export const DEFAULT_ACTIVE_LIST_URLS: string[] = [TESTNET_LIST] +export const DEFAULT_INACTIVE_LIST_URLS: string[] = [...UNSUPPORTED_LIST_URLS] export const DEFAULT_LIST_OF_LISTS: string[] = [...DEFAULT_ACTIVE_LIST_URLS, ...DEFAULT_INACTIVE_LIST_URLS] diff --git a/src/constants/networks.ts b/src/constants/networks.ts index 4b81a747bc4..63702013a23 100644 --- a/src/constants/networks.ts +++ b/src/constants/networks.ts @@ -24,55 +24,15 @@ export const FALLBACK_URLS: { [key in SupportedChainId]: string[] } = { 'https://rpc.ankr.com/eth', 'https://eth-mainnet.public.blastapi.io', ], - [SupportedChainId.GOERLI]: [ + [SupportedChainId.FUJI]: [ // "Safe" URLs - 'https://rpc.goerli.mudit.blog/', - // "Fallback" URLs - 'https://rpc.ankr.com/eth_goerli', - ], - [SupportedChainId.POLYGON]: [ - // "Safe" URLs - 'https://polygon-rpc.com/', - 'https://rpc-mainnet.matic.network', - 'https://matic-mainnet.chainstacklabs.com', - 'https://rpc-mainnet.maticvigil.com', - 'https://rpc-mainnet.matic.quiknode.pro', - 'https://matic-mainnet-full-rpc.bwarelabs.com', - ], - [SupportedChainId.POLYGON_MUMBAI]: [ - // "Safe" URLs - 'https://matic-mumbai.chainstacklabs.com', - 'https://rpc-mumbai.maticvigil.com', - 'https://matic-testnet-archive-rpc.bwarelabs.com', - ], - [SupportedChainId.ARBITRUM_ONE]: [ - // "Safe" URLs - 'https://arb1.arbitrum.io/rpc', - // "Fallback" URLs - 'https://arbitrum.public-rpc.com', - ], - [SupportedChainId.ARBITRUM_GOERLI]: [ - // "Safe" URLs - 'https://goerli-rollup.arbitrum.io/rpc', + 'https://ava-testnet.public.blastapi.io/ext/bc/C/rpc ', ], [SupportedChainId.OPTIMISM]: [ // "Safe" URLs - 'https://mainnet.optimism.io/', - // "Fallback" URLs - 'https://rpc.ankr.com/optimism', - ], - [SupportedChainId.OPTIMISM_GOERLI]: [ - // "Safe" URLs - 'https://goerli.optimism.io', - ], - [SupportedChainId.CELO]: [ - // "Safe" URLs - `https://forno.celo.org`, - ], - [SupportedChainId.CELO_ALFAJORES]: [ - // "Safe" URLs - `https://alfajores-forno.celo-testnet.org`, + 'https://ava-testnet.public.blastapi.io/ext/bc/C/rpc ', ], + [SupportedChainId.TESTNET]: ['https://eth.bd.evmos.dev:8545'], } /** @@ -84,31 +44,7 @@ export const RPC_URLS: { [key in SupportedChainId]: string[] } = { `https://mainnet.infura.io/v3/${INFURA_KEY}`, ...FALLBACK_URLS[SupportedChainId.MAINNET], ], - [SupportedChainId.GOERLI]: [`https://goerli.infura.io/v3/${INFURA_KEY}`, ...FALLBACK_URLS[SupportedChainId.GOERLI]], - [SupportedChainId.OPTIMISM]: [ - `https://optimism-mainnet.infura.io/v3/${INFURA_KEY}`, - ...FALLBACK_URLS[SupportedChainId.OPTIMISM], - ], - [SupportedChainId.OPTIMISM_GOERLI]: [ - `https://optimism-goerli.infura.io/v3/${INFURA_KEY}`, - ...FALLBACK_URLS[SupportedChainId.OPTIMISM_GOERLI], - ], - [SupportedChainId.ARBITRUM_ONE]: [ - `https://arbitrum-mainnet.infura.io/v3/${INFURA_KEY}`, - ...FALLBACK_URLS[SupportedChainId.ARBITRUM_ONE], - ], - [SupportedChainId.ARBITRUM_GOERLI]: [ - `https://arbitrum-goerli.infura.io/v3/${INFURA_KEY}`, - ...FALLBACK_URLS[SupportedChainId.ARBITRUM_GOERLI], - ], - [SupportedChainId.POLYGON]: [ - `https://polygon-mainnet.infura.io/v3/${INFURA_KEY}`, - ...FALLBACK_URLS[SupportedChainId.POLYGON], - ], - [SupportedChainId.POLYGON_MUMBAI]: [ - `https://polygon-mumbai.infura.io/v3/${INFURA_KEY}`, - ...FALLBACK_URLS[SupportedChainId.POLYGON_MUMBAI], - ], - [SupportedChainId.CELO]: FALLBACK_URLS[SupportedChainId.CELO], - [SupportedChainId.CELO_ALFAJORES]: FALLBACK_URLS[SupportedChainId.CELO_ALFAJORES], + [SupportedChainId.TESTNET]: ['https://eth.bd.evmos.dev:8545', ...FALLBACK_URLS[SupportedChainId.FUJI]], + [SupportedChainId.FUJI]: [`https://api.avax-test.network/ext/bc/C/rpc`, ...FALLBACK_URLS[SupportedChainId.FUJI]], + [SupportedChainId.OPTIMISM]: [`https://api.avax-test.network/ext/bc/C/rpc`, ...FALLBACK_URLS[SupportedChainId.FUJI]], } diff --git a/src/constants/providers.ts b/src/constants/providers.ts index 98251a29629..4035d87cd6c 100644 --- a/src/constants/providers.ts +++ b/src/constants/providers.ts @@ -58,14 +58,8 @@ class AppJsonRpcProvider extends StaticJsonRpcProvider { * These are the only JsonRpcProviders used directly by the interface. */ export const RPC_PROVIDERS: { [key in SupportedChainId]: StaticJsonRpcProvider } = { + [SupportedChainId.FUJI]: new AppJsonRpcProvider(SupportedChainId.FUJI), [SupportedChainId.MAINNET]: new AppJsonRpcProvider(SupportedChainId.MAINNET), - [SupportedChainId.GOERLI]: new AppJsonRpcProvider(SupportedChainId.GOERLI), [SupportedChainId.OPTIMISM]: new AppJsonRpcProvider(SupportedChainId.OPTIMISM), - [SupportedChainId.OPTIMISM_GOERLI]: new AppJsonRpcProvider(SupportedChainId.OPTIMISM_GOERLI), - [SupportedChainId.ARBITRUM_ONE]: new AppJsonRpcProvider(SupportedChainId.ARBITRUM_ONE), - [SupportedChainId.ARBITRUM_GOERLI]: new AppJsonRpcProvider(SupportedChainId.ARBITRUM_GOERLI), - [SupportedChainId.POLYGON]: new AppJsonRpcProvider(SupportedChainId.POLYGON), - [SupportedChainId.POLYGON_MUMBAI]: new AppJsonRpcProvider(SupportedChainId.POLYGON_MUMBAI), - [SupportedChainId.CELO]: new AppJsonRpcProvider(SupportedChainId.CELO), - [SupportedChainId.CELO_ALFAJORES]: new AppJsonRpcProvider(SupportedChainId.CELO_ALFAJORES), + [SupportedChainId.TESTNET]: new AppJsonRpcProvider(SupportedChainId.TESTNET), } diff --git a/src/constants/routing.ts b/src/constants/routing.ts index 8ba3720f3a5..6aecc5af136 100644 --- a/src/constants/routing.ts +++ b/src/constants/routing.ts @@ -2,46 +2,7 @@ import { Currency, Token } from '@uniswap/sdk-core' import { SupportedChainId } from 'constants/chains' -import { - AMPL, - CEUR_CELO, - CEUR_CELO_ALFAJORES, - CMC02_CELO, - CUSD_CELO, - CUSD_CELO_ALFAJORES, - DAI, - DAI_ARBITRUM_ONE, - DAI_OPTIMISM, - DAI_POLYGON, - ETH2X_FLI, - FEI, - FRAX, - FXS, - nativeOnChain, - PORTAL_ETH_CELO, - PORTAL_USDC_CELO, - renBTC, - rETH2, - sETH2, - SWISE, - TRIBE, - USDC_ARBITRUM, - USDC_ARBITRUM_GOERLI, - USDC_MAINNET, - USDC_OPTIMISM, - USDC_POLYGON, - USDT, - USDT_ARBITRUM_ONE, - USDT_OPTIMISM, - USDT_POLYGON, - WBTC, - WBTC_ARBITRUM_ONE, - WBTC_OPTIMISM, - WBTC_POLYGON, - WETH_POLYGON, - WETH_POLYGON_MUMBAI, - WRAPPED_NATIVE_CURRENCY, -} from './tokens' +import { nativeOnChain, USDC_FUJI, USDC_TEVMOS, WETH_FUJI, WETH_TEVMOS, WRAPPED_NATIVE_CURRENCY } from './tokens' type ChainTokenList = { readonly [chainId: number]: Token[] @@ -60,56 +21,16 @@ const WRAPPED_NATIVE_CURRENCIES_ONLY: ChainTokenList = Object.fromEntries( // used to construct intermediary pairs for trading export const BASES_TO_CHECK_TRADES_AGAINST: ChainTokenList = { ...WRAPPED_NATIVE_CURRENCIES_ONLY, - [SupportedChainId.MAINNET]: [ - ...WRAPPED_NATIVE_CURRENCIES_ONLY[SupportedChainId.MAINNET], - DAI, - USDC_MAINNET, - USDT, - WBTC, - ], - [SupportedChainId.OPTIMISM]: [ - ...WRAPPED_NATIVE_CURRENCIES_ONLY[SupportedChainId.OPTIMISM], - DAI_OPTIMISM, - USDT_OPTIMISM, - WBTC_OPTIMISM, - ], - [SupportedChainId.ARBITRUM_ONE]: [ - ...WRAPPED_NATIVE_CURRENCIES_ONLY[SupportedChainId.ARBITRUM_ONE], - DAI_ARBITRUM_ONE, - USDT_ARBITRUM_ONE, - WBTC_ARBITRUM_ONE, - ], - [SupportedChainId.POLYGON]: [ - ...WRAPPED_NATIVE_CURRENCIES_ONLY[SupportedChainId.POLYGON], - DAI_POLYGON, - USDC_POLYGON, - USDT_POLYGON, - WETH_POLYGON, - ], - [SupportedChainId.CELO]: [CUSD_CELO, CEUR_CELO, CMC02_CELO, PORTAL_USDC_CELO, PORTAL_ETH_CELO], -} -export const ADDITIONAL_BASES: { [chainId: number]: { [tokenAddress: string]: Token[] } } = { - [SupportedChainId.MAINNET]: { - '0xF16E4d813f4DcfDe4c5b44f305c908742De84eF0': [ETH2X_FLI], - [rETH2.address]: [sETH2], - [SWISE.address]: [sETH2], - [FEI.address]: [TRIBE], - [TRIBE.address]: [FEI], - [FRAX.address]: [FXS], - [FXS.address]: [FRAX], - [WBTC.address]: [renBTC], - [renBTC.address]: [WBTC], - }, + [SupportedChainId.MAINNET]: [...WRAPPED_NATIVE_CURRENCIES_ONLY[SupportedChainId.MAINNET]], + [SupportedChainId.FUJI]: [USDC_FUJI, WETH_FUJI], + [SupportedChainId.TESTNET]: [USDC_TEVMOS, WETH_TEVMOS], } +export const ADDITIONAL_BASES: { [chainId: number]: { [tokenAddress: string]: Token[] } } = {} /** * Some tokens can only be swapped via certain pairs, so we override the list of bases that are considered for these * tokens. */ -export const CUSTOM_BASES: { [chainId: number]: { [tokenAddress: string]: Token[] } } = { - [SupportedChainId.MAINNET]: { - [AMPL.address]: [DAI, WRAPPED_NATIVE_CURRENCY[SupportedChainId.MAINNET] as Token], - }, -} +export const CUSTOM_BASES: { [chainId: number]: { [tokenAddress: string]: Token[] } } = {} /** * Shows up in the currency select for swap and add liquidity @@ -117,90 +38,18 @@ export const CUSTOM_BASES: { [chainId: number]: { [tokenAddress: string]: Token[ export const COMMON_BASES: ChainCurrencyList = { [SupportedChainId.MAINNET]: [ nativeOnChain(SupportedChainId.MAINNET), - DAI, - USDC_MAINNET, - USDT, - WBTC, - WRAPPED_NATIVE_CURRENCY[SupportedChainId.MAINNET] as Token, - ], - [SupportedChainId.GOERLI]: [ - nativeOnChain(SupportedChainId.GOERLI), - WRAPPED_NATIVE_CURRENCY[SupportedChainId.GOERLI] as Token, - ], - [SupportedChainId.ARBITRUM_ONE]: [ - nativeOnChain(SupportedChainId.ARBITRUM_ONE), - DAI_ARBITRUM_ONE, - USDC_ARBITRUM, - USDT_ARBITRUM_ONE, - WBTC_ARBITRUM_ONE, - WRAPPED_NATIVE_CURRENCY[SupportedChainId.ARBITRUM_ONE] as Token, - ], - [SupportedChainId.ARBITRUM_GOERLI]: [ - nativeOnChain(SupportedChainId.ARBITRUM_GOERLI), - WRAPPED_NATIVE_CURRENCY[SupportedChainId.ARBITRUM_GOERLI] as Token, - USDC_ARBITRUM_GOERLI, - ], - [SupportedChainId.OPTIMISM]: [ - nativeOnChain(SupportedChainId.OPTIMISM), - DAI_OPTIMISM, - USDC_OPTIMISM, - USDT_OPTIMISM, - WBTC_OPTIMISM, - ], - [SupportedChainId.OPTIMISM_GOERLI]: [nativeOnChain(SupportedChainId.OPTIMISM_GOERLI)], - [SupportedChainId.POLYGON]: [ - nativeOnChain(SupportedChainId.POLYGON), - WETH_POLYGON, - USDC_POLYGON, - DAI_POLYGON, - USDT_POLYGON, - WBTC_POLYGON, - ], - [SupportedChainId.POLYGON_MUMBAI]: [ - nativeOnChain(SupportedChainId.POLYGON_MUMBAI), - WRAPPED_NATIVE_CURRENCY[SupportedChainId.POLYGON_MUMBAI] as Token, - WETH_POLYGON_MUMBAI, - ], - [SupportedChainId.CELO]: [ - nativeOnChain(SupportedChainId.CELO), - CEUR_CELO, - CUSD_CELO, - PORTAL_ETH_CELO, - PORTAL_USDC_CELO, - CMC02_CELO, - ], - [SupportedChainId.CELO_ALFAJORES]: [ - nativeOnChain(SupportedChainId.CELO_ALFAJORES), - CUSD_CELO_ALFAJORES, - CEUR_CELO_ALFAJORES, + WRAPPED_NATIVE_CURRENCY[SupportedChainId.MAINNET] as Token, ], + [SupportedChainId.FUJI]: [nativeOnChain(SupportedChainId.FUJI), USDC_FUJI], + [SupportedChainId.TESTNET]: [nativeOnChain(SupportedChainId.TESTNET), USDC_TEVMOS], } // used to construct the list of all pairs we consider by default in the frontend export const BASES_TO_TRACK_LIQUIDITY_FOR: ChainTokenList = { ...WRAPPED_NATIVE_CURRENCIES_ONLY, - [SupportedChainId.MAINNET]: [ - ...WRAPPED_NATIVE_CURRENCIES_ONLY[SupportedChainId.MAINNET], - DAI, - USDC_MAINNET, - USDT, - WBTC, - ], -} -export const PINNED_PAIRS: { readonly [chainId: number]: [Token, Token][] } = { - [SupportedChainId.MAINNET]: [ - [ - new Token(SupportedChainId.MAINNET, '0x5d3a536E4D6DbD6114cc1Ead35777bAB948E3643', 8, 'cDAI', 'Compound Dai'), - new Token( - SupportedChainId.MAINNET, - '0x39AA39c021dfbaE8faC545936693aC917d5E7563', - 8, - 'cUSDC', - 'Compound USD Coin' - ), - ], - [USDC_MAINNET, USDT], - [DAI, USDT], - ], + [SupportedChainId.MAINNET]: [...WRAPPED_NATIVE_CURRENCIES_ONLY[SupportedChainId.MAINNET]], + [SupportedChainId.FUJI]: [...WRAPPED_NATIVE_CURRENCIES_ONLY[SupportedChainId.FUJI], USDC_FUJI], + [SupportedChainId.TESTNET]: [...WRAPPED_NATIVE_CURRENCIES_ONLY[SupportedChainId.TESTNET], USDC_TEVMOS], } +export const PINNED_PAIRS: { readonly [chainId: number]: [Token, Token][] } = {} diff --git a/src/constants/tokenSafety.tsx b/src/constants/tokenSafety.tsx index b10c3247d10..6eeb40804ae 100644 --- a/src/constants/tokenSafety.tsx +++ b/src/constants/tokenSafety.tsx @@ -33,8 +33,8 @@ export function getWarningCopy(warning: Warning | null, plural = false) { heading = ( ) description = Always conduct your own research before trading. @@ -43,8 +43,8 @@ export function getWarningCopy(warning: Warning | null, plural = false) { description = ( ) break diff --git a/src/constants/tokens.ts b/src/constants/tokens.ts index 0347a507833..89e1c33e685 100644 --- a/src/constants/tokens.ts +++ b/src/constants/tokens.ts @@ -1,8 +1,7 @@ -import { Currency, Ether, NativeCurrency, Token, WETH9 } from '@uniswap/sdk-core' -import { SupportedChainId } from 'constants/chains' +import { Currency, Ether, NativeCurrency, Token } from '@uniswap/sdk-core' import invariant from 'tiny-invariant' -import { UNI_ADDRESS } from './addresses' +import { SupportedChainId } from './chains' export const NATIVE_CHAIN_ID = 'NATIVE' @@ -11,402 +10,113 @@ export const NATIVE_CHAIN_ID = 'NATIVE' // https://docs.openzeppelin.com/contracts/3.x/erc20 export const DEFAULT_ERC20_DECIMALS = 18 -export const USDC_MAINNET = new Token( - SupportedChainId.MAINNET, - '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', - 6, - 'USDC', - 'USD//C' -) -const USDC_GOERLI = new Token( - SupportedChainId.GOERLI, - '0x07865c6e87b9f70255377e024ace6630c1eaa37f', - 6, - 'USDC', - 'USD//C' -) -export const USDC_OPTIMISM = new Token( - SupportedChainId.OPTIMISM, - '0x7F5c764cBc14f9669B88837ca1490cCa17c31607', - 6, - 'USDC', - 'USD//C' -) -const USDC_OPTIMISM_GOERLI = new Token( - SupportedChainId.OPTIMISM_GOERLI, - '0x7E07E15D2a87A24492740D16f5bdF58c16db0c4E', - 6, - 'USDC', - 'USD//C' -) -export const USDC_ARBITRUM = new Token( - SupportedChainId.ARBITRUM_ONE, - '0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8', - 6, - 'USDC', - 'USD//C' -) -export const USDC_ARBITRUM_GOERLI = new Token( - SupportedChainId.ARBITRUM_GOERLI, - '0x8FB1E3fC51F3b789dED7557E680551d93Ea9d892', - 6, - 'USDC', - 'USD//C' -) -export const USDC_POLYGON = new Token( - SupportedChainId.POLYGON, - '0x2791bca1f2de4661ed88a30c99a7a9449aa84174', - 6, - 'USDC', - 'USD//C' -) -const USDC_POLYGON_MUMBAI = new Token( - SupportedChainId.POLYGON_MUMBAI, - '0xe11a86849d99f524cac3e7a0ec1241828e332c62', - 6, +export const USDC_FUJI = new Token( + SupportedChainId.FUJI, + '0xeC5bfc01218e1CA43027A987c185E94A67AeDB6D', + 18, 'USDC', 'USD//C' ) -export const PORTAL_USDC_CELO = new Token( - SupportedChainId.CELO, - '0x37f750B7cC259A2f741AF45294f6a16572CF5cAd', - 6, - 'USDCet', - 'USDC (Portal from Ethereum)' -) -export const AMPL = new Token( - SupportedChainId.MAINNET, - '0xD46bA6D942050d489DBd938a2C909A5d5039A161', - 9, - 'AMPL', - 'Ampleforth' -) -export const DAI = new Token( - SupportedChainId.MAINNET, - '0x6B175474E89094C44Da98b954EedeAC495271d0F', - 18, - 'DAI', - 'Dai Stablecoin' -) -export const DAI_ARBITRUM_ONE = new Token( - SupportedChainId.ARBITRUM_ONE, - '0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1', - 18, - 'DAI', - 'Dai stable coin' -) -export const DAI_OPTIMISM = new Token( - SupportedChainId.OPTIMISM, - '0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1', - 18, - 'DAI', - 'Dai stable coin' -) -export const DAI_POLYGON = new Token( - SupportedChainId.POLYGON, - '0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063', - 18, - 'DAI', - 'Dai Stablecoin' -) -export const USDT_POLYGON = new Token( - SupportedChainId.POLYGON, - '0xc2132d05d31c914a87c6611c10748aeb04b58e8f', - 6, - 'USDT', - 'Tether USD' -) -export const WBTC_POLYGON = new Token( - SupportedChainId.POLYGON, - '0x1bfd67037b42cf73acf2047067bd4f2c47d9bfd6', - 8, - 'WBTC', - 'Wrapped BTC' -) -export const USDT = new Token( - SupportedChainId.MAINNET, - '0xdAC17F958D2ee523a2206206994597C13D831ec7', - 6, - 'USDT', - 'Tether USD' -) -export const USDT_ARBITRUM_ONE = new Token( - SupportedChainId.ARBITRUM_ONE, - '0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9', - 6, - 'USDT', - 'Tether USD' -) -export const USDT_OPTIMISM = new Token( - SupportedChainId.OPTIMISM, - '0x94b008aA00579c1307B0EF2c499aD98a8ce58e58', - 6, - 'USDT', - 'Tether USD' -) -export const WBTC = new Token( - SupportedChainId.MAINNET, - '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', - 8, - 'WBTC', - 'Wrapped BTC' -) -export const WBTC_ARBITRUM_ONE = new Token( - SupportedChainId.ARBITRUM_ONE, - '0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f', - 8, - 'WBTC', - 'Wrapped BTC' -) -export const WBTC_OPTIMISM = new Token( - SupportedChainId.OPTIMISM, - '0x68f180fcCe6836688e9084f035309E29Bf0A2095', - 8, - 'WBTC', - 'Wrapped BTC' -) -export const FEI = new Token( - SupportedChainId.MAINNET, - '0x956F47F50A910163D8BF957Cf5846D573E7f87CA', - 18, - 'FEI', - 'Fei USD' -) -export const TRIBE = new Token( - SupportedChainId.MAINNET, - '0xc7283b66Eb1EB5FB86327f08e1B5816b0720212B', - 18, - 'TRIBE', - 'Tribe' -) -export const FRAX = new Token( - SupportedChainId.MAINNET, - '0x853d955aCEf822Db058eb8505911ED77F175b99e', - 18, - 'FRAX', - 'Frax' -) -export const FXS = new Token( - SupportedChainId.MAINNET, - '0x3432B6A60D23Ca0dFCa7761B7ab56459D9C964D0', - 18, - 'FXS', - 'Frax Share' -) -export const renBTC = new Token( - SupportedChainId.MAINNET, - '0xEB4C2781e4ebA804CE9a9803C67d0893436bB27D', - 8, - 'renBTC', - 'renBTC' -) -export const ETH2X_FLI = new Token( - SupportedChainId.MAINNET, - '0xAa6E8127831c9DE45ae56bB1b0d4D4Da6e5665BD', - 18, - 'ETH2x-FLI', - 'ETH 2x Flexible Leverage Index' -) -export const sETH2 = new Token( - SupportedChainId.MAINNET, - '0xFe2e637202056d30016725477c5da089Ab0A043A', - 18, - 'sETH2', - 'StakeWise Staked ETH2' -) -export const rETH2 = new Token( - SupportedChainId.MAINNET, - '0x20BC832ca081b91433ff6c17f85701B6e92486c5', - 18, - 'rETH2', - 'StakeWise Reward ETH2' -) -export const SWISE = new Token( - SupportedChainId.MAINNET, - '0x48C3399719B582dD63eB5AADf12A40B4C3f52FA2', - 18, - 'SWISE', - 'StakeWise' -) -export const WETH_POLYGON_MUMBAI = new Token( - SupportedChainId.POLYGON_MUMBAI, - '0xa6fa4fb5f76172d178d61b04b0ecd319c5d1c0aa', - 18, - 'WETH', - 'Wrapped Ether' -) -export const WETH_POLYGON = new Token( - SupportedChainId.POLYGON, - '0x7ceb23fd6bc0add59e62ac25578270cff1b9f619', +export const WETH_FUJI = new Token( + SupportedChainId.FUJI, + '0x0F70b839BDdC6E95113cA3A51dFfC0CEd73d55a5', 18, 'WETH', 'Wrapped Ether' ) -const CELO_CELO = new Token(SupportedChainId.CELO, '0x471EcE3750Da237f93B8E339c536989b8978a438', 18, 'CELO', 'Celo') -export const CUSD_CELO = new Token( - SupportedChainId.CELO, - '0x765DE816845861e75A25fCA122bb6898B8B1282a', - 18, - 'cUSD', - 'Celo Dollar' -) -export const CEUR_CELO = new Token( - SupportedChainId.CELO, - '0xD8763CBa276a3738E6DE85b4b3bF5FDed6D6cA73', - 18, - 'cEUR', - 'Celo Euro Stablecoin' -) -export const PORTAL_ETH_CELO = new Token( - SupportedChainId.CELO, - '0x66803FB87aBd4aaC3cbB3fAd7C3aa01f6F3FB207', - 18, - 'ETH', - 'Portal Ether' -) -export const CMC02_CELO = new Token( - SupportedChainId.CELO, - '0x32A9FE697a32135BFd313a6Ac28792DaE4D9979d', - 18, - 'cMCO2', - 'Celo Moss Carbon Credit' -) -const CELO_CELO_ALFAJORES = new Token( - SupportedChainId.CELO_ALFAJORES, - '0xF194afDf50B03e69Bd7D057c1Aa9e10c9954E4C9', - 18, - 'CELO', - 'Celo' -) -export const CUSD_CELO_ALFAJORES = new Token( - SupportedChainId.CELO_ALFAJORES, - '0x874069Fa1Eb16D44d622F2e0Ca25eeA172369bC1', - 18, - 'CUSD', - 'Celo Dollar' + +export const USDC_TEVMOS = new Token( + SupportedChainId.TESTNET, + '0xBf6942D20D1460334B9b147199c4f03c97b70d02', + 6, + 'axlUSDC', + 'USD//C' ) -export const CEUR_CELO_ALFAJORES = new Token( - SupportedChainId.CELO_ALFAJORES, - '0x10c892A6EC43a53E45D0B916B4b7D383B1b78C0F', + +export const TEVMOS_STABLE_COINS = [USDC_TEVMOS.address.toLowerCase()] + +export const WETH_TEVMOS = new Token( + SupportedChainId.TESTNET, + '0x43bDe47a34801f6aB2d66016Aef723Ba1b3A62b3', 18, - 'CEUR', - 'Celo Euro Stablecoin' + 'axlWETH', + 'Wrapped Ether' ) -export const UNI: { [chainId: number]: Token } = { - [SupportedChainId.MAINNET]: new Token(SupportedChainId.MAINNET, UNI_ADDRESS[1], 18, 'UNI', 'Uniswap'), - [SupportedChainId.GOERLI]: new Token(SupportedChainId.GOERLI, UNI_ADDRESS[5], 18, 'UNI', 'Uniswap'), -} +export const UNI: { [chainId: number]: Token } = {} export const WRAPPED_NATIVE_CURRENCY: { [chainId: number]: Token | undefined } = { - ...(WETH9 as Record), - [SupportedChainId.OPTIMISM]: new Token( - SupportedChainId.OPTIMISM, - '0x4200000000000000000000000000000000000006', + [SupportedChainId.TESTNET]: new Token( + SupportedChainId.TESTNET, + '0xBeFe898407483f0f2fF605971FBD8Cf8FbD8B160', 18, - 'WETH', - 'Wrapped Ether' + 'WtEVMOS', + 'Wrapped tEVMOS' ), - [SupportedChainId.OPTIMISM_GOERLI]: new Token( - SupportedChainId.OPTIMISM_GOERLI, - '0x4200000000000000000000000000000000000006', + [SupportedChainId.FUJI]: new Token( + SupportedChainId.FUJI, + '0x1D308089a2D1Ced3f1Ce36B1FcaF815b07217be3', 18, - 'WETH', - 'Wrapped Ether' - ), - [SupportedChainId.ARBITRUM_ONE]: new Token( - SupportedChainId.ARBITRUM_ONE, - '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1', - 18, - 'WETH', - 'Wrapped Ether' - ), - [SupportedChainId.ARBITRUM_GOERLI]: new Token( - SupportedChainId.ARBITRUM_GOERLI, - '0xe39Ab88f8A4777030A534146A9Ca3B52bd5D43A3', - 18, - 'WETH', - 'Wrapped Ether' - ), - [SupportedChainId.POLYGON]: new Token( - SupportedChainId.POLYGON, - '0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270', - 18, - 'WMATIC', - 'Wrapped MATIC' + 'WAVAX', + 'Wrapped AVAX' ), - [SupportedChainId.POLYGON_MUMBAI]: new Token( - SupportedChainId.POLYGON_MUMBAI, - '0x9c3C9283D3e44854697Cd22D3Faa240Cfb032889', + [SupportedChainId.MAINNET]: new Token( + SupportedChainId.FUJI, + '0x0F70b839BDdC6E95113cA3A51dFfC0CEd73d55a5', 18, 'WMATIC', 'Wrapped MATIC' ), - [SupportedChainId.CELO]: new Token( - SupportedChainId.CELO, - '0x471ece3750da237f93b8e339c536989b8978a438', - 18, - 'CELO', - 'Celo native asset' - ), - [SupportedChainId.CELO_ALFAJORES]: new Token( - SupportedChainId.CELO_ALFAJORES, - '0xf194afdf50b03e69bd7d057c1aa9e10c9954e4c9', - 18, - 'CELO', - 'Celo native asset' - ), } -export function isCelo(chainId: number): chainId is SupportedChainId.CELO | SupportedChainId.CELO_ALFAJORES { - return chainId === SupportedChainId.CELO_ALFAJORES || chainId === SupportedChainId.CELO -} - -function getCeloNativeCurrency(chainId: number) { - switch (chainId) { - case SupportedChainId.CELO_ALFAJORES: - return CELO_CELO_ALFAJORES - case SupportedChainId.CELO: - return CELO_CELO - default: - throw new Error('Not celo') +class ExtendedEther extends Ether { + public get wrapped(): Token { + const wrapped = WRAPPED_NATIVE_CURRENCY[this.chainId] + if (wrapped) return wrapped + throw new Error('Unsupported chain ID') } -} -function isMatic(chainId: number): chainId is SupportedChainId.POLYGON | SupportedChainId.POLYGON_MUMBAI { - return chainId === SupportedChainId.POLYGON_MUMBAI || chainId === SupportedChainId.POLYGON + private static _cachedExtendedEther: { [chainId: number]: NativeCurrency } = {} + + public static onChain(chainId: number): ExtendedEther { + return this._cachedExtendedEther[chainId] ?? (this._cachedExtendedEther[chainId] = new ExtendedEther(chainId)) + } } -class MaticNativeCurrency extends NativeCurrency { +class FujiNativeCurrency extends NativeCurrency { equals(other: Currency): boolean { return other.isNative && other.chainId === this.chainId } get wrapped(): Token { - if (!isMatic(this.chainId)) throw new Error('Not matic') + if (this.chainId !== SupportedChainId.FUJI) throw new Error('Not Fuji') const wrapped = WRAPPED_NATIVE_CURRENCY[this.chainId] invariant(wrapped instanceof Token) return wrapped } public constructor(chainId: number) { - if (!isMatic(chainId)) throw new Error('Not matic') - super(chainId, 18, 'MATIC', 'Polygon Matic') + if (chainId !== SupportedChainId.FUJI) throw new Error('Not Fuji') + super(chainId, 18, 'AVAX', 'Avax') } } -class ExtendedEther extends Ether { - public get wrapped(): Token { - const wrapped = WRAPPED_NATIVE_CURRENCY[this.chainId] - if (wrapped) return wrapped - throw new Error('Unsupported chain ID') +class TEvmosNativeCurrency extends NativeCurrency { + equals(other: Currency): boolean { + return other.isNative && other.chainId === this.chainId } - private static _cachedExtendedEther: { [chainId: number]: NativeCurrency } = {} + get wrapped(): Token { + if (this.chainId !== SupportedChainId.TESTNET) throw new Error('Not tEvmos') + const wrapped = WRAPPED_NATIVE_CURRENCY[this.chainId] + invariant(wrapped instanceof Token) + return wrapped + } - public static onChain(chainId: number): ExtendedEther { - return this._cachedExtendedEther[chainId] ?? (this._cachedExtendedEther[chainId] = new ExtendedEther(chainId)) + public constructor(chainId: number) { + if (chainId !== SupportedChainId.TESTNET) throw new Error('Not tEvmos') + super(chainId, 18, 'tEVMOS', 'Test Evmos') } } @@ -414,10 +124,10 @@ const cachedNativeCurrency: { [chainId: number]: NativeCurrency | Token } = {} export function nativeOnChain(chainId: number): NativeCurrency | Token { if (cachedNativeCurrency[chainId]) return cachedNativeCurrency[chainId] let nativeCurrency: NativeCurrency | Token - if (isMatic(chainId)) { - nativeCurrency = new MaticNativeCurrency(chainId) - } else if (isCelo(chainId)) { - nativeCurrency = getCeloNativeCurrency(chainId) + if (chainId === SupportedChainId.FUJI) { + nativeCurrency = new FujiNativeCurrency(chainId) + } else if (chainId === SupportedChainId.TESTNET) { + nativeCurrency = new TEvmosNativeCurrency(chainId) } else { nativeCurrency = ExtendedEther.onChain(chainId) } @@ -426,15 +136,7 @@ export function nativeOnChain(chainId: number): NativeCurrency | Token { export const TOKEN_SHORTHANDS: { [shorthand: string]: { [chainId in SupportedChainId]?: string } } = { USDC: { - [SupportedChainId.MAINNET]: USDC_MAINNET.address, - [SupportedChainId.ARBITRUM_ONE]: USDC_ARBITRUM.address, - [SupportedChainId.ARBITRUM_GOERLI]: USDC_ARBITRUM_GOERLI.address, - [SupportedChainId.OPTIMISM]: USDC_OPTIMISM.address, - [SupportedChainId.OPTIMISM_GOERLI]: USDC_OPTIMISM_GOERLI.address, - [SupportedChainId.POLYGON]: USDC_POLYGON.address, - [SupportedChainId.POLYGON_MUMBAI]: USDC_POLYGON_MUMBAI.address, - [SupportedChainId.CELO]: PORTAL_USDC_CELO.address, - [SupportedChainId.CELO_ALFAJORES]: PORTAL_USDC_CELO.address, - [SupportedChainId.GOERLI]: USDC_GOERLI.address, + [SupportedChainId.TESTNET]: USDC_TEVMOS.address, + [SupportedChainId.FUJI]: USDC_FUJI.address, }, } diff --git a/src/featureFlags/flags/permit2.ts b/src/featureFlags/flags/permit2.ts new file mode 100644 index 00000000000..3b445635a70 --- /dev/null +++ b/src/featureFlags/flags/permit2.ts @@ -0,0 +1,22 @@ +import { UNIVERSAL_ROUTER_ADDRESS } from '@uniswap/universal-router-sdk' +import { useWeb3React } from '@web3-react/core' + +import { BaseVariant, FeatureFlag, useBaseFlag } from '../index' + +function usePermit2Flag(): BaseVariant { + return useBaseFlag(FeatureFlag.permit2, BaseVariant.Enabled) +} + +export function usePermit2Enabled(): boolean { + const flagEnabled = usePermit2Flag() === BaseVariant.Enabled + const { chainId } = useWeb3React() + try { + // Detect if the Universal Router is not yet deployed to chainId. + // This is necessary so that we can fallback correctly on chains without a Universal Router deployment. + // It will be removed once Universal Router is deployed on all supported chains. + chainId && UNIVERSAL_ROUTER_ADDRESS(chainId) + return flagEnabled + } catch { + return false + } +} diff --git a/src/featureFlags/flags/taxServiceBanner.ts b/src/featureFlags/flags/taxServiceBanner.ts index 25d963b3c1c..7667578403f 100644 --- a/src/featureFlags/flags/taxServiceBanner.ts +++ b/src/featureFlags/flags/taxServiceBanner.ts @@ -5,7 +5,7 @@ export function useTaxServiceBannerFlag(): BaseVariant { } export function useTaxServiceBannerEnabled(): boolean { - return useTaxServiceBannerFlag() === BaseVariant.Enabled + return false } export { BaseVariant as TaxServiceVariant } diff --git a/src/graphql/data/SearchTokens.ts b/src/graphql/data/SearchTokens.ts index e041d2e6bd9..d2505ce49a1 100644 --- a/src/graphql/data/SearchTokens.ts +++ b/src/graphql/data/SearchTokens.ts @@ -50,7 +50,7 @@ function isMoreRevelantToken(current: SearchToken, existing: SearchToken | undef if (current.standard === 'NATIVE' && (existing.standard !== 'NATIVE' || current.chain === searchChain)) return true // Prefer tokens on the searched chain, otherwise prefer mainnet tokens - return current.chain === searchChain || (existing.chain !== searchChain && current.chain === Chain.Ethereum) + return current.chain === searchChain || (existing.chain !== searchChain && current.chain === Chain.Evmos) } // Places natives first, wrapped native on current chain next, then sorts by volume diff --git a/src/graphql/data/__generated__/types-and-hooks.ts b/src/graphql/data/__generated__/types-and-hooks.ts index c23d7294534..405dc10bf38 100644 --- a/src/graphql/data/__generated__/types-and-hooks.ts +++ b/src/graphql/data/__generated__/types-and-hooks.ts @@ -77,12 +77,9 @@ export type AssetActivity = { export type AssetChange = NftApproval | NftApproveForAll | NftTransfer | TokenApproval | TokenTransfer; export enum Chain { - Arbitrum = 'ARBITRUM', - Celo = 'CELO', - Ethereum = 'ETHEREUM', - EthereumGoerli = 'ETHEREUM_GOERLI', - Optimism = 'OPTIMISM', - Polygon = 'POLYGON', + Evmos = 'EVMOS', + Fuji = 'FUJI', + Tevmos = 'TEVMOS', UnknownChain = 'UNKNOWN_CHAIN' } @@ -2130,7 +2127,7 @@ export type NftBalanceQueryHookResult = ReturnType; export type NftBalanceLazyQueryHookResult = ReturnType; export type NftBalanceQueryResult = Apollo.QueryResult; export const NftRouteDocument = gql` - query NftRoute($chain: Chain = ETHEREUM, $senderAddress: String!, $nftTrades: [NftTradeInput!]!, $tokenTrades: [TokenTradeInput!]) { + query NftRoute($chain: Chain = EVMOS, $senderAddress: String!, $nftTrades: [NftTradeInput!]!, $tokenTrades: [TokenTradeInput!]) { nftRoute( chain: $chain senderAddress: $senderAddress diff --git a/src/graphql/data/nft/Routing.ts b/src/graphql/data/nft/Routing.ts index ff5b92f9e1d..ea645ce8a4b 100644 --- a/src/graphql/data/nft/Routing.ts +++ b/src/graphql/data/nft/Routing.ts @@ -2,7 +2,7 @@ import gql from 'graphql-tag' gql` query NftRoute( - $chain: Chain = ETHEREUM + $chain: Chain = EVMOS $senderAddress: String! $nftTrades: [NftTradeInput!]! $tokenTrades: [TokenTradeInput!] diff --git a/src/graphql/data/schema.graphql b/src/graphql/data/schema.graphql new file mode 100644 index 00000000000..e80ee780868 --- /dev/null +++ b/src/graphql/data/schema.graphql @@ -0,0 +1,807 @@ +"""This directive allows results to be deferred during execution""" +directive @defer on FIELD + +""" +Tells the service this field/object has access authorized by a Cognito User Pools token. +""" +directive @aws_cognito_user_pools( + """List of cognito user pool groups which have access on this field""" + cognito_groups: [String] +) on OBJECT | FIELD_DEFINITION + +"""Tells the service which mutation triggers this subscription.""" +directive @aws_subscribe( + """ + List of mutations which will trigger this subscription when they are called. + """ + mutations: [String] +) on FIELD_DEFINITION + +""" +Tells the service this field/object has access authorized by an OIDC token. +""" +directive @aws_oidc on OBJECT | FIELD_DEFINITION + +""" +Tells the service this field/object has access authorized by an API key. +""" +directive @aws_api_key on OBJECT | FIELD_DEFINITION + +"""Directs the schema to enforce authorization on a field""" +directive @aws_auth( + """List of cognito user pool groups which have access on this field""" + cognito_groups: [String] +) on FIELD_DEFINITION + +""" +Tells the service which subscriptions will be published to when this mutation is +called. This directive is deprecated use @aws_susbscribe directive instead. +""" +directive @aws_publish( + """ + List of subscriptions which will be published to when this mutation is called. + """ + subscriptions: [String] +) on FIELD_DEFINITION + +""" +Tells the service this field/object has access authorized by a Lambda Authorizer. +""" +directive @aws_lambda on OBJECT | FIELD_DEFINITION + +""" +Tells the service this field/object has access authorized by sigv4 signing. +""" +directive @aws_iam on OBJECT | FIELD_DEFINITION + +enum ActivityType { + APPROVE + CANCEL + CLAIM + SEND + RECEIVE + SWAP + DEPLOYMENT + UNKNOWN + money + market + LEND + BORROW + REPAY + WITHDRAW + NFT + MINT + BURN + Staking + STAKE + UNSTAKE +} + +type Amount implements IAmount { + id: ID! + currency: Currency + value: Float! +} + +type AmountChange { + id: ID! + percentage: Amount + absolute: Amount +} + +type AssetActivity { + id: ID! + timestamp: Int! + type: ActivityType! + chain: Chain! + gasUsed: Float + transaction: Transaction! + assetChanges: [AssetChange]! +} + +union AssetChange = TokenTransfer | NftTransfer | TokenApproval | NftApproval | NftApproveForAll + +""" +The `AWSJSON` scalar type provided by AWS AppSync, represents a JSON string that +complies with [RFC 8259](https://tools.ietf.org/html/rfc8259). Maps like +"**{\\"upvotes\\": 10}**", lists like "**[1,2,3]**", and scalar values like +"**\\"AWSJSON example string\\"**", "**1**", and "**true**" are accepted as +valid JSON and will automatically be parsed and loaded in the resolver mapping +templates as Maps, Lists, or Scalar values rather than as the literal input +strings. Invalid JSON strings like "**{a: 1}**", "**{'a': 1}**" and "**Unquoted +string**" will throw GraphQL validation errors. +""" +scalar AWSJSON + +enum Chain { + FUJI, + EVMOS, + TEVMOS, + UNKNOWN_CHAIN +} + +enum CollectionSortableField { + VOLUME +} + +input ContractInput { + chain: Chain! + address: String +} + +enum Currency { + USD + ETH +} + +type Dimensions { + id: ID! + height: Float + width: Float +} + +enum HighLow { + HIGH + LOW +} + +enum HistoryDuration { + HOUR + DAY + WEEK + MONTH + YEAR + MAX +} + +interface IAmount { + currency: Currency + value: Float! +} + +interface IContract { + chain: Chain! + address: String +} + +type Image { + id: ID! + url: String! + dimensions: Dimensions +} + +""" TODO: deprecate this enum""" +enum MarketSortableField { + MARKET_CAP + VOLUME +} + +type NftActivity { + id: ID! + address: String! + tokenId: String + asset: NftAsset + type: NftActivityType! + marketplace: NftMarketplace + fromAddress: String! + toAddress: String + transactionHash: String + price: Amount + quantity: Int + orderStatus: OrderStatus + url: String + timestamp: Int! +} + +type NftActivityConnection { + pageInfo: PageInfo! + edges: [NftActivityEdge!]! +} + +type NftActivityEdge { + cursor: String! + node: NftActivity! +} + +input NftActivityFilterInput { + address: String + tokenId: String + activityTypes: [NftActivityType!] +} + +enum NftActivityType { + LISTING + SALE + CANCEL_LISTING + TRANSFER +} + +type NftApproval { + id: ID! + nftStandard: NftStandard! + + """ can be erc20 or erc1155""" + asset: NftAsset! + approvedAddress: String! +} + +type NftApproveForAll { + id: ID! + nftStandard: NftStandard! + + """ can be erc721 or erc1155""" + asset: NftAsset! + operatorAddress: String! + approved: Boolean! +} + +type NftAsset { + id: ID! + collection: NftCollection + description: String + imageUrl: String + thumbnailUrl: String + animationUrl: String + smallImageUrl: String + image: Image + thumbnail: Image + smallImage: Image + originalImage: Image + name: String + nftContract: NftContract + + """ TODO: may need to be array to support erc1155 cases. not needed at the moment so will revisit. + """ + ownerAddress: String + tokenId: String! + traits: [NftAssetTrait!] + rarities: [NftAssetRarity!] + listings(asc: Boolean, after: String, first: Int, before: String, last: Int): NftOrderConnection + suspiciousFlag: Boolean + flaggedBy: String + metadataUrl: String + creator: NftProfile +} + +type NftAssetConnection { + pageInfo: PageInfo! + edges: [NftAssetEdge!]! + totalCount: Int +} + +type NftAssetEdge { + cursor: String! + node: NftAsset! +} + +input NftAssetInput { + address: String! + tokenId: String! +} + +type NftAssetRarity { + id: ID! + score: Float + rank: Int + provider: NftRarityProvider +} + +input NftAssetsFilterInput { + tokenSearchQuery: String + tokenIds: [String!] + traits: [NftAssetTraitInput!] + listed: Boolean + minPrice: String + maxPrice: String + marketplaces: [NftMarketplace!] +} + +enum NftAssetSortableField { + PRICE + RARITY +} + +type NftAssetTrait { + id: ID! + name: String + rarity: Float + value: String +} + +input NftAssetTraitInput { + name: String! + values: [String!]! +} + +type NftBalance { + id: ID! + ownedAsset: NftAsset + listedMarketplaces: [NftMarketplace!] + lastPrice: TimestampedAmount + listingFees: [NftFee] +} + +type NftBalanceConnection { + pageInfo: PageInfo! + edges: [NftBalanceEdge!]! +} + +type NftBalanceEdge { + cursor: String! + node: NftBalance! +} + +input NftBalancesFilterInput { + addresses: [String!] + assets: [NftAssetInput!] +} + +type NftCollection { + id: ID! + collectionId: String! + + """ + TODO: support querying for collection assets here + assets(page: Int, pageSize: Int, orderBy: NftAssetSortableField): [NftAsset] + """ + bannerImageUrl: String + bannerImage: Image + description: String + discordUrl: String + homepageUrl: String + imageUrl: String + image: Image + instagramName: String + markets(currencies: [Currency!]!): [NftCollectionMarket!] + name: String + nftContracts: [NftContract!] + openseaUrl: String + traits: [NftCollectionTrait!] + twitterName: String + isVerified: Boolean + numAssets: Int + creator: NftProfile +} + +type NftCollectionConnection { + pageInfo: PageInfo! + edges: [NftCollectionEdge!]! +} + +type NftCollectionEdge { + cursor: String! + node: NftCollection! +} + +type NftCollectionMarket { + id: ID! + nftContracts: [NftContract!] + floorPrice: TimestampedAmount + owners: Int + volume24h: Amount + totalVolume: TimestampedAmount + volume(duration: HistoryDuration): TimestampedAmount + volumePercentChange(duration: HistoryDuration): TimestampedAmount + floorPricePercentChange(duration: HistoryDuration): TimestampedAmount + sales(duration: HistoryDuration): TimestampedAmount + listings: TimestampedAmount + marketplaces(marketplaces: [NftMarketplace!]): [NftCollectionMarketplace!] + percentUniqueOwners: TimestampedAmount + percentListed: TimestampedAmount +} + +type NftCollectionMarketplace { + id: ID! + marketplace: NftMarketplace + listings: Int + floorPrice: Float +} + +input NftCollectionsFilterInput { + addresses: [String!] + nameQuery: String +} + +type NftCollectionTrait { + id: ID! + name: String + values: [String!] + stats: [NftCollectionTraitStats!] +} + +type NftCollectionTraitStats { + id: ID! + name: String + value: String + assets: Int + listings: Int +} + +type NftContract implements IContract { + id: ID! + address: String! + chain: Chain! + name: String + standard: NftStandard + symbol: String + totalSupply: Int +} + +type NftFee { + id: ID! + payoutAddress: String! + basisPoints: Int! +} + +enum NftMarketplace { + OPENSEA + LOOKSRARE + X2Y2 + SUDOSWAP + NFTX + NFT20 + FOUNDATION + CRYPTOPUNKS +} + +enum NftMarketSortableField { + VOLUME + FLOOR_PRICE +} + +type NftOrder { + id: ID! + address: String! + tokenId: String + type: OrderType! + marketplace: NftMarketplace! + marketplaceUrl: String! + price: Amount! + quantity: Int! + orderHash: String + status: OrderStatus! + createdAt: Float! + startAt: Float! + endAt: Float + maker: String! + taker: String + auctionType: String + protocolParameters: AWSJSON +} + +type NftOrderConnection { + pageInfo: PageInfo! + edges: [NftOrderEdge!]! +} + +type NftOrderEdge { + cursor: String! + node: NftOrder! +} + +type NftProfile { + id: ID! + address: String! + isVerified: Boolean + profileImage: Image + username: String +} + +enum NftRarityProvider { + RARITY_SNIPER +} + +type NftRouteResponse { + id: ID! + calldata: String! + toAddress: String! + sendAmount: TokenAmount! + route: [NftTrade!] +} + +enum NftStandard { + ERC721 + ERC1155 + NONCOMPLIANT +} + +type NftTrade { + id: ID! + contractAddress: String! + tokenId: String! + tokenType: NftStandard! + marketplace: NftMarketplace! + amount: Int! + + """ quotePrice represents the last quoted price of the NFT""" + quotePrice: TokenAmount + + """ price represents the current price of the NFT, which can be different from quotePrice + """ + price: TokenAmount! +} + +input NftTradeInput { + id: ID! + contractAddress: String! + tokenId: String! + tokenType: NftStandard! + marketplace: NftMarketplace! + amount: Int! + quotePrice: TokenAmountInput +} + +type NftTransfer { + id: ID! + nftStandard: NftStandard! + asset: NftAsset! + sender: String! + recipient: String! + direction: TransactionDirection! +} + +enum OrderStatus { + VALID + EXECUTED + CANCELLED + EXPIRED +} + +enum OrderType { + LISTING + OFFER +} + +type PageInfo { + hasPreviousPage: Boolean + hasNextPage: Boolean + startCursor: String + endCursor: String +} + +""" v2 pool parameters as defined by https://github.com/Uniswap/v2-sdk/blob/main/src/entities/pair.ts +""" +input PairInput { + tokenAmountA: TokenAmountInput! + tokenAmountB: TokenAmountInput! +} + +input PermitDetailsInput { + token: String! + amount: String! + expiration: String! + nonce: String! +} + +input PermitInput { + signature: String! + details: PermitDetailsInput! + spender: String! + sigDeadline: String! +} + +""" v3 pool parameters as defined by https://github.com/Uniswap/v3-sdk/blob/main/src/entities/pool.ts +""" +input PoolInput { + tokenA: TokenInput! + tokenB: TokenInput! + fee: Int! + sqrtRatioX96: String! + liquidity: String! + tickCurrent: String! +} + +type Portfolio { + id: ID! + ownerAddress: String! + tokensTotalDenominatedValue: Amount + tokensTotalDenominatedValueChange(duration: HistoryDuration): AmountChange + tokenBalances: [TokenBalance] + + """ TODO: (michael.zhang) replace with paginated query""" + nftBalances: [NftBalance] + assetActivities(page: Int, pageSize: Int, includeOffChain: Boolean): [AssetActivity] +} + +type Query { + tokens(contracts: [ContractInput!]!): [Token] + token(chain: Chain!, address: String): Token + tokenProjects(contracts: [ContractInput!]!): [TokenProject] + searchTokens(searchQuery: String!): [Token] + searchTokenProjects(searchQuery: String!): [TokenProject] + portfolios(ownerAddresses: [String!]!): [Portfolio] + nftCollectionsById(collectionIds: [String]): [NftCollection] + topTokens(chain: Chain, page: Int, pageSize: Int, orderBy: TokenSortableField): [Token] + topCollections(chains: [Chain!], orderBy: CollectionSortableField, duration: HistoryDuration, after: String, first: Int, cursor: String, limit: Int): NftCollectionConnection + nftAssets(chain: Chain, address: String!, orderBy: NftAssetSortableField, asc: Boolean, filter: NftAssetsFilterInput, after: String, first: Int, before: String, last: Int): NftAssetConnection + nftCollections(chain: Chain, filter: NftCollectionsFilterInput, after: String, first: Int): NftCollectionConnection + nftBalances(chain: Chain, ownerAddress: String!, filter: NftBalancesFilterInput, after: String, first: Int, before: String, last: Int): NftBalanceConnection + nftRoute(chain: Chain, senderAddress: String!, nftTrades: [NftTradeInput!]!, tokenTrades: [TokenTradeInput!]): NftRouteResponse + nftActivity(chain: Chain, filter: NftActivityFilterInput, after: String, first: Int): NftActivityConnection +} + +enum SafetyLevel { + VERIFIED + MEDIUM_WARNING + STRONG_WARNING + BLOCKED +} + +type TimestampedAmount implements IAmount { + id: ID! + currency: Currency + value: Float! + timestamp: Int! +} + +type Token implements IContract { + id: ID! + chain: Chain! + address: String + standard: TokenStandard + decimals: Int + name: String + symbol: String + project: TokenProject + market(currency: Currency): TokenMarket +} + +type TokenAmount { + id: ID! + value: String! + currency: Currency! +} + +input TokenAmountInput { + token: TokenInput! + amount: String! +} + +type TokenApproval { + id: ID! + tokenStandard: TokenStandard! + + """ can be erc20 or erc1155""" + asset: Token! + approvedAddress: String! + quantity: String! +} + +type TokenBalance { + id: ID! + blockNumber: Int + blockTimestamp: Int + quantity: Float + denominatedValue: Amount + ownerAddress: String! + token: Token + tokenProjectMarket: TokenProjectMarket +} + +input TokenInput { + chainId: Int! + address: String! + decimals: Int! + isNative: Boolean! +} + +type TokenMarket { + id: ID! + token: Token! + price: Amount + totalValueLocked: Amount + volume(duration: HistoryDuration!): Amount + pricePercentChange(duration: HistoryDuration!): Amount + priceHistory(duration: HistoryDuration!): [TimestampedAmount] + priceHighLow(duration: HistoryDuration!, highLow: HighLow!): Amount +} + +type TokenProject { + id: ID! + name: String + tokens: [Token!]! + description: String + twitterName: String + homepageUrl: String + logoUrl: String + logo: Image + smallLogo: Image + isSpam: Boolean + spamCode: Int + safetyLevel: SafetyLevel + markets(currencies: [Currency!]!): [TokenProjectMarket] +} + +type TokenProjectMarket { + id: ID! + tokenProject: TokenProject! + currency: Currency! + price: Amount + volume24h: Amount @deprecated(reason: "Use TokenMarket.volume with duration DAY for Uniswap volume") + pricePercentChange24h: Amount @deprecated(reason: "Use pricePercentChange") + marketCap: Amount + fullyDilutedMarketCap: Amount @deprecated(reason: "Use marketCap") + priceHistory(duration: HistoryDuration!): [TimestampedAmount] + volume(duration: HistoryDuration!): Amount @deprecated(reason: "Use TokenMarket.volume for Uniswap volume") + pricePercentChange(duration: HistoryDuration!): Amount + priceHighLow(duration: HistoryDuration!, highLow: HighLow!): Amount +} + +enum TokenSortableField { + TOTAL_VALUE_LOCKED + MARKET_CAP + VOLUME + POPULARITY +} + +enum TokenStandard { + NATIVE + ERC20 + ERC1155 +} + +input TokenTradeInput { + tokenAmount: TokenAmountInput! + routes: TokenTradeRoutesInput + slippageToleranceBasisPoints: Int + permit: PermitInput +} + +input TokenTradeRouteInput { + pools: [TradePoolInput!]! + inputAmount: TokenAmountInput! + outputAmount: TokenAmountInput! +} + +input TokenTradeRoutesInput { + v2Routes: [TokenTradeRouteInput!] + v3Routes: [TokenTradeRouteInput!] + mixedRoutes: [TokenTradeRouteInput!] + tradeType: TokenTradeType! +} + +enum TokenTradeType { + EXACT_INPUT + EXACT_OUTPUT +} + +type TokenTransfer { + id: ID! + tokenStandard: TokenStandard! + asset: Token! + sender: String! + recipient: String! + quantity: String! + direction: TransactionDirection! + transactedValue: Amount +} + +input TradePoolInput { + pair: PairInput + pool: PoolInput +} + +type Transaction { + id: ID! + blockNumber: Int! + from: String! + to: String! + hash: String! + nonce: Int! + gasLimit: Float + maxFeePerGas: Float + status: TransactionStatus! +} + +enum TransactionDirection { + IN + OUT + SELF +} + +enum TransactionStatus { + FAILED + CONFIRMED + PENDING +} + diff --git a/src/graphql/data/util.tsx b/src/graphql/data/util.tsx index 4648fdddd63..7314140eaf7 100644 --- a/src/graphql/data/util.tsx +++ b/src/graphql/data/util.tsx @@ -55,16 +55,9 @@ export function isPricePoint(p: PricePoint | null): p is PricePoint { } export const CHAIN_ID_TO_BACKEND_NAME: { [key: number]: Chain } = { - [SupportedChainId.MAINNET]: Chain.Ethereum, - [SupportedChainId.GOERLI]: Chain.EthereumGoerli, - [SupportedChainId.POLYGON]: Chain.Polygon, - [SupportedChainId.POLYGON_MUMBAI]: Chain.Polygon, - [SupportedChainId.CELO]: Chain.Celo, - [SupportedChainId.CELO_ALFAJORES]: Chain.Celo, - [SupportedChainId.ARBITRUM_ONE]: Chain.Arbitrum, - [SupportedChainId.ARBITRUM_GOERLI]: Chain.Arbitrum, - [SupportedChainId.OPTIMISM]: Chain.Optimism, - [SupportedChainId.OPTIMISM_GOERLI]: Chain.Optimism, + [SupportedChainId.MAINNET]: Chain.Evmos, + [SupportedChainId.FUJI]: Chain.Fuji, + [SupportedChainId.TESTNET]: Chain.Tevmos, } export function chainIdToBackendName(chainId: number | undefined) { @@ -74,26 +67,22 @@ export function chainIdToBackendName(chainId: number | undefined) { } const URL_CHAIN_PARAM_TO_BACKEND: { [key: string]: Chain } = { - ethereum: Chain.Ethereum, - polygon: Chain.Polygon, - celo: Chain.Celo, - arbitrum: Chain.Arbitrum, - optimism: Chain.Optimism, + evmos: Chain.Evmos, + fuji: Chain.Fuji, + tevmos: Chain.Tevmos, } export function validateUrlChainParam(chainName: string | undefined) { - return chainName && URL_CHAIN_PARAM_TO_BACKEND[chainName] ? URL_CHAIN_PARAM_TO_BACKEND[chainName] : Chain.Ethereum + return chainName && URL_CHAIN_PARAM_TO_BACKEND[chainName] ? URL_CHAIN_PARAM_TO_BACKEND[chainName] : Chain.Evmos } export const CHAIN_NAME_TO_CHAIN_ID: { [key: string]: SupportedChainId } = { - ETHEREUM: SupportedChainId.MAINNET, - POLYGON: SupportedChainId.POLYGON, - CELO: SupportedChainId.CELO, - ARBITRUM: SupportedChainId.ARBITRUM_ONE, - OPTIMISM: SupportedChainId.OPTIMISM, + EVMOS: SupportedChainId.MAINNET, + FUJI: SupportedChainId.FUJI, + TEVMOS: SupportedChainId.TESTNET, } -export const BACKEND_CHAIN_NAMES: Chain[] = [Chain.Ethereum, Chain.Polygon, Chain.Optimism, Chain.Arbitrum, Chain.Celo] +export const BACKEND_CHAIN_NAMES: Chain[] = [Chain.Evmos, Chain.Fuji, Chain.Tevmos] export function getTokenDetailsURL({ address, chain }: { address?: string | null; chain: Chain }) { return `/tokens/${chain.toLowerCase()}/${address ?? NATIVE_CHAIN_ID}` diff --git a/src/graphql/thegraph/apollo.ts b/src/graphql/thegraph/apollo.ts index d2b77154397..6e7a08465b0 100644 --- a/src/graphql/thegraph/apollo.ts +++ b/src/graphql/thegraph/apollo.ts @@ -5,14 +5,8 @@ import store from '../../state/index' const CHAIN_SUBGRAPH_URL: Record = { [SupportedChainId.MAINNET]: 'https://api.thegraph.com/subgraphs/name/uniswap/uniswap-v3', - - [SupportedChainId.ARBITRUM_ONE]: 'https://api.thegraph.com/subgraphs/name/ianlapham/arbitrum-minimal', - - [SupportedChainId.OPTIMISM]: 'https://api.thegraph.com/subgraphs/name/ianlapham/optimism-post-regenesis', - - [SupportedChainId.POLYGON]: 'https://api.thegraph.com/subgraphs/name/ianlapham/uniswap-v3-polygon', - - [SupportedChainId.CELO]: 'https://api.thegraph.com/subgraphs/name/jesse-sawa/uniswap-celo', + [SupportedChainId.TESTNET]: 'https://dev.orbitmarket.io/subgraphs/name/orbital-apes-labs/v3-subgraph', + [SupportedChainId.FUJI]: 'https://api.thegraph.com/subgraphs/name/orbital-apes-labs/v3-subgraph', } const httpLink = new HttpLink({ uri: CHAIN_SUBGRAPH_URL[SupportedChainId.MAINNET] }) diff --git a/src/graphql/thegraph/schema.graphql b/src/graphql/thegraph/schema.graphql new file mode 100644 index 00000000000..6bd1ddd0a35 --- /dev/null +++ b/src/graphql/thegraph/schema.graphql @@ -0,0 +1,6025 @@ +""" +Marks the GraphQL type as indexable entity. Each type that should be an entity +is required to be annotated with this directive. +""" +directive @entity on OBJECT + +"""Defined a Subgraph ID for an object type""" +directive @subgraphId(id: String!) on OBJECT + +""" +creates a virtual field on the entity that may be queried but cannot be set manually through the mappings API. +""" +directive @derivedFrom(field: String!) on FIELD_DEFINITION + +type _Block_ { + """The hash of the block""" + hash: Bytes + + """The block number""" + number: Int! + + """Integer representation of the timestamp stored in blocks for the chain""" + timestamp: Int +} + +"""The type for the top-level _meta field""" +type _Meta_ { + """ + Information about a specific subgraph block. The hash of the block + will be null if the _meta field has a block constraint that asks for + a block number. It will be filled if the _meta field has no block constraint + and therefore asks for the latest block + + """ + block: _Block_! + + """The deployment ID""" + deployment: String! + + """If `true`, the subgraph encountered indexing errors at some past block""" + hasIndexingErrors: Boolean! +} + +enum _SubgraphErrorPolicy_ { + """Data will be returned even if the subgraph has indexing errors""" + allow + + """ + If the subgraph has indexing errors, data will be omitted. The default. + """ + deny +} + +scalar BigDecimal + +scalar BigInt + +input Block_height { + hash: Bytes + number: Int + number_gte: Int +} + +input BlockChangedFilter { + number_gte: Int! +} + +type Bundle { + id: ID! + ethPriceUSD: BigDecimal! +} + +input Bundle_filter { + id: ID + id_not: ID + id_gt: ID + id_lt: ID + id_gte: ID + id_lte: ID + id_in: [ID!] + id_not_in: [ID!] + ethPriceUSD: BigDecimal + ethPriceUSD_not: BigDecimal + ethPriceUSD_gt: BigDecimal + ethPriceUSD_lt: BigDecimal + ethPriceUSD_gte: BigDecimal + ethPriceUSD_lte: BigDecimal + ethPriceUSD_in: [BigDecimal!] + ethPriceUSD_not_in: [BigDecimal!] + + """Filter for the block changed event.""" + _change_block: BlockChangedFilter + and: [Bundle_filter] + or: [Bundle_filter] +} + +enum Bundle_orderBy { + id + ethPriceUSD +} + +type Burn { + id: ID! + transaction: Transaction! + pool: Pool! + token0: Token! + token1: Token! + timestamp: BigInt! + owner: Bytes + origin: Bytes! + amount: BigInt! + amount0: BigDecimal! + amount1: BigDecimal! + amountUSD: BigDecimal + tickLower: BigInt! + tickUpper: BigInt! + logIndex: BigInt +} + +input Burn_filter { + id: ID + id_not: ID + id_gt: ID + id_lt: ID + id_gte: ID + id_lte: ID + id_in: [ID!] + id_not_in: [ID!] + transaction: String + transaction_not: String + transaction_gt: String + transaction_lt: String + transaction_gte: String + transaction_lte: String + transaction_in: [String!] + transaction_not_in: [String!] + transaction_contains: String + transaction_contains_nocase: String + transaction_not_contains: String + transaction_not_contains_nocase: String + transaction_starts_with: String + transaction_starts_with_nocase: String + transaction_not_starts_with: String + transaction_not_starts_with_nocase: String + transaction_ends_with: String + transaction_ends_with_nocase: String + transaction_not_ends_with: String + transaction_not_ends_with_nocase: String + transaction_: Transaction_filter + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_contains: String + pool_contains_nocase: String + pool_not_contains: String + pool_not_contains_nocase: String + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_: Pool_filter + token0: String + token0_not: String + token0_gt: String + token0_lt: String + token0_gte: String + token0_lte: String + token0_in: [String!] + token0_not_in: [String!] + token0_contains: String + token0_contains_nocase: String + token0_not_contains: String + token0_not_contains_nocase: String + token0_starts_with: String + token0_starts_with_nocase: String + token0_not_starts_with: String + token0_not_starts_with_nocase: String + token0_ends_with: String + token0_ends_with_nocase: String + token0_not_ends_with: String + token0_not_ends_with_nocase: String + token0_: Token_filter + token1: String + token1_not: String + token1_gt: String + token1_lt: String + token1_gte: String + token1_lte: String + token1_in: [String!] + token1_not_in: [String!] + token1_contains: String + token1_contains_nocase: String + token1_not_contains: String + token1_not_contains_nocase: String + token1_starts_with: String + token1_starts_with_nocase: String + token1_not_starts_with: String + token1_not_starts_with_nocase: String + token1_ends_with: String + token1_ends_with_nocase: String + token1_not_ends_with: String + token1_not_ends_with_nocase: String + token1_: Token_filter + timestamp: BigInt + timestamp_not: BigInt + timestamp_gt: BigInt + timestamp_lt: BigInt + timestamp_gte: BigInt + timestamp_lte: BigInt + timestamp_in: [BigInt!] + timestamp_not_in: [BigInt!] + owner: Bytes + owner_not: Bytes + owner_gt: Bytes + owner_lt: Bytes + owner_gte: Bytes + owner_lte: Bytes + owner_in: [Bytes!] + owner_not_in: [Bytes!] + owner_contains: Bytes + owner_not_contains: Bytes + origin: Bytes + origin_not: Bytes + origin_gt: Bytes + origin_lt: Bytes + origin_gte: Bytes + origin_lte: Bytes + origin_in: [Bytes!] + origin_not_in: [Bytes!] + origin_contains: Bytes + origin_not_contains: Bytes + amount: BigInt + amount_not: BigInt + amount_gt: BigInt + amount_lt: BigInt + amount_gte: BigInt + amount_lte: BigInt + amount_in: [BigInt!] + amount_not_in: [BigInt!] + amount0: BigDecimal + amount0_not: BigDecimal + amount0_gt: BigDecimal + amount0_lt: BigDecimal + amount0_gte: BigDecimal + amount0_lte: BigDecimal + amount0_in: [BigDecimal!] + amount0_not_in: [BigDecimal!] + amount1: BigDecimal + amount1_not: BigDecimal + amount1_gt: BigDecimal + amount1_lt: BigDecimal + amount1_gte: BigDecimal + amount1_lte: BigDecimal + amount1_in: [BigDecimal!] + amount1_not_in: [BigDecimal!] + amountUSD: BigDecimal + amountUSD_not: BigDecimal + amountUSD_gt: BigDecimal + amountUSD_lt: BigDecimal + amountUSD_gte: BigDecimal + amountUSD_lte: BigDecimal + amountUSD_in: [BigDecimal!] + amountUSD_not_in: [BigDecimal!] + tickLower: BigInt + tickLower_not: BigInt + tickLower_gt: BigInt + tickLower_lt: BigInt + tickLower_gte: BigInt + tickLower_lte: BigInt + tickLower_in: [BigInt!] + tickLower_not_in: [BigInt!] + tickUpper: BigInt + tickUpper_not: BigInt + tickUpper_gt: BigInt + tickUpper_lt: BigInt + tickUpper_gte: BigInt + tickUpper_lte: BigInt + tickUpper_in: [BigInt!] + tickUpper_not_in: [BigInt!] + logIndex: BigInt + logIndex_not: BigInt + logIndex_gt: BigInt + logIndex_lt: BigInt + logIndex_gte: BigInt + logIndex_lte: BigInt + logIndex_in: [BigInt!] + logIndex_not_in: [BigInt!] + + """Filter for the block changed event.""" + _change_block: BlockChangedFilter + and: [Burn_filter] + or: [Burn_filter] +} + +enum Burn_orderBy { + id + transaction + transaction__id + transaction__blockNumber + transaction__timestamp + transaction__gasUsed + transaction__gasPrice + pool + pool__id + pool__createdAtTimestamp + pool__createdAtBlockNumber + pool__feeTier + pool__liquidity + pool__sqrtPrice + pool__feeGrowthGlobal0X128 + pool__feeGrowthGlobal1X128 + pool__token0Price + pool__token1Price + pool__tick + pool__observationIndex + pool__volumeToken0 + pool__volumeToken1 + pool__volumeUSD + pool__untrackedVolumeUSD + pool__feesUSD + pool__txCount + pool__collectedFeesToken0 + pool__collectedFeesToken1 + pool__collectedFeesUSD + pool__totalValueLockedToken0 + pool__totalValueLockedToken1 + pool__totalValueLockedETH + pool__totalValueLockedUSD + pool__totalValueLockedUSDUntracked + pool__liquidityProviderCount + token0 + token0__id + token0__symbol + token0__name + token0__decimals + token0__totalSupply + token0__volume + token0__volumeUSD + token0__untrackedVolumeUSD + token0__feesUSD + token0__txCount + token0__poolCount + token0__totalValueLocked + token0__totalValueLockedUSD + token0__totalValueLockedUSDUntracked + token0__derivedETH + token1 + token1__id + token1__symbol + token1__name + token1__decimals + token1__totalSupply + token1__volume + token1__volumeUSD + token1__untrackedVolumeUSD + token1__feesUSD + token1__txCount + token1__poolCount + token1__totalValueLocked + token1__totalValueLockedUSD + token1__totalValueLockedUSDUntracked + token1__derivedETH + timestamp + owner + origin + amount + amount0 + amount1 + amountUSD + tickLower + tickUpper + logIndex +} + +scalar Bytes + +type Collect { + id: ID! + transaction: Transaction! + timestamp: BigInt! + pool: Pool! + owner: Bytes + amount0: BigDecimal! + amount1: BigDecimal! + amountUSD: BigDecimal + tickLower: BigInt! + tickUpper: BigInt! + logIndex: BigInt +} + +input Collect_filter { + id: ID + id_not: ID + id_gt: ID + id_lt: ID + id_gte: ID + id_lte: ID + id_in: [ID!] + id_not_in: [ID!] + transaction: String + transaction_not: String + transaction_gt: String + transaction_lt: String + transaction_gte: String + transaction_lte: String + transaction_in: [String!] + transaction_not_in: [String!] + transaction_contains: String + transaction_contains_nocase: String + transaction_not_contains: String + transaction_not_contains_nocase: String + transaction_starts_with: String + transaction_starts_with_nocase: String + transaction_not_starts_with: String + transaction_not_starts_with_nocase: String + transaction_ends_with: String + transaction_ends_with_nocase: String + transaction_not_ends_with: String + transaction_not_ends_with_nocase: String + transaction_: Transaction_filter + timestamp: BigInt + timestamp_not: BigInt + timestamp_gt: BigInt + timestamp_lt: BigInt + timestamp_gte: BigInt + timestamp_lte: BigInt + timestamp_in: [BigInt!] + timestamp_not_in: [BigInt!] + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_contains: String + pool_contains_nocase: String + pool_not_contains: String + pool_not_contains_nocase: String + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_: Pool_filter + owner: Bytes + owner_not: Bytes + owner_gt: Bytes + owner_lt: Bytes + owner_gte: Bytes + owner_lte: Bytes + owner_in: [Bytes!] + owner_not_in: [Bytes!] + owner_contains: Bytes + owner_not_contains: Bytes + amount0: BigDecimal + amount0_not: BigDecimal + amount0_gt: BigDecimal + amount0_lt: BigDecimal + amount0_gte: BigDecimal + amount0_lte: BigDecimal + amount0_in: [BigDecimal!] + amount0_not_in: [BigDecimal!] + amount1: BigDecimal + amount1_not: BigDecimal + amount1_gt: BigDecimal + amount1_lt: BigDecimal + amount1_gte: BigDecimal + amount1_lte: BigDecimal + amount1_in: [BigDecimal!] + amount1_not_in: [BigDecimal!] + amountUSD: BigDecimal + amountUSD_not: BigDecimal + amountUSD_gt: BigDecimal + amountUSD_lt: BigDecimal + amountUSD_gte: BigDecimal + amountUSD_lte: BigDecimal + amountUSD_in: [BigDecimal!] + amountUSD_not_in: [BigDecimal!] + tickLower: BigInt + tickLower_not: BigInt + tickLower_gt: BigInt + tickLower_lt: BigInt + tickLower_gte: BigInt + tickLower_lte: BigInt + tickLower_in: [BigInt!] + tickLower_not_in: [BigInt!] + tickUpper: BigInt + tickUpper_not: BigInt + tickUpper_gt: BigInt + tickUpper_lt: BigInt + tickUpper_gte: BigInt + tickUpper_lte: BigInt + tickUpper_in: [BigInt!] + tickUpper_not_in: [BigInt!] + logIndex: BigInt + logIndex_not: BigInt + logIndex_gt: BigInt + logIndex_lt: BigInt + logIndex_gte: BigInt + logIndex_lte: BigInt + logIndex_in: [BigInt!] + logIndex_not_in: [BigInt!] + + """Filter for the block changed event.""" + _change_block: BlockChangedFilter + and: [Collect_filter] + or: [Collect_filter] +} + +enum Collect_orderBy { + id + transaction + transaction__id + transaction__blockNumber + transaction__timestamp + transaction__gasUsed + transaction__gasPrice + timestamp + pool + pool__id + pool__createdAtTimestamp + pool__createdAtBlockNumber + pool__feeTier + pool__liquidity + pool__sqrtPrice + pool__feeGrowthGlobal0X128 + pool__feeGrowthGlobal1X128 + pool__token0Price + pool__token1Price + pool__tick + pool__observationIndex + pool__volumeToken0 + pool__volumeToken1 + pool__volumeUSD + pool__untrackedVolumeUSD + pool__feesUSD + pool__txCount + pool__collectedFeesToken0 + pool__collectedFeesToken1 + pool__collectedFeesUSD + pool__totalValueLockedToken0 + pool__totalValueLockedToken1 + pool__totalValueLockedETH + pool__totalValueLockedUSD + pool__totalValueLockedUSDUntracked + pool__liquidityProviderCount + owner + amount0 + amount1 + amountUSD + tickLower + tickUpper + logIndex +} + +type Factory { + id: ID! + poolCount: BigInt! + txCount: BigInt! + totalVolumeUSD: BigDecimal! + totalVolumeETH: BigDecimal! + totalFeesUSD: BigDecimal! + totalFeesETH: BigDecimal! + untrackedVolumeUSD: BigDecimal! + totalValueLockedUSD: BigDecimal! + totalValueLockedETH: BigDecimal! + totalValueLockedUSDUntracked: BigDecimal! + totalValueLockedETHUntracked: BigDecimal! + owner: ID! +} + +input Factory_filter { + id: ID + id_not: ID + id_gt: ID + id_lt: ID + id_gte: ID + id_lte: ID + id_in: [ID!] + id_not_in: [ID!] + poolCount: BigInt + poolCount_not: BigInt + poolCount_gt: BigInt + poolCount_lt: BigInt + poolCount_gte: BigInt + poolCount_lte: BigInt + poolCount_in: [BigInt!] + poolCount_not_in: [BigInt!] + txCount: BigInt + txCount_not: BigInt + txCount_gt: BigInt + txCount_lt: BigInt + txCount_gte: BigInt + txCount_lte: BigInt + txCount_in: [BigInt!] + txCount_not_in: [BigInt!] + totalVolumeUSD: BigDecimal + totalVolumeUSD_not: BigDecimal + totalVolumeUSD_gt: BigDecimal + totalVolumeUSD_lt: BigDecimal + totalVolumeUSD_gte: BigDecimal + totalVolumeUSD_lte: BigDecimal + totalVolumeUSD_in: [BigDecimal!] + totalVolumeUSD_not_in: [BigDecimal!] + totalVolumeETH: BigDecimal + totalVolumeETH_not: BigDecimal + totalVolumeETH_gt: BigDecimal + totalVolumeETH_lt: BigDecimal + totalVolumeETH_gte: BigDecimal + totalVolumeETH_lte: BigDecimal + totalVolumeETH_in: [BigDecimal!] + totalVolumeETH_not_in: [BigDecimal!] + totalFeesUSD: BigDecimal + totalFeesUSD_not: BigDecimal + totalFeesUSD_gt: BigDecimal + totalFeesUSD_lt: BigDecimal + totalFeesUSD_gte: BigDecimal + totalFeesUSD_lte: BigDecimal + totalFeesUSD_in: [BigDecimal!] + totalFeesUSD_not_in: [BigDecimal!] + totalFeesETH: BigDecimal + totalFeesETH_not: BigDecimal + totalFeesETH_gt: BigDecimal + totalFeesETH_lt: BigDecimal + totalFeesETH_gte: BigDecimal + totalFeesETH_lte: BigDecimal + totalFeesETH_in: [BigDecimal!] + totalFeesETH_not_in: [BigDecimal!] + untrackedVolumeUSD: BigDecimal + untrackedVolumeUSD_not: BigDecimal + untrackedVolumeUSD_gt: BigDecimal + untrackedVolumeUSD_lt: BigDecimal + untrackedVolumeUSD_gte: BigDecimal + untrackedVolumeUSD_lte: BigDecimal + untrackedVolumeUSD_in: [BigDecimal!] + untrackedVolumeUSD_not_in: [BigDecimal!] + totalValueLockedUSD: BigDecimal + totalValueLockedUSD_not: BigDecimal + totalValueLockedUSD_gt: BigDecimal + totalValueLockedUSD_lt: BigDecimal + totalValueLockedUSD_gte: BigDecimal + totalValueLockedUSD_lte: BigDecimal + totalValueLockedUSD_in: [BigDecimal!] + totalValueLockedUSD_not_in: [BigDecimal!] + totalValueLockedETH: BigDecimal + totalValueLockedETH_not: BigDecimal + totalValueLockedETH_gt: BigDecimal + totalValueLockedETH_lt: BigDecimal + totalValueLockedETH_gte: BigDecimal + totalValueLockedETH_lte: BigDecimal + totalValueLockedETH_in: [BigDecimal!] + totalValueLockedETH_not_in: [BigDecimal!] + totalValueLockedUSDUntracked: BigDecimal + totalValueLockedUSDUntracked_not: BigDecimal + totalValueLockedUSDUntracked_gt: BigDecimal + totalValueLockedUSDUntracked_lt: BigDecimal + totalValueLockedUSDUntracked_gte: BigDecimal + totalValueLockedUSDUntracked_lte: BigDecimal + totalValueLockedUSDUntracked_in: [BigDecimal!] + totalValueLockedUSDUntracked_not_in: [BigDecimal!] + totalValueLockedETHUntracked: BigDecimal + totalValueLockedETHUntracked_not: BigDecimal + totalValueLockedETHUntracked_gt: BigDecimal + totalValueLockedETHUntracked_lt: BigDecimal + totalValueLockedETHUntracked_gte: BigDecimal + totalValueLockedETHUntracked_lte: BigDecimal + totalValueLockedETHUntracked_in: [BigDecimal!] + totalValueLockedETHUntracked_not_in: [BigDecimal!] + owner: ID + owner_not: ID + owner_gt: ID + owner_lt: ID + owner_gte: ID + owner_lte: ID + owner_in: [ID!] + owner_not_in: [ID!] + + """Filter for the block changed event.""" + _change_block: BlockChangedFilter + and: [Factory_filter] + or: [Factory_filter] +} + +enum Factory_orderBy { + id + poolCount + txCount + totalVolumeUSD + totalVolumeETH + totalFeesUSD + totalFeesETH + untrackedVolumeUSD + totalValueLockedUSD + totalValueLockedETH + totalValueLockedUSDUntracked + totalValueLockedETHUntracked + owner +} + +type Flash { + id: ID! + transaction: Transaction! + timestamp: BigInt! + pool: Pool! + sender: Bytes! + recipient: Bytes! + amount0: BigDecimal! + amount1: BigDecimal! + amountUSD: BigDecimal! + amount0Paid: BigDecimal! + amount1Paid: BigDecimal! + logIndex: BigInt +} + +input Flash_filter { + id: ID + id_not: ID + id_gt: ID + id_lt: ID + id_gte: ID + id_lte: ID + id_in: [ID!] + id_not_in: [ID!] + transaction: String + transaction_not: String + transaction_gt: String + transaction_lt: String + transaction_gte: String + transaction_lte: String + transaction_in: [String!] + transaction_not_in: [String!] + transaction_contains: String + transaction_contains_nocase: String + transaction_not_contains: String + transaction_not_contains_nocase: String + transaction_starts_with: String + transaction_starts_with_nocase: String + transaction_not_starts_with: String + transaction_not_starts_with_nocase: String + transaction_ends_with: String + transaction_ends_with_nocase: String + transaction_not_ends_with: String + transaction_not_ends_with_nocase: String + transaction_: Transaction_filter + timestamp: BigInt + timestamp_not: BigInt + timestamp_gt: BigInt + timestamp_lt: BigInt + timestamp_gte: BigInt + timestamp_lte: BigInt + timestamp_in: [BigInt!] + timestamp_not_in: [BigInt!] + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_contains: String + pool_contains_nocase: String + pool_not_contains: String + pool_not_contains_nocase: String + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_: Pool_filter + sender: Bytes + sender_not: Bytes + sender_gt: Bytes + sender_lt: Bytes + sender_gte: Bytes + sender_lte: Bytes + sender_in: [Bytes!] + sender_not_in: [Bytes!] + sender_contains: Bytes + sender_not_contains: Bytes + recipient: Bytes + recipient_not: Bytes + recipient_gt: Bytes + recipient_lt: Bytes + recipient_gte: Bytes + recipient_lte: Bytes + recipient_in: [Bytes!] + recipient_not_in: [Bytes!] + recipient_contains: Bytes + recipient_not_contains: Bytes + amount0: BigDecimal + amount0_not: BigDecimal + amount0_gt: BigDecimal + amount0_lt: BigDecimal + amount0_gte: BigDecimal + amount0_lte: BigDecimal + amount0_in: [BigDecimal!] + amount0_not_in: [BigDecimal!] + amount1: BigDecimal + amount1_not: BigDecimal + amount1_gt: BigDecimal + amount1_lt: BigDecimal + amount1_gte: BigDecimal + amount1_lte: BigDecimal + amount1_in: [BigDecimal!] + amount1_not_in: [BigDecimal!] + amountUSD: BigDecimal + amountUSD_not: BigDecimal + amountUSD_gt: BigDecimal + amountUSD_lt: BigDecimal + amountUSD_gte: BigDecimal + amountUSD_lte: BigDecimal + amountUSD_in: [BigDecimal!] + amountUSD_not_in: [BigDecimal!] + amount0Paid: BigDecimal + amount0Paid_not: BigDecimal + amount0Paid_gt: BigDecimal + amount0Paid_lt: BigDecimal + amount0Paid_gte: BigDecimal + amount0Paid_lte: BigDecimal + amount0Paid_in: [BigDecimal!] + amount0Paid_not_in: [BigDecimal!] + amount1Paid: BigDecimal + amount1Paid_not: BigDecimal + amount1Paid_gt: BigDecimal + amount1Paid_lt: BigDecimal + amount1Paid_gte: BigDecimal + amount1Paid_lte: BigDecimal + amount1Paid_in: [BigDecimal!] + amount1Paid_not_in: [BigDecimal!] + logIndex: BigInt + logIndex_not: BigInt + logIndex_gt: BigInt + logIndex_lt: BigInt + logIndex_gte: BigInt + logIndex_lte: BigInt + logIndex_in: [BigInt!] + logIndex_not_in: [BigInt!] + + """Filter for the block changed event.""" + _change_block: BlockChangedFilter + and: [Flash_filter] + or: [Flash_filter] +} + +enum Flash_orderBy { + id + transaction + transaction__id + transaction__blockNumber + transaction__timestamp + transaction__gasUsed + transaction__gasPrice + timestamp + pool + pool__id + pool__createdAtTimestamp + pool__createdAtBlockNumber + pool__feeTier + pool__liquidity + pool__sqrtPrice + pool__feeGrowthGlobal0X128 + pool__feeGrowthGlobal1X128 + pool__token0Price + pool__token1Price + pool__tick + pool__observationIndex + pool__volumeToken0 + pool__volumeToken1 + pool__volumeUSD + pool__untrackedVolumeUSD + pool__feesUSD + pool__txCount + pool__collectedFeesToken0 + pool__collectedFeesToken1 + pool__collectedFeesUSD + pool__totalValueLockedToken0 + pool__totalValueLockedToken1 + pool__totalValueLockedETH + pool__totalValueLockedUSD + pool__totalValueLockedUSDUntracked + pool__liquidityProviderCount + sender + recipient + amount0 + amount1 + amountUSD + amount0Paid + amount1Paid + logIndex +} + +type Mint { + id: ID! + transaction: Transaction! + timestamp: BigInt! + pool: Pool! + token0: Token! + token1: Token! + owner: Bytes! + sender: Bytes + origin: Bytes! + amount: BigInt! + amount0: BigDecimal! + amount1: BigDecimal! + amountUSD: BigDecimal + tickLower: BigInt! + tickUpper: BigInt! + logIndex: BigInt +} + +input Mint_filter { + id: ID + id_not: ID + id_gt: ID + id_lt: ID + id_gte: ID + id_lte: ID + id_in: [ID!] + id_not_in: [ID!] + transaction: String + transaction_not: String + transaction_gt: String + transaction_lt: String + transaction_gte: String + transaction_lte: String + transaction_in: [String!] + transaction_not_in: [String!] + transaction_contains: String + transaction_contains_nocase: String + transaction_not_contains: String + transaction_not_contains_nocase: String + transaction_starts_with: String + transaction_starts_with_nocase: String + transaction_not_starts_with: String + transaction_not_starts_with_nocase: String + transaction_ends_with: String + transaction_ends_with_nocase: String + transaction_not_ends_with: String + transaction_not_ends_with_nocase: String + transaction_: Transaction_filter + timestamp: BigInt + timestamp_not: BigInt + timestamp_gt: BigInt + timestamp_lt: BigInt + timestamp_gte: BigInt + timestamp_lte: BigInt + timestamp_in: [BigInt!] + timestamp_not_in: [BigInt!] + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_contains: String + pool_contains_nocase: String + pool_not_contains: String + pool_not_contains_nocase: String + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_: Pool_filter + token0: String + token0_not: String + token0_gt: String + token0_lt: String + token0_gte: String + token0_lte: String + token0_in: [String!] + token0_not_in: [String!] + token0_contains: String + token0_contains_nocase: String + token0_not_contains: String + token0_not_contains_nocase: String + token0_starts_with: String + token0_starts_with_nocase: String + token0_not_starts_with: String + token0_not_starts_with_nocase: String + token0_ends_with: String + token0_ends_with_nocase: String + token0_not_ends_with: String + token0_not_ends_with_nocase: String + token0_: Token_filter + token1: String + token1_not: String + token1_gt: String + token1_lt: String + token1_gte: String + token1_lte: String + token1_in: [String!] + token1_not_in: [String!] + token1_contains: String + token1_contains_nocase: String + token1_not_contains: String + token1_not_contains_nocase: String + token1_starts_with: String + token1_starts_with_nocase: String + token1_not_starts_with: String + token1_not_starts_with_nocase: String + token1_ends_with: String + token1_ends_with_nocase: String + token1_not_ends_with: String + token1_not_ends_with_nocase: String + token1_: Token_filter + owner: Bytes + owner_not: Bytes + owner_gt: Bytes + owner_lt: Bytes + owner_gte: Bytes + owner_lte: Bytes + owner_in: [Bytes!] + owner_not_in: [Bytes!] + owner_contains: Bytes + owner_not_contains: Bytes + sender: Bytes + sender_not: Bytes + sender_gt: Bytes + sender_lt: Bytes + sender_gte: Bytes + sender_lte: Bytes + sender_in: [Bytes!] + sender_not_in: [Bytes!] + sender_contains: Bytes + sender_not_contains: Bytes + origin: Bytes + origin_not: Bytes + origin_gt: Bytes + origin_lt: Bytes + origin_gte: Bytes + origin_lte: Bytes + origin_in: [Bytes!] + origin_not_in: [Bytes!] + origin_contains: Bytes + origin_not_contains: Bytes + amount: BigInt + amount_not: BigInt + amount_gt: BigInt + amount_lt: BigInt + amount_gte: BigInt + amount_lte: BigInt + amount_in: [BigInt!] + amount_not_in: [BigInt!] + amount0: BigDecimal + amount0_not: BigDecimal + amount0_gt: BigDecimal + amount0_lt: BigDecimal + amount0_gte: BigDecimal + amount0_lte: BigDecimal + amount0_in: [BigDecimal!] + amount0_not_in: [BigDecimal!] + amount1: BigDecimal + amount1_not: BigDecimal + amount1_gt: BigDecimal + amount1_lt: BigDecimal + amount1_gte: BigDecimal + amount1_lte: BigDecimal + amount1_in: [BigDecimal!] + amount1_not_in: [BigDecimal!] + amountUSD: BigDecimal + amountUSD_not: BigDecimal + amountUSD_gt: BigDecimal + amountUSD_lt: BigDecimal + amountUSD_gte: BigDecimal + amountUSD_lte: BigDecimal + amountUSD_in: [BigDecimal!] + amountUSD_not_in: [BigDecimal!] + tickLower: BigInt + tickLower_not: BigInt + tickLower_gt: BigInt + tickLower_lt: BigInt + tickLower_gte: BigInt + tickLower_lte: BigInt + tickLower_in: [BigInt!] + tickLower_not_in: [BigInt!] + tickUpper: BigInt + tickUpper_not: BigInt + tickUpper_gt: BigInt + tickUpper_lt: BigInt + tickUpper_gte: BigInt + tickUpper_lte: BigInt + tickUpper_in: [BigInt!] + tickUpper_not_in: [BigInt!] + logIndex: BigInt + logIndex_not: BigInt + logIndex_gt: BigInt + logIndex_lt: BigInt + logIndex_gte: BigInt + logIndex_lte: BigInt + logIndex_in: [BigInt!] + logIndex_not_in: [BigInt!] + + """Filter for the block changed event.""" + _change_block: BlockChangedFilter + and: [Mint_filter] + or: [Mint_filter] +} + +enum Mint_orderBy { + id + transaction + transaction__id + transaction__blockNumber + transaction__timestamp + transaction__gasUsed + transaction__gasPrice + timestamp + pool + pool__id + pool__createdAtTimestamp + pool__createdAtBlockNumber + pool__feeTier + pool__liquidity + pool__sqrtPrice + pool__feeGrowthGlobal0X128 + pool__feeGrowthGlobal1X128 + pool__token0Price + pool__token1Price + pool__tick + pool__observationIndex + pool__volumeToken0 + pool__volumeToken1 + pool__volumeUSD + pool__untrackedVolumeUSD + pool__feesUSD + pool__txCount + pool__collectedFeesToken0 + pool__collectedFeesToken1 + pool__collectedFeesUSD + pool__totalValueLockedToken0 + pool__totalValueLockedToken1 + pool__totalValueLockedETH + pool__totalValueLockedUSD + pool__totalValueLockedUSDUntracked + pool__liquidityProviderCount + token0 + token0__id + token0__symbol + token0__name + token0__decimals + token0__totalSupply + token0__volume + token0__volumeUSD + token0__untrackedVolumeUSD + token0__feesUSD + token0__txCount + token0__poolCount + token0__totalValueLocked + token0__totalValueLockedUSD + token0__totalValueLockedUSDUntracked + token0__derivedETH + token1 + token1__id + token1__symbol + token1__name + token1__decimals + token1__totalSupply + token1__volume + token1__volumeUSD + token1__untrackedVolumeUSD + token1__feesUSD + token1__txCount + token1__poolCount + token1__totalValueLocked + token1__totalValueLockedUSD + token1__totalValueLockedUSDUntracked + token1__derivedETH + owner + sender + origin + amount + amount0 + amount1 + amountUSD + tickLower + tickUpper + logIndex +} + +"""Defines the order direction, either ascending or descending""" +enum OrderDirection { + asc + desc +} + +type Pool { + id: ID! + createdAtTimestamp: BigInt! + createdAtBlockNumber: BigInt! + token0: Token! + token1: Token! + feeTier: BigInt! + liquidity: BigInt! + sqrtPrice: BigInt! + feeGrowthGlobal0X128: BigInt! + feeGrowthGlobal1X128: BigInt! + token0Price: BigDecimal! + token1Price: BigDecimal! + tick: BigInt + observationIndex: BigInt! + volumeToken0: BigDecimal! + volumeToken1: BigDecimal! + volumeUSD: BigDecimal! + untrackedVolumeUSD: BigDecimal! + feesUSD: BigDecimal! + txCount: BigInt! + collectedFeesToken0: BigDecimal! + collectedFeesToken1: BigDecimal! + collectedFeesUSD: BigDecimal! + totalValueLockedToken0: BigDecimal! + totalValueLockedToken1: BigDecimal! + totalValueLockedETH: BigDecimal! + totalValueLockedUSD: BigDecimal! + totalValueLockedUSDUntracked: BigDecimal! + liquidityProviderCount: BigInt! + poolHourData(skip: Int = 0, first: Int = 100, orderBy: PoolHourData_orderBy, orderDirection: OrderDirection, where: PoolHourData_filter): [PoolHourData!]! + poolDayData(skip: Int = 0, first: Int = 100, orderBy: PoolDayData_orderBy, orderDirection: OrderDirection, where: PoolDayData_filter): [PoolDayData!]! + mints(skip: Int = 0, first: Int = 100, orderBy: Mint_orderBy, orderDirection: OrderDirection, where: Mint_filter): [Mint!]! + burns(skip: Int = 0, first: Int = 100, orderBy: Burn_orderBy, orderDirection: OrderDirection, where: Burn_filter): [Burn!]! + swaps(skip: Int = 0, first: Int = 100, orderBy: Swap_orderBy, orderDirection: OrderDirection, where: Swap_filter): [Swap!]! + collects(skip: Int = 0, first: Int = 100, orderBy: Collect_orderBy, orderDirection: OrderDirection, where: Collect_filter): [Collect!]! + ticks(skip: Int = 0, first: Int = 100, orderBy: Tick_orderBy, orderDirection: OrderDirection, where: Tick_filter): [Tick!]! +} + +input Pool_filter { + id: ID + id_not: ID + id_gt: ID + id_lt: ID + id_gte: ID + id_lte: ID + id_in: [ID!] + id_not_in: [ID!] + createdAtTimestamp: BigInt + createdAtTimestamp_not: BigInt + createdAtTimestamp_gt: BigInt + createdAtTimestamp_lt: BigInt + createdAtTimestamp_gte: BigInt + createdAtTimestamp_lte: BigInt + createdAtTimestamp_in: [BigInt!] + createdAtTimestamp_not_in: [BigInt!] + createdAtBlockNumber: BigInt + createdAtBlockNumber_not: BigInt + createdAtBlockNumber_gt: BigInt + createdAtBlockNumber_lt: BigInt + createdAtBlockNumber_gte: BigInt + createdAtBlockNumber_lte: BigInt + createdAtBlockNumber_in: [BigInt!] + createdAtBlockNumber_not_in: [BigInt!] + token0: String + token0_not: String + token0_gt: String + token0_lt: String + token0_gte: String + token0_lte: String + token0_in: [String!] + token0_not_in: [String!] + token0_contains: String + token0_contains_nocase: String + token0_not_contains: String + token0_not_contains_nocase: String + token0_starts_with: String + token0_starts_with_nocase: String + token0_not_starts_with: String + token0_not_starts_with_nocase: String + token0_ends_with: String + token0_ends_with_nocase: String + token0_not_ends_with: String + token0_not_ends_with_nocase: String + token0_: Token_filter + token1: String + token1_not: String + token1_gt: String + token1_lt: String + token1_gte: String + token1_lte: String + token1_in: [String!] + token1_not_in: [String!] + token1_contains: String + token1_contains_nocase: String + token1_not_contains: String + token1_not_contains_nocase: String + token1_starts_with: String + token1_starts_with_nocase: String + token1_not_starts_with: String + token1_not_starts_with_nocase: String + token1_ends_with: String + token1_ends_with_nocase: String + token1_not_ends_with: String + token1_not_ends_with_nocase: String + token1_: Token_filter + feeTier: BigInt + feeTier_not: BigInt + feeTier_gt: BigInt + feeTier_lt: BigInt + feeTier_gte: BigInt + feeTier_lte: BigInt + feeTier_in: [BigInt!] + feeTier_not_in: [BigInt!] + liquidity: BigInt + liquidity_not: BigInt + liquidity_gt: BigInt + liquidity_lt: BigInt + liquidity_gte: BigInt + liquidity_lte: BigInt + liquidity_in: [BigInt!] + liquidity_not_in: [BigInt!] + sqrtPrice: BigInt + sqrtPrice_not: BigInt + sqrtPrice_gt: BigInt + sqrtPrice_lt: BigInt + sqrtPrice_gte: BigInt + sqrtPrice_lte: BigInt + sqrtPrice_in: [BigInt!] + sqrtPrice_not_in: [BigInt!] + feeGrowthGlobal0X128: BigInt + feeGrowthGlobal0X128_not: BigInt + feeGrowthGlobal0X128_gt: BigInt + feeGrowthGlobal0X128_lt: BigInt + feeGrowthGlobal0X128_gte: BigInt + feeGrowthGlobal0X128_lte: BigInt + feeGrowthGlobal0X128_in: [BigInt!] + feeGrowthGlobal0X128_not_in: [BigInt!] + feeGrowthGlobal1X128: BigInt + feeGrowthGlobal1X128_not: BigInt + feeGrowthGlobal1X128_gt: BigInt + feeGrowthGlobal1X128_lt: BigInt + feeGrowthGlobal1X128_gte: BigInt + feeGrowthGlobal1X128_lte: BigInt + feeGrowthGlobal1X128_in: [BigInt!] + feeGrowthGlobal1X128_not_in: [BigInt!] + token0Price: BigDecimal + token0Price_not: BigDecimal + token0Price_gt: BigDecimal + token0Price_lt: BigDecimal + token0Price_gte: BigDecimal + token0Price_lte: BigDecimal + token0Price_in: [BigDecimal!] + token0Price_not_in: [BigDecimal!] + token1Price: BigDecimal + token1Price_not: BigDecimal + token1Price_gt: BigDecimal + token1Price_lt: BigDecimal + token1Price_gte: BigDecimal + token1Price_lte: BigDecimal + token1Price_in: [BigDecimal!] + token1Price_not_in: [BigDecimal!] + tick: BigInt + tick_not: BigInt + tick_gt: BigInt + tick_lt: BigInt + tick_gte: BigInt + tick_lte: BigInt + tick_in: [BigInt!] + tick_not_in: [BigInt!] + observationIndex: BigInt + observationIndex_not: BigInt + observationIndex_gt: BigInt + observationIndex_lt: BigInt + observationIndex_gte: BigInt + observationIndex_lte: BigInt + observationIndex_in: [BigInt!] + observationIndex_not_in: [BigInt!] + volumeToken0: BigDecimal + volumeToken0_not: BigDecimal + volumeToken0_gt: BigDecimal + volumeToken0_lt: BigDecimal + volumeToken0_gte: BigDecimal + volumeToken0_lte: BigDecimal + volumeToken0_in: [BigDecimal!] + volumeToken0_not_in: [BigDecimal!] + volumeToken1: BigDecimal + volumeToken1_not: BigDecimal + volumeToken1_gt: BigDecimal + volumeToken1_lt: BigDecimal + volumeToken1_gte: BigDecimal + volumeToken1_lte: BigDecimal + volumeToken1_in: [BigDecimal!] + volumeToken1_not_in: [BigDecimal!] + volumeUSD: BigDecimal + volumeUSD_not: BigDecimal + volumeUSD_gt: BigDecimal + volumeUSD_lt: BigDecimal + volumeUSD_gte: BigDecimal + volumeUSD_lte: BigDecimal + volumeUSD_in: [BigDecimal!] + volumeUSD_not_in: [BigDecimal!] + untrackedVolumeUSD: BigDecimal + untrackedVolumeUSD_not: BigDecimal + untrackedVolumeUSD_gt: BigDecimal + untrackedVolumeUSD_lt: BigDecimal + untrackedVolumeUSD_gte: BigDecimal + untrackedVolumeUSD_lte: BigDecimal + untrackedVolumeUSD_in: [BigDecimal!] + untrackedVolumeUSD_not_in: [BigDecimal!] + feesUSD: BigDecimal + feesUSD_not: BigDecimal + feesUSD_gt: BigDecimal + feesUSD_lt: BigDecimal + feesUSD_gte: BigDecimal + feesUSD_lte: BigDecimal + feesUSD_in: [BigDecimal!] + feesUSD_not_in: [BigDecimal!] + txCount: BigInt + txCount_not: BigInt + txCount_gt: BigInt + txCount_lt: BigInt + txCount_gte: BigInt + txCount_lte: BigInt + txCount_in: [BigInt!] + txCount_not_in: [BigInt!] + collectedFeesToken0: BigDecimal + collectedFeesToken0_not: BigDecimal + collectedFeesToken0_gt: BigDecimal + collectedFeesToken0_lt: BigDecimal + collectedFeesToken0_gte: BigDecimal + collectedFeesToken0_lte: BigDecimal + collectedFeesToken0_in: [BigDecimal!] + collectedFeesToken0_not_in: [BigDecimal!] + collectedFeesToken1: BigDecimal + collectedFeesToken1_not: BigDecimal + collectedFeesToken1_gt: BigDecimal + collectedFeesToken1_lt: BigDecimal + collectedFeesToken1_gte: BigDecimal + collectedFeesToken1_lte: BigDecimal + collectedFeesToken1_in: [BigDecimal!] + collectedFeesToken1_not_in: [BigDecimal!] + collectedFeesUSD: BigDecimal + collectedFeesUSD_not: BigDecimal + collectedFeesUSD_gt: BigDecimal + collectedFeesUSD_lt: BigDecimal + collectedFeesUSD_gte: BigDecimal + collectedFeesUSD_lte: BigDecimal + collectedFeesUSD_in: [BigDecimal!] + collectedFeesUSD_not_in: [BigDecimal!] + totalValueLockedToken0: BigDecimal + totalValueLockedToken0_not: BigDecimal + totalValueLockedToken0_gt: BigDecimal + totalValueLockedToken0_lt: BigDecimal + totalValueLockedToken0_gte: BigDecimal + totalValueLockedToken0_lte: BigDecimal + totalValueLockedToken0_in: [BigDecimal!] + totalValueLockedToken0_not_in: [BigDecimal!] + totalValueLockedToken1: BigDecimal + totalValueLockedToken1_not: BigDecimal + totalValueLockedToken1_gt: BigDecimal + totalValueLockedToken1_lt: BigDecimal + totalValueLockedToken1_gte: BigDecimal + totalValueLockedToken1_lte: BigDecimal + totalValueLockedToken1_in: [BigDecimal!] + totalValueLockedToken1_not_in: [BigDecimal!] + totalValueLockedETH: BigDecimal + totalValueLockedETH_not: BigDecimal + totalValueLockedETH_gt: BigDecimal + totalValueLockedETH_lt: BigDecimal + totalValueLockedETH_gte: BigDecimal + totalValueLockedETH_lte: BigDecimal + totalValueLockedETH_in: [BigDecimal!] + totalValueLockedETH_not_in: [BigDecimal!] + totalValueLockedUSD: BigDecimal + totalValueLockedUSD_not: BigDecimal + totalValueLockedUSD_gt: BigDecimal + totalValueLockedUSD_lt: BigDecimal + totalValueLockedUSD_gte: BigDecimal + totalValueLockedUSD_lte: BigDecimal + totalValueLockedUSD_in: [BigDecimal!] + totalValueLockedUSD_not_in: [BigDecimal!] + totalValueLockedUSDUntracked: BigDecimal + totalValueLockedUSDUntracked_not: BigDecimal + totalValueLockedUSDUntracked_gt: BigDecimal + totalValueLockedUSDUntracked_lt: BigDecimal + totalValueLockedUSDUntracked_gte: BigDecimal + totalValueLockedUSDUntracked_lte: BigDecimal + totalValueLockedUSDUntracked_in: [BigDecimal!] + totalValueLockedUSDUntracked_not_in: [BigDecimal!] + liquidityProviderCount: BigInt + liquidityProviderCount_not: BigInt + liquidityProviderCount_gt: BigInt + liquidityProviderCount_lt: BigInt + liquidityProviderCount_gte: BigInt + liquidityProviderCount_lte: BigInt + liquidityProviderCount_in: [BigInt!] + liquidityProviderCount_not_in: [BigInt!] + poolHourData_: PoolHourData_filter + poolDayData_: PoolDayData_filter + mints_: Mint_filter + burns_: Burn_filter + swaps_: Swap_filter + collects_: Collect_filter + ticks_: Tick_filter + + """Filter for the block changed event.""" + _change_block: BlockChangedFilter + and: [Pool_filter] + or: [Pool_filter] +} + +enum Pool_orderBy { + id + createdAtTimestamp + createdAtBlockNumber + token0 + token0__id + token0__symbol + token0__name + token0__decimals + token0__totalSupply + token0__volume + token0__volumeUSD + token0__untrackedVolumeUSD + token0__feesUSD + token0__txCount + token0__poolCount + token0__totalValueLocked + token0__totalValueLockedUSD + token0__totalValueLockedUSDUntracked + token0__derivedETH + token1 + token1__id + token1__symbol + token1__name + token1__decimals + token1__totalSupply + token1__volume + token1__volumeUSD + token1__untrackedVolumeUSD + token1__feesUSD + token1__txCount + token1__poolCount + token1__totalValueLocked + token1__totalValueLockedUSD + token1__totalValueLockedUSDUntracked + token1__derivedETH + feeTier + liquidity + sqrtPrice + feeGrowthGlobal0X128 + feeGrowthGlobal1X128 + token0Price + token1Price + tick + observationIndex + volumeToken0 + volumeToken1 + volumeUSD + untrackedVolumeUSD + feesUSD + txCount + collectedFeesToken0 + collectedFeesToken1 + collectedFeesUSD + totalValueLockedToken0 + totalValueLockedToken1 + totalValueLockedETH + totalValueLockedUSD + totalValueLockedUSDUntracked + liquidityProviderCount + poolHourData + poolDayData + mints + burns + swaps + collects + ticks +} + +type PoolDayData { + id: ID! + date: Int! + pool: Pool! + liquidity: BigInt! + sqrtPrice: BigInt! + token0Price: BigDecimal! + token1Price: BigDecimal! + tick: BigInt + feeGrowthGlobal0X128: BigInt! + feeGrowthGlobal1X128: BigInt! + tvlUSD: BigDecimal! + volumeToken0: BigDecimal! + volumeToken1: BigDecimal! + volumeUSD: BigDecimal! + feesUSD: BigDecimal! + txCount: BigInt! + open: BigDecimal! + high: BigDecimal! + low: BigDecimal! + close: BigDecimal! +} + +input PoolDayData_filter { + id: ID + id_not: ID + id_gt: ID + id_lt: ID + id_gte: ID + id_lte: ID + id_in: [ID!] + id_not_in: [ID!] + date: Int + date_not: Int + date_gt: Int + date_lt: Int + date_gte: Int + date_lte: Int + date_in: [Int!] + date_not_in: [Int!] + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_contains: String + pool_contains_nocase: String + pool_not_contains: String + pool_not_contains_nocase: String + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_: Pool_filter + liquidity: BigInt + liquidity_not: BigInt + liquidity_gt: BigInt + liquidity_lt: BigInt + liquidity_gte: BigInt + liquidity_lte: BigInt + liquidity_in: [BigInt!] + liquidity_not_in: [BigInt!] + sqrtPrice: BigInt + sqrtPrice_not: BigInt + sqrtPrice_gt: BigInt + sqrtPrice_lt: BigInt + sqrtPrice_gte: BigInt + sqrtPrice_lte: BigInt + sqrtPrice_in: [BigInt!] + sqrtPrice_not_in: [BigInt!] + token0Price: BigDecimal + token0Price_not: BigDecimal + token0Price_gt: BigDecimal + token0Price_lt: BigDecimal + token0Price_gte: BigDecimal + token0Price_lte: BigDecimal + token0Price_in: [BigDecimal!] + token0Price_not_in: [BigDecimal!] + token1Price: BigDecimal + token1Price_not: BigDecimal + token1Price_gt: BigDecimal + token1Price_lt: BigDecimal + token1Price_gte: BigDecimal + token1Price_lte: BigDecimal + token1Price_in: [BigDecimal!] + token1Price_not_in: [BigDecimal!] + tick: BigInt + tick_not: BigInt + tick_gt: BigInt + tick_lt: BigInt + tick_gte: BigInt + tick_lte: BigInt + tick_in: [BigInt!] + tick_not_in: [BigInt!] + feeGrowthGlobal0X128: BigInt + feeGrowthGlobal0X128_not: BigInt + feeGrowthGlobal0X128_gt: BigInt + feeGrowthGlobal0X128_lt: BigInt + feeGrowthGlobal0X128_gte: BigInt + feeGrowthGlobal0X128_lte: BigInt + feeGrowthGlobal0X128_in: [BigInt!] + feeGrowthGlobal0X128_not_in: [BigInt!] + feeGrowthGlobal1X128: BigInt + feeGrowthGlobal1X128_not: BigInt + feeGrowthGlobal1X128_gt: BigInt + feeGrowthGlobal1X128_lt: BigInt + feeGrowthGlobal1X128_gte: BigInt + feeGrowthGlobal1X128_lte: BigInt + feeGrowthGlobal1X128_in: [BigInt!] + feeGrowthGlobal1X128_not_in: [BigInt!] + tvlUSD: BigDecimal + tvlUSD_not: BigDecimal + tvlUSD_gt: BigDecimal + tvlUSD_lt: BigDecimal + tvlUSD_gte: BigDecimal + tvlUSD_lte: BigDecimal + tvlUSD_in: [BigDecimal!] + tvlUSD_not_in: [BigDecimal!] + volumeToken0: BigDecimal + volumeToken0_not: BigDecimal + volumeToken0_gt: BigDecimal + volumeToken0_lt: BigDecimal + volumeToken0_gte: BigDecimal + volumeToken0_lte: BigDecimal + volumeToken0_in: [BigDecimal!] + volumeToken0_not_in: [BigDecimal!] + volumeToken1: BigDecimal + volumeToken1_not: BigDecimal + volumeToken1_gt: BigDecimal + volumeToken1_lt: BigDecimal + volumeToken1_gte: BigDecimal + volumeToken1_lte: BigDecimal + volumeToken1_in: [BigDecimal!] + volumeToken1_not_in: [BigDecimal!] + volumeUSD: BigDecimal + volumeUSD_not: BigDecimal + volumeUSD_gt: BigDecimal + volumeUSD_lt: BigDecimal + volumeUSD_gte: BigDecimal + volumeUSD_lte: BigDecimal + volumeUSD_in: [BigDecimal!] + volumeUSD_not_in: [BigDecimal!] + feesUSD: BigDecimal + feesUSD_not: BigDecimal + feesUSD_gt: BigDecimal + feesUSD_lt: BigDecimal + feesUSD_gte: BigDecimal + feesUSD_lte: BigDecimal + feesUSD_in: [BigDecimal!] + feesUSD_not_in: [BigDecimal!] + txCount: BigInt + txCount_not: BigInt + txCount_gt: BigInt + txCount_lt: BigInt + txCount_gte: BigInt + txCount_lte: BigInt + txCount_in: [BigInt!] + txCount_not_in: [BigInt!] + open: BigDecimal + open_not: BigDecimal + open_gt: BigDecimal + open_lt: BigDecimal + open_gte: BigDecimal + open_lte: BigDecimal + open_in: [BigDecimal!] + open_not_in: [BigDecimal!] + high: BigDecimal + high_not: BigDecimal + high_gt: BigDecimal + high_lt: BigDecimal + high_gte: BigDecimal + high_lte: BigDecimal + high_in: [BigDecimal!] + high_not_in: [BigDecimal!] + low: BigDecimal + low_not: BigDecimal + low_gt: BigDecimal + low_lt: BigDecimal + low_gte: BigDecimal + low_lte: BigDecimal + low_in: [BigDecimal!] + low_not_in: [BigDecimal!] + close: BigDecimal + close_not: BigDecimal + close_gt: BigDecimal + close_lt: BigDecimal + close_gte: BigDecimal + close_lte: BigDecimal + close_in: [BigDecimal!] + close_not_in: [BigDecimal!] + + """Filter for the block changed event.""" + _change_block: BlockChangedFilter + and: [PoolDayData_filter] + or: [PoolDayData_filter] +} + +enum PoolDayData_orderBy { + id + date + pool + pool__id + pool__createdAtTimestamp + pool__createdAtBlockNumber + pool__feeTier + pool__liquidity + pool__sqrtPrice + pool__feeGrowthGlobal0X128 + pool__feeGrowthGlobal1X128 + pool__token0Price + pool__token1Price + pool__tick + pool__observationIndex + pool__volumeToken0 + pool__volumeToken1 + pool__volumeUSD + pool__untrackedVolumeUSD + pool__feesUSD + pool__txCount + pool__collectedFeesToken0 + pool__collectedFeesToken1 + pool__collectedFeesUSD + pool__totalValueLockedToken0 + pool__totalValueLockedToken1 + pool__totalValueLockedETH + pool__totalValueLockedUSD + pool__totalValueLockedUSDUntracked + pool__liquidityProviderCount + liquidity + sqrtPrice + token0Price + token1Price + tick + feeGrowthGlobal0X128 + feeGrowthGlobal1X128 + tvlUSD + volumeToken0 + volumeToken1 + volumeUSD + feesUSD + txCount + open + high + low + close +} + +type PoolHourData { + id: ID! + periodStartUnix: Int! + pool: Pool! + liquidity: BigInt! + sqrtPrice: BigInt! + token0Price: BigDecimal! + token1Price: BigDecimal! + tick: BigInt + feeGrowthGlobal0X128: BigInt! + feeGrowthGlobal1X128: BigInt! + tvlUSD: BigDecimal! + volumeToken0: BigDecimal! + volumeToken1: BigDecimal! + volumeUSD: BigDecimal! + feesUSD: BigDecimal! + txCount: BigInt! + open: BigDecimal! + high: BigDecimal! + low: BigDecimal! + close: BigDecimal! +} + +input PoolHourData_filter { + id: ID + id_not: ID + id_gt: ID + id_lt: ID + id_gte: ID + id_lte: ID + id_in: [ID!] + id_not_in: [ID!] + periodStartUnix: Int + periodStartUnix_not: Int + periodStartUnix_gt: Int + periodStartUnix_lt: Int + periodStartUnix_gte: Int + periodStartUnix_lte: Int + periodStartUnix_in: [Int!] + periodStartUnix_not_in: [Int!] + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_contains: String + pool_contains_nocase: String + pool_not_contains: String + pool_not_contains_nocase: String + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_: Pool_filter + liquidity: BigInt + liquidity_not: BigInt + liquidity_gt: BigInt + liquidity_lt: BigInt + liquidity_gte: BigInt + liquidity_lte: BigInt + liquidity_in: [BigInt!] + liquidity_not_in: [BigInt!] + sqrtPrice: BigInt + sqrtPrice_not: BigInt + sqrtPrice_gt: BigInt + sqrtPrice_lt: BigInt + sqrtPrice_gte: BigInt + sqrtPrice_lte: BigInt + sqrtPrice_in: [BigInt!] + sqrtPrice_not_in: [BigInt!] + token0Price: BigDecimal + token0Price_not: BigDecimal + token0Price_gt: BigDecimal + token0Price_lt: BigDecimal + token0Price_gte: BigDecimal + token0Price_lte: BigDecimal + token0Price_in: [BigDecimal!] + token0Price_not_in: [BigDecimal!] + token1Price: BigDecimal + token1Price_not: BigDecimal + token1Price_gt: BigDecimal + token1Price_lt: BigDecimal + token1Price_gte: BigDecimal + token1Price_lte: BigDecimal + token1Price_in: [BigDecimal!] + token1Price_not_in: [BigDecimal!] + tick: BigInt + tick_not: BigInt + tick_gt: BigInt + tick_lt: BigInt + tick_gte: BigInt + tick_lte: BigInt + tick_in: [BigInt!] + tick_not_in: [BigInt!] + feeGrowthGlobal0X128: BigInt + feeGrowthGlobal0X128_not: BigInt + feeGrowthGlobal0X128_gt: BigInt + feeGrowthGlobal0X128_lt: BigInt + feeGrowthGlobal0X128_gte: BigInt + feeGrowthGlobal0X128_lte: BigInt + feeGrowthGlobal0X128_in: [BigInt!] + feeGrowthGlobal0X128_not_in: [BigInt!] + feeGrowthGlobal1X128: BigInt + feeGrowthGlobal1X128_not: BigInt + feeGrowthGlobal1X128_gt: BigInt + feeGrowthGlobal1X128_lt: BigInt + feeGrowthGlobal1X128_gte: BigInt + feeGrowthGlobal1X128_lte: BigInt + feeGrowthGlobal1X128_in: [BigInt!] + feeGrowthGlobal1X128_not_in: [BigInt!] + tvlUSD: BigDecimal + tvlUSD_not: BigDecimal + tvlUSD_gt: BigDecimal + tvlUSD_lt: BigDecimal + tvlUSD_gte: BigDecimal + tvlUSD_lte: BigDecimal + tvlUSD_in: [BigDecimal!] + tvlUSD_not_in: [BigDecimal!] + volumeToken0: BigDecimal + volumeToken0_not: BigDecimal + volumeToken0_gt: BigDecimal + volumeToken0_lt: BigDecimal + volumeToken0_gte: BigDecimal + volumeToken0_lte: BigDecimal + volumeToken0_in: [BigDecimal!] + volumeToken0_not_in: [BigDecimal!] + volumeToken1: BigDecimal + volumeToken1_not: BigDecimal + volumeToken1_gt: BigDecimal + volumeToken1_lt: BigDecimal + volumeToken1_gte: BigDecimal + volumeToken1_lte: BigDecimal + volumeToken1_in: [BigDecimal!] + volumeToken1_not_in: [BigDecimal!] + volumeUSD: BigDecimal + volumeUSD_not: BigDecimal + volumeUSD_gt: BigDecimal + volumeUSD_lt: BigDecimal + volumeUSD_gte: BigDecimal + volumeUSD_lte: BigDecimal + volumeUSD_in: [BigDecimal!] + volumeUSD_not_in: [BigDecimal!] + feesUSD: BigDecimal + feesUSD_not: BigDecimal + feesUSD_gt: BigDecimal + feesUSD_lt: BigDecimal + feesUSD_gte: BigDecimal + feesUSD_lte: BigDecimal + feesUSD_in: [BigDecimal!] + feesUSD_not_in: [BigDecimal!] + txCount: BigInt + txCount_not: BigInt + txCount_gt: BigInt + txCount_lt: BigInt + txCount_gte: BigInt + txCount_lte: BigInt + txCount_in: [BigInt!] + txCount_not_in: [BigInt!] + open: BigDecimal + open_not: BigDecimal + open_gt: BigDecimal + open_lt: BigDecimal + open_gte: BigDecimal + open_lte: BigDecimal + open_in: [BigDecimal!] + open_not_in: [BigDecimal!] + high: BigDecimal + high_not: BigDecimal + high_gt: BigDecimal + high_lt: BigDecimal + high_gte: BigDecimal + high_lte: BigDecimal + high_in: [BigDecimal!] + high_not_in: [BigDecimal!] + low: BigDecimal + low_not: BigDecimal + low_gt: BigDecimal + low_lt: BigDecimal + low_gte: BigDecimal + low_lte: BigDecimal + low_in: [BigDecimal!] + low_not_in: [BigDecimal!] + close: BigDecimal + close_not: BigDecimal + close_gt: BigDecimal + close_lt: BigDecimal + close_gte: BigDecimal + close_lte: BigDecimal + close_in: [BigDecimal!] + close_not_in: [BigDecimal!] + + """Filter for the block changed event.""" + _change_block: BlockChangedFilter + and: [PoolHourData_filter] + or: [PoolHourData_filter] +} + +enum PoolHourData_orderBy { + id + periodStartUnix + pool + pool__id + pool__createdAtTimestamp + pool__createdAtBlockNumber + pool__feeTier + pool__liquidity + pool__sqrtPrice + pool__feeGrowthGlobal0X128 + pool__feeGrowthGlobal1X128 + pool__token0Price + pool__token1Price + pool__tick + pool__observationIndex + pool__volumeToken0 + pool__volumeToken1 + pool__volumeUSD + pool__untrackedVolumeUSD + pool__feesUSD + pool__txCount + pool__collectedFeesToken0 + pool__collectedFeesToken1 + pool__collectedFeesUSD + pool__totalValueLockedToken0 + pool__totalValueLockedToken1 + pool__totalValueLockedETH + pool__totalValueLockedUSD + pool__totalValueLockedUSDUntracked + pool__liquidityProviderCount + liquidity + sqrtPrice + token0Price + token1Price + tick + feeGrowthGlobal0X128 + feeGrowthGlobal1X128 + tvlUSD + volumeToken0 + volumeToken1 + volumeUSD + feesUSD + txCount + open + high + low + close +} + +type Position { + id: ID! + owner: Bytes! + pool: Pool! + token0: Token! + token1: Token! + tickLower: Tick! + tickUpper: Tick! + liquidity: BigInt! + depositedToken0: BigDecimal! + depositedToken1: BigDecimal! + withdrawnToken0: BigDecimal! + withdrawnToken1: BigDecimal! + collectedFeesToken0: BigDecimal! + collectedFeesToken1: BigDecimal! + transaction: Transaction! + feeGrowthInside0LastX128: BigInt! + feeGrowthInside1LastX128: BigInt! +} + +input Position_filter { + id: ID + id_not: ID + id_gt: ID + id_lt: ID + id_gte: ID + id_lte: ID + id_in: [ID!] + id_not_in: [ID!] + owner: Bytes + owner_not: Bytes + owner_gt: Bytes + owner_lt: Bytes + owner_gte: Bytes + owner_lte: Bytes + owner_in: [Bytes!] + owner_not_in: [Bytes!] + owner_contains: Bytes + owner_not_contains: Bytes + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_contains: String + pool_contains_nocase: String + pool_not_contains: String + pool_not_contains_nocase: String + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_: Pool_filter + token0: String + token0_not: String + token0_gt: String + token0_lt: String + token0_gte: String + token0_lte: String + token0_in: [String!] + token0_not_in: [String!] + token0_contains: String + token0_contains_nocase: String + token0_not_contains: String + token0_not_contains_nocase: String + token0_starts_with: String + token0_starts_with_nocase: String + token0_not_starts_with: String + token0_not_starts_with_nocase: String + token0_ends_with: String + token0_ends_with_nocase: String + token0_not_ends_with: String + token0_not_ends_with_nocase: String + token0_: Token_filter + token1: String + token1_not: String + token1_gt: String + token1_lt: String + token1_gte: String + token1_lte: String + token1_in: [String!] + token1_not_in: [String!] + token1_contains: String + token1_contains_nocase: String + token1_not_contains: String + token1_not_contains_nocase: String + token1_starts_with: String + token1_starts_with_nocase: String + token1_not_starts_with: String + token1_not_starts_with_nocase: String + token1_ends_with: String + token1_ends_with_nocase: String + token1_not_ends_with: String + token1_not_ends_with_nocase: String + token1_: Token_filter + tickLower: String + tickLower_not: String + tickLower_gt: String + tickLower_lt: String + tickLower_gte: String + tickLower_lte: String + tickLower_in: [String!] + tickLower_not_in: [String!] + tickLower_contains: String + tickLower_contains_nocase: String + tickLower_not_contains: String + tickLower_not_contains_nocase: String + tickLower_starts_with: String + tickLower_starts_with_nocase: String + tickLower_not_starts_with: String + tickLower_not_starts_with_nocase: String + tickLower_ends_with: String + tickLower_ends_with_nocase: String + tickLower_not_ends_with: String + tickLower_not_ends_with_nocase: String + tickLower_: Tick_filter + tickUpper: String + tickUpper_not: String + tickUpper_gt: String + tickUpper_lt: String + tickUpper_gte: String + tickUpper_lte: String + tickUpper_in: [String!] + tickUpper_not_in: [String!] + tickUpper_contains: String + tickUpper_contains_nocase: String + tickUpper_not_contains: String + tickUpper_not_contains_nocase: String + tickUpper_starts_with: String + tickUpper_starts_with_nocase: String + tickUpper_not_starts_with: String + tickUpper_not_starts_with_nocase: String + tickUpper_ends_with: String + tickUpper_ends_with_nocase: String + tickUpper_not_ends_with: String + tickUpper_not_ends_with_nocase: String + tickUpper_: Tick_filter + liquidity: BigInt + liquidity_not: BigInt + liquidity_gt: BigInt + liquidity_lt: BigInt + liquidity_gte: BigInt + liquidity_lte: BigInt + liquidity_in: [BigInt!] + liquidity_not_in: [BigInt!] + depositedToken0: BigDecimal + depositedToken0_not: BigDecimal + depositedToken0_gt: BigDecimal + depositedToken0_lt: BigDecimal + depositedToken0_gte: BigDecimal + depositedToken0_lte: BigDecimal + depositedToken0_in: [BigDecimal!] + depositedToken0_not_in: [BigDecimal!] + depositedToken1: BigDecimal + depositedToken1_not: BigDecimal + depositedToken1_gt: BigDecimal + depositedToken1_lt: BigDecimal + depositedToken1_gte: BigDecimal + depositedToken1_lte: BigDecimal + depositedToken1_in: [BigDecimal!] + depositedToken1_not_in: [BigDecimal!] + withdrawnToken0: BigDecimal + withdrawnToken0_not: BigDecimal + withdrawnToken0_gt: BigDecimal + withdrawnToken0_lt: BigDecimal + withdrawnToken0_gte: BigDecimal + withdrawnToken0_lte: BigDecimal + withdrawnToken0_in: [BigDecimal!] + withdrawnToken0_not_in: [BigDecimal!] + withdrawnToken1: BigDecimal + withdrawnToken1_not: BigDecimal + withdrawnToken1_gt: BigDecimal + withdrawnToken1_lt: BigDecimal + withdrawnToken1_gte: BigDecimal + withdrawnToken1_lte: BigDecimal + withdrawnToken1_in: [BigDecimal!] + withdrawnToken1_not_in: [BigDecimal!] + collectedFeesToken0: BigDecimal + collectedFeesToken0_not: BigDecimal + collectedFeesToken0_gt: BigDecimal + collectedFeesToken0_lt: BigDecimal + collectedFeesToken0_gte: BigDecimal + collectedFeesToken0_lte: BigDecimal + collectedFeesToken0_in: [BigDecimal!] + collectedFeesToken0_not_in: [BigDecimal!] + collectedFeesToken1: BigDecimal + collectedFeesToken1_not: BigDecimal + collectedFeesToken1_gt: BigDecimal + collectedFeesToken1_lt: BigDecimal + collectedFeesToken1_gte: BigDecimal + collectedFeesToken1_lte: BigDecimal + collectedFeesToken1_in: [BigDecimal!] + collectedFeesToken1_not_in: [BigDecimal!] + transaction: String + transaction_not: String + transaction_gt: String + transaction_lt: String + transaction_gte: String + transaction_lte: String + transaction_in: [String!] + transaction_not_in: [String!] + transaction_contains: String + transaction_contains_nocase: String + transaction_not_contains: String + transaction_not_contains_nocase: String + transaction_starts_with: String + transaction_starts_with_nocase: String + transaction_not_starts_with: String + transaction_not_starts_with_nocase: String + transaction_ends_with: String + transaction_ends_with_nocase: String + transaction_not_ends_with: String + transaction_not_ends_with_nocase: String + transaction_: Transaction_filter + feeGrowthInside0LastX128: BigInt + feeGrowthInside0LastX128_not: BigInt + feeGrowthInside0LastX128_gt: BigInt + feeGrowthInside0LastX128_lt: BigInt + feeGrowthInside0LastX128_gte: BigInt + feeGrowthInside0LastX128_lte: BigInt + feeGrowthInside0LastX128_in: [BigInt!] + feeGrowthInside0LastX128_not_in: [BigInt!] + feeGrowthInside1LastX128: BigInt + feeGrowthInside1LastX128_not: BigInt + feeGrowthInside1LastX128_gt: BigInt + feeGrowthInside1LastX128_lt: BigInt + feeGrowthInside1LastX128_gte: BigInt + feeGrowthInside1LastX128_lte: BigInt + feeGrowthInside1LastX128_in: [BigInt!] + feeGrowthInside1LastX128_not_in: [BigInt!] + + """Filter for the block changed event.""" + _change_block: BlockChangedFilter + and: [Position_filter] + or: [Position_filter] +} + +enum Position_orderBy { + id + owner + pool + pool__id + pool__createdAtTimestamp + pool__createdAtBlockNumber + pool__feeTier + pool__liquidity + pool__sqrtPrice + pool__feeGrowthGlobal0X128 + pool__feeGrowthGlobal1X128 + pool__token0Price + pool__token1Price + pool__tick + pool__observationIndex + pool__volumeToken0 + pool__volumeToken1 + pool__volumeUSD + pool__untrackedVolumeUSD + pool__feesUSD + pool__txCount + pool__collectedFeesToken0 + pool__collectedFeesToken1 + pool__collectedFeesUSD + pool__totalValueLockedToken0 + pool__totalValueLockedToken1 + pool__totalValueLockedETH + pool__totalValueLockedUSD + pool__totalValueLockedUSDUntracked + pool__liquidityProviderCount + token0 + token0__id + token0__symbol + token0__name + token0__decimals + token0__totalSupply + token0__volume + token0__volumeUSD + token0__untrackedVolumeUSD + token0__feesUSD + token0__txCount + token0__poolCount + token0__totalValueLocked + token0__totalValueLockedUSD + token0__totalValueLockedUSDUntracked + token0__derivedETH + token1 + token1__id + token1__symbol + token1__name + token1__decimals + token1__totalSupply + token1__volume + token1__volumeUSD + token1__untrackedVolumeUSD + token1__feesUSD + token1__txCount + token1__poolCount + token1__totalValueLocked + token1__totalValueLockedUSD + token1__totalValueLockedUSDUntracked + token1__derivedETH + tickLower + tickLower__id + tickLower__poolAddress + tickLower__tickIdx + tickLower__liquidityGross + tickLower__liquidityNet + tickLower__price0 + tickLower__price1 + tickLower__volumeToken0 + tickLower__volumeToken1 + tickLower__volumeUSD + tickLower__untrackedVolumeUSD + tickLower__feesUSD + tickLower__collectedFeesToken0 + tickLower__collectedFeesToken1 + tickLower__collectedFeesUSD + tickLower__createdAtTimestamp + tickLower__createdAtBlockNumber + tickLower__liquidityProviderCount + tickLower__feeGrowthOutside0X128 + tickLower__feeGrowthOutside1X128 + tickUpper + tickUpper__id + tickUpper__poolAddress + tickUpper__tickIdx + tickUpper__liquidityGross + tickUpper__liquidityNet + tickUpper__price0 + tickUpper__price1 + tickUpper__volumeToken0 + tickUpper__volumeToken1 + tickUpper__volumeUSD + tickUpper__untrackedVolumeUSD + tickUpper__feesUSD + tickUpper__collectedFeesToken0 + tickUpper__collectedFeesToken1 + tickUpper__collectedFeesUSD + tickUpper__createdAtTimestamp + tickUpper__createdAtBlockNumber + tickUpper__liquidityProviderCount + tickUpper__feeGrowthOutside0X128 + tickUpper__feeGrowthOutside1X128 + liquidity + depositedToken0 + depositedToken1 + withdrawnToken0 + withdrawnToken1 + collectedFeesToken0 + collectedFeesToken1 + transaction + transaction__id + transaction__blockNumber + transaction__timestamp + transaction__gasUsed + transaction__gasPrice + feeGrowthInside0LastX128 + feeGrowthInside1LastX128 +} + +type PositionSnapshot { + id: ID! + owner: Bytes! + pool: Pool! + position: Position! + blockNumber: BigInt! + timestamp: BigInt! + liquidity: BigInt! + depositedToken0: BigDecimal! + depositedToken1: BigDecimal! + withdrawnToken0: BigDecimal! + withdrawnToken1: BigDecimal! + collectedFeesToken0: BigDecimal! + collectedFeesToken1: BigDecimal! + transaction: Transaction! + feeGrowthInside0LastX128: BigInt! + feeGrowthInside1LastX128: BigInt! +} + +input PositionSnapshot_filter { + id: ID + id_not: ID + id_gt: ID + id_lt: ID + id_gte: ID + id_lte: ID + id_in: [ID!] + id_not_in: [ID!] + owner: Bytes + owner_not: Bytes + owner_gt: Bytes + owner_lt: Bytes + owner_gte: Bytes + owner_lte: Bytes + owner_in: [Bytes!] + owner_not_in: [Bytes!] + owner_contains: Bytes + owner_not_contains: Bytes + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_contains: String + pool_contains_nocase: String + pool_not_contains: String + pool_not_contains_nocase: String + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_: Pool_filter + position: String + position_not: String + position_gt: String + position_lt: String + position_gte: String + position_lte: String + position_in: [String!] + position_not_in: [String!] + position_contains: String + position_contains_nocase: String + position_not_contains: String + position_not_contains_nocase: String + position_starts_with: String + position_starts_with_nocase: String + position_not_starts_with: String + position_not_starts_with_nocase: String + position_ends_with: String + position_ends_with_nocase: String + position_not_ends_with: String + position_not_ends_with_nocase: String + position_: Position_filter + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + timestamp: BigInt + timestamp_not: BigInt + timestamp_gt: BigInt + timestamp_lt: BigInt + timestamp_gte: BigInt + timestamp_lte: BigInt + timestamp_in: [BigInt!] + timestamp_not_in: [BigInt!] + liquidity: BigInt + liquidity_not: BigInt + liquidity_gt: BigInt + liquidity_lt: BigInt + liquidity_gte: BigInt + liquidity_lte: BigInt + liquidity_in: [BigInt!] + liquidity_not_in: [BigInt!] + depositedToken0: BigDecimal + depositedToken0_not: BigDecimal + depositedToken0_gt: BigDecimal + depositedToken0_lt: BigDecimal + depositedToken0_gte: BigDecimal + depositedToken0_lte: BigDecimal + depositedToken0_in: [BigDecimal!] + depositedToken0_not_in: [BigDecimal!] + depositedToken1: BigDecimal + depositedToken1_not: BigDecimal + depositedToken1_gt: BigDecimal + depositedToken1_lt: BigDecimal + depositedToken1_gte: BigDecimal + depositedToken1_lte: BigDecimal + depositedToken1_in: [BigDecimal!] + depositedToken1_not_in: [BigDecimal!] + withdrawnToken0: BigDecimal + withdrawnToken0_not: BigDecimal + withdrawnToken0_gt: BigDecimal + withdrawnToken0_lt: BigDecimal + withdrawnToken0_gte: BigDecimal + withdrawnToken0_lte: BigDecimal + withdrawnToken0_in: [BigDecimal!] + withdrawnToken0_not_in: [BigDecimal!] + withdrawnToken1: BigDecimal + withdrawnToken1_not: BigDecimal + withdrawnToken1_gt: BigDecimal + withdrawnToken1_lt: BigDecimal + withdrawnToken1_gte: BigDecimal + withdrawnToken1_lte: BigDecimal + withdrawnToken1_in: [BigDecimal!] + withdrawnToken1_not_in: [BigDecimal!] + collectedFeesToken0: BigDecimal + collectedFeesToken0_not: BigDecimal + collectedFeesToken0_gt: BigDecimal + collectedFeesToken0_lt: BigDecimal + collectedFeesToken0_gte: BigDecimal + collectedFeesToken0_lte: BigDecimal + collectedFeesToken0_in: [BigDecimal!] + collectedFeesToken0_not_in: [BigDecimal!] + collectedFeesToken1: BigDecimal + collectedFeesToken1_not: BigDecimal + collectedFeesToken1_gt: BigDecimal + collectedFeesToken1_lt: BigDecimal + collectedFeesToken1_gte: BigDecimal + collectedFeesToken1_lte: BigDecimal + collectedFeesToken1_in: [BigDecimal!] + collectedFeesToken1_not_in: [BigDecimal!] + transaction: String + transaction_not: String + transaction_gt: String + transaction_lt: String + transaction_gte: String + transaction_lte: String + transaction_in: [String!] + transaction_not_in: [String!] + transaction_contains: String + transaction_contains_nocase: String + transaction_not_contains: String + transaction_not_contains_nocase: String + transaction_starts_with: String + transaction_starts_with_nocase: String + transaction_not_starts_with: String + transaction_not_starts_with_nocase: String + transaction_ends_with: String + transaction_ends_with_nocase: String + transaction_not_ends_with: String + transaction_not_ends_with_nocase: String + transaction_: Transaction_filter + feeGrowthInside0LastX128: BigInt + feeGrowthInside0LastX128_not: BigInt + feeGrowthInside0LastX128_gt: BigInt + feeGrowthInside0LastX128_lt: BigInt + feeGrowthInside0LastX128_gte: BigInt + feeGrowthInside0LastX128_lte: BigInt + feeGrowthInside0LastX128_in: [BigInt!] + feeGrowthInside0LastX128_not_in: [BigInt!] + feeGrowthInside1LastX128: BigInt + feeGrowthInside1LastX128_not: BigInt + feeGrowthInside1LastX128_gt: BigInt + feeGrowthInside1LastX128_lt: BigInt + feeGrowthInside1LastX128_gte: BigInt + feeGrowthInside1LastX128_lte: BigInt + feeGrowthInside1LastX128_in: [BigInt!] + feeGrowthInside1LastX128_not_in: [BigInt!] + + """Filter for the block changed event.""" + _change_block: BlockChangedFilter + and: [PositionSnapshot_filter] + or: [PositionSnapshot_filter] +} + +enum PositionSnapshot_orderBy { + id + owner + pool + pool__id + pool__createdAtTimestamp + pool__createdAtBlockNumber + pool__feeTier + pool__liquidity + pool__sqrtPrice + pool__feeGrowthGlobal0X128 + pool__feeGrowthGlobal1X128 + pool__token0Price + pool__token1Price + pool__tick + pool__observationIndex + pool__volumeToken0 + pool__volumeToken1 + pool__volumeUSD + pool__untrackedVolumeUSD + pool__feesUSD + pool__txCount + pool__collectedFeesToken0 + pool__collectedFeesToken1 + pool__collectedFeesUSD + pool__totalValueLockedToken0 + pool__totalValueLockedToken1 + pool__totalValueLockedETH + pool__totalValueLockedUSD + pool__totalValueLockedUSDUntracked + pool__liquidityProviderCount + position + position__id + position__owner + position__liquidity + position__depositedToken0 + position__depositedToken1 + position__withdrawnToken0 + position__withdrawnToken1 + position__collectedFeesToken0 + position__collectedFeesToken1 + position__feeGrowthInside0LastX128 + position__feeGrowthInside1LastX128 + blockNumber + timestamp + liquidity + depositedToken0 + depositedToken1 + withdrawnToken0 + withdrawnToken1 + collectedFeesToken0 + collectedFeesToken1 + transaction + transaction__id + transaction__blockNumber + transaction__timestamp + transaction__gasUsed + transaction__gasPrice + feeGrowthInside0LastX128 + feeGrowthInside1LastX128 +} + +type Query { + factory( + id: ID! + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): Factory + factories( + skip: Int = 0 + first: Int = 100 + orderBy: Factory_orderBy + orderDirection: OrderDirection + where: Factory_filter + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): [Factory!]! + bundle( + id: ID! + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): Bundle + bundles( + skip: Int = 0 + first: Int = 100 + orderBy: Bundle_orderBy + orderDirection: OrderDirection + where: Bundle_filter + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): [Bundle!]! + token( + id: ID! + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): Token + tokens( + skip: Int = 0 + first: Int = 100 + orderBy: Token_orderBy + orderDirection: OrderDirection + where: Token_filter + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): [Token!]! + pool( + id: ID! + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): Pool + pools( + skip: Int = 0 + first: Int = 100 + orderBy: Pool_orderBy + orderDirection: OrderDirection + where: Pool_filter + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): [Pool!]! + tick( + id: ID! + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): Tick + ticks( + skip: Int = 0 + first: Int = 100 + orderBy: Tick_orderBy + orderDirection: OrderDirection + where: Tick_filter + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): [Tick!]! + position( + id: ID! + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): Position + positions( + skip: Int = 0 + first: Int = 100 + orderBy: Position_orderBy + orderDirection: OrderDirection + where: Position_filter + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): [Position!]! + positionSnapshot( + id: ID! + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): PositionSnapshot + positionSnapshots( + skip: Int = 0 + first: Int = 100 + orderBy: PositionSnapshot_orderBy + orderDirection: OrderDirection + where: PositionSnapshot_filter + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): [PositionSnapshot!]! + transaction( + id: ID! + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): Transaction + transactions( + skip: Int = 0 + first: Int = 100 + orderBy: Transaction_orderBy + orderDirection: OrderDirection + where: Transaction_filter + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): [Transaction!]! + mint( + id: ID! + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): Mint + mints( + skip: Int = 0 + first: Int = 100 + orderBy: Mint_orderBy + orderDirection: OrderDirection + where: Mint_filter + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): [Mint!]! + burn( + id: ID! + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): Burn + burns( + skip: Int = 0 + first: Int = 100 + orderBy: Burn_orderBy + orderDirection: OrderDirection + where: Burn_filter + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): [Burn!]! + swap( + id: ID! + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): Swap + swaps( + skip: Int = 0 + first: Int = 100 + orderBy: Swap_orderBy + orderDirection: OrderDirection + where: Swap_filter + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): [Swap!]! + collect( + id: ID! + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): Collect + collects( + skip: Int = 0 + first: Int = 100 + orderBy: Collect_orderBy + orderDirection: OrderDirection + where: Collect_filter + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): [Collect!]! + flash( + id: ID! + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): Flash + flashes( + skip: Int = 0 + first: Int = 100 + orderBy: Flash_orderBy + orderDirection: OrderDirection + where: Flash_filter + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): [Flash!]! + uniswapDayData( + id: ID! + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): UniswapDayData + uniswapDayDatas( + skip: Int = 0 + first: Int = 100 + orderBy: UniswapDayData_orderBy + orderDirection: OrderDirection + where: UniswapDayData_filter + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): [UniswapDayData!]! + poolDayData( + id: ID! + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): PoolDayData + poolDayDatas( + skip: Int = 0 + first: Int = 100 + orderBy: PoolDayData_orderBy + orderDirection: OrderDirection + where: PoolDayData_filter + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): [PoolDayData!]! + poolHourData( + id: ID! + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): PoolHourData + poolHourDatas( + skip: Int = 0 + first: Int = 100 + orderBy: PoolHourData_orderBy + orderDirection: OrderDirection + where: PoolHourData_filter + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): [PoolHourData!]! + tickHourData( + id: ID! + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): TickHourData + tickHourDatas( + skip: Int = 0 + first: Int = 100 + orderBy: TickHourData_orderBy + orderDirection: OrderDirection + where: TickHourData_filter + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): [TickHourData!]! + tickDayData( + id: ID! + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): TickDayData + tickDayDatas( + skip: Int = 0 + first: Int = 100 + orderBy: TickDayData_orderBy + orderDirection: OrderDirection + where: TickDayData_filter + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): [TickDayData!]! + tokenDayData( + id: ID! + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): TokenDayData + tokenDayDatas( + skip: Int = 0 + first: Int = 100 + orderBy: TokenDayData_orderBy + orderDirection: OrderDirection + where: TokenDayData_filter + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): [TokenDayData!]! + tokenHourData( + id: ID! + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): TokenHourData + tokenHourDatas( + skip: Int = 0 + first: Int = 100 + orderBy: TokenHourData_orderBy + orderDirection: OrderDirection + where: TokenHourData_filter + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): [TokenHourData!]! + + """Access to subgraph metadata""" + _meta(block: Block_height): _Meta_ +} + +type Subscription { + factory( + id: ID! + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): Factory + factories( + skip: Int = 0 + first: Int = 100 + orderBy: Factory_orderBy + orderDirection: OrderDirection + where: Factory_filter + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): [Factory!]! + bundle( + id: ID! + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): Bundle + bundles( + skip: Int = 0 + first: Int = 100 + orderBy: Bundle_orderBy + orderDirection: OrderDirection + where: Bundle_filter + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): [Bundle!]! + token( + id: ID! + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): Token + tokens( + skip: Int = 0 + first: Int = 100 + orderBy: Token_orderBy + orderDirection: OrderDirection + where: Token_filter + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): [Token!]! + pool( + id: ID! + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): Pool + pools( + skip: Int = 0 + first: Int = 100 + orderBy: Pool_orderBy + orderDirection: OrderDirection + where: Pool_filter + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): [Pool!]! + tick( + id: ID! + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): Tick + ticks( + skip: Int = 0 + first: Int = 100 + orderBy: Tick_orderBy + orderDirection: OrderDirection + where: Tick_filter + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): [Tick!]! + position( + id: ID! + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): Position + positions( + skip: Int = 0 + first: Int = 100 + orderBy: Position_orderBy + orderDirection: OrderDirection + where: Position_filter + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): [Position!]! + positionSnapshot( + id: ID! + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): PositionSnapshot + positionSnapshots( + skip: Int = 0 + first: Int = 100 + orderBy: PositionSnapshot_orderBy + orderDirection: OrderDirection + where: PositionSnapshot_filter + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): [PositionSnapshot!]! + transaction( + id: ID! + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): Transaction + transactions( + skip: Int = 0 + first: Int = 100 + orderBy: Transaction_orderBy + orderDirection: OrderDirection + where: Transaction_filter + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): [Transaction!]! + mint( + id: ID! + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): Mint + mints( + skip: Int = 0 + first: Int = 100 + orderBy: Mint_orderBy + orderDirection: OrderDirection + where: Mint_filter + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): [Mint!]! + burn( + id: ID! + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): Burn + burns( + skip: Int = 0 + first: Int = 100 + orderBy: Burn_orderBy + orderDirection: OrderDirection + where: Burn_filter + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): [Burn!]! + swap( + id: ID! + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): Swap + swaps( + skip: Int = 0 + first: Int = 100 + orderBy: Swap_orderBy + orderDirection: OrderDirection + where: Swap_filter + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): [Swap!]! + collect( + id: ID! + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): Collect + collects( + skip: Int = 0 + first: Int = 100 + orderBy: Collect_orderBy + orderDirection: OrderDirection + where: Collect_filter + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): [Collect!]! + flash( + id: ID! + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): Flash + flashes( + skip: Int = 0 + first: Int = 100 + orderBy: Flash_orderBy + orderDirection: OrderDirection + where: Flash_filter + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): [Flash!]! + uniswapDayData( + id: ID! + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): UniswapDayData + uniswapDayDatas( + skip: Int = 0 + first: Int = 100 + orderBy: UniswapDayData_orderBy + orderDirection: OrderDirection + where: UniswapDayData_filter + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): [UniswapDayData!]! + poolDayData( + id: ID! + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): PoolDayData + poolDayDatas( + skip: Int = 0 + first: Int = 100 + orderBy: PoolDayData_orderBy + orderDirection: OrderDirection + where: PoolDayData_filter + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): [PoolDayData!]! + poolHourData( + id: ID! + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): PoolHourData + poolHourDatas( + skip: Int = 0 + first: Int = 100 + orderBy: PoolHourData_orderBy + orderDirection: OrderDirection + where: PoolHourData_filter + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): [PoolHourData!]! + tickHourData( + id: ID! + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): TickHourData + tickHourDatas( + skip: Int = 0 + first: Int = 100 + orderBy: TickHourData_orderBy + orderDirection: OrderDirection + where: TickHourData_filter + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): [TickHourData!]! + tickDayData( + id: ID! + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): TickDayData + tickDayDatas( + skip: Int = 0 + first: Int = 100 + orderBy: TickDayData_orderBy + orderDirection: OrderDirection + where: TickDayData_filter + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): [TickDayData!]! + tokenDayData( + id: ID! + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): TokenDayData + tokenDayDatas( + skip: Int = 0 + first: Int = 100 + orderBy: TokenDayData_orderBy + orderDirection: OrderDirection + where: TokenDayData_filter + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): [TokenDayData!]! + tokenHourData( + id: ID! + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): TokenHourData + tokenHourDatas( + skip: Int = 0 + first: Int = 100 + orderBy: TokenHourData_orderBy + orderDirection: OrderDirection + where: TokenHourData_filter + + """ + The block at which the query should be executed. Can either be a `{ hash: + Bytes }` value containing a block hash, a `{ number: Int }` containing the + block number, or a `{ number_gte: Int }` containing the minimum block + number. In the case of `number_gte`, the query will be executed on the + latest block only if the subgraph has progressed to or past the minimum + block number. Defaults to the latest block when omitted. + """ + block: Block_height + + """ + Set to `allow` to receive data even if the subgraph has skipped over errors while syncing. + """ + subgraphError: _SubgraphErrorPolicy_! = deny + ): [TokenHourData!]! + + """Access to subgraph metadata""" + _meta(block: Block_height): _Meta_ +} + +type Swap { + id: ID! + transaction: Transaction! + timestamp: BigInt! + pool: Pool! + token0: Token! + token1: Token! + sender: Bytes! + recipient: Bytes! + origin: Bytes! + amount0: BigDecimal! + amount1: BigDecimal! + amountUSD: BigDecimal! + sqrtPriceX96: BigInt! + tick: BigInt! + logIndex: BigInt +} + +input Swap_filter { + id: ID + id_not: ID + id_gt: ID + id_lt: ID + id_gte: ID + id_lte: ID + id_in: [ID!] + id_not_in: [ID!] + transaction: String + transaction_not: String + transaction_gt: String + transaction_lt: String + transaction_gte: String + transaction_lte: String + transaction_in: [String!] + transaction_not_in: [String!] + transaction_contains: String + transaction_contains_nocase: String + transaction_not_contains: String + transaction_not_contains_nocase: String + transaction_starts_with: String + transaction_starts_with_nocase: String + transaction_not_starts_with: String + transaction_not_starts_with_nocase: String + transaction_ends_with: String + transaction_ends_with_nocase: String + transaction_not_ends_with: String + transaction_not_ends_with_nocase: String + transaction_: Transaction_filter + timestamp: BigInt + timestamp_not: BigInt + timestamp_gt: BigInt + timestamp_lt: BigInt + timestamp_gte: BigInt + timestamp_lte: BigInt + timestamp_in: [BigInt!] + timestamp_not_in: [BigInt!] + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_contains: String + pool_contains_nocase: String + pool_not_contains: String + pool_not_contains_nocase: String + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_: Pool_filter + token0: String + token0_not: String + token0_gt: String + token0_lt: String + token0_gte: String + token0_lte: String + token0_in: [String!] + token0_not_in: [String!] + token0_contains: String + token0_contains_nocase: String + token0_not_contains: String + token0_not_contains_nocase: String + token0_starts_with: String + token0_starts_with_nocase: String + token0_not_starts_with: String + token0_not_starts_with_nocase: String + token0_ends_with: String + token0_ends_with_nocase: String + token0_not_ends_with: String + token0_not_ends_with_nocase: String + token0_: Token_filter + token1: String + token1_not: String + token1_gt: String + token1_lt: String + token1_gte: String + token1_lte: String + token1_in: [String!] + token1_not_in: [String!] + token1_contains: String + token1_contains_nocase: String + token1_not_contains: String + token1_not_contains_nocase: String + token1_starts_with: String + token1_starts_with_nocase: String + token1_not_starts_with: String + token1_not_starts_with_nocase: String + token1_ends_with: String + token1_ends_with_nocase: String + token1_not_ends_with: String + token1_not_ends_with_nocase: String + token1_: Token_filter + sender: Bytes + sender_not: Bytes + sender_gt: Bytes + sender_lt: Bytes + sender_gte: Bytes + sender_lte: Bytes + sender_in: [Bytes!] + sender_not_in: [Bytes!] + sender_contains: Bytes + sender_not_contains: Bytes + recipient: Bytes + recipient_not: Bytes + recipient_gt: Bytes + recipient_lt: Bytes + recipient_gte: Bytes + recipient_lte: Bytes + recipient_in: [Bytes!] + recipient_not_in: [Bytes!] + recipient_contains: Bytes + recipient_not_contains: Bytes + origin: Bytes + origin_not: Bytes + origin_gt: Bytes + origin_lt: Bytes + origin_gte: Bytes + origin_lte: Bytes + origin_in: [Bytes!] + origin_not_in: [Bytes!] + origin_contains: Bytes + origin_not_contains: Bytes + amount0: BigDecimal + amount0_not: BigDecimal + amount0_gt: BigDecimal + amount0_lt: BigDecimal + amount0_gte: BigDecimal + amount0_lte: BigDecimal + amount0_in: [BigDecimal!] + amount0_not_in: [BigDecimal!] + amount1: BigDecimal + amount1_not: BigDecimal + amount1_gt: BigDecimal + amount1_lt: BigDecimal + amount1_gte: BigDecimal + amount1_lte: BigDecimal + amount1_in: [BigDecimal!] + amount1_not_in: [BigDecimal!] + amountUSD: BigDecimal + amountUSD_not: BigDecimal + amountUSD_gt: BigDecimal + amountUSD_lt: BigDecimal + amountUSD_gte: BigDecimal + amountUSD_lte: BigDecimal + amountUSD_in: [BigDecimal!] + amountUSD_not_in: [BigDecimal!] + sqrtPriceX96: BigInt + sqrtPriceX96_not: BigInt + sqrtPriceX96_gt: BigInt + sqrtPriceX96_lt: BigInt + sqrtPriceX96_gte: BigInt + sqrtPriceX96_lte: BigInt + sqrtPriceX96_in: [BigInt!] + sqrtPriceX96_not_in: [BigInt!] + tick: BigInt + tick_not: BigInt + tick_gt: BigInt + tick_lt: BigInt + tick_gte: BigInt + tick_lte: BigInt + tick_in: [BigInt!] + tick_not_in: [BigInt!] + logIndex: BigInt + logIndex_not: BigInt + logIndex_gt: BigInt + logIndex_lt: BigInt + logIndex_gte: BigInt + logIndex_lte: BigInt + logIndex_in: [BigInt!] + logIndex_not_in: [BigInt!] + + """Filter for the block changed event.""" + _change_block: BlockChangedFilter + and: [Swap_filter] + or: [Swap_filter] +} + +enum Swap_orderBy { + id + transaction + transaction__id + transaction__blockNumber + transaction__timestamp + transaction__gasUsed + transaction__gasPrice + timestamp + pool + pool__id + pool__createdAtTimestamp + pool__createdAtBlockNumber + pool__feeTier + pool__liquidity + pool__sqrtPrice + pool__feeGrowthGlobal0X128 + pool__feeGrowthGlobal1X128 + pool__token0Price + pool__token1Price + pool__tick + pool__observationIndex + pool__volumeToken0 + pool__volumeToken1 + pool__volumeUSD + pool__untrackedVolumeUSD + pool__feesUSD + pool__txCount + pool__collectedFeesToken0 + pool__collectedFeesToken1 + pool__collectedFeesUSD + pool__totalValueLockedToken0 + pool__totalValueLockedToken1 + pool__totalValueLockedETH + pool__totalValueLockedUSD + pool__totalValueLockedUSDUntracked + pool__liquidityProviderCount + token0 + token0__id + token0__symbol + token0__name + token0__decimals + token0__totalSupply + token0__volume + token0__volumeUSD + token0__untrackedVolumeUSD + token0__feesUSD + token0__txCount + token0__poolCount + token0__totalValueLocked + token0__totalValueLockedUSD + token0__totalValueLockedUSDUntracked + token0__derivedETH + token1 + token1__id + token1__symbol + token1__name + token1__decimals + token1__totalSupply + token1__volume + token1__volumeUSD + token1__untrackedVolumeUSD + token1__feesUSD + token1__txCount + token1__poolCount + token1__totalValueLocked + token1__totalValueLockedUSD + token1__totalValueLockedUSDUntracked + token1__derivedETH + sender + recipient + origin + amount0 + amount1 + amountUSD + sqrtPriceX96 + tick + logIndex +} + +type Tick { + id: ID! + poolAddress: String + tickIdx: BigInt! + pool: Pool! + liquidityGross: BigInt! + liquidityNet: BigInt! + price0: BigDecimal! + price1: BigDecimal! + volumeToken0: BigDecimal! + volumeToken1: BigDecimal! + volumeUSD: BigDecimal! + untrackedVolumeUSD: BigDecimal! + feesUSD: BigDecimal! + collectedFeesToken0: BigDecimal! + collectedFeesToken1: BigDecimal! + collectedFeesUSD: BigDecimal! + createdAtTimestamp: BigInt! + createdAtBlockNumber: BigInt! + liquidityProviderCount: BigInt! + feeGrowthOutside0X128: BigInt! + feeGrowthOutside1X128: BigInt! +} + +input Tick_filter { + id: ID + id_not: ID + id_gt: ID + id_lt: ID + id_gte: ID + id_lte: ID + id_in: [ID!] + id_not_in: [ID!] + poolAddress: String + poolAddress_not: String + poolAddress_gt: String + poolAddress_lt: String + poolAddress_gte: String + poolAddress_lte: String + poolAddress_in: [String!] + poolAddress_not_in: [String!] + poolAddress_contains: String + poolAddress_contains_nocase: String + poolAddress_not_contains: String + poolAddress_not_contains_nocase: String + poolAddress_starts_with: String + poolAddress_starts_with_nocase: String + poolAddress_not_starts_with: String + poolAddress_not_starts_with_nocase: String + poolAddress_ends_with: String + poolAddress_ends_with_nocase: String + poolAddress_not_ends_with: String + poolAddress_not_ends_with_nocase: String + tickIdx: BigInt + tickIdx_not: BigInt + tickIdx_gt: BigInt + tickIdx_lt: BigInt + tickIdx_gte: BigInt + tickIdx_lte: BigInt + tickIdx_in: [BigInt!] + tickIdx_not_in: [BigInt!] + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_contains: String + pool_contains_nocase: String + pool_not_contains: String + pool_not_contains_nocase: String + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_: Pool_filter + liquidityGross: BigInt + liquidityGross_not: BigInt + liquidityGross_gt: BigInt + liquidityGross_lt: BigInt + liquidityGross_gte: BigInt + liquidityGross_lte: BigInt + liquidityGross_in: [BigInt!] + liquidityGross_not_in: [BigInt!] + liquidityNet: BigInt + liquidityNet_not: BigInt + liquidityNet_gt: BigInt + liquidityNet_lt: BigInt + liquidityNet_gte: BigInt + liquidityNet_lte: BigInt + liquidityNet_in: [BigInt!] + liquidityNet_not_in: [BigInt!] + price0: BigDecimal + price0_not: BigDecimal + price0_gt: BigDecimal + price0_lt: BigDecimal + price0_gte: BigDecimal + price0_lte: BigDecimal + price0_in: [BigDecimal!] + price0_not_in: [BigDecimal!] + price1: BigDecimal + price1_not: BigDecimal + price1_gt: BigDecimal + price1_lt: BigDecimal + price1_gte: BigDecimal + price1_lte: BigDecimal + price1_in: [BigDecimal!] + price1_not_in: [BigDecimal!] + volumeToken0: BigDecimal + volumeToken0_not: BigDecimal + volumeToken0_gt: BigDecimal + volumeToken0_lt: BigDecimal + volumeToken0_gte: BigDecimal + volumeToken0_lte: BigDecimal + volumeToken0_in: [BigDecimal!] + volumeToken0_not_in: [BigDecimal!] + volumeToken1: BigDecimal + volumeToken1_not: BigDecimal + volumeToken1_gt: BigDecimal + volumeToken1_lt: BigDecimal + volumeToken1_gte: BigDecimal + volumeToken1_lte: BigDecimal + volumeToken1_in: [BigDecimal!] + volumeToken1_not_in: [BigDecimal!] + volumeUSD: BigDecimal + volumeUSD_not: BigDecimal + volumeUSD_gt: BigDecimal + volumeUSD_lt: BigDecimal + volumeUSD_gte: BigDecimal + volumeUSD_lte: BigDecimal + volumeUSD_in: [BigDecimal!] + volumeUSD_not_in: [BigDecimal!] + untrackedVolumeUSD: BigDecimal + untrackedVolumeUSD_not: BigDecimal + untrackedVolumeUSD_gt: BigDecimal + untrackedVolumeUSD_lt: BigDecimal + untrackedVolumeUSD_gte: BigDecimal + untrackedVolumeUSD_lte: BigDecimal + untrackedVolumeUSD_in: [BigDecimal!] + untrackedVolumeUSD_not_in: [BigDecimal!] + feesUSD: BigDecimal + feesUSD_not: BigDecimal + feesUSD_gt: BigDecimal + feesUSD_lt: BigDecimal + feesUSD_gte: BigDecimal + feesUSD_lte: BigDecimal + feesUSD_in: [BigDecimal!] + feesUSD_not_in: [BigDecimal!] + collectedFeesToken0: BigDecimal + collectedFeesToken0_not: BigDecimal + collectedFeesToken0_gt: BigDecimal + collectedFeesToken0_lt: BigDecimal + collectedFeesToken0_gte: BigDecimal + collectedFeesToken0_lte: BigDecimal + collectedFeesToken0_in: [BigDecimal!] + collectedFeesToken0_not_in: [BigDecimal!] + collectedFeesToken1: BigDecimal + collectedFeesToken1_not: BigDecimal + collectedFeesToken1_gt: BigDecimal + collectedFeesToken1_lt: BigDecimal + collectedFeesToken1_gte: BigDecimal + collectedFeesToken1_lte: BigDecimal + collectedFeesToken1_in: [BigDecimal!] + collectedFeesToken1_not_in: [BigDecimal!] + collectedFeesUSD: BigDecimal + collectedFeesUSD_not: BigDecimal + collectedFeesUSD_gt: BigDecimal + collectedFeesUSD_lt: BigDecimal + collectedFeesUSD_gte: BigDecimal + collectedFeesUSD_lte: BigDecimal + collectedFeesUSD_in: [BigDecimal!] + collectedFeesUSD_not_in: [BigDecimal!] + createdAtTimestamp: BigInt + createdAtTimestamp_not: BigInt + createdAtTimestamp_gt: BigInt + createdAtTimestamp_lt: BigInt + createdAtTimestamp_gte: BigInt + createdAtTimestamp_lte: BigInt + createdAtTimestamp_in: [BigInt!] + createdAtTimestamp_not_in: [BigInt!] + createdAtBlockNumber: BigInt + createdAtBlockNumber_not: BigInt + createdAtBlockNumber_gt: BigInt + createdAtBlockNumber_lt: BigInt + createdAtBlockNumber_gte: BigInt + createdAtBlockNumber_lte: BigInt + createdAtBlockNumber_in: [BigInt!] + createdAtBlockNumber_not_in: [BigInt!] + liquidityProviderCount: BigInt + liquidityProviderCount_not: BigInt + liquidityProviderCount_gt: BigInt + liquidityProviderCount_lt: BigInt + liquidityProviderCount_gte: BigInt + liquidityProviderCount_lte: BigInt + liquidityProviderCount_in: [BigInt!] + liquidityProviderCount_not_in: [BigInt!] + feeGrowthOutside0X128: BigInt + feeGrowthOutside0X128_not: BigInt + feeGrowthOutside0X128_gt: BigInt + feeGrowthOutside0X128_lt: BigInt + feeGrowthOutside0X128_gte: BigInt + feeGrowthOutside0X128_lte: BigInt + feeGrowthOutside0X128_in: [BigInt!] + feeGrowthOutside0X128_not_in: [BigInt!] + feeGrowthOutside1X128: BigInt + feeGrowthOutside1X128_not: BigInt + feeGrowthOutside1X128_gt: BigInt + feeGrowthOutside1X128_lt: BigInt + feeGrowthOutside1X128_gte: BigInt + feeGrowthOutside1X128_lte: BigInt + feeGrowthOutside1X128_in: [BigInt!] + feeGrowthOutside1X128_not_in: [BigInt!] + + """Filter for the block changed event.""" + _change_block: BlockChangedFilter + and: [Tick_filter] + or: [Tick_filter] +} + +enum Tick_orderBy { + id + poolAddress + tickIdx + pool + pool__id + pool__createdAtTimestamp + pool__createdAtBlockNumber + pool__feeTier + pool__liquidity + pool__sqrtPrice + pool__feeGrowthGlobal0X128 + pool__feeGrowthGlobal1X128 + pool__token0Price + pool__token1Price + pool__tick + pool__observationIndex + pool__volumeToken0 + pool__volumeToken1 + pool__volumeUSD + pool__untrackedVolumeUSD + pool__feesUSD + pool__txCount + pool__collectedFeesToken0 + pool__collectedFeesToken1 + pool__collectedFeesUSD + pool__totalValueLockedToken0 + pool__totalValueLockedToken1 + pool__totalValueLockedETH + pool__totalValueLockedUSD + pool__totalValueLockedUSDUntracked + pool__liquidityProviderCount + liquidityGross + liquidityNet + price0 + price1 + volumeToken0 + volumeToken1 + volumeUSD + untrackedVolumeUSD + feesUSD + collectedFeesToken0 + collectedFeesToken1 + collectedFeesUSD + createdAtTimestamp + createdAtBlockNumber + liquidityProviderCount + feeGrowthOutside0X128 + feeGrowthOutside1X128 +} + +type TickDayData { + id: ID! + date: Int! + pool: Pool! + tick: Tick! + liquidityGross: BigInt! + liquidityNet: BigInt! + volumeToken0: BigDecimal! + volumeToken1: BigDecimal! + volumeUSD: BigDecimal! + feesUSD: BigDecimal! + feeGrowthOutside0X128: BigInt! + feeGrowthOutside1X128: BigInt! +} + +input TickDayData_filter { + id: ID + id_not: ID + id_gt: ID + id_lt: ID + id_gte: ID + id_lte: ID + id_in: [ID!] + id_not_in: [ID!] + date: Int + date_not: Int + date_gt: Int + date_lt: Int + date_gte: Int + date_lte: Int + date_in: [Int!] + date_not_in: [Int!] + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_contains: String + pool_contains_nocase: String + pool_not_contains: String + pool_not_contains_nocase: String + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_: Pool_filter + tick: String + tick_not: String + tick_gt: String + tick_lt: String + tick_gte: String + tick_lte: String + tick_in: [String!] + tick_not_in: [String!] + tick_contains: String + tick_contains_nocase: String + tick_not_contains: String + tick_not_contains_nocase: String + tick_starts_with: String + tick_starts_with_nocase: String + tick_not_starts_with: String + tick_not_starts_with_nocase: String + tick_ends_with: String + tick_ends_with_nocase: String + tick_not_ends_with: String + tick_not_ends_with_nocase: String + tick_: Tick_filter + liquidityGross: BigInt + liquidityGross_not: BigInt + liquidityGross_gt: BigInt + liquidityGross_lt: BigInt + liquidityGross_gte: BigInt + liquidityGross_lte: BigInt + liquidityGross_in: [BigInt!] + liquidityGross_not_in: [BigInt!] + liquidityNet: BigInt + liquidityNet_not: BigInt + liquidityNet_gt: BigInt + liquidityNet_lt: BigInt + liquidityNet_gte: BigInt + liquidityNet_lte: BigInt + liquidityNet_in: [BigInt!] + liquidityNet_not_in: [BigInt!] + volumeToken0: BigDecimal + volumeToken0_not: BigDecimal + volumeToken0_gt: BigDecimal + volumeToken0_lt: BigDecimal + volumeToken0_gte: BigDecimal + volumeToken0_lte: BigDecimal + volumeToken0_in: [BigDecimal!] + volumeToken0_not_in: [BigDecimal!] + volumeToken1: BigDecimal + volumeToken1_not: BigDecimal + volumeToken1_gt: BigDecimal + volumeToken1_lt: BigDecimal + volumeToken1_gte: BigDecimal + volumeToken1_lte: BigDecimal + volumeToken1_in: [BigDecimal!] + volumeToken1_not_in: [BigDecimal!] + volumeUSD: BigDecimal + volumeUSD_not: BigDecimal + volumeUSD_gt: BigDecimal + volumeUSD_lt: BigDecimal + volumeUSD_gte: BigDecimal + volumeUSD_lte: BigDecimal + volumeUSD_in: [BigDecimal!] + volumeUSD_not_in: [BigDecimal!] + feesUSD: BigDecimal + feesUSD_not: BigDecimal + feesUSD_gt: BigDecimal + feesUSD_lt: BigDecimal + feesUSD_gte: BigDecimal + feesUSD_lte: BigDecimal + feesUSD_in: [BigDecimal!] + feesUSD_not_in: [BigDecimal!] + feeGrowthOutside0X128: BigInt + feeGrowthOutside0X128_not: BigInt + feeGrowthOutside0X128_gt: BigInt + feeGrowthOutside0X128_lt: BigInt + feeGrowthOutside0X128_gte: BigInt + feeGrowthOutside0X128_lte: BigInt + feeGrowthOutside0X128_in: [BigInt!] + feeGrowthOutside0X128_not_in: [BigInt!] + feeGrowthOutside1X128: BigInt + feeGrowthOutside1X128_not: BigInt + feeGrowthOutside1X128_gt: BigInt + feeGrowthOutside1X128_lt: BigInt + feeGrowthOutside1X128_gte: BigInt + feeGrowthOutside1X128_lte: BigInt + feeGrowthOutside1X128_in: [BigInt!] + feeGrowthOutside1X128_not_in: [BigInt!] + + """Filter for the block changed event.""" + _change_block: BlockChangedFilter + and: [TickDayData_filter] + or: [TickDayData_filter] +} + +enum TickDayData_orderBy { + id + date + pool + pool__id + pool__createdAtTimestamp + pool__createdAtBlockNumber + pool__feeTier + pool__liquidity + pool__sqrtPrice + pool__feeGrowthGlobal0X128 + pool__feeGrowthGlobal1X128 + pool__token0Price + pool__token1Price + pool__tick + pool__observationIndex + pool__volumeToken0 + pool__volumeToken1 + pool__volumeUSD + pool__untrackedVolumeUSD + pool__feesUSD + pool__txCount + pool__collectedFeesToken0 + pool__collectedFeesToken1 + pool__collectedFeesUSD + pool__totalValueLockedToken0 + pool__totalValueLockedToken1 + pool__totalValueLockedETH + pool__totalValueLockedUSD + pool__totalValueLockedUSDUntracked + pool__liquidityProviderCount + tick + tick__id + tick__poolAddress + tick__tickIdx + tick__liquidityGross + tick__liquidityNet + tick__price0 + tick__price1 + tick__volumeToken0 + tick__volumeToken1 + tick__volumeUSD + tick__untrackedVolumeUSD + tick__feesUSD + tick__collectedFeesToken0 + tick__collectedFeesToken1 + tick__collectedFeesUSD + tick__createdAtTimestamp + tick__createdAtBlockNumber + tick__liquidityProviderCount + tick__feeGrowthOutside0X128 + tick__feeGrowthOutside1X128 + liquidityGross + liquidityNet + volumeToken0 + volumeToken1 + volumeUSD + feesUSD + feeGrowthOutside0X128 + feeGrowthOutside1X128 +} + +type TickHourData { + id: ID! + periodStartUnix: Int! + pool: Pool! + tick: Tick! + liquidityGross: BigInt! + liquidityNet: BigInt! + volumeToken0: BigDecimal! + volumeToken1: BigDecimal! + volumeUSD: BigDecimal! + feesUSD: BigDecimal! +} + +input TickHourData_filter { + id: ID + id_not: ID + id_gt: ID + id_lt: ID + id_gte: ID + id_lte: ID + id_in: [ID!] + id_not_in: [ID!] + periodStartUnix: Int + periodStartUnix_not: Int + periodStartUnix_gt: Int + periodStartUnix_lt: Int + periodStartUnix_gte: Int + periodStartUnix_lte: Int + periodStartUnix_in: [Int!] + periodStartUnix_not_in: [Int!] + pool: String + pool_not: String + pool_gt: String + pool_lt: String + pool_gte: String + pool_lte: String + pool_in: [String!] + pool_not_in: [String!] + pool_contains: String + pool_contains_nocase: String + pool_not_contains: String + pool_not_contains_nocase: String + pool_starts_with: String + pool_starts_with_nocase: String + pool_not_starts_with: String + pool_not_starts_with_nocase: String + pool_ends_with: String + pool_ends_with_nocase: String + pool_not_ends_with: String + pool_not_ends_with_nocase: String + pool_: Pool_filter + tick: String + tick_not: String + tick_gt: String + tick_lt: String + tick_gte: String + tick_lte: String + tick_in: [String!] + tick_not_in: [String!] + tick_contains: String + tick_contains_nocase: String + tick_not_contains: String + tick_not_contains_nocase: String + tick_starts_with: String + tick_starts_with_nocase: String + tick_not_starts_with: String + tick_not_starts_with_nocase: String + tick_ends_with: String + tick_ends_with_nocase: String + tick_not_ends_with: String + tick_not_ends_with_nocase: String + tick_: Tick_filter + liquidityGross: BigInt + liquidityGross_not: BigInt + liquidityGross_gt: BigInt + liquidityGross_lt: BigInt + liquidityGross_gte: BigInt + liquidityGross_lte: BigInt + liquidityGross_in: [BigInt!] + liquidityGross_not_in: [BigInt!] + liquidityNet: BigInt + liquidityNet_not: BigInt + liquidityNet_gt: BigInt + liquidityNet_lt: BigInt + liquidityNet_gte: BigInt + liquidityNet_lte: BigInt + liquidityNet_in: [BigInt!] + liquidityNet_not_in: [BigInt!] + volumeToken0: BigDecimal + volumeToken0_not: BigDecimal + volumeToken0_gt: BigDecimal + volumeToken0_lt: BigDecimal + volumeToken0_gte: BigDecimal + volumeToken0_lte: BigDecimal + volumeToken0_in: [BigDecimal!] + volumeToken0_not_in: [BigDecimal!] + volumeToken1: BigDecimal + volumeToken1_not: BigDecimal + volumeToken1_gt: BigDecimal + volumeToken1_lt: BigDecimal + volumeToken1_gte: BigDecimal + volumeToken1_lte: BigDecimal + volumeToken1_in: [BigDecimal!] + volumeToken1_not_in: [BigDecimal!] + volumeUSD: BigDecimal + volumeUSD_not: BigDecimal + volumeUSD_gt: BigDecimal + volumeUSD_lt: BigDecimal + volumeUSD_gte: BigDecimal + volumeUSD_lte: BigDecimal + volumeUSD_in: [BigDecimal!] + volumeUSD_not_in: [BigDecimal!] + feesUSD: BigDecimal + feesUSD_not: BigDecimal + feesUSD_gt: BigDecimal + feesUSD_lt: BigDecimal + feesUSD_gte: BigDecimal + feesUSD_lte: BigDecimal + feesUSD_in: [BigDecimal!] + feesUSD_not_in: [BigDecimal!] + + """Filter for the block changed event.""" + _change_block: BlockChangedFilter + and: [TickHourData_filter] + or: [TickHourData_filter] +} + +enum TickHourData_orderBy { + id + periodStartUnix + pool + pool__id + pool__createdAtTimestamp + pool__createdAtBlockNumber + pool__feeTier + pool__liquidity + pool__sqrtPrice + pool__feeGrowthGlobal0X128 + pool__feeGrowthGlobal1X128 + pool__token0Price + pool__token1Price + pool__tick + pool__observationIndex + pool__volumeToken0 + pool__volumeToken1 + pool__volumeUSD + pool__untrackedVolumeUSD + pool__feesUSD + pool__txCount + pool__collectedFeesToken0 + pool__collectedFeesToken1 + pool__collectedFeesUSD + pool__totalValueLockedToken0 + pool__totalValueLockedToken1 + pool__totalValueLockedETH + pool__totalValueLockedUSD + pool__totalValueLockedUSDUntracked + pool__liquidityProviderCount + tick + tick__id + tick__poolAddress + tick__tickIdx + tick__liquidityGross + tick__liquidityNet + tick__price0 + tick__price1 + tick__volumeToken0 + tick__volumeToken1 + tick__volumeUSD + tick__untrackedVolumeUSD + tick__feesUSD + tick__collectedFeesToken0 + tick__collectedFeesToken1 + tick__collectedFeesUSD + tick__createdAtTimestamp + tick__createdAtBlockNumber + tick__liquidityProviderCount + tick__feeGrowthOutside0X128 + tick__feeGrowthOutside1X128 + liquidityGross + liquidityNet + volumeToken0 + volumeToken1 + volumeUSD + feesUSD +} + +type Token { + id: ID! + symbol: String! + name: String! + decimals: BigInt! + totalSupply: BigInt! + volume: BigDecimal! + volumeUSD: BigDecimal! + untrackedVolumeUSD: BigDecimal! + feesUSD: BigDecimal! + txCount: BigInt! + poolCount: BigInt! + totalValueLocked: BigDecimal! + totalValueLockedUSD: BigDecimal! + totalValueLockedUSDUntracked: BigDecimal! + derivedETH: BigDecimal! + whitelistPools(skip: Int = 0, first: Int = 100, orderBy: Pool_orderBy, orderDirection: OrderDirection, where: Pool_filter): [Pool!]! + tokenDayData(skip: Int = 0, first: Int = 100, orderBy: TokenDayData_orderBy, orderDirection: OrderDirection, where: TokenDayData_filter): [TokenDayData!]! +} + +input Token_filter { + id: ID + id_not: ID + id_gt: ID + id_lt: ID + id_gte: ID + id_lte: ID + id_in: [ID!] + id_not_in: [ID!] + symbol: String + symbol_not: String + symbol_gt: String + symbol_lt: String + symbol_gte: String + symbol_lte: String + symbol_in: [String!] + symbol_not_in: [String!] + symbol_contains: String + symbol_contains_nocase: String + symbol_not_contains: String + symbol_not_contains_nocase: String + symbol_starts_with: String + symbol_starts_with_nocase: String + symbol_not_starts_with: String + symbol_not_starts_with_nocase: String + symbol_ends_with: String + symbol_ends_with_nocase: String + symbol_not_ends_with: String + symbol_not_ends_with_nocase: String + name: String + name_not: String + name_gt: String + name_lt: String + name_gte: String + name_lte: String + name_in: [String!] + name_not_in: [String!] + name_contains: String + name_contains_nocase: String + name_not_contains: String + name_not_contains_nocase: String + name_starts_with: String + name_starts_with_nocase: String + name_not_starts_with: String + name_not_starts_with_nocase: String + name_ends_with: String + name_ends_with_nocase: String + name_not_ends_with: String + name_not_ends_with_nocase: String + decimals: BigInt + decimals_not: BigInt + decimals_gt: BigInt + decimals_lt: BigInt + decimals_gte: BigInt + decimals_lte: BigInt + decimals_in: [BigInt!] + decimals_not_in: [BigInt!] + totalSupply: BigInt + totalSupply_not: BigInt + totalSupply_gt: BigInt + totalSupply_lt: BigInt + totalSupply_gte: BigInt + totalSupply_lte: BigInt + totalSupply_in: [BigInt!] + totalSupply_not_in: [BigInt!] + volume: BigDecimal + volume_not: BigDecimal + volume_gt: BigDecimal + volume_lt: BigDecimal + volume_gte: BigDecimal + volume_lte: BigDecimal + volume_in: [BigDecimal!] + volume_not_in: [BigDecimal!] + volumeUSD: BigDecimal + volumeUSD_not: BigDecimal + volumeUSD_gt: BigDecimal + volumeUSD_lt: BigDecimal + volumeUSD_gte: BigDecimal + volumeUSD_lte: BigDecimal + volumeUSD_in: [BigDecimal!] + volumeUSD_not_in: [BigDecimal!] + untrackedVolumeUSD: BigDecimal + untrackedVolumeUSD_not: BigDecimal + untrackedVolumeUSD_gt: BigDecimal + untrackedVolumeUSD_lt: BigDecimal + untrackedVolumeUSD_gte: BigDecimal + untrackedVolumeUSD_lte: BigDecimal + untrackedVolumeUSD_in: [BigDecimal!] + untrackedVolumeUSD_not_in: [BigDecimal!] + feesUSD: BigDecimal + feesUSD_not: BigDecimal + feesUSD_gt: BigDecimal + feesUSD_lt: BigDecimal + feesUSD_gte: BigDecimal + feesUSD_lte: BigDecimal + feesUSD_in: [BigDecimal!] + feesUSD_not_in: [BigDecimal!] + txCount: BigInt + txCount_not: BigInt + txCount_gt: BigInt + txCount_lt: BigInt + txCount_gte: BigInt + txCount_lte: BigInt + txCount_in: [BigInt!] + txCount_not_in: [BigInt!] + poolCount: BigInt + poolCount_not: BigInt + poolCount_gt: BigInt + poolCount_lt: BigInt + poolCount_gte: BigInt + poolCount_lte: BigInt + poolCount_in: [BigInt!] + poolCount_not_in: [BigInt!] + totalValueLocked: BigDecimal + totalValueLocked_not: BigDecimal + totalValueLocked_gt: BigDecimal + totalValueLocked_lt: BigDecimal + totalValueLocked_gte: BigDecimal + totalValueLocked_lte: BigDecimal + totalValueLocked_in: [BigDecimal!] + totalValueLocked_not_in: [BigDecimal!] + totalValueLockedUSD: BigDecimal + totalValueLockedUSD_not: BigDecimal + totalValueLockedUSD_gt: BigDecimal + totalValueLockedUSD_lt: BigDecimal + totalValueLockedUSD_gte: BigDecimal + totalValueLockedUSD_lte: BigDecimal + totalValueLockedUSD_in: [BigDecimal!] + totalValueLockedUSD_not_in: [BigDecimal!] + totalValueLockedUSDUntracked: BigDecimal + totalValueLockedUSDUntracked_not: BigDecimal + totalValueLockedUSDUntracked_gt: BigDecimal + totalValueLockedUSDUntracked_lt: BigDecimal + totalValueLockedUSDUntracked_gte: BigDecimal + totalValueLockedUSDUntracked_lte: BigDecimal + totalValueLockedUSDUntracked_in: [BigDecimal!] + totalValueLockedUSDUntracked_not_in: [BigDecimal!] + derivedETH: BigDecimal + derivedETH_not: BigDecimal + derivedETH_gt: BigDecimal + derivedETH_lt: BigDecimal + derivedETH_gte: BigDecimal + derivedETH_lte: BigDecimal + derivedETH_in: [BigDecimal!] + derivedETH_not_in: [BigDecimal!] + whitelistPools: [String!] + whitelistPools_not: [String!] + whitelistPools_contains: [String!] + whitelistPools_contains_nocase: [String!] + whitelistPools_not_contains: [String!] + whitelistPools_not_contains_nocase: [String!] + whitelistPools_: Pool_filter + tokenDayData_: TokenDayData_filter + + """Filter for the block changed event.""" + _change_block: BlockChangedFilter + and: [Token_filter] + or: [Token_filter] +} + +enum Token_orderBy { + id + symbol + name + decimals + totalSupply + volume + volumeUSD + untrackedVolumeUSD + feesUSD + txCount + poolCount + totalValueLocked + totalValueLockedUSD + totalValueLockedUSDUntracked + derivedETH + whitelistPools + tokenDayData +} + +type TokenDayData { + id: ID! + date: Int! + token: Token! + volume: BigDecimal! + volumeUSD: BigDecimal! + untrackedVolumeUSD: BigDecimal! + totalValueLocked: BigDecimal! + totalValueLockedUSD: BigDecimal! + priceUSD: BigDecimal! + feesUSD: BigDecimal! + open: BigDecimal! + high: BigDecimal! + low: BigDecimal! + close: BigDecimal! +} + +input TokenDayData_filter { + id: ID + id_not: ID + id_gt: ID + id_lt: ID + id_gte: ID + id_lte: ID + id_in: [ID!] + id_not_in: [ID!] + date: Int + date_not: Int + date_gt: Int + date_lt: Int + date_gte: Int + date_lte: Int + date_in: [Int!] + date_not_in: [Int!] + token: String + token_not: String + token_gt: String + token_lt: String + token_gte: String + token_lte: String + token_in: [String!] + token_not_in: [String!] + token_contains: String + token_contains_nocase: String + token_not_contains: String + token_not_contains_nocase: String + token_starts_with: String + token_starts_with_nocase: String + token_not_starts_with: String + token_not_starts_with_nocase: String + token_ends_with: String + token_ends_with_nocase: String + token_not_ends_with: String + token_not_ends_with_nocase: String + token_: Token_filter + volume: BigDecimal + volume_not: BigDecimal + volume_gt: BigDecimal + volume_lt: BigDecimal + volume_gte: BigDecimal + volume_lte: BigDecimal + volume_in: [BigDecimal!] + volume_not_in: [BigDecimal!] + volumeUSD: BigDecimal + volumeUSD_not: BigDecimal + volumeUSD_gt: BigDecimal + volumeUSD_lt: BigDecimal + volumeUSD_gte: BigDecimal + volumeUSD_lte: BigDecimal + volumeUSD_in: [BigDecimal!] + volumeUSD_not_in: [BigDecimal!] + untrackedVolumeUSD: BigDecimal + untrackedVolumeUSD_not: BigDecimal + untrackedVolumeUSD_gt: BigDecimal + untrackedVolumeUSD_lt: BigDecimal + untrackedVolumeUSD_gte: BigDecimal + untrackedVolumeUSD_lte: BigDecimal + untrackedVolumeUSD_in: [BigDecimal!] + untrackedVolumeUSD_not_in: [BigDecimal!] + totalValueLocked: BigDecimal + totalValueLocked_not: BigDecimal + totalValueLocked_gt: BigDecimal + totalValueLocked_lt: BigDecimal + totalValueLocked_gte: BigDecimal + totalValueLocked_lte: BigDecimal + totalValueLocked_in: [BigDecimal!] + totalValueLocked_not_in: [BigDecimal!] + totalValueLockedUSD: BigDecimal + totalValueLockedUSD_not: BigDecimal + totalValueLockedUSD_gt: BigDecimal + totalValueLockedUSD_lt: BigDecimal + totalValueLockedUSD_gte: BigDecimal + totalValueLockedUSD_lte: BigDecimal + totalValueLockedUSD_in: [BigDecimal!] + totalValueLockedUSD_not_in: [BigDecimal!] + priceUSD: BigDecimal + priceUSD_not: BigDecimal + priceUSD_gt: BigDecimal + priceUSD_lt: BigDecimal + priceUSD_gte: BigDecimal + priceUSD_lte: BigDecimal + priceUSD_in: [BigDecimal!] + priceUSD_not_in: [BigDecimal!] + feesUSD: BigDecimal + feesUSD_not: BigDecimal + feesUSD_gt: BigDecimal + feesUSD_lt: BigDecimal + feesUSD_gte: BigDecimal + feesUSD_lte: BigDecimal + feesUSD_in: [BigDecimal!] + feesUSD_not_in: [BigDecimal!] + open: BigDecimal + open_not: BigDecimal + open_gt: BigDecimal + open_lt: BigDecimal + open_gte: BigDecimal + open_lte: BigDecimal + open_in: [BigDecimal!] + open_not_in: [BigDecimal!] + high: BigDecimal + high_not: BigDecimal + high_gt: BigDecimal + high_lt: BigDecimal + high_gte: BigDecimal + high_lte: BigDecimal + high_in: [BigDecimal!] + high_not_in: [BigDecimal!] + low: BigDecimal + low_not: BigDecimal + low_gt: BigDecimal + low_lt: BigDecimal + low_gte: BigDecimal + low_lte: BigDecimal + low_in: [BigDecimal!] + low_not_in: [BigDecimal!] + close: BigDecimal + close_not: BigDecimal + close_gt: BigDecimal + close_lt: BigDecimal + close_gte: BigDecimal + close_lte: BigDecimal + close_in: [BigDecimal!] + close_not_in: [BigDecimal!] + + """Filter for the block changed event.""" + _change_block: BlockChangedFilter + and: [TokenDayData_filter] + or: [TokenDayData_filter] +} + +enum TokenDayData_orderBy { + id + date + token + token__id + token__symbol + token__name + token__decimals + token__totalSupply + token__volume + token__volumeUSD + token__untrackedVolumeUSD + token__feesUSD + token__txCount + token__poolCount + token__totalValueLocked + token__totalValueLockedUSD + token__totalValueLockedUSDUntracked + token__derivedETH + volume + volumeUSD + untrackedVolumeUSD + totalValueLocked + totalValueLockedUSD + priceUSD + feesUSD + open + high + low + close +} + +type TokenHourData { + id: ID! + periodStartUnix: Int! + token: Token! + volume: BigDecimal! + volumeUSD: BigDecimal! + untrackedVolumeUSD: BigDecimal! + totalValueLocked: BigDecimal! + totalValueLockedUSD: BigDecimal! + priceUSD: BigDecimal! + feesUSD: BigDecimal! + open: BigDecimal! + high: BigDecimal! + low: BigDecimal! + close: BigDecimal! +} + +input TokenHourData_filter { + id: ID + id_not: ID + id_gt: ID + id_lt: ID + id_gte: ID + id_lte: ID + id_in: [ID!] + id_not_in: [ID!] + periodStartUnix: Int + periodStartUnix_not: Int + periodStartUnix_gt: Int + periodStartUnix_lt: Int + periodStartUnix_gte: Int + periodStartUnix_lte: Int + periodStartUnix_in: [Int!] + periodStartUnix_not_in: [Int!] + token: String + token_not: String + token_gt: String + token_lt: String + token_gte: String + token_lte: String + token_in: [String!] + token_not_in: [String!] + token_contains: String + token_contains_nocase: String + token_not_contains: String + token_not_contains_nocase: String + token_starts_with: String + token_starts_with_nocase: String + token_not_starts_with: String + token_not_starts_with_nocase: String + token_ends_with: String + token_ends_with_nocase: String + token_not_ends_with: String + token_not_ends_with_nocase: String + token_: Token_filter + volume: BigDecimal + volume_not: BigDecimal + volume_gt: BigDecimal + volume_lt: BigDecimal + volume_gte: BigDecimal + volume_lte: BigDecimal + volume_in: [BigDecimal!] + volume_not_in: [BigDecimal!] + volumeUSD: BigDecimal + volumeUSD_not: BigDecimal + volumeUSD_gt: BigDecimal + volumeUSD_lt: BigDecimal + volumeUSD_gte: BigDecimal + volumeUSD_lte: BigDecimal + volumeUSD_in: [BigDecimal!] + volumeUSD_not_in: [BigDecimal!] + untrackedVolumeUSD: BigDecimal + untrackedVolumeUSD_not: BigDecimal + untrackedVolumeUSD_gt: BigDecimal + untrackedVolumeUSD_lt: BigDecimal + untrackedVolumeUSD_gte: BigDecimal + untrackedVolumeUSD_lte: BigDecimal + untrackedVolumeUSD_in: [BigDecimal!] + untrackedVolumeUSD_not_in: [BigDecimal!] + totalValueLocked: BigDecimal + totalValueLocked_not: BigDecimal + totalValueLocked_gt: BigDecimal + totalValueLocked_lt: BigDecimal + totalValueLocked_gte: BigDecimal + totalValueLocked_lte: BigDecimal + totalValueLocked_in: [BigDecimal!] + totalValueLocked_not_in: [BigDecimal!] + totalValueLockedUSD: BigDecimal + totalValueLockedUSD_not: BigDecimal + totalValueLockedUSD_gt: BigDecimal + totalValueLockedUSD_lt: BigDecimal + totalValueLockedUSD_gte: BigDecimal + totalValueLockedUSD_lte: BigDecimal + totalValueLockedUSD_in: [BigDecimal!] + totalValueLockedUSD_not_in: [BigDecimal!] + priceUSD: BigDecimal + priceUSD_not: BigDecimal + priceUSD_gt: BigDecimal + priceUSD_lt: BigDecimal + priceUSD_gte: BigDecimal + priceUSD_lte: BigDecimal + priceUSD_in: [BigDecimal!] + priceUSD_not_in: [BigDecimal!] + feesUSD: BigDecimal + feesUSD_not: BigDecimal + feesUSD_gt: BigDecimal + feesUSD_lt: BigDecimal + feesUSD_gte: BigDecimal + feesUSD_lte: BigDecimal + feesUSD_in: [BigDecimal!] + feesUSD_not_in: [BigDecimal!] + open: BigDecimal + open_not: BigDecimal + open_gt: BigDecimal + open_lt: BigDecimal + open_gte: BigDecimal + open_lte: BigDecimal + open_in: [BigDecimal!] + open_not_in: [BigDecimal!] + high: BigDecimal + high_not: BigDecimal + high_gt: BigDecimal + high_lt: BigDecimal + high_gte: BigDecimal + high_lte: BigDecimal + high_in: [BigDecimal!] + high_not_in: [BigDecimal!] + low: BigDecimal + low_not: BigDecimal + low_gt: BigDecimal + low_lt: BigDecimal + low_gte: BigDecimal + low_lte: BigDecimal + low_in: [BigDecimal!] + low_not_in: [BigDecimal!] + close: BigDecimal + close_not: BigDecimal + close_gt: BigDecimal + close_lt: BigDecimal + close_gte: BigDecimal + close_lte: BigDecimal + close_in: [BigDecimal!] + close_not_in: [BigDecimal!] + + """Filter for the block changed event.""" + _change_block: BlockChangedFilter + and: [TokenHourData_filter] + or: [TokenHourData_filter] +} + +enum TokenHourData_orderBy { + id + periodStartUnix + token + token__id + token__symbol + token__name + token__decimals + token__totalSupply + token__volume + token__volumeUSD + token__untrackedVolumeUSD + token__feesUSD + token__txCount + token__poolCount + token__totalValueLocked + token__totalValueLockedUSD + token__totalValueLockedUSDUntracked + token__derivedETH + volume + volumeUSD + untrackedVolumeUSD + totalValueLocked + totalValueLockedUSD + priceUSD + feesUSD + open + high + low + close +} + +type Transaction { + id: ID! + blockNumber: BigInt! + timestamp: BigInt! + gasUsed: BigInt! + gasPrice: BigInt! + mints(skip: Int = 0, first: Int = 100, orderBy: Mint_orderBy, orderDirection: OrderDirection, where: Mint_filter): [Mint]! + burns(skip: Int = 0, first: Int = 100, orderBy: Burn_orderBy, orderDirection: OrderDirection, where: Burn_filter): [Burn]! + swaps(skip: Int = 0, first: Int = 100, orderBy: Swap_orderBy, orderDirection: OrderDirection, where: Swap_filter): [Swap]! + flashed(skip: Int = 0, first: Int = 100, orderBy: Flash_orderBy, orderDirection: OrderDirection, where: Flash_filter): [Flash]! + collects(skip: Int = 0, first: Int = 100, orderBy: Collect_orderBy, orderDirection: OrderDirection, where: Collect_filter): [Collect]! +} + +input Transaction_filter { + id: ID + id_not: ID + id_gt: ID + id_lt: ID + id_gte: ID + id_lte: ID + id_in: [ID!] + id_not_in: [ID!] + blockNumber: BigInt + blockNumber_not: BigInt + blockNumber_gt: BigInt + blockNumber_lt: BigInt + blockNumber_gte: BigInt + blockNumber_lte: BigInt + blockNumber_in: [BigInt!] + blockNumber_not_in: [BigInt!] + timestamp: BigInt + timestamp_not: BigInt + timestamp_gt: BigInt + timestamp_lt: BigInt + timestamp_gte: BigInt + timestamp_lte: BigInt + timestamp_in: [BigInt!] + timestamp_not_in: [BigInt!] + gasUsed: BigInt + gasUsed_not: BigInt + gasUsed_gt: BigInt + gasUsed_lt: BigInt + gasUsed_gte: BigInt + gasUsed_lte: BigInt + gasUsed_in: [BigInt!] + gasUsed_not_in: [BigInt!] + gasPrice: BigInt + gasPrice_not: BigInt + gasPrice_gt: BigInt + gasPrice_lt: BigInt + gasPrice_gte: BigInt + gasPrice_lte: BigInt + gasPrice_in: [BigInt!] + gasPrice_not_in: [BigInt!] + mints_: Mint_filter + burns_: Burn_filter + swaps_: Swap_filter + flashed_: Flash_filter + collects_: Collect_filter + + """Filter for the block changed event.""" + _change_block: BlockChangedFilter + and: [Transaction_filter] + or: [Transaction_filter] +} + +enum Transaction_orderBy { + id + blockNumber + timestamp + gasUsed + gasPrice + mints + burns + swaps + flashed + collects +} + +type UniswapDayData { + id: ID! + date: Int! + volumeETH: BigDecimal! + volumeUSD: BigDecimal! + volumeUSDUntracked: BigDecimal! + feesUSD: BigDecimal! + txCount: BigInt! + tvlUSD: BigDecimal! +} + +input UniswapDayData_filter { + id: ID + id_not: ID + id_gt: ID + id_lt: ID + id_gte: ID + id_lte: ID + id_in: [ID!] + id_not_in: [ID!] + date: Int + date_not: Int + date_gt: Int + date_lt: Int + date_gte: Int + date_lte: Int + date_in: [Int!] + date_not_in: [Int!] + volumeETH: BigDecimal + volumeETH_not: BigDecimal + volumeETH_gt: BigDecimal + volumeETH_lt: BigDecimal + volumeETH_gte: BigDecimal + volumeETH_lte: BigDecimal + volumeETH_in: [BigDecimal!] + volumeETH_not_in: [BigDecimal!] + volumeUSD: BigDecimal + volumeUSD_not: BigDecimal + volumeUSD_gt: BigDecimal + volumeUSD_lt: BigDecimal + volumeUSD_gte: BigDecimal + volumeUSD_lte: BigDecimal + volumeUSD_in: [BigDecimal!] + volumeUSD_not_in: [BigDecimal!] + volumeUSDUntracked: BigDecimal + volumeUSDUntracked_not: BigDecimal + volumeUSDUntracked_gt: BigDecimal + volumeUSDUntracked_lt: BigDecimal + volumeUSDUntracked_gte: BigDecimal + volumeUSDUntracked_lte: BigDecimal + volumeUSDUntracked_in: [BigDecimal!] + volumeUSDUntracked_not_in: [BigDecimal!] + feesUSD: BigDecimal + feesUSD_not: BigDecimal + feesUSD_gt: BigDecimal + feesUSD_lt: BigDecimal + feesUSD_gte: BigDecimal + feesUSD_lte: BigDecimal + feesUSD_in: [BigDecimal!] + feesUSD_not_in: [BigDecimal!] + txCount: BigInt + txCount_not: BigInt + txCount_gt: BigInt + txCount_lt: BigInt + txCount_gte: BigInt + txCount_lte: BigInt + txCount_in: [BigInt!] + txCount_not_in: [BigInt!] + tvlUSD: BigDecimal + tvlUSD_not: BigDecimal + tvlUSD_gt: BigDecimal + tvlUSD_lt: BigDecimal + tvlUSD_gte: BigDecimal + tvlUSD_lte: BigDecimal + tvlUSD_in: [BigDecimal!] + tvlUSD_not_in: [BigDecimal!] + + """Filter for the block changed event.""" + _change_block: BlockChangedFilter + and: [UniswapDayData_filter] + or: [UniswapDayData_filter] +} + +enum UniswapDayData_orderBy { + id + date + volumeETH + volumeUSD + volumeUSDUntracked + feesUSD + txCount + tvlUSD +} + diff --git a/src/hooks/Tokens.ts b/src/hooks/Tokens.ts index 845b70b5902..0db9328d000 100644 --- a/src/hooks/Tokens.ts +++ b/src/hooks/Tokens.ts @@ -1,12 +1,9 @@ import { Currency, Token } from '@uniswap/sdk-core' import { useWeb3React } from '@web3-react/core' -import { getChainInfo } from 'constants/chainInfo' -import { SupportedChainId } from 'constants/chains' import { DEFAULT_INACTIVE_LIST_URLS } from 'constants/lists' import { useCurrencyFromMap, useTokenFromMapOrNetwork } from 'lib/hooks/useCurrency' import { getTokenFilter } from 'lib/hooks/useTokenList/filtering' import { useMemo } from 'react' -import { isL2ChainId } from 'utils/chains' import { useAllLists, useCombinedActiveList } from '../state/lists/hooks' import { WrappedTokenInfo } from '../state/lists/wrappedTokenInfo' @@ -48,57 +45,11 @@ export function useAllTokens(): { [address: string]: Token } { }, [tokensFromMap, userAddedTokens]) } -type BridgeInfo = Record< - SupportedChainId, - { - tokenAddress: string - originBridgeAddress: string - destBridgeAddress: string - } -> - export function useUnsupportedTokens(): { [address: string]: Token } { - const { chainId } = useWeb3React() - const listsByUrl = useAllLists() const unsupportedTokensMap = useUnsupportedTokenList() const unsupportedTokens = useTokensFromMap(unsupportedTokensMap) - // checks the default L2 lists to see if `bridgeInfo` has an L1 address value that is unsupported - const l2InferredBlockedTokens: typeof unsupportedTokens = useMemo(() => { - if (!chainId || !isL2ChainId(chainId)) { - return {} - } - - if (!listsByUrl) { - return {} - } - - const listUrl = getChainInfo(chainId).defaultListUrl - - const { current: list } = listsByUrl[listUrl] - if (!list) { - return {} - } - - const unsupportedSet = new Set(Object.keys(unsupportedTokens)) - - return list.tokens.reduce((acc, tokenInfo) => { - const bridgeInfo = tokenInfo.extensions?.bridgeInfo as unknown as BridgeInfo - if ( - bridgeInfo && - bridgeInfo[SupportedChainId.MAINNET] && - bridgeInfo[SupportedChainId.MAINNET].tokenAddress && - unsupportedSet.has(bridgeInfo[SupportedChainId.MAINNET].tokenAddress) - ) { - const address = bridgeInfo[SupportedChainId.MAINNET].tokenAddress - // don't rely on decimals--it's possible that a token could be bridged w/ different decimals on the L2 - return { ...acc, [address]: new Token(SupportedChainId.MAINNET, address, tokenInfo.decimals) } - } - return acc - }, {}) - }, [chainId, listsByUrl, unsupportedTokens]) - - return { ...unsupportedTokens, ...l2InferredBlockedTokens } + return { ...unsupportedTokens } } export function useSearchInactiveTokenLists(search: string | undefined, minResults = 10): WrappedTokenInfo[] { diff --git a/src/hooks/useAccountRiskCheck.ts b/src/hooks/useAccountRiskCheck.ts index 5cbf25289f4..0dd6abf6aab 100644 --- a/src/hooks/useAccountRiskCheck.ts +++ b/src/hooks/useAccountRiskCheck.ts @@ -1,3 +1,4 @@ +/* eslint-disable import/no-unused-modules */ import { sendEvent } from 'components/analytics' import ms from 'ms.macro' import { useEffect } from 'react' diff --git a/src/hooks/useActiveLocale.ts b/src/hooks/useActiveLocale.ts index d14b34863eb..7b47460c244 100644 --- a/src/hooks/useActiveLocale.ts +++ b/src/hooks/useActiveLocale.ts @@ -1,3 +1,4 @@ +/* eslint-disable import/no-unused-modules */ import { DEFAULT_LOCALE, SUPPORTED_LOCALES, SupportedLocale } from 'constants/locales' import { useMemo } from 'react' import store from 'state' diff --git a/src/hooks/useApproveCallback.ts b/src/hooks/useApproveCallback.ts index c5377455c2a..261a19c0cec 100644 --- a/src/hooks/useApproveCallback.ts +++ b/src/hooks/useApproveCallback.ts @@ -1,4 +1,6 @@ -import { Currency, CurrencyAmount } from '@uniswap/sdk-core' +import { Trade } from '@uniswap/router-sdk' +import { Currency, CurrencyAmount, Percent, TradeType } from '@uniswap/sdk-core' +import useSwapApproval from 'lib/hooks/swap/useSwapApproval' import { ApprovalState, useApproval } from 'lib/hooks/useApproval' import { useCallback } from 'react' @@ -26,3 +28,11 @@ export function useApproveCallback( const [approval, getApproval] = useApproval(amountToApprove, spender, useHasPendingApproval) return [approval, useGetAndTrackApproval(getApproval)] } + +export function useApproveCallbackFromTrade( + trade: Trade | undefined, + allowedSlippage: Percent +): [ApprovalState, () => Promise] { + const [approval, getApproval] = useSwapApproval(trade, allowedSlippage, useHasPendingApproval) + return [approval, useGetAndTrackApproval(getApproval)] +} diff --git a/src/hooks/useAssetLogoSource.ts b/src/hooks/useAssetLogoSource.ts index 4871eb3e979..c74544ec748 100644 --- a/src/hooks/useAssetLogoSource.ts +++ b/src/hooks/useAssetLogoSource.ts @@ -1,5 +1,5 @@ import TokenLogoLookupTable from 'constants/TokenLogoLookupTable' -import { chainIdToNetworkName, getNativeLogoURI } from 'lib/hooks/useCurrencyLogoURIs' +import { getNativeLogoURI } from 'lib/hooks/useCurrencyLogoURIs' import uriToHttp from 'lib/utils/uriToHttp' import { useCallback, useEffect, useState } from 'react' import { isAddress } from 'utils' @@ -37,10 +37,9 @@ function prioritizeLogoSources(uris: string[]) { function getInitialUrl(address?: string | null, chainId?: number | null, isNative?: boolean) { if (chainId && isNative) return getNativeLogoURI(chainId) - const networkName = chainId ? chainIdToNetworkName(chainId) : 'ethereum' const checksummedAddress = isAddress(address) if (checksummedAddress) { - return `https://raw.githubusercontent.com/Uniswap/assets/master/blockchains/${networkName}/assets/${checksummedAddress}/logo.png` + return `https` } else { return undefined } diff --git a/src/hooks/useClientSideV3Trade.ts b/src/hooks/useClientSideV3Trade.ts index e644fc2752e..8265f7ee1e3 100644 --- a/src/hooks/useClientSideV3Trade.ts +++ b/src/hooks/useClientSideV3Trade.ts @@ -7,17 +7,12 @@ import { useSingleContractWithCallData } from 'lib/hooks/multicall' import { useMemo } from 'react' import { InterfaceTrade, TradeState } from 'state/routing/types' -import { isCelo } from '../constants/tokens' import { useAllV3Routes } from './useAllV3Routes' import { useQuoter } from './useContract' const QUOTE_GAS_OVERRIDES: { [chainId: number]: number } = { - [SupportedChainId.ARBITRUM_ONE]: 25_000_000, - [SupportedChainId.ARBITRUM_GOERLI]: 25_000_000, - [SupportedChainId.CELO]: 50_000_000, - [SupportedChainId.CELO_ALFAJORES]: 50_000_000, - [SupportedChainId.POLYGON]: 40_000_000, - [SupportedChainId.POLYGON_MUMBAI]: 40_000_000, + [SupportedChainId.TESTNET]: 40_000_000, + [SupportedChainId.FUJI]: 40_000_000, } const DEFAULT_GAS_QUOTE = 2_000_000 @@ -41,7 +36,7 @@ export function useClientSideV3Trade( const { chainId } = useWeb3React() // Chains deployed using the deploy-v3 script only deploy QuoterV2. - const useQuoterV2 = useMemo(() => Boolean(chainId && isCelo(chainId)), [chainId]) + const useQuoterV2 = useMemo(() => Boolean(chainId && true), [chainId]) const quoter = useQuoter(useQuoterV2) const callData = useMemo( () => diff --git a/src/hooks/useERC20Permit.ts b/src/hooks/useERC20Permit.ts index aec369ce9fb..86c1caba347 100644 --- a/src/hooks/useERC20Permit.ts +++ b/src/hooks/useERC20Permit.ts @@ -1,13 +1,14 @@ import { BigNumber } from '@ethersproject/bignumber' import { splitSignature } from '@ethersproject/bytes' -import { Currency, CurrencyAmount } from '@uniswap/sdk-core' +import { Trade } from '@uniswap/router-sdk' +import { Currency, CurrencyAmount, Percent, TradeType } from '@uniswap/sdk-core' import { useWeb3React } from '@web3-react/core' -import { SupportedChainId } from 'constants/chains' import JSBI from 'jsbi' import { useSingleCallResult } from 'lib/hooks/multicall' import { useMemo, useState } from 'react' -import { DAI, UNI, USDC_MAINNET } from '../constants/tokens' +import { SWAP_ROUTER_ADDRESSES } from '../constants/addresses' +import { USDC_FUJI, USDC_TEVMOS } from '../constants/tokens' import { useEIP2612Contract } from './useContract' import useIsArgentWallet from './useIsArgentWallet' @@ -32,17 +33,18 @@ const PERMITTABLE_TOKENS: { [checksummedTokenAddress: string]: PermitInfo } } = { - [SupportedChainId.MAINNET]: { - [USDC_MAINNET.address]: { type: PermitType.AMOUNT, name: 'USD Coin', version: '2' }, - [DAI.address]: { type: PermitType.ALLOWED, name: 'Dai Stablecoin', version: '1' }, - [UNI[SupportedChainId.MAINNET].address]: { type: PermitType.AMOUNT, name: 'Uniswap' }, + 43113: { + [USDC_FUJI.address]: { type: PermitType.AMOUNT, name: 'USD Coin', version: '2' }, }, - [SupportedChainId.GOERLI]: { - [UNI[SupportedChainId.GOERLI].address]: { type: PermitType.AMOUNT, name: 'Uniswap' }, + 9001: { + [USDC_FUJI.address]: { type: PermitType.AMOUNT, name: 'USD Coin', version: '2' }, + }, + 9000: { + [USDC_TEVMOS.address]: { type: PermitType.AMOUNT, name: 'USD Coin', version: '2' }, }, } -enum UseERC20PermitState { +export enum UseERC20PermitState { // returned for any reason, e.g. it is an argent wallet, or the currency does not support it NOT_APPLICABLE, LOADING, @@ -71,7 +73,7 @@ interface AllowedSignatureData extends BaseSignatureData { allowed: true } -type SignatureData = StandardSignatureData | AllowedSignatureData +export type SignatureData = StandardSignatureData | AllowedSignatureData const EIP712_DOMAIN_TYPE = [ { name: 'name', type: 'string' }, @@ -245,3 +247,18 @@ export function useERC20Permit( signatureData, ]) } + +export function useERC20PermitFromTrade( + trade: Trade | undefined, + allowedSlippage: Percent, + transactionDeadline: BigNumber | undefined +) { + const { chainId } = useWeb3React() + const swapRouterAddress = chainId ? SWAP_ROUTER_ADDRESSES[chainId] : undefined + const amountToApprove = useMemo( + () => (trade ? trade.maximumAmountIn(allowedSlippage) : undefined), + [trade, allowedSlippage] + ) + + return useERC20Permit(amountToApprove, swapRouterAddress, transactionDeadline, null) +} diff --git a/src/hooks/usePoolTickData.ts b/src/hooks/usePoolTickData.ts index 4114e269c7b..53fb4c66e55 100644 --- a/src/hooks/usePoolTickData.ts +++ b/src/hooks/usePoolTickData.ts @@ -15,7 +15,7 @@ import { useTickLens } from './useContract' import { PoolState, usePool } from './usePools' const PRICE_FIXED_DIGITS = 8 -const CHAIN_IDS_MISSING_SUBGRAPH_DATA = [SupportedChainId.ARBITRUM_ONE, SupportedChainId.ARBITRUM_GOERLI] +const CHAIN_IDS_MISSING_SUBGRAPH_DATA = [SupportedChainId.OPTIMISM] // Tick with fields parsed to JSBIs, and active liquidity computed. export interface TickProcessed { diff --git a/src/hooks/useStablecoinPrice.ts b/src/hooks/useStablecoinPrice.ts index c5685982022..36e208a908f 100644 --- a/src/hooks/useStablecoinPrice.ts +++ b/src/hooks/useStablecoinPrice.ts @@ -6,16 +6,15 @@ import { useMemo, useRef } from 'react' import { RouterPreference } from 'state/routing/slice' import { useRoutingAPITrade } from 'state/routing/useRoutingAPITrade' -import { CUSD_CELO, DAI_OPTIMISM, USDC_ARBITRUM, USDC_MAINNET, USDC_POLYGON } from '../constants/tokens' +import { USDC_FUJI, USDC_TEVMOS } from '../constants/tokens' // Stablecoin amounts used when calculating spot price for a given currency. // The amount is large enough to filter low liquidity pairs. const STABLECOIN_AMOUNT_OUT: { [chainId: number]: CurrencyAmount } = { - [SupportedChainId.MAINNET]: CurrencyAmount.fromRawAmount(USDC_MAINNET, 100_000e6), - [SupportedChainId.ARBITRUM_ONE]: CurrencyAmount.fromRawAmount(USDC_ARBITRUM, 10_000e6), - [SupportedChainId.OPTIMISM]: CurrencyAmount.fromRawAmount(DAI_OPTIMISM, 10_000e18), - [SupportedChainId.POLYGON]: CurrencyAmount.fromRawAmount(USDC_POLYGON, 10_000e6), - [SupportedChainId.CELO]: CurrencyAmount.fromRawAmount(CUSD_CELO, 10_000e18), + // TODO: replace USDC fuji by mainnet + [SupportedChainId.MAINNET]: CurrencyAmount.fromRawAmount(USDC_FUJI, 100_000e6), + [SupportedChainId.FUJI]: CurrencyAmount.fromRawAmount(USDC_FUJI, 10_000e18), + [SupportedChainId.TESTNET]: CurrencyAmount.fromRawAmount(USDC_TEVMOS, 1_000e1), } /** @@ -27,8 +26,7 @@ export default function useStablecoinPrice(currency?: Currency): Price { if (!currency || !stablecoin) { return undefined diff --git a/src/hooks/useSwapCallArguments.tsx b/src/hooks/useSwapCallArguments.tsx new file mode 100644 index 00000000000..e6c23b0c9f0 --- /dev/null +++ b/src/hooks/useSwapCallArguments.tsx @@ -0,0 +1,113 @@ +/* eslint-disable import/no-unused-modules */ +import { BigNumber } from '@ethersproject/bignumber' +import { SwapRouter, Trade } from '@uniswap/router-sdk' +import { Currency, Percent, TradeType } from '@uniswap/sdk-core' +import { FeeOptions } from '@uniswap/v3-sdk' +import { useWeb3React } from '@web3-react/core' +import { SWAP_ROUTER_ADDRESSES } from 'constants/addresses' +import { useMemo } from 'react' +import approveAmountCalldata from 'utils/approveAmountCalldata' + +import { useArgentWalletContract } from './useArgentWalletContract' +import useENS from './useENS' +import { SignatureData } from './useERC20Permit' + +interface SwapCall { + address: string + calldata: string + value: string +} + +/** + * Returns the swap calls that can be used to make the trade + * @param trade trade to execute + * @param allowedSlippage user allowed slippage + * @param recipientAddressOrName the ENS name or address of the recipient of the swap output + * @param signatureData the signature data of the permit of the input token amount, if available + */ +export function useSwapCallArguments( + trade: Trade | undefined, + allowedSlippage: Percent, + recipientAddressOrName: string | null | undefined, + signatureData: SignatureData | null | undefined, + deadline: BigNumber | undefined, + feeOptions: FeeOptions | undefined +): SwapCall[] { + const { account, chainId, provider } = useWeb3React() + + const { address: recipientAddress } = useENS(recipientAddressOrName) + const recipient = recipientAddressOrName === null ? account : recipientAddress + const argentWalletContract = useArgentWalletContract() + + return useMemo(() => { + if (!trade || !recipient || !provider || !account || !chainId || !deadline) return [] + + const swapRouterAddress = chainId ? SWAP_ROUTER_ADDRESSES[chainId] : undefined + if (!swapRouterAddress) return [] + + const { value, calldata } = SwapRouter.swapCallParameters(trade, { + fee: feeOptions, + recipient, + slippageTolerance: allowedSlippage, + ...(signatureData + ? { + inputTokenPermit: + 'allowed' in signatureData + ? { + expiry: signatureData.deadline, + nonce: signatureData.nonce, + s: signatureData.s, + r: signatureData.r, + v: signatureData.v as any, + } + : { + deadline: signatureData.deadline, + amount: signatureData.amount, + s: signatureData.s, + r: signatureData.r, + v: signatureData.v as any, + }, + } + : {}), + + deadlineOrPreviousBlockhash: deadline.toString(), + }) + + if (argentWalletContract && trade.inputAmount.currency.isToken) { + return [ + { + address: argentWalletContract.address, + calldata: argentWalletContract.interface.encodeFunctionData('wc_multiCall', [ + [ + approveAmountCalldata(trade.maximumAmountIn(allowedSlippage), swapRouterAddress), + { + to: swapRouterAddress, + value, + data: calldata, + }, + ], + ]), + value: '0x0', + }, + ] + } + return [ + { + address: swapRouterAddress, + calldata, + value, + }, + ] + }, [ + account, + allowedSlippage, + argentWalletContract, + chainId, + deadline, + feeOptions, + provider, + recipient, + signatureData, + trade, + ]) +} diff --git a/src/hooks/useSwapCallback.tsx b/src/hooks/useSwapCallback.tsx index 322b8c9725e..8bc4aaff3fd 100644 --- a/src/hooks/useSwapCallback.tsx +++ b/src/hooks/useSwapCallback.tsx @@ -1,11 +1,16 @@ import { Trade } from '@uniswap/router-sdk' import { Currency, CurrencyAmount, Percent, TradeType } from '@uniswap/sdk-core' +import { useWeb3React } from '@web3-react/core' +import { usePermit2Enabled } from 'featureFlags/flags/permit2' import { PermitSignature } from 'hooks/usePermitAllowance' -import { useMemo } from 'react' +import { SwapCallbackState, useSwapCallback as useLibSwapCallBack } from 'lib/hooks/swap/useSwapCallback' +import { ReactNode, useMemo } from 'react' import { useTransactionAdder } from '../state/transactions/hooks' import { TransactionType } from '../state/transactions/types' import { currencyId } from '../utils/currencyId' +import useENS from './useENS' +import { SignatureData } from './useERC20Permit' import useTransactionDeadline from './useTransactionDeadline' import { useUniversalRouterSwapCallback } from './useUniversalRouter' @@ -15,18 +20,37 @@ export function useSwapCallback( trade: Trade | undefined, // trade to execute, required fiatValues: { amountIn: CurrencyAmount | null; amountOut: CurrencyAmount | null }, // usd values for amount in and out, logged for analytics allowedSlippage: Percent, // in bips - permitSignature: PermitSignature | undefined -): { callback: null | (() => Promise) } { + permitSignature: PermitSignature | undefined, + recipientAddressOrName: string | null, + signatureData: SignatureData | undefined | null +): { state: SwapCallbackState; callback: null | (() => Promise); error: ReactNode | null } { + const { account } = useWeb3React() + const deadline = useTransactionDeadline() const addTransaction = useTransactionAdder() + const { address: recipientAddress } = useENS(recipientAddressOrName) + const recipient = recipientAddressOrName === null ? account : recipientAddress + + const permit2Enabled = usePermit2Enabled() + const { + state, + callback: libCallback, + error, + } = useLibSwapCallBack({ + trade: permit2Enabled ? undefined : trade, + allowedSlippage, + recipientAddressOrName: recipient, + signatureData, + deadline, + }) - const universalRouterSwapCallback = useUniversalRouterSwapCallback(trade, fiatValues, { + const universalRouterSwapCallback = useUniversalRouterSwapCallback(permit2Enabled ? trade : undefined, fiatValues, { slippageTolerance: allowedSlippage, deadline, permit: permitSignature, }) - const swapCallback = universalRouterSwapCallback + const swapCallback = permit2Enabled ? universalRouterSwapCallback : libCallback const callback = useMemo(() => { if (!trade || !swapCallback) return null @@ -59,6 +83,8 @@ export function useSwapCallback( }, [addTransaction, allowedSlippage, swapCallback, trade]) return { + state, callback, + error, } } diff --git a/src/index.tsx b/src/index.tsx index 06e7756d169..d3860b9e818 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -1,7 +1,6 @@ import '@reach/dialog/styles.css' import 'inter-ui' import 'polyfills' -import 'integrations' import { ApolloProvider } from '@apollo/client' import { FeatureFlagsProvider } from 'featureFlags' diff --git a/src/integrations.ts b/src/integrations.ts deleted file mode 100644 index d47c31ce939..00000000000 --- a/src/integrations.ts +++ /dev/null @@ -1,35 +0,0 @@ -import 'components/analytics' - -import * as Sentry from '@sentry/react' -import { initializeAnalytics, OriginApplication } from '@uniswap/analytics' -import { SharedEventName } from '@uniswap/analytics-events' -import { isSentryEnabled } from 'utils/env' -import { getEnvName, isProductionEnv } from 'utils/env' - -// Dump some metadata into the window to allow client verification. -window.GIT_COMMIT_HASH = process.env.REACT_APP_GIT_COMMIT_HASH - -// Actual KEYs are set by proxy servers. -const AMPLITUDE_DUMMY_KEY = '00000000000000000000000000000000' -export const STATSIG_DUMMY_KEY = 'client-0000000000000000000000000000000000000000000' - -Sentry.init({ - dsn: process.env.REACT_APP_SENTRY_DSN, - release: process.env.REACT_APP_GIT_COMMIT_HASH, - environment: getEnvName(), - enabled: isSentryEnabled(), - /** - * TODO(INFRA-143) - * According to Sentry, this shouldn't be necessary, as they default to `3` when not set. - * Unfortunately, that doesn't work right now, so we workaround it by explicitly setting - * the `normalizeDepth` to `10`. This should be removed once the issue is fixed. - */ - normalizeDepth: 10, -}) - -initializeAnalytics(AMPLITUDE_DUMMY_KEY, OriginApplication.INTERFACE, { - proxyUrl: process.env.REACT_APP_AMPLITUDE_PROXY_URL, - defaultEventName: SharedEventName.PAGE_VIEWED, - commitHash: process.env.REACT_APP_GIT_COMMIT_HASH, - isProductionEnv: isProductionEnv(), -}) diff --git a/src/lib/hooks/routing/clientSideSmartOrderRouter.ts b/src/lib/hooks/routing/clientSideSmartOrderRouter.ts index 44ec7cb3056..9e46d66bfa0 100644 --- a/src/lib/hooks/routing/clientSideSmartOrderRouter.ts +++ b/src/lib/hooks/routing/clientSideSmartOrderRouter.ts @@ -1,7 +1,7 @@ -import { BigintIsh, CurrencyAmount, Token, TradeType } from '@uniswap/sdk-core' // This file is lazy-loaded, so the import of smart-order-router is intentional. // eslint-disable-next-line no-restricted-imports -import { AlphaRouter, AlphaRouterConfig, ChainId } from '@uniswap/smart-order-router' +import { AlphaRouter, AlphaRouterConfig, ChainId } from '@orbitalapes/smart-order-router' +import { BigintIsh, CurrencyAmount, Token, TradeType } from '@uniswap/sdk-core' import { SupportedChainId } from 'constants/chains' import JSBI from 'jsbi' import { GetQuoteResult } from 'state/routing/types' diff --git a/src/lib/hooks/swap/useSendSwapTransaction.ts b/src/lib/hooks/swap/useSendSwapTransaction.ts new file mode 100644 index 00000000000..66e142e4cd3 --- /dev/null +++ b/src/lib/hooks/swap/useSendSwapTransaction.ts @@ -0,0 +1,156 @@ +import { BigNumber } from '@ethersproject/bignumber' +import type { JsonRpcProvider, TransactionResponse } from '@ethersproject/providers' +// eslint-disable-next-line no-restricted-imports +import { t } from '@lingui/macro' +import { sendAnalyticsEvent } from '@uniswap/analytics' +import { SwapEventName } from '@uniswap/analytics-events' +import { Trade } from '@uniswap/router-sdk' +import { Currency, TradeType } from '@uniswap/sdk-core' +import { formatSwapSignedAnalyticsEventProperties } from 'lib/utils/analytics' +import { useMemo } from 'react' +import { calculateGasMargin } from 'utils/calculateGasMargin' +import isZero from 'utils/isZero' +import { swapErrorToUserReadableMessage } from 'utils/swapErrorToUserReadableMessage' + +interface SwapCall { + address: string + calldata: string + value: string +} + +interface SwapCallEstimate { + call: SwapCall +} + +interface SuccessfulCall extends SwapCallEstimate { + call: SwapCall + gasEstimate: BigNumber +} + +interface FailedCall extends SwapCallEstimate { + call: SwapCall + error: Error +} + +class InvalidSwapError extends Error {} + +// returns a function that will execute a swap, if the parameters are all valid +export default function useSendSwapTransaction( + account: string | null | undefined, + chainId: number | undefined, + provider: JsonRpcProvider | undefined, + trade: Trade | undefined, // trade to execute, required + swapCalls: SwapCall[] +): { callback: null | (() => Promise) } { + return useMemo(() => { + if (!trade || !provider || !account || !chainId) { + return { callback: null } + } + return { + callback: async function onSwap(): Promise { + const estimatedCalls: SwapCallEstimate[] = await Promise.all( + swapCalls.map((call) => { + const { address, calldata, value } = call + + const tx = + !value || isZero(value) + ? { from: account, to: address, data: calldata } + : { + from: account, + to: address, + data: calldata, + value, + } + + return provider + .estimateGas(tx) + .then((gasEstimate) => { + return { + call, + gasEstimate, + } + }) + .catch((gasError) => { + console.debug('Gas estimate failed, trying eth_call to extract error', call) + + return provider + .call(tx) + .then((result) => { + console.debug('Unexpected successful call after failed estimate gas', call, gasError, result) + return { call, error: 'Unexpected issue with estimating the gas. Please try again.' } + }) + .catch((callError) => { + console.debug('Call threw error', call, callError) + return { call, error: swapErrorToUserReadableMessage(callError) } + }) + }) + }) + ) + + // a successful estimation is a bignumber gas estimate and the next call is also a bignumber gas estimate + let bestCallOption: SuccessfulCall | SwapCallEstimate | undefined = estimatedCalls.find( + (el, ix, list): el is SuccessfulCall => + 'gasEstimate' in el && (ix === list.length - 1 || 'gasEstimate' in list[ix + 1]) + ) + + // check if any calls errored with a recognizable error + if (!bestCallOption) { + const errorCalls = estimatedCalls.filter((call): call is FailedCall => 'error' in call) + if (errorCalls.length > 0) throw errorCalls[errorCalls.length - 1].error + const firstNoErrorCall = estimatedCalls.find( + (call): call is SwapCallEstimate => !('error' in call) + ) + if (!firstNoErrorCall) throw new Error(t`Unexpected error. Could not estimate gas for the swap.`) + bestCallOption = firstNoErrorCall + } + + const { + call: { address, calldata, value }, + } = bestCallOption + + return provider + .getSigner() + .sendTransaction({ + from: account, + to: address, + data: calldata, + // let the wallet try if we can't estimate the gas + ...('gasEstimate' in bestCallOption ? { gasLimit: calculateGasMargin(bestCallOption.gasEstimate) } : {}), + ...(value && !isZero(value) ? { value } : {}), + }) + .then((response) => { + sendAnalyticsEvent( + SwapEventName.SWAP_SIGNED, + formatSwapSignedAnalyticsEventProperties({ + trade, + txHash: response.hash, + fiatValues: { amountIn: null, amountOut: null }, + }) + ) + if (calldata !== response.data) { + sendAnalyticsEvent(SwapEventName.SWAP_MODIFIED_IN_WALLET, { txHash: response.hash }) + throw new InvalidSwapError( + t`Your swap was modified through your wallet. If this was a mistake, please cancel immediately or risk losing your funds.` + ) + } + return response + }) + .catch((error) => { + // if the user rejected the tx, pass this along + if (error?.code === 4001) { + throw new Error(t`Transaction rejected`) + } else { + // otherwise, the error was unexpected and we need to convey that + console.error(`Swap failed`, error, address, calldata, value) + + if (error instanceof InvalidSwapError) { + throw error + } else { + throw new Error(t`Swap failed: ${swapErrorToUserReadableMessage(error)}`) + } + } + }) + }, + } + }, [account, chainId, provider, swapCalls, trade]) +} diff --git a/src/lib/hooks/swap/useSwapApproval.ts b/src/lib/hooks/swap/useSwapApproval.ts new file mode 100644 index 00000000000..c2a127b48fb --- /dev/null +++ b/src/lib/hooks/swap/useSwapApproval.ts @@ -0,0 +1,25 @@ +import { Trade } from '@uniswap/router-sdk' +import { Currency, CurrencyAmount, Percent, Token, TradeType } from '@uniswap/sdk-core' +import { useWeb3React } from '@web3-react/core' +import { SWAP_ROUTER_ADDRESSES } from 'constants/addresses' +import { useMemo } from 'react' + +import { useApproval } from '../useApproval' + +// wraps useApproveCallback in the context of a swap +export default function useSwapApproval( + trade: Trade | undefined, + allowedSlippage: Percent, + useIsPendingApproval: (token?: Token, spender?: string) => boolean, + amount?: CurrencyAmount // defaults to trade.maximumAmountIn(allowedSlippage) +) { + const { chainId } = useWeb3React() + + const amountToApprove = useMemo( + () => amount || (trade && trade.inputAmount.currency.isToken ? trade.maximumAmountIn(allowedSlippage) : undefined), + [amount, trade, allowedSlippage] + ) + const spender = chainId ? SWAP_ROUTER_ADDRESSES[chainId] : undefined + + return useApproval(amountToApprove, spender, useIsPendingApproval) +} diff --git a/src/lib/hooks/swap/useSwapCallback.tsx b/src/lib/hooks/swap/useSwapCallback.tsx new file mode 100644 index 00000000000..d077a3ad4ce --- /dev/null +++ b/src/lib/hooks/swap/useSwapCallback.tsx @@ -0,0 +1,79 @@ +/* eslint-disable import/no-unused-modules */ +// eslint-disable-next-line no-restricted-imports +import { BigNumber } from '@ethersproject/bignumber' +import type { TransactionResponse } from '@ethersproject/providers' +import { Trans } from '@lingui/macro' +import { Trade } from '@uniswap/router-sdk' +import { Currency, Percent, TradeType } from '@uniswap/sdk-core' +import { FeeOptions } from '@uniswap/v3-sdk' +import { useWeb3React } from '@web3-react/core' +import useENS from 'hooks/useENS' +import { SignatureData } from 'hooks/useERC20Permit' +import { useSwapCallArguments } from 'hooks/useSwapCallArguments' +import { ReactNode, useMemo } from 'react' + +import useSendSwapTransaction from './useSendSwapTransaction' + +export enum SwapCallbackState { + INVALID, + LOADING, + VALID, +} + +interface UseSwapCallbackReturns { + state: SwapCallbackState + callback?: () => Promise + error?: ReactNode +} +interface UseSwapCallbackArgs { + trade: Trade | undefined // trade to execute, required + allowedSlippage: Percent // in bips + recipientAddressOrName: string | null | undefined // the ENS name or address of the recipient of the trade, or null if swap should be returned to sender + signatureData: SignatureData | null | undefined + deadline: BigNumber | undefined + feeOptions?: FeeOptions +} + +// returns a function that will execute a swap, if the parameters are all valid +// and the user has approved the slippage adjusted input amount for the trade +export function useSwapCallback({ + trade, + allowedSlippage, + recipientAddressOrName, + signatureData, + deadline, + feeOptions, +}: UseSwapCallbackArgs): UseSwapCallbackReturns { + const { account, chainId, provider } = useWeb3React() + + const swapCalls = useSwapCallArguments( + trade, + allowedSlippage, + recipientAddressOrName, + signatureData, + deadline, + feeOptions + ) + const { callback } = useSendSwapTransaction(account, chainId, provider, trade, swapCalls) + + const { address: recipientAddress } = useENS(recipientAddressOrName) + const recipient = recipientAddressOrName === null ? account : recipientAddress + + return useMemo(() => { + if (!trade || !provider || !account || !chainId || !callback) { + return { state: SwapCallbackState.INVALID, error: Missing dependencies } + } + if (!recipient) { + if (recipientAddressOrName !== null) { + return { state: SwapCallbackState.INVALID, error: Invalid recipient } + } else { + return { state: SwapCallbackState.LOADING } + } + } + + return { + state: SwapCallbackState.VALID, + callback: async () => callback(), + } + }, [trade, provider, account, chainId, callback, recipient, recipientAddressOrName]) +} diff --git a/src/lib/hooks/transactions/updater.tsx b/src/lib/hooks/transactions/updater.tsx index 63fdd0a99a0..14a4821e6ac 100644 --- a/src/lib/hooks/transactions/updater.tsx +++ b/src/lib/hooks/transactions/updater.tsx @@ -31,10 +31,10 @@ export function shouldCheck(lastBlockNumber: number, tx: Transaction): boolean { } const RETRY_OPTIONS_BY_CHAIN_ID: { [chainId: number]: RetryOptions } = { - [SupportedChainId.ARBITRUM_ONE]: { n: 10, minWait: 250, maxWait: 1000 }, - [SupportedChainId.ARBITRUM_GOERLI]: { n: 10, minWait: 250, maxWait: 1000 }, + [SupportedChainId.TESTNET]: { n: 10, minWait: 250, maxWait: 1000 }, + [SupportedChainId.FUJI]: { n: 10, minWait: 250, maxWait: 1000 }, + [SupportedChainId.MAINNET]: { n: 10, minWait: 250, maxWait: 1000 }, [SupportedChainId.OPTIMISM]: { n: 10, minWait: 250, maxWait: 1000 }, - [SupportedChainId.OPTIMISM_GOERLI]: { n: 10, minWait: 250, maxWait: 1000 }, } const DEFAULT_RETRY_OPTIONS: RetryOptions = { n: 1, minWait: 0, maxWait: 0 } diff --git a/src/lib/hooks/useCurrencyLogoURIs.ts b/src/lib/hooks/useCurrencyLogoURIs.ts index 291a494a029..c14704904e8 100644 --- a/src/lib/hooks/useCurrencyLogoURIs.ts +++ b/src/lib/hooks/useCurrencyLogoURIs.ts @@ -4,53 +4,38 @@ import { useMemo } from 'react' import { isAddress } from 'utils' import EthereumLogo from '../../assets/images/ethereum-logo.png' -import CeloLogo from '../../assets/svg/celo_logo.svg' -import MaticLogo from '../../assets/svg/matic-token-icon.svg' -import { isCelo, NATIVE_CHAIN_ID, nativeOnChain } from '../../constants/tokens' +import { NATIVE_CHAIN_ID } from '../../constants/tokens' -type Network = 'ethereum' | 'arbitrum' | 'optimism' | 'polygon' +type Network = 'evmos' | 'fuji' | 'tevmos' -export function chainIdToNetworkName(networkId: SupportedChainId): Network { +function chainIdToNetworkName(networkId: SupportedChainId): Network { switch (networkId) { - case SupportedChainId.MAINNET: - return 'ethereum' - case SupportedChainId.ARBITRUM_ONE: - return 'arbitrum' - case SupportedChainId.OPTIMISM: - return 'optimism' - case SupportedChainId.POLYGON: - return 'polygon' + case SupportedChainId.FUJI: + return 'fuji' + case SupportedChainId.TESTNET: + return 'tevmos' default: - return 'ethereum' + return 'evmos' } } -export function getNativeLogoURI(chainId: SupportedChainId = SupportedChainId.MAINNET): string { +export function getNativeLogoURI(chainId: SupportedChainId = SupportedChainId.TESTNET): string { switch (chainId) { - case SupportedChainId.POLYGON: - case SupportedChainId.POLYGON_MUMBAI: - return MaticLogo - case SupportedChainId.CELO: - case SupportedChainId.CELO_ALFAJORES: - return CeloLogo + case SupportedChainId.TESTNET: + return 'https://raw.githubusercontent.com/cosmos/chain-registry/master/evmos/images/evmos.png' + case SupportedChainId.FUJI: + return 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/avalanchec/assets/0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7/logo.png' default: return EthereumLogo } } -function getTokenLogoURI(address: string, chainId: SupportedChainId = SupportedChainId.MAINNET): string | void { +function getTokenLogoURI(address: string, chainId: SupportedChainId = SupportedChainId.TESTNET): string | void { const networkName = chainIdToNetworkName(chainId) - const networksWithUrls = [SupportedChainId.ARBITRUM_ONE, SupportedChainId.MAINNET, SupportedChainId.OPTIMISM] + const networksWithUrls = [SupportedChainId.FUJI] if (networksWithUrls.includes(chainId)) { return `https://raw.githubusercontent.com/Uniswap/assets/master/blockchains/${networkName}/assets/${address}/logo.png` } - - // Celo logo logo is hosted elsewhere. - if (isCelo(chainId)) { - if (address === nativeOnChain(chainId).wrapped.address) { - return 'https://raw.githubusercontent.com/ubeswap/default-token-list/master/assets/asset_CELO.png' - } - } } export default function useCurrencyLogoURIs( diff --git a/src/lib/state/multicall.tsx b/src/lib/state/multicall.tsx index 4a75ff2b091..07d9ff2e073 100644 --- a/src/lib/state/multicall.tsx +++ b/src/lib/state/multicall.tsx @@ -11,11 +11,11 @@ export default multicall function getBlocksPerFetchForChainId(chainId: number | undefined): number { switch (chainId) { - case SupportedChainId.ARBITRUM_ONE: case SupportedChainId.OPTIMISM: return 15 - case SupportedChainId.CELO: - case SupportedChainId.CELO_ALFAJORES: + case SupportedChainId.MAINNET: + case SupportedChainId.TESTNET: + case SupportedChainId.FUJI: return 5 default: return 1 diff --git a/src/locales/af-ZA.po b/src/locales/af-ZA.po index 3c6e1f82776..5df70552240 100644 --- a/src/locales/af-ZA.po +++ b/src/locales/af-ZA.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: uniswap-interface\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-17 00:17\n" +"PO-Revision-Date: 2023-03-21 23:04\n" "Last-Translator: \n" "Language: af_ZA\n" "Language-Team: Afrikaans\n" @@ -610,10 +610,6 @@ msgstr "" msgid "Create a pair" msgstr "Skep 'n paar" -#: src/pages/Pool/index.tsx -msgid "Create a pool" -msgstr "Skep 'n poel" - #: src/components/AccountDetails/TransactionSummary.tsx msgid "Create pool and add {0}/{1} V3 liquidity" msgstr "Skep poel en voeg {0}/{1} V3 likiditeit" @@ -1405,7 +1401,6 @@ msgid "Please type the word \"{confirmWord}\" to enable expert mode." msgstr "Tik die woord \"{confirmWord}\" in om die kundige modus te aktiveer." #: src/components/AccountDetailsV2/TransactionBody.tsx -#: src/components/NavBar/index.tsx msgid "Pool" msgstr "Poel" @@ -1429,6 +1424,7 @@ msgstr "Poelteken in die beloningspoel:" msgid "Pooled {0}:" msgstr "Gepoel {0}:" +#: src/components/NavBar/index.tsx #: src/pages/Pool/index.tsx #: src/pages/Pool/index.tsx msgid "Pools" @@ -1670,6 +1666,15 @@ msgstr "" msgid "Same Price" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Save on Tax Services" +msgstr "" + +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +#: src/components/TaxServiceModal/index.tsx +msgid "Save on your crypto taxes" +msgstr "" + #: src/components/NavBar/SearchBar.tsx msgid "Search" msgstr "" @@ -1994,10 +1999,6 @@ msgstr "Die prys van hierdie poel is binne u gekose reeks. U posisie verdien tan msgid "The ratio of tokens you add will set the price of this pool." msgstr "Die verhouding tekens wat u byvoeg bepaal die prys van hierdie poel." -#: src/utils/swapErrorToUserReadableMessage.tsx -msgid "The transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." -msgstr "Die transaksie kon nie gestuur word nie omdat die sperdatum verstryk het. Kyk dat u sperdatum nie te laag is nie." - #: src/components/LiquidityChartRangeInput/index.tsx msgid "There is no liquidity data." msgstr "" @@ -2042,6 +2043,10 @@ msgstr "" msgid "This tool will safely migrate your {0} liquidity to V3. The process is completely trustless thanks to the" msgstr "Hierdie instrument sal u {0} likiditeit veilig na V3 migreer. Die proses is heeltemal vertroulik danksy die" +#: src/utils/swapErrorToUserReadableMessage.tsx +msgid "This transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." +msgstr "" + #: src/utils/swapErrorToUserReadableMessage.tsx 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 "Hierdie transaksie sal weens die prysbeweging nie slaag nie. Probeer u glyverdraagsaamheid verhoog. Opmerking: fooi vir oordrag en herbasis-tekens is nie versoenbaar met Uniswap V3 nie." @@ -2124,7 +2129,6 @@ msgstr "" #: src/lib/hooks/swap/useSendSwapTransaction.tsx #: src/lib/hooks/swap/useSendSwapTransaction.tsx #: src/utils/swapErrorToUserReadableMessage.tsx -#: src/utils/swapErrorToUserReadableMessage.tsx msgid "Transaction rejected" msgstr "Transaksie afgekeur" @@ -2185,6 +2189,10 @@ msgstr "Onttrek bestuur" msgid "Uniswap Labs' Terms of Service" msgstr "" +#: src/pages/Pool/v2.tsx +msgid "Uniswap V2 is not available on this network." +msgstr "" + #: src/components/SwitchLocaleLink/index.tsx msgid "Uniswap available in: <0>{0}" msgstr "Uniswap beskikbaar in: <0>{0}" @@ -2253,10 +2261,6 @@ msgstr "Delegasie op te dateer" msgid "Use the Uniswap Labs API to get faster quotes." msgstr "" -#: src/pages/Pool/v2.tsx -msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum." -msgstr "" - #: src/pages/Pool/index.tsx msgid "V2 liquidity" msgstr "V2 likiditeit" @@ -2278,7 +2282,6 @@ msgstr "" msgid "View more analytics" msgstr "" -#: src/components/TransactionConfirmationModal/index.tsx #: src/nft/components/collection/TransactionCompleteModal.tsx #: src/pages/CreateProposal/ProposalSubmissionModal.tsx msgid "View on Etherscan" @@ -2289,6 +2292,10 @@ msgstr "Uitsig op Etherscan" msgid "View on Explorer" msgstr "Bekyk op Explorer" +#: src/components/TransactionConfirmationModal/index.tsx +msgid "View on {0}" +msgstr "" + #: src/components/ModalViews/index.tsx #: src/components/claim/AddressClaimModal.tsx #: src/components/vote/ExecuteModal.tsx @@ -2534,6 +2541,9 @@ msgid "Your positions" msgstr "U posisies" #: src/hooks/useUniversalRouter.ts +msgid "Your swap is expected to fail." +msgstr "" + #: src/hooks/useUniversalRouter.ts #: src/lib/hooks/swap/useSendSwapTransaction.tsx #: src/lib/hooks/swap/useSendSwapTransaction.tsx diff --git a/src/locales/ar-SA.po b/src/locales/ar-SA.po index 39f7b46c30c..424b4f21f72 100644 --- a/src/locales/ar-SA.po +++ b/src/locales/ar-SA.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: uniswap-interface\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-17 00:17\n" +"PO-Revision-Date: 2023-03-21 23:04\n" "Last-Translator: \n" "Language: ar_SA\n" "Language-Team: Arabic\n" @@ -116,6 +116,11 @@ msgstr "<0>نصيحة: عندما تضيف السيولة، سوف تتلق msgid "<0>Unlock voting to prepare for the next proposal." msgstr "<0>افتح التصويت للتحضير للاقتراح التالي." +#: src/components/PositionListItem/index.tsx +#: src/components/PositionListItem/index.tsx +msgid "<0>{0} <1/> per <2/>" +msgstr "" + #: src/pages/Vote/Landing.tsx msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals" msgstr "" @@ -171,6 +176,10 @@ msgstr "إضافة سيولة." msgid "Add more liquidity" msgstr "" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Add to bag" +msgstr "" + #: src/components/TransactionConfirmationModal/index.tsx msgid "Add {0}" msgstr "" @@ -183,11 +192,6 @@ msgstr "إضافة سيولة {0}/{1} V3" msgid "Added" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Added to bag" -msgstr "" - #: src/components/TransactionConfirmationModal/index.tsx msgid "Added {0}" msgstr "تم إضافة {0}" @@ -216,10 +220,6 @@ msgstr "السماح بترحيل رمز LP" msgid "Allow high price impact trades and skip the confirm screen. Use at your own risk." msgstr "السماح بتداول تأثير الأسعار المرتفعة وتخطي شاشة التأكيد. استخدمه على مسؤوليتك الخاصة." -#: src/pages/Swap/index.tsx -msgid "Allow the Uniswap Protocol to use your {0}" -msgstr "السماح لبروتوكول Uniswap باستخدام {0} الخاص بك" - #: src/pages/MigrateV2/MigrateV2Pair.tsx msgid "Allowed" msgstr "مسموح" @@ -353,11 +353,10 @@ msgstr "" msgid "Blocked Address" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Blocked from trading" +#: src/nft/components/card/icons.tsx +msgid "Blocked on OpenSea" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx #: src/components/WalletDropdown/AuthenticatedHeader.tsx msgid "Buy crypto" msgstr "" @@ -451,6 +450,11 @@ msgstr "مسح الكل" msgid "Close" msgstr "إغلاق" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Close wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx #: src/pages/RemoveLiquidity/V3.tsx msgid "Closed" @@ -530,6 +534,7 @@ msgstr "" msgid "Connect" msgstr "" +#: src/nft/pages/profile/profile.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidityV2/index.tsx #: src/pages/RemoveLiquidity/index.tsx @@ -567,6 +572,11 @@ msgstr "توصيل بمحفظة" msgid "Connected with" msgstr "" +#: src/nft/components/card/media.tsx +msgid "Content not" +msgstr "" + +#: src/nft/components/bag/Bag.tsx #: src/nft/components/profile/list/Modal/BelowFloorWarningModal.tsx msgid "Continue" msgstr "" @@ -610,10 +620,6 @@ msgstr "" msgid "Create a pair" msgstr "إنشاء مجموعة" -#: src/pages/Pool/index.tsx -msgid "Create a pool" -msgstr "إنشاء مجموعة" - #: src/components/AccountDetails/TransactionSummary.tsx msgid "Create pool and add {0}/{1} V3 liquidity" msgstr "إنشاء مجموعة وإضافة سيولة {0}/{1} V3" @@ -725,10 +731,6 @@ msgstr "" msgid "Edit listings" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Efficiency Comparison" -msgstr "" - #: src/state/burn/v3/hooks.tsx msgid "Enter a percent" msgstr "أدخل نسبة مئوية" @@ -916,18 +918,10 @@ msgstr "من (على الأكثر)" msgid "Full Range" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Full range positions may earn less fees than concentrated positions. Learn more <0>here." -msgstr "" - #: src/components/ErrorBoundary/index.tsx msgid "Get support" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx -msgid "Get tokens at the best prices in web3 on Uniswap, powered by Moonpay." -msgstr "" - #: src/components/NavBar/MenuDropdown.tsx msgid "Help center" msgstr "" @@ -942,12 +936,11 @@ msgstr "" msgid "Hide closed positions" msgstr "إخفاء المراكز المغلقة" -#: src/pages/Swap/index.tsx -msgid "High Price Impact" -msgstr "تأثير ارتفاع السعر" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Hide resources" +msgstr "" #: src/components/TokenSafety/index.tsx -#: src/pages/AddLiquidity/index.tsx msgid "I understand" msgstr "أنا أفهم" @@ -1031,7 +1024,6 @@ msgstr "إدخال سعر غير صالح" msgid "Invalid range selected. The min price must be lower than the max price." msgstr "النطاق المحدد غير صالح. يجب أن يكون الحد الأدنى للسعر أقل من الحد الأقصى للسعر." -#: src/lib/hooks/swap/useSwapCallback.tsx #: src/state/swap/hooks.tsx msgid "Invalid recipient" msgstr "مستلم غير صالح" @@ -1059,6 +1051,7 @@ msgstr "" #: src/components/PrivacyPolicy/index.tsx #: src/components/PrivacyPolicy/index.tsx +#: src/components/TaxServiceModal/TaxServiceBanner.tsx #: src/components/TokenSafety/TokenSafetyMessage.tsx #: src/components/TokenSafety/index.tsx #: src/pages/Landing/index.tsx @@ -1098,6 +1091,10 @@ msgstr "يحصل مقدمو خدمات السيولة على رسم بنسبة 0 msgid "List NFTs" msgstr "" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "List for sale" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Listing an NFT requires a one-time marketplace approval for each NFT collection." msgstr "" @@ -1219,10 +1216,6 @@ msgstr "تلقى الحد الأدنى" msgid "Missing chart data" msgstr "" -#: src/lib/hooks/swap/useSwapCallback.tsx -msgid "Missing dependencies" -msgstr "التبعيات المفقودة" - #: src/components/Tokens/TokenDetails/PriceChart.tsx msgid "Missing price data due to recently low trading volume on Uniswap v3" msgstr "" @@ -1259,6 +1252,10 @@ msgstr "" msgid "Name not found" msgstr "" +#: src/components/NavBar/NavIcon.tsx +msgid "Navigation button" +msgstr "" + #: src/components/swap/AdvancedSwapDetails.tsx msgid "Network Fee" msgstr "" @@ -1287,6 +1284,10 @@ msgstr "لايوجد بيانات" msgid "No description." msgstr "بدون وصف." +#: src/nft/pages/profile/profile.tsx +msgid "No items to display" +msgstr "" + #: src/pages/Pool/v2.tsx msgid "No liquidity found." msgstr "لم يتم العثور على سيولة." @@ -1327,6 +1328,10 @@ msgstr "" msgid "Not created" msgstr "لم يتم إنشاؤه" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Not listed" +msgstr "" + #: src/components/Settings/index.tsx msgid "ONLY USE THIS MODE IF YOU KNOW WHAT YOU ARE DOING." msgstr "فقط استخدم هذا الخيار مع ما تعلمونه من أمور." @@ -1347,6 +1352,11 @@ msgstr "أصوات UNI التي تم تفويضها بنفسك أو تفويضه msgid "Oops, take me back to Swap" msgstr "" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Open wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx msgid "Out of range" msgstr "خارج النطاق" @@ -1405,7 +1415,6 @@ msgid "Please type the word \"{confirmWord}\" to enable expert mode." msgstr "الرجاء كتابة كلمة \"{confirmWord}\" لتمكين وضع الخبير." #: src/components/AccountDetailsV2/TransactionBody.tsx -#: src/components/NavBar/index.tsx msgid "Pool" msgstr "المجموعة" @@ -1429,6 +1438,7 @@ msgstr "رموز المجموعة في مجموعة المكافآت:" msgid "Pooled {0}:" msgstr "مجمّع {0}:" +#: src/components/NavBar/index.tsx #: src/pages/Pool/index.tsx #: src/pages/Pool/index.tsx msgid "Pools" @@ -1623,6 +1633,11 @@ msgstr "إزالة التفويض" msgid "Remove Liquidity" msgstr "إزالة السيولة" +#: src/nft/components/collection/CollectionAsset.tsx +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Remove from bag" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "Remove item" msgstr "" @@ -1631,11 +1646,6 @@ msgstr "" msgid "Removed" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Removed from bag" -msgstr "" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Removing" msgstr "" @@ -1648,7 +1658,7 @@ msgstr "إزالة {0} {1} و {2} {3}" msgid "Removing {0} {1} and{2} {3}" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Resolve {issues} issues" msgstr "" @@ -1670,6 +1680,15 @@ msgstr "" msgid "Same Price" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Save on Tax Services" +msgstr "" + +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +#: src/components/TaxServiceModal/index.tsx +msgid "Save on your crypto taxes" +msgstr "" + #: src/components/NavBar/SearchBar.tsx msgid "Search" msgstr "" @@ -1726,10 +1745,6 @@ msgstr "" msgid "Sell NFTs" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Selling ERC-1155s coming soon" -msgstr "" - #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/MigrateV2/MigrateV2Pair.tsx @@ -1740,7 +1755,7 @@ msgstr "تعيين نطاق السعر" msgid "Set Starting Price" msgstr "تعيين سعر البدء" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Set prices to continue" msgstr "" @@ -1778,6 +1793,10 @@ msgstr "" msgid "Show more" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Show resources" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Sign" msgstr "" @@ -1812,7 +1831,7 @@ msgstr "" msgid "Sorry, an error occured while processing your request. If you request support, be sure to provide your error ID." msgstr "" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Start listing" msgstr "" @@ -1854,11 +1873,9 @@ msgstr "إمداد {0} {1} و {2} {3}" #: src/components/AccountDetailsV2/TransactionBody.tsx #: src/components/NavBar/index.tsx -#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/components/swap/SwapHeader.tsx #: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx -#: src/pages/Swap/index.tsx msgid "Swap" msgstr "مبادلة" @@ -1866,7 +1883,6 @@ msgstr "مبادلة" msgid "Swap <0/> for exactly <1/>" msgstr "استبدل <0 /> بـ <1 /> بالضبط" -#: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx msgid "Swap Anyway" msgstr "مبادلة على أي حال" @@ -1875,11 +1891,6 @@ msgstr "مبادلة على أي حال" msgid "Swap exactly <0/> for <1/>" msgstr "استبدل بالضبط <0 /> بـ <1 />" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Swap failed: {0}" -msgstr "فشل المبادلة: {0}" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Swapped" msgstr "" @@ -1994,10 +2005,6 @@ msgstr "سعر هذه المجموعة ضمن النطاق المحدد الخا msgid "The ratio of tokens you add will set the price of this pool." msgstr "نسبة الرموز التي تضيفها سوف تحدد سعر هذه المجموعة." -#: src/utils/swapErrorToUserReadableMessage.tsx -msgid "The transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." -msgstr "تعذر إرسال المعاملة لانتهاء الموعد المحدد. يرجى التحقق من أن الموعد النهائي لمعاملاتك ليس منخفضًا جدًا." - #: src/components/LiquidityChartRangeInput/index.tsx msgid "There is no liquidity data." msgstr "" @@ -2010,10 +2017,6 @@ msgstr "" msgid "This app uses the following third-party APIs:" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -msgid "This item is not for sale" -msgstr "" - #: src/pages/AddLiquidity/index.tsx msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction." msgstr "" @@ -2042,6 +2045,10 @@ msgstr "" msgid "This tool will safely migrate your {0} liquidity to V3. The process is completely trustless thanks to the" msgstr "هذه الأداة سوف تنقل سيولتك {0} إلى V3. العملية غير موثوق بها تمامًا بسبب" +#: src/utils/swapErrorToUserReadableMessage.tsx +msgid "This transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." +msgstr "" + #: src/utils/swapErrorToUserReadableMessage.tsx 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." @@ -2073,6 +2080,10 @@ msgstr "" msgid "Token name" msgstr "" +#: src/components/TokenSafety/index.tsx +msgid "Token not found" +msgstr "" + #: src/components/NavBar/SearchBarDropdown.tsx #: src/components/NavBar/index.tsx msgid "Tokens" @@ -2121,9 +2132,6 @@ msgstr "الموعد النهائي للمعاملة" msgid "Transaction pending" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/utils/swapErrorToUserReadableMessage.tsx #: src/utils/swapErrorToUserReadableMessage.tsx msgid "Transaction rejected" msgstr "الصفقة مرفوضة" @@ -2161,6 +2169,10 @@ msgstr "تمثل رموز UNI حصص التصويت في حوكمة Uniswap. ي msgid "UNI {0}/{1} Burned" msgstr "UNI {0}/{1} محروق" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Unavailable for listing" +msgstr "" + #: src/pages/Pool/PositionPage.tsx msgid "Unclaimed fees" msgstr "الرسوم غير المطالب بها" @@ -2169,22 +2181,22 @@ msgstr "الرسوم غير المطالب بها" msgid "Undetermined" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected error. Could not estimate gas for the swap." -msgstr "خطأ غير متوقع. لا يمكن تقدير الغاز للمبادلة." - -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected issue with estimating the gas. Please try again." -msgstr "مشكلة غير متوقعة في تقدير الغاز. حاول مرة اخرى." - #: src/pages/Vote/Landing.tsx msgid "Uniswap Governance" msgstr "إدارة Uniswitp" +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +msgid "Uniswap Labs can save you up to 20% on CoinTracker and TokenTax" +msgstr "" + #: src/components/PrivacyPolicy/index.tsx msgid "Uniswap Labs' Terms of Service" msgstr "" +#: src/pages/Pool/v2.tsx +msgid "Uniswap V2 is not available on this network." +msgstr "" + #: src/components/SwitchLocaleLink/index.tsx msgid "Uniswap available in: <0>{0}" msgstr "Uniswap متاح في: <0>{0}" @@ -2253,10 +2265,6 @@ msgstr "تحديث التفويض" msgid "Use the Uniswap Labs API to get faster quotes." msgstr "" -#: src/pages/Pool/v2.tsx -msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum." -msgstr "" - #: src/pages/Pool/index.tsx msgid "V2 liquidity" msgstr "سيولة V2" @@ -2278,7 +2286,6 @@ msgstr "" msgid "View more analytics" msgstr "" -#: src/components/TransactionConfirmationModal/index.tsx #: src/nft/components/collection/TransactionCompleteModal.tsx #: src/pages/CreateProposal/ProposalSubmissionModal.tsx msgid "View on Etherscan" @@ -2289,6 +2296,10 @@ msgstr "عرض على Etherscan" msgid "View on Explorer" msgstr "عرض على Explorer" +#: src/components/TransactionConfirmationModal/index.tsx +msgid "View on {0}" +msgstr "" + #: src/components/ModalViews/index.tsx #: src/components/claim/AddressClaimModal.tsx #: src/components/vote/ExecuteModal.tsx @@ -2433,10 +2444,6 @@ msgstr "أنت أول موفر للسيولة." msgid "You can either vote on each proposal yourself or delegate your votes to a third party." msgstr "يمكنك إما أن تصوت على كل اقتراح بنفسك أو أن تفوض تصويتك إلى طرف ثالث." -#: src/pages/Swap/index.tsx -msgid "You can now trade {0}" -msgstr "يمكنك الآن التداول {0}" - #: src/pages/CreateProposal/index.tsx msgid "You don't have enough votes to submit a proposal" msgstr "" @@ -2453,10 +2460,6 @@ msgstr "" msgid "You must connect an account." msgstr "يجب عليك توصيل حساب." -#: src/pages/Swap/index.tsx -msgid "You must give the Uniswap smart contracts permission to use your {0}. You only have to do this once per token." -msgstr "يجب عليك منح العقود الذكية لـ Uniswap الإذن لاستخدام {0}الخاص بك. يجب عليك القيام بذلك مرة واحدة فقط لكل رمز." - #: src/pages/CreateProposal/index.tsx msgid "You must have {formattedProposalThreshold} votes to submit a proposal" msgstr "" @@ -2534,9 +2537,10 @@ msgid "Your positions" msgstr "مراكزك" #: src/hooks/useUniversalRouter.ts +msgid "Your swap is expected to fail." +msgstr "" + #: src/hooks/useUniversalRouter.ts -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx msgid "Your swap was modified through your wallet. If this was a mistake, please cancel immediately or risk losing your funds." msgstr "" @@ -2587,6 +2591,10 @@ msgstr "" msgid "and" msgstr "" +#: src/nft/components/card/media.tsx +msgid "available yet" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "below floor price." msgstr "" @@ -2644,7 +2652,7 @@ msgstr "" msgid "to" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "{0, plural, =1 {Resolve issue} other {{1}}}" msgstr "" @@ -2672,6 +2680,7 @@ msgstr "" #: src/components/ErrorBoundary/index.tsx #: src/components/RateToggle/index.tsx #: src/components/RateToggle/index.tsx +#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/nft/components/bag/BagFooter.tsx msgid "{0}" msgstr "{0}" @@ -2680,11 +2689,6 @@ msgstr "{0}" msgid "{0} %" msgstr "{0} %" -#: src/components/PositionListItem/index.tsx -#: src/components/PositionListItem/index.tsx -msgid "{0} <0/> per <1/>" -msgstr "{0} <0/> لكل <1/>" - #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx msgid "{0} Deposited" diff --git a/src/locales/ca-ES.po b/src/locales/ca-ES.po index 3f77597aea9..1d4cd7abe3b 100644 --- a/src/locales/ca-ES.po +++ b/src/locales/ca-ES.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: uniswap-interface\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-17 00:17\n" +"PO-Revision-Date: 2023-03-21 23:04\n" "Last-Translator: \n" "Language: ca_ES\n" "Language-Team: Catalan\n" @@ -116,6 +116,11 @@ msgstr "<0>Consell: Quan afegiu liquiditat, rebreu fitxes de grup que repres msgid "<0>Unlock voting to prepare for the next proposal." msgstr "<0>Desbloqueja la votació per preparar la propera proposta." +#: src/components/PositionListItem/index.tsx +#: src/components/PositionListItem/index.tsx +msgid "<0>{0} <1/> per <2/>" +msgstr "" + #: src/pages/Vote/Landing.tsx msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals" msgstr "" @@ -171,6 +176,10 @@ msgstr "Afegiu liquiditat." msgid "Add more liquidity" msgstr "" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Add to bag" +msgstr "" + #: src/components/TransactionConfirmationModal/index.tsx msgid "Add {0}" msgstr "" @@ -183,11 +192,6 @@ msgstr "Afegir {0}/{1} liquiditat V3" msgid "Added" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Added to bag" -msgstr "" - #: src/components/TransactionConfirmationModal/index.tsx msgid "Added {0}" msgstr "Afegit {0}" @@ -216,10 +220,6 @@ msgstr "Permet la migració de token LP" msgid "Allow high price impact trades and skip the confirm screen. Use at your own risk." msgstr "Permet operacions amb alt impacte en els preus i ometre la pantalla de confirmació. Utilitzeu al vostre propi risc." -#: src/pages/Swap/index.tsx -msgid "Allow the Uniswap Protocol to use your {0}" -msgstr "Permetre que el protocol Uniswap utilitzi el vostre {0}" - #: src/pages/MigrateV2/MigrateV2Pair.tsx msgid "Allowed" msgstr "Es permet" @@ -353,11 +353,10 @@ msgstr "" msgid "Blocked Address" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Blocked from trading" +#: src/nft/components/card/icons.tsx +msgid "Blocked on OpenSea" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx #: src/components/WalletDropdown/AuthenticatedHeader.tsx msgid "Buy crypto" msgstr "" @@ -451,6 +450,11 @@ msgstr "Esborra-ho tot" msgid "Close" msgstr "Tanca" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Close wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx #: src/pages/RemoveLiquidity/V3.tsx msgid "Closed" @@ -530,6 +534,7 @@ msgstr "" msgid "Connect" msgstr "" +#: src/nft/pages/profile/profile.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidityV2/index.tsx #: src/pages/RemoveLiquidity/index.tsx @@ -567,6 +572,11 @@ msgstr "Connecteu la cartera" msgid "Connected with" msgstr "" +#: src/nft/components/card/media.tsx +msgid "Content not" +msgstr "" + +#: src/nft/components/bag/Bag.tsx #: src/nft/components/profile/list/Modal/BelowFloorWarningModal.tsx msgid "Continue" msgstr "" @@ -610,10 +620,6 @@ msgstr "" msgid "Create a pair" msgstr "Crea un parell" -#: src/pages/Pool/index.tsx -msgid "Create a pool" -msgstr "Crea un grup" - #: src/components/AccountDetails/TransactionSummary.tsx msgid "Create pool and add {0}/{1} V3 liquidity" msgstr "Crea fons i afegeix {0}/{1} liquiditat V3" @@ -725,10 +731,6 @@ msgstr "" msgid "Edit listings" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Efficiency Comparison" -msgstr "" - #: src/state/burn/v3/hooks.tsx msgid "Enter a percent" msgstr "Introduïu un percentatge" @@ -916,18 +918,10 @@ msgstr "De (com a màxim)" msgid "Full Range" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Full range positions may earn less fees than concentrated positions. Learn more <0>here." -msgstr "" - #: src/components/ErrorBoundary/index.tsx msgid "Get support" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx -msgid "Get tokens at the best prices in web3 on Uniswap, powered by Moonpay." -msgstr "" - #: src/components/NavBar/MenuDropdown.tsx msgid "Help center" msgstr "" @@ -942,12 +936,11 @@ msgstr "" msgid "Hide closed positions" msgstr "Amaga les posicions tancades" -#: src/pages/Swap/index.tsx -msgid "High Price Impact" -msgstr "Alt impacte en els preus" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Hide resources" +msgstr "" #: src/components/TokenSafety/index.tsx -#: src/pages/AddLiquidity/index.tsx msgid "I understand" msgstr "Entenc" @@ -1031,7 +1024,6 @@ msgstr "Entrada de preu no vàlida" msgid "Invalid range selected. The min price must be lower than the max price." msgstr "L'interval no és vàlid. El preu mínim ha de ser inferior al preu màxim." -#: src/lib/hooks/swap/useSwapCallback.tsx #: src/state/swap/hooks.tsx msgid "Invalid recipient" msgstr "Destinatari no vàlid" @@ -1059,6 +1051,7 @@ msgstr "" #: src/components/PrivacyPolicy/index.tsx #: src/components/PrivacyPolicy/index.tsx +#: src/components/TaxServiceModal/TaxServiceBanner.tsx #: src/components/TokenSafety/TokenSafetyMessage.tsx #: src/components/TokenSafety/index.tsx #: src/pages/Landing/index.tsx @@ -1098,6 +1091,10 @@ msgstr "Els proveïdors de liquiditat guanyen una comissió del 0,3% en tots els msgid "List NFTs" msgstr "" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "List for sale" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Listing an NFT requires a one-time marketplace approval for each NFT collection." msgstr "" @@ -1219,10 +1216,6 @@ msgstr "Mínim rebut" msgid "Missing chart data" msgstr "" -#: src/lib/hooks/swap/useSwapCallback.tsx -msgid "Missing dependencies" -msgstr "Falten dependències" - #: src/components/Tokens/TokenDetails/PriceChart.tsx msgid "Missing price data due to recently low trading volume on Uniswap v3" msgstr "" @@ -1259,6 +1252,10 @@ msgstr "" msgid "Name not found" msgstr "" +#: src/components/NavBar/NavIcon.tsx +msgid "Navigation button" +msgstr "" + #: src/components/swap/AdvancedSwapDetails.tsx msgid "Network Fee" msgstr "" @@ -1287,6 +1284,10 @@ msgstr "No hi ha informació" msgid "No description." msgstr "Sense descripció." +#: src/nft/pages/profile/profile.tsx +msgid "No items to display" +msgstr "" + #: src/pages/Pool/v2.tsx msgid "No liquidity found." msgstr "No s'ha trobat cap liquiditat." @@ -1327,6 +1328,10 @@ msgstr "" msgid "Not created" msgstr "No creat" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Not listed" +msgstr "" + #: src/components/Settings/index.tsx msgid "ONLY USE THIS MODE IF YOU KNOW WHAT YOU ARE DOING." msgstr "ÚTILITZEU AQUEST MODE NOMÉS SI SABEU EL QUE FEREU." @@ -1347,6 +1352,11 @@ msgstr "Només es poden votar els vots UNI que s’autodelegaven o delegaven a u msgid "Oops, take me back to Swap" msgstr "" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Open wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx msgid "Out of range" msgstr "Fora de rang" @@ -1405,7 +1415,6 @@ msgid "Please type the word \"{confirmWord}\" to enable expert mode." msgstr "Escriviu la paraula \"{confirmWord}\" per habilitar el mode expert." #: src/components/AccountDetailsV2/TransactionBody.tsx -#: src/components/NavBar/index.tsx msgid "Pool" msgstr "Grup" @@ -1429,6 +1438,7 @@ msgstr "Fitxes de grup al grup de recompenses:" msgid "Pooled {0}:" msgstr "Agrupat {0}:" +#: src/components/NavBar/index.tsx #: src/pages/Pool/index.tsx #: src/pages/Pool/index.tsx msgid "Pools" @@ -1623,6 +1633,11 @@ msgstr "Elimina delegat" msgid "Remove Liquidity" msgstr "Elimina la liquiditat" +#: src/nft/components/collection/CollectionAsset.tsx +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Remove from bag" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "Remove item" msgstr "" @@ -1631,11 +1646,6 @@ msgstr "" msgid "Removed" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Removed from bag" -msgstr "" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Removing" msgstr "" @@ -1648,7 +1658,7 @@ msgstr "Eliminació de {0} {1} i {2} {3}" msgid "Removing {0} {1} and{2} {3}" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Resolve {issues} issues" msgstr "" @@ -1670,6 +1680,15 @@ msgstr "" msgid "Same Price" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Save on Tax Services" +msgstr "" + +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +#: src/components/TaxServiceModal/index.tsx +msgid "Save on your crypto taxes" +msgstr "" + #: src/components/NavBar/SearchBar.tsx msgid "Search" msgstr "" @@ -1726,10 +1745,6 @@ msgstr "" msgid "Sell NFTs" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Selling ERC-1155s coming soon" -msgstr "" - #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/MigrateV2/MigrateV2Pair.tsx @@ -1740,7 +1755,7 @@ msgstr "Estableix l'interval de preus" msgid "Set Starting Price" msgstr "Estableix el preu inicial" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Set prices to continue" msgstr "" @@ -1778,6 +1793,10 @@ msgstr "" msgid "Show more" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Show resources" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Sign" msgstr "" @@ -1812,7 +1831,7 @@ msgstr "" msgid "Sorry, an error occured while processing your request. If you request support, be sure to provide your error ID." msgstr "" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Start listing" msgstr "" @@ -1854,11 +1873,9 @@ msgstr "Subministrant {0} {1} i {2} {3}" #: src/components/AccountDetailsV2/TransactionBody.tsx #: src/components/NavBar/index.tsx -#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/components/swap/SwapHeader.tsx #: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx -#: src/pages/Swap/index.tsx msgid "Swap" msgstr "Intercanvi" @@ -1866,7 +1883,6 @@ msgstr "Intercanvi" msgid "Swap <0/> for exactly <1/>" msgstr "Canvieu <0 /> per <1 /> exactament" -#: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx msgid "Swap Anyway" msgstr "Intercanviar de totes maneres" @@ -1875,11 +1891,6 @@ msgstr "Intercanviar de totes maneres" msgid "Swap exactly <0/> for <1/>" msgstr "Canvieu exactament <0 /> per <1 />" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Swap failed: {0}" -msgstr "Ha fallat l'intercanvi: {0}" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Swapped" msgstr "" @@ -1994,10 +2005,6 @@ msgstr "El preu d'aquest grup està dins de l'interval seleccionat. Actualment, msgid "The ratio of tokens you add will set the price of this pool." msgstr "La proporció de fitxes que afegiu fixarà el preu d’aquest grup." -#: src/utils/swapErrorToUserReadableMessage.tsx -msgid "The transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." -msgstr "No s'ha pogut enviar la transacció perquè s'ha acabat el termini. Comproveu que el termini de transacció no sigui massa baix." - #: src/components/LiquidityChartRangeInput/index.tsx msgid "There is no liquidity data." msgstr "" @@ -2010,10 +2017,6 @@ msgstr "" msgid "This app uses the following third-party APIs:" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -msgid "This item is not for sale" -msgstr "" - #: src/pages/AddLiquidity/index.tsx msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction." msgstr "" @@ -2042,6 +2045,10 @@ msgstr "" msgid "This tool will safely migrate your {0} liquidity to V3. The process is completely trustless thanks to the" msgstr "Aquesta eina migrarà de manera segura la vostra {0} a V3. El procés és completament desconfiat gràcies a" +#: src/utils/swapErrorToUserReadableMessage.tsx +msgid "This transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." +msgstr "" + #: src/utils/swapErrorToUserReadableMessage.tsx 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 "Aquesta transacció no tindrà èxit a causa del moviment dels preus. Proveu d'augmentar la tolerància al lliscament. Nota: els tokens de transferència i rebase no són compatibles amb Uniswap V3." @@ -2073,6 +2080,10 @@ msgstr "" msgid "Token name" msgstr "" +#: src/components/TokenSafety/index.tsx +msgid "Token not found" +msgstr "" + #: src/components/NavBar/SearchBarDropdown.tsx #: src/components/NavBar/index.tsx msgid "Tokens" @@ -2121,9 +2132,6 @@ msgstr "Termini de transacció" msgid "Transaction pending" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/utils/swapErrorToUserReadableMessage.tsx #: src/utils/swapErrorToUserReadableMessage.tsx msgid "Transaction rejected" msgstr "Transacció rebutjada" @@ -2161,6 +2169,10 @@ msgstr "Les fitxesUNI representen accions de vot en el govern Uniswap. Podeu vot msgid "UNI {0}/{1} Burned" msgstr "UNI {0}/{1} Cremat" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Unavailable for listing" +msgstr "" + #: src/pages/Pool/PositionPage.tsx msgid "Unclaimed fees" msgstr "Tarifes no reclamades" @@ -2169,22 +2181,22 @@ msgstr "Tarifes no reclamades" msgid "Undetermined" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected error. Could not estimate gas for the swap." -msgstr "Error inesperat. No s'ha pogut estimar el gas per a l'intercanvi." - -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected issue with estimating the gas. Please try again." -msgstr "Problema inesperat en estimar el gas. Siusplau torna-ho a provar." - #: src/pages/Vote/Landing.tsx msgid "Uniswap Governance" msgstr "Governança Uniswap" +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +msgid "Uniswap Labs can save you up to 20% on CoinTracker and TokenTax" +msgstr "" + #: src/components/PrivacyPolicy/index.tsx msgid "Uniswap Labs' Terms of Service" msgstr "" +#: src/pages/Pool/v2.tsx +msgid "Uniswap V2 is not available on this network." +msgstr "" + #: src/components/SwitchLocaleLink/index.tsx msgid "Uniswap available in: <0>{0}" msgstr "Uniswap disponible a: <0>{0}" @@ -2253,10 +2265,6 @@ msgstr "Actualitza la delegació" msgid "Use the Uniswap Labs API to get faster quotes." msgstr "" -#: src/pages/Pool/v2.tsx -msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum." -msgstr "" - #: src/pages/Pool/index.tsx msgid "V2 liquidity" msgstr "Liquiditat V2" @@ -2278,7 +2286,6 @@ msgstr "" msgid "View more analytics" msgstr "" -#: src/components/TransactionConfirmationModal/index.tsx #: src/nft/components/collection/TransactionCompleteModal.tsx #: src/pages/CreateProposal/ProposalSubmissionModal.tsx msgid "View on Etherscan" @@ -2289,6 +2296,10 @@ msgstr "Veure a Etherscan" msgid "View on Explorer" msgstr "Veure a Explorer" +#: src/components/TransactionConfirmationModal/index.tsx +msgid "View on {0}" +msgstr "" + #: src/components/ModalViews/index.tsx #: src/components/claim/AddressClaimModal.tsx #: src/components/vote/ExecuteModal.tsx @@ -2433,10 +2444,6 @@ msgstr "Sou el primer proveïdor de liquiditat." msgid "You can either vote on each proposal yourself or delegate your votes to a third party." msgstr "Podeu votar vosaltres cada proposta o delegar els vostres vots a un tercer." -#: src/pages/Swap/index.tsx -msgid "You can now trade {0}" -msgstr "Ara podeu canviar {0}" - #: src/pages/CreateProposal/index.tsx msgid "You don't have enough votes to submit a proposal" msgstr "" @@ -2453,10 +2460,6 @@ msgstr "" msgid "You must connect an account." msgstr "Heu de connectar un compte." -#: src/pages/Swap/index.tsx -msgid "You must give the Uniswap smart contracts permission to use your {0}. You only have to do this once per token." -msgstr "Heu de donar permís als contractes intel·ligents Uniswap per utilitzar el vostre {0}. Només heu de fer-ho una vegada per fitxa." - #: src/pages/CreateProposal/index.tsx msgid "You must have {formattedProposalThreshold} votes to submit a proposal" msgstr "" @@ -2534,9 +2537,10 @@ msgid "Your positions" msgstr "Les vostres posicions" #: src/hooks/useUniversalRouter.ts +msgid "Your swap is expected to fail." +msgstr "" + #: src/hooks/useUniversalRouter.ts -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx msgid "Your swap was modified through your wallet. If this was a mistake, please cancel immediately or risk losing your funds." msgstr "" @@ -2587,6 +2591,10 @@ msgstr "" msgid "and" msgstr "" +#: src/nft/components/card/media.tsx +msgid "available yet" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "below floor price." msgstr "" @@ -2644,7 +2652,7 @@ msgstr "" msgid "to" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "{0, plural, =1 {Resolve issue} other {{1}}}" msgstr "" @@ -2672,6 +2680,7 @@ msgstr "" #: src/components/ErrorBoundary/index.tsx #: src/components/RateToggle/index.tsx #: src/components/RateToggle/index.tsx +#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/nft/components/bag/BagFooter.tsx msgid "{0}" msgstr "{0}" @@ -2680,11 +2689,6 @@ msgstr "{0}" msgid "{0} %" msgstr "{0} %" -#: src/components/PositionListItem/index.tsx -#: src/components/PositionListItem/index.tsx -msgid "{0} <0/> per <1/>" -msgstr "{0} <0/> per <1/>" - #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx msgid "{0} Deposited" diff --git a/src/locales/cs-CZ.po b/src/locales/cs-CZ.po index 2c617656357..0e84ea3fb61 100644 --- a/src/locales/cs-CZ.po +++ b/src/locales/cs-CZ.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: uniswap-interface\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-17 00:17\n" +"PO-Revision-Date: 2023-03-21 23:04\n" "Last-Translator: \n" "Language: cs_CZ\n" "Language-Team: Czech\n" @@ -116,6 +116,11 @@ msgstr "<0>Tip: Když přidáte likviditu, obdržíte žetony fondu reprezen msgid "<0>Unlock voting to prepare for the next proposal." msgstr "<0>Odblokujte hlasování, abyste se mohli připravit na další návrh." +#: src/components/PositionListItem/index.tsx +#: src/components/PositionListItem/index.tsx +msgid "<0>{0} <1/> per <2/>" +msgstr "" + #: src/pages/Vote/Landing.tsx msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals" msgstr "" @@ -171,6 +176,10 @@ msgstr "Přidat likviditu." msgid "Add more liquidity" msgstr "" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Add to bag" +msgstr "" + #: src/components/TransactionConfirmationModal/index.tsx msgid "Add {0}" msgstr "" @@ -183,11 +192,6 @@ msgstr "Přidat likviditu V3 {0}/{1}" msgid "Added" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Added to bag" -msgstr "" - #: src/components/TransactionConfirmationModal/index.tsx msgid "Added {0}" msgstr "Přidáno {0}" @@ -216,10 +220,6 @@ msgstr "Povolit migraci žetonů LP" msgid "Allow high price impact trades and skip the confirm screen. Use at your own risk." msgstr "Povolit obchody s vysokým dopadem na cenu a přeskočit obrazovku s potvrzením. Používejte na vlastní nebezpečí." -#: src/pages/Swap/index.tsx -msgid "Allow the Uniswap Protocol to use your {0}" -msgstr "Povolit protokolu Uniswap používat váš {0}" - #: src/pages/MigrateV2/MigrateV2Pair.tsx msgid "Allowed" msgstr "Povoleno" @@ -353,11 +353,10 @@ msgstr "" msgid "Blocked Address" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Blocked from trading" +#: src/nft/components/card/icons.tsx +msgid "Blocked on OpenSea" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx #: src/components/WalletDropdown/AuthenticatedHeader.tsx msgid "Buy crypto" msgstr "" @@ -451,6 +450,11 @@ msgstr "Vymazat vše" msgid "Close" msgstr "Zavřít" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Close wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx #: src/pages/RemoveLiquidity/V3.tsx msgid "Closed" @@ -530,6 +534,7 @@ msgstr "" msgid "Connect" msgstr "" +#: src/nft/pages/profile/profile.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidityV2/index.tsx #: src/pages/RemoveLiquidity/index.tsx @@ -567,6 +572,11 @@ msgstr "Připojit peněženku" msgid "Connected with" msgstr "" +#: src/nft/components/card/media.tsx +msgid "Content not" +msgstr "" + +#: src/nft/components/bag/Bag.tsx #: src/nft/components/profile/list/Modal/BelowFloorWarningModal.tsx msgid "Continue" msgstr "" @@ -610,10 +620,6 @@ msgstr "" msgid "Create a pair" msgstr "Vytvořit pár" -#: src/pages/Pool/index.tsx -msgid "Create a pool" -msgstr "Vytvořit fond" - #: src/components/AccountDetails/TransactionSummary.tsx msgid "Create pool and add {0}/{1} V3 liquidity" msgstr "Vytvořit fond a přidat likviditu V3 {0}/{1}" @@ -725,10 +731,6 @@ msgstr "" msgid "Edit listings" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Efficiency Comparison" -msgstr "" - #: src/state/burn/v3/hooks.tsx msgid "Enter a percent" msgstr "Zadejte procento" @@ -916,18 +918,10 @@ msgstr "Od (nanejvýš)" msgid "Full Range" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Full range positions may earn less fees than concentrated positions. Learn more <0>here." -msgstr "" - #: src/components/ErrorBoundary/index.tsx msgid "Get support" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx -msgid "Get tokens at the best prices in web3 on Uniswap, powered by Moonpay." -msgstr "" - #: src/components/NavBar/MenuDropdown.tsx msgid "Help center" msgstr "" @@ -942,12 +936,11 @@ msgstr "" msgid "Hide closed positions" msgstr "Skrýt zavřené pozice" -#: src/pages/Swap/index.tsx -msgid "High Price Impact" -msgstr "Vysoký dopad na cenu" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Hide resources" +msgstr "" #: src/components/TokenSafety/index.tsx -#: src/pages/AddLiquidity/index.tsx msgid "I understand" msgstr "Rozumím" @@ -1031,7 +1024,6 @@ msgstr "Neplatné zadání ceny" msgid "Invalid range selected. The min price must be lower than the max price." msgstr "Vybrán neplatný rozsah. Minimální cena musí být nižší než maximální cena." -#: src/lib/hooks/swap/useSwapCallback.tsx #: src/state/swap/hooks.tsx msgid "Invalid recipient" msgstr "Neplatný příjemce" @@ -1059,6 +1051,7 @@ msgstr "" #: src/components/PrivacyPolicy/index.tsx #: src/components/PrivacyPolicy/index.tsx +#: src/components/TaxServiceModal/TaxServiceBanner.tsx #: src/components/TokenSafety/TokenSafetyMessage.tsx #: src/components/TokenSafety/index.tsx #: src/pages/Landing/index.tsx @@ -1098,6 +1091,10 @@ msgstr "Poskytovatelé likvidity získají poplatek 0,3 % ze všech obchodů úm msgid "List NFTs" msgstr "" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "List for sale" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Listing an NFT requires a one-time marketplace approval for each NFT collection." msgstr "" @@ -1219,10 +1216,6 @@ msgstr "Minimum přijato" msgid "Missing chart data" msgstr "" -#: src/lib/hooks/swap/useSwapCallback.tsx -msgid "Missing dependencies" -msgstr "Chybějící závislosti" - #: src/components/Tokens/TokenDetails/PriceChart.tsx msgid "Missing price data due to recently low trading volume on Uniswap v3" msgstr "" @@ -1259,6 +1252,10 @@ msgstr "" msgid "Name not found" msgstr "" +#: src/components/NavBar/NavIcon.tsx +msgid "Navigation button" +msgstr "" + #: src/components/swap/AdvancedSwapDetails.tsx msgid "Network Fee" msgstr "" @@ -1287,6 +1284,10 @@ msgstr "Žádná data" msgid "No description." msgstr "Bez popisu." +#: src/nft/pages/profile/profile.tsx +msgid "No items to display" +msgstr "" + #: src/pages/Pool/v2.tsx msgid "No liquidity found." msgstr "Nebyla nalezena žádná likvidita." @@ -1327,6 +1328,10 @@ msgstr "" msgid "Not created" msgstr "Není vytvořeno" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Not listed" +msgstr "" + #: src/components/Settings/index.tsx msgid "ONLY USE THIS MODE IF YOU KNOW WHAT YOU ARE DOING." msgstr "TENTO REŽIM POUŽIJTE JEN TEHDY, JESTLIŽE VÍTE, CO DĚLÁTE." @@ -1347,6 +1352,11 @@ msgstr "Způsobilé k hlasování jsou jen hlasy UNI, které byly delegovány so msgid "Oops, take me back to Swap" msgstr "" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Open wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx msgid "Out of range" msgstr "Mimo rozsah" @@ -1405,7 +1415,6 @@ msgid "Please type the word \"{confirmWord}\" to enable expert mode." msgstr "Pro povolení expertního režimu zadejte slovo \"{confirmWord}\"." #: src/components/AccountDetailsV2/TransactionBody.tsx -#: src/components/NavBar/index.tsx msgid "Pool" msgstr "Fond" @@ -1429,6 +1438,7 @@ msgstr "Žetony fondu ve fondu odměn:" msgid "Pooled {0}:" msgstr "Sestaveno do fondu {0}:" +#: src/components/NavBar/index.tsx #: src/pages/Pool/index.tsx #: src/pages/Pool/index.tsx msgid "Pools" @@ -1623,6 +1633,11 @@ msgstr "Odstranit delegáta" msgid "Remove Liquidity" msgstr "Odstranit likviditu" +#: src/nft/components/collection/CollectionAsset.tsx +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Remove from bag" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "Remove item" msgstr "" @@ -1631,11 +1646,6 @@ msgstr "" msgid "Removed" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Removed from bag" -msgstr "" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Removing" msgstr "" @@ -1648,7 +1658,7 @@ msgstr "Odstraňování {0} {1} a {2} {3}" msgid "Removing {0} {1} and{2} {3}" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Resolve {issues} issues" msgstr "" @@ -1670,6 +1680,15 @@ msgstr "" msgid "Same Price" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Save on Tax Services" +msgstr "" + +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +#: src/components/TaxServiceModal/index.tsx +msgid "Save on your crypto taxes" +msgstr "" + #: src/components/NavBar/SearchBar.tsx msgid "Search" msgstr "" @@ -1726,10 +1745,6 @@ msgstr "" msgid "Sell NFTs" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Selling ERC-1155s coming soon" -msgstr "" - #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/MigrateV2/MigrateV2Pair.tsx @@ -1740,7 +1755,7 @@ msgstr "Nastavit cenové rozmezí" msgid "Set Starting Price" msgstr "Nastavit počáteční cenu" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Set prices to continue" msgstr "" @@ -1778,6 +1793,10 @@ msgstr "" msgid "Show more" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Show resources" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Sign" msgstr "" @@ -1812,7 +1831,7 @@ msgstr "" msgid "Sorry, an error occured while processing your request. If you request support, be sure to provide your error ID." msgstr "" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Start listing" msgstr "" @@ -1854,11 +1873,9 @@ msgstr "Dodávání {0} {1} a {2} {3}" #: src/components/AccountDetailsV2/TransactionBody.tsx #: src/components/NavBar/index.tsx -#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/components/swap/SwapHeader.tsx #: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx -#: src/pages/Swap/index.tsx msgid "Swap" msgstr "Prohodit" @@ -1866,7 +1883,6 @@ msgstr "Prohodit" msgid "Swap <0/> for exactly <1/>" msgstr "Vyměňte <0/> za přesně <1/>" -#: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx msgid "Swap Anyway" msgstr "Přesto prohodit" @@ -1875,11 +1891,6 @@ msgstr "Přesto prohodit" msgid "Swap exactly <0/> for <1/>" msgstr "Vyměňte přesně <0/> za <1/>" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Swap failed: {0}" -msgstr "Výměna se nezdařila: {0}" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Swapped" msgstr "" @@ -1994,10 +2005,6 @@ msgstr "Cena tohoto fondu je ve Vámi vybraném rozsahu. Vaše pozice nyní vyn msgid "The ratio of tokens you add will set the price of this pool." msgstr "Cenu tohoto fondu stanoví poměr žetonů, které přidáte." -#: src/utils/swapErrorToUserReadableMessage.tsx -msgid "The transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." -msgstr "Transakci nebylo možno odeslat, protože uplynula lhůta. Zkontrolujte, zda není Vaše lhůta pro transakce příliš krátká." - #: src/components/LiquidityChartRangeInput/index.tsx msgid "There is no liquidity data." msgstr "" @@ -2010,10 +2017,6 @@ msgstr "" msgid "This app uses the following third-party APIs:" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -msgid "This item is not for sale" -msgstr "" - #: src/pages/AddLiquidity/index.tsx msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction." msgstr "" @@ -2042,6 +2045,10 @@ msgstr "" msgid "This tool will safely migrate your {0} liquidity to V3. The process is completely trustless thanks to the" msgstr "Tento nástroj bezpečně migruje vaši {0} likviditu do V3. Proces je zcela bez důvěry, a to díky" +#: src/utils/swapErrorToUserReadableMessage.tsx +msgid "This transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." +msgstr "" + #: src/utils/swapErrorToUserReadableMessage.tsx msgid "This transaction will not succeed due to price movement. Try increasing your slippage tolerance. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3." msgstr "Tato transakce nebude úspěšná z důvodu cenového pohybu. Zkuste zvýšit toleranci skluzu. Poznámka: Poplatky za žetony za převody a rebase nejsou kompatibilní s Uniswap V3." @@ -2073,6 +2080,10 @@ msgstr "" msgid "Token name" msgstr "" +#: src/components/TokenSafety/index.tsx +msgid "Token not found" +msgstr "" + #: src/components/NavBar/SearchBarDropdown.tsx #: src/components/NavBar/index.tsx msgid "Tokens" @@ -2121,9 +2132,6 @@ msgstr "Lhůta pro transakce" msgid "Transaction pending" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/utils/swapErrorToUserReadableMessage.tsx #: src/utils/swapErrorToUserReadableMessage.tsx msgid "Transaction rejected" msgstr "Transakce zamítnuta" @@ -2161,6 +2169,10 @@ msgstr "Žetony UNI představují hlasovací podíly ve správě Uniswap. O kaž msgid "UNI {0}/{1} Burned" msgstr "UNI {0}/{1} vypáleno" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Unavailable for listing" +msgstr "" + #: src/pages/Pool/PositionPage.tsx msgid "Unclaimed fees" msgstr "Nenárokované poplatky" @@ -2169,22 +2181,22 @@ msgstr "Nenárokované poplatky" msgid "Undetermined" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected error. Could not estimate gas for the swap." -msgstr "Neočekávaná chyba. Plyn pro výměnu se nepodařilo odhadnout." - -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected issue with estimating the gas. Please try again." -msgstr "Neočekávaný problém s odhadem plynu. Prosím zkuste to znovu." - #: src/pages/Vote/Landing.tsx msgid "Uniswap Governance" msgstr "Správa Uniswap" +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +msgid "Uniswap Labs can save you up to 20% on CoinTracker and TokenTax" +msgstr "" + #: src/components/PrivacyPolicy/index.tsx msgid "Uniswap Labs' Terms of Service" msgstr "" +#: src/pages/Pool/v2.tsx +msgid "Uniswap V2 is not available on this network." +msgstr "" + #: src/components/SwitchLocaleLink/index.tsx msgid "Uniswap available in: <0>{0}" msgstr "Uniswap k dispozici za: <0>{0}" @@ -2253,10 +2265,6 @@ msgstr "Aktualizovat delegaci" msgid "Use the Uniswap Labs API to get faster quotes." msgstr "" -#: src/pages/Pool/v2.tsx -msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum." -msgstr "" - #: src/pages/Pool/index.tsx msgid "V2 liquidity" msgstr "Likvidita V2" @@ -2278,7 +2286,6 @@ msgstr "" msgid "View more analytics" msgstr "" -#: src/components/TransactionConfirmationModal/index.tsx #: src/nft/components/collection/TransactionCompleteModal.tsx #: src/pages/CreateProposal/ProposalSubmissionModal.tsx msgid "View on Etherscan" @@ -2289,6 +2296,10 @@ msgstr "Pohled na Etherscan" msgid "View on Explorer" msgstr "Zobrazit v Průzkumníku" +#: src/components/TransactionConfirmationModal/index.tsx +msgid "View on {0}" +msgstr "" + #: src/components/ModalViews/index.tsx #: src/components/claim/AddressClaimModal.tsx #: src/components/vote/ExecuteModal.tsx @@ -2433,10 +2444,6 @@ msgstr "Jste prvním poskytovatelem likvidity." msgid "You can either vote on each proposal yourself or delegate your votes to a third party." msgstr "Buď můžete o každém návrhu hlasovat sami, nebo můžete své hlasy delegovat na nějakou třetí stranu." -#: src/pages/Swap/index.tsx -msgid "You can now trade {0}" -msgstr "Nyní můžete obchodovat {0}" - #: src/pages/CreateProposal/index.tsx msgid "You don't have enough votes to submit a proposal" msgstr "" @@ -2453,10 +2460,6 @@ msgstr "" msgid "You must connect an account." msgstr "Musíte připojit nějaký účet." -#: src/pages/Swap/index.tsx -msgid "You must give the Uniswap smart contracts permission to use your {0}. You only have to do this once per token." -msgstr "Musíte chytrým smlouvám Uniswap udělit oprávnění používat Vaše {0}. Toto musíte udělat pouze jednou pro každý žeton." - #: src/pages/CreateProposal/index.tsx msgid "You must have {formattedProposalThreshold} votes to submit a proposal" msgstr "" @@ -2534,9 +2537,10 @@ msgid "Your positions" msgstr "Vaše pozice" #: src/hooks/useUniversalRouter.ts +msgid "Your swap is expected to fail." +msgstr "" + #: src/hooks/useUniversalRouter.ts -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx msgid "Your swap was modified through your wallet. If this was a mistake, please cancel immediately or risk losing your funds." msgstr "" @@ -2587,6 +2591,10 @@ msgstr "" msgid "and" msgstr "" +#: src/nft/components/card/media.tsx +msgid "available yet" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "below floor price." msgstr "" @@ -2644,7 +2652,7 @@ msgstr "" msgid "to" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "{0, plural, =1 {Resolve issue} other {{1}}}" msgstr "" @@ -2672,6 +2680,7 @@ msgstr "" #: src/components/ErrorBoundary/index.tsx #: src/components/RateToggle/index.tsx #: src/components/RateToggle/index.tsx +#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/nft/components/bag/BagFooter.tsx msgid "{0}" msgstr "{0}" @@ -2680,11 +2689,6 @@ msgstr "{0}" msgid "{0} %" msgstr "{0} %" -#: src/components/PositionListItem/index.tsx -#: src/components/PositionListItem/index.tsx -msgid "{0} <0/> per <1/>" -msgstr "{0} <0/> za <1/>" - #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx msgid "{0} Deposited" diff --git a/src/locales/da-DK.po b/src/locales/da-DK.po index f7214b27fba..f9646fd5fc5 100644 --- a/src/locales/da-DK.po +++ b/src/locales/da-DK.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: uniswap-interface\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-17 00:17\n" +"PO-Revision-Date: 2023-03-21 23:05\n" "Last-Translator: \n" "Language: da_DK\n" "Language-Team: Danish\n" @@ -116,6 +116,11 @@ msgstr "<0>Tip: Når du tilføjer likviditet, vil du modtage puljetokens, so msgid "<0>Unlock voting to prepare for the next proposal." msgstr "<0>Lås op for at stemmefor at forberede det næste forslag." +#: src/components/PositionListItem/index.tsx +#: src/components/PositionListItem/index.tsx +msgid "<0>{0} <1/> per <2/>" +msgstr "" + #: src/pages/Vote/Landing.tsx msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals" msgstr "" @@ -171,6 +176,10 @@ msgstr "Tilføj likviditet." msgid "Add more liquidity" msgstr "" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Add to bag" +msgstr "" + #: src/components/TransactionConfirmationModal/index.tsx msgid "Add {0}" msgstr "" @@ -183,11 +192,6 @@ msgstr "Tilføj {0}/{1} V3 likviditet" msgid "Added" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Added to bag" -msgstr "" - #: src/components/TransactionConfirmationModal/index.tsx msgid "Added {0}" msgstr "Tilføjet {0}" @@ -216,10 +220,6 @@ msgstr "Tillad overførsel af LP-token" msgid "Allow high price impact trades and skip the confirm screen. Use at your own risk." msgstr "Tillad høj pris påvirkning handler og springer over bekræftelsesskærmen. Brug på egen risiko." -#: src/pages/Swap/index.tsx -msgid "Allow the Uniswap Protocol to use your {0}" -msgstr "Tillad Uniswap-protokollen at bruge din {0}" - #: src/pages/MigrateV2/MigrateV2Pair.tsx msgid "Allowed" msgstr "Tilladt" @@ -353,11 +353,10 @@ msgstr "" msgid "Blocked Address" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Blocked from trading" +#: src/nft/components/card/icons.tsx +msgid "Blocked on OpenSea" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx #: src/components/WalletDropdown/AuthenticatedHeader.tsx msgid "Buy crypto" msgstr "" @@ -451,6 +450,11 @@ msgstr "Ryd alle" msgid "Close" msgstr "Luk" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Close wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx #: src/pages/RemoveLiquidity/V3.tsx msgid "Closed" @@ -530,6 +534,7 @@ msgstr "" msgid "Connect" msgstr "" +#: src/nft/pages/profile/profile.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidityV2/index.tsx #: src/pages/RemoveLiquidity/index.tsx @@ -567,6 +572,11 @@ msgstr "Forbind tegnebog" msgid "Connected with" msgstr "" +#: src/nft/components/card/media.tsx +msgid "Content not" +msgstr "" + +#: src/nft/components/bag/Bag.tsx #: src/nft/components/profile/list/Modal/BelowFloorWarningModal.tsx msgid "Continue" msgstr "" @@ -610,10 +620,6 @@ msgstr "" msgid "Create a pair" msgstr "Opret et par" -#: src/pages/Pool/index.tsx -msgid "Create a pool" -msgstr "Opret en pulje" - #: src/components/AccountDetails/TransactionSummary.tsx msgid "Create pool and add {0}/{1} V3 liquidity" msgstr "Opret pulje, og tilføj {0}/{1} V3-likviditet" @@ -725,10 +731,6 @@ msgstr "" msgid "Edit listings" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Efficiency Comparison" -msgstr "" - #: src/state/burn/v3/hooks.tsx msgid "Enter a percent" msgstr "Indtast en procent" @@ -916,18 +918,10 @@ msgstr "Fra (mest)" msgid "Full Range" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Full range positions may earn less fees than concentrated positions. Learn more <0>here." -msgstr "" - #: src/components/ErrorBoundary/index.tsx msgid "Get support" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx -msgid "Get tokens at the best prices in web3 on Uniswap, powered by Moonpay." -msgstr "" - #: src/components/NavBar/MenuDropdown.tsx msgid "Help center" msgstr "" @@ -942,12 +936,11 @@ msgstr "" msgid "Hide closed positions" msgstr "Skjul lukkede positioner" -#: src/pages/Swap/index.tsx -msgid "High Price Impact" -msgstr "Høj prispåvirkning" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Hide resources" +msgstr "" #: src/components/TokenSafety/index.tsx -#: src/pages/AddLiquidity/index.tsx msgid "I understand" msgstr "Jeg har forstået" @@ -1031,7 +1024,6 @@ msgstr "Ugyldig prisinput" msgid "Invalid range selected. The min price must be lower than the max price." msgstr "Ugyldigt interval valgt. Minimumspris skal være lavere end den maksimale pris." -#: src/lib/hooks/swap/useSwapCallback.tsx #: src/state/swap/hooks.tsx msgid "Invalid recipient" msgstr "Ugyldig modtager" @@ -1059,6 +1051,7 @@ msgstr "" #: src/components/PrivacyPolicy/index.tsx #: src/components/PrivacyPolicy/index.tsx +#: src/components/TaxServiceModal/TaxServiceBanner.tsx #: src/components/TokenSafety/TokenSafetyMessage.tsx #: src/components/TokenSafety/index.tsx #: src/pages/Landing/index.tsx @@ -1098,6 +1091,10 @@ msgstr "Likviditetsudbydere optjener et gebyr på 0,3 % på alle handler i forho msgid "List NFTs" msgstr "" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "List for sale" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Listing an NFT requires a one-time marketplace approval for each NFT collection." msgstr "" @@ -1219,10 +1216,6 @@ msgstr "Minimum modtaget" msgid "Missing chart data" msgstr "" -#: src/lib/hooks/swap/useSwapCallback.tsx -msgid "Missing dependencies" -msgstr "Manglende afhængigheder" - #: src/components/Tokens/TokenDetails/PriceChart.tsx msgid "Missing price data due to recently low trading volume on Uniswap v3" msgstr "" @@ -1259,6 +1252,10 @@ msgstr "" msgid "Name not found" msgstr "" +#: src/components/NavBar/NavIcon.tsx +msgid "Navigation button" +msgstr "" + #: src/components/swap/AdvancedSwapDetails.tsx msgid "Network Fee" msgstr "" @@ -1287,6 +1284,10 @@ msgstr "Ingen data" msgid "No description." msgstr "Ingen beskrivelse." +#: src/nft/pages/profile/profile.tsx +msgid "No items to display" +msgstr "" + #: src/pages/Pool/v2.tsx msgid "No liquidity found." msgstr "Ingen likviditet fundet." @@ -1327,6 +1328,10 @@ msgstr "" msgid "Not created" msgstr "Ikke oprettet" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Not listed" +msgstr "" + #: src/components/Settings/index.tsx msgid "ONLY USE THIS MODE IF YOU KNOW WHAT YOU ARE DOING." msgstr "KUN BRUG DENNE TILSTAND, HVIS DU VED, HVAD DU LAVER." @@ -1347,6 +1352,11 @@ msgstr "Kun UNI-stemmer, der blev selvdelegeret eller delegeret til en anden adr msgid "Oops, take me back to Swap" msgstr "" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Open wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx msgid "Out of range" msgstr "Ikke inden for rækkevidde" @@ -1405,7 +1415,6 @@ msgid "Please type the word \"{confirmWord}\" to enable expert mode." msgstr "Skriv ordet \"{confirmWord}\" for at aktivere eksperttilstand." #: src/components/AccountDetailsV2/TransactionBody.tsx -#: src/components/NavBar/index.tsx msgid "Pool" msgstr "Pulje" @@ -1429,6 +1438,7 @@ msgstr "Puljetokens i belønningspuljen:" msgid "Pooled {0}:" msgstr "Pulje {0}:" +#: src/components/NavBar/index.tsx #: src/pages/Pool/index.tsx #: src/pages/Pool/index.tsx msgid "Pools" @@ -1623,6 +1633,11 @@ msgstr "Fjern delegeret" msgid "Remove Liquidity" msgstr "Fjern likviditet" +#: src/nft/components/collection/CollectionAsset.tsx +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Remove from bag" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "Remove item" msgstr "" @@ -1631,11 +1646,6 @@ msgstr "" msgid "Removed" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Removed from bag" -msgstr "" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Removing" msgstr "" @@ -1648,7 +1658,7 @@ msgstr "Fjerner {0} {1} og {2} {3}" msgid "Removing {0} {1} and{2} {3}" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Resolve {issues} issues" msgstr "" @@ -1670,6 +1680,15 @@ msgstr "" msgid "Same Price" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Save on Tax Services" +msgstr "" + +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +#: src/components/TaxServiceModal/index.tsx +msgid "Save on your crypto taxes" +msgstr "" + #: src/components/NavBar/SearchBar.tsx msgid "Search" msgstr "" @@ -1726,10 +1745,6 @@ msgstr "" msgid "Sell NFTs" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Selling ERC-1155s coming soon" -msgstr "" - #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/MigrateV2/MigrateV2Pair.tsx @@ -1740,7 +1755,7 @@ msgstr "Indstil prisinterval" msgid "Set Starting Price" msgstr "Indstil startpris" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Set prices to continue" msgstr "" @@ -1778,6 +1793,10 @@ msgstr "" msgid "Show more" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Show resources" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Sign" msgstr "" @@ -1812,7 +1831,7 @@ msgstr "" msgid "Sorry, an error occured while processing your request. If you request support, be sure to provide your error ID." msgstr "" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Start listing" msgstr "" @@ -1854,11 +1873,9 @@ msgstr "Forsyning {0} {1} og {2} {3}" #: src/components/AccountDetailsV2/TransactionBody.tsx #: src/components/NavBar/index.tsx -#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/components/swap/SwapHeader.tsx #: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx -#: src/pages/Swap/index.tsx msgid "Swap" msgstr "Byt" @@ -1866,7 +1883,6 @@ msgstr "Byt" msgid "Swap <0/> for exactly <1/>" msgstr "Skift <0/> for nøjagtigt <1/>" -#: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx msgid "Swap Anyway" msgstr "Ombyt alligevel" @@ -1875,11 +1891,6 @@ msgstr "Ombyt alligevel" msgid "Swap exactly <0/> for <1/>" msgstr "Skift nøjagtigt <0/> for <1/>" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Swap failed: {0}" -msgstr "Skift mislykkedes: {0}" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Swapped" msgstr "" @@ -1994,10 +2005,6 @@ msgstr "Prisen på denne pulje ligger inden for dit valgte interval. Din positio msgid "The ratio of tokens you add will set the price of this pool." msgstr "Forholdet mellem tokens du tilføjer, vil sætte prisen på denne pulje." -#: src/utils/swapErrorToUserReadableMessage.tsx -msgid "The transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." -msgstr "Transaktionen kunne ikke sendes, fordi fristen er udløbet. Kontroller, at din transaktionsfrist ikke er for lav." - #: src/components/LiquidityChartRangeInput/index.tsx msgid "There is no liquidity data." msgstr "" @@ -2010,10 +2017,6 @@ msgstr "" msgid "This app uses the following third-party APIs:" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -msgid "This item is not for sale" -msgstr "" - #: src/pages/AddLiquidity/index.tsx msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction." msgstr "" @@ -2042,6 +2045,10 @@ msgstr "" msgid "This tool will safely migrate your {0} liquidity to V3. The process is completely trustless thanks to the" msgstr "Dette værktøj vil sikkert overføre din {0}-likviditet til V3. Processen er helt troværdig takket være" +#: src/utils/swapErrorToUserReadableMessage.tsx +msgid "This transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." +msgstr "" + #: src/utils/swapErrorToUserReadableMessage.tsx 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 "Denne transaktion lykkes ikke på grund af prisbevægelse. Prøv at øge din glidningstolerance. Bemærk: gebyr ved overførsel og rebase-tokens er inkompatibelt med Uniswap V3." @@ -2073,6 +2080,10 @@ msgstr "" msgid "Token name" msgstr "" +#: src/components/TokenSafety/index.tsx +msgid "Token not found" +msgstr "" + #: src/components/NavBar/SearchBarDropdown.tsx #: src/components/NavBar/index.tsx msgid "Tokens" @@ -2121,9 +2132,6 @@ msgstr "Frist for transaktion" msgid "Transaction pending" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/utils/swapErrorToUserReadableMessage.tsx #: src/utils/swapErrorToUserReadableMessage.tsx msgid "Transaction rejected" msgstr "Transaktion afvist" @@ -2161,6 +2169,10 @@ msgstr "UNI-tokens repræsenterer stemmeandele i Uniswap governance. Du kan selv msgid "UNI {0}/{1} Burned" msgstr "UNI {0}/{1} brændt" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Unavailable for listing" +msgstr "" + #: src/pages/Pool/PositionPage.tsx msgid "Unclaimed fees" msgstr "Gebyrer, der ikke er gjort krav på" @@ -2169,22 +2181,22 @@ msgstr "Gebyrer, der ikke er gjort krav på" msgid "Undetermined" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected error. Could not estimate gas for the swap." -msgstr "Uforventet fejl. Kunne ikke estimere gas til byttet." - -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected issue with estimating the gas. Please try again." -msgstr "Uventet problem med estimering af gassen. Prøv igen." - #: src/pages/Vote/Landing.tsx msgid "Uniswap Governance" msgstr "Uniswap Governance" +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +msgid "Uniswap Labs can save you up to 20% on CoinTracker and TokenTax" +msgstr "" + #: src/components/PrivacyPolicy/index.tsx msgid "Uniswap Labs' Terms of Service" msgstr "" +#: src/pages/Pool/v2.tsx +msgid "Uniswap V2 is not available on this network." +msgstr "" + #: src/components/SwitchLocaleLink/index.tsx msgid "Uniswap available in: <0>{0}" msgstr "Uniswap tilgængelig i: <0>{0}" @@ -2253,10 +2265,6 @@ msgstr "Opdater delegation" msgid "Use the Uniswap Labs API to get faster quotes." msgstr "" -#: src/pages/Pool/v2.tsx -msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum." -msgstr "" - #: src/pages/Pool/index.tsx msgid "V2 liquidity" msgstr "V2-likviditet" @@ -2278,7 +2286,6 @@ msgstr "" msgid "View more analytics" msgstr "" -#: src/components/TransactionConfirmationModal/index.tsx #: src/nft/components/collection/TransactionCompleteModal.tsx #: src/pages/CreateProposal/ProposalSubmissionModal.tsx msgid "View on Etherscan" @@ -2289,6 +2296,10 @@ msgstr "Se på Etherscan" msgid "View on Explorer" msgstr "Vis i Explorer" +#: src/components/TransactionConfirmationModal/index.tsx +msgid "View on {0}" +msgstr "" + #: src/components/ModalViews/index.tsx #: src/components/claim/AddressClaimModal.tsx #: src/components/vote/ExecuteModal.tsx @@ -2433,10 +2444,6 @@ msgstr "Du er den første likviditetsudbyder." msgid "You can either vote on each proposal yourself or delegate your votes to a third party." msgstr "Du kan enten selv stemme om hvert enkelt forslag eller uddelegere dine stemmer til en tredjepart." -#: src/pages/Swap/index.tsx -msgid "You can now trade {0}" -msgstr "Du kan nu handle {0}" - #: src/pages/CreateProposal/index.tsx msgid "You don't have enough votes to submit a proposal" msgstr "" @@ -2453,10 +2460,6 @@ msgstr "" msgid "You must connect an account." msgstr "Du skal forbinde en konto." -#: src/pages/Swap/index.tsx -msgid "You must give the Uniswap smart contracts permission to use your {0}. You only have to do this once per token." -msgstr "Du skal give Uniswap smart contracts tilladelse til at bruge din {0}. Du behøver kun at gøre dette én gang pr. token." - #: src/pages/CreateProposal/index.tsx msgid "You must have {formattedProposalThreshold} votes to submit a proposal" msgstr "" @@ -2534,9 +2537,10 @@ msgid "Your positions" msgstr "Dine positioner" #: src/hooks/useUniversalRouter.ts +msgid "Your swap is expected to fail." +msgstr "" + #: src/hooks/useUniversalRouter.ts -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx msgid "Your swap was modified through your wallet. If this was a mistake, please cancel immediately or risk losing your funds." msgstr "" @@ -2587,6 +2591,10 @@ msgstr "" msgid "and" msgstr "" +#: src/nft/components/card/media.tsx +msgid "available yet" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "below floor price." msgstr "" @@ -2644,7 +2652,7 @@ msgstr "" msgid "to" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "{0, plural, =1 {Resolve issue} other {{1}}}" msgstr "" @@ -2672,6 +2680,7 @@ msgstr "" #: src/components/ErrorBoundary/index.tsx #: src/components/RateToggle/index.tsx #: src/components/RateToggle/index.tsx +#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/nft/components/bag/BagFooter.tsx msgid "{0}" msgstr "{0}" @@ -2680,11 +2689,6 @@ msgstr "{0}" msgid "{0} %" msgstr "{0} %" -#: src/components/PositionListItem/index.tsx -#: src/components/PositionListItem/index.tsx -msgid "{0} <0/> per <1/>" -msgstr "{0} <0/> per <1/>" - #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx msgid "{0} Deposited" diff --git a/src/locales/de-DE.po b/src/locales/de-DE.po index c778ebd881d..ff68c26ce7b 100644 --- a/src/locales/de-DE.po +++ b/src/locales/de-DE.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: uniswap-interface\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-17 00:17\n" +"PO-Revision-Date: 2023-03-21 23:05\n" "Last-Translator: \n" "Language: de_DE\n" "Language-Team: German\n" @@ -116,6 +116,11 @@ msgstr "<0>Tipp: Wenn Sie Liquidität hinzufügen, erhalten Sie Pool-Token, msgid "<0>Unlock voting to prepare for the next proposal." msgstr "<0>Abstimmen freischalten um bereit zu sein für den nächsten Vorschlag." +#: src/components/PositionListItem/index.tsx +#: src/components/PositionListItem/index.tsx +msgid "<0>{0} <1/> per <2/>" +msgstr "" + #: src/pages/Vote/Landing.tsx msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals" msgstr "Für das Einreichen von Anträgen ist eine Mindestschwelle von 0,25% des gesamten UNI-Angebots erforderlich" @@ -171,6 +176,10 @@ msgstr "Liquidität hinzufügen." msgid "Add more liquidity" msgstr "Mehr Liquidität hinzufügen" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Add to bag" +msgstr "" + #: src/components/TransactionConfirmationModal/index.tsx msgid "Add {0}" msgstr "" @@ -183,11 +192,6 @@ msgstr "{0}/{1} V3 Liquidität hinzufügen" msgid "Added" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Added to bag" -msgstr "" - #: src/components/TransactionConfirmationModal/index.tsx msgid "Added {0}" msgstr "{0} hinzugefügt" @@ -216,10 +220,6 @@ msgstr "LP-Token Migration erlauben" msgid "Allow high price impact trades and skip the confirm screen. Use at your own risk." msgstr "Erlaube hohe Preisauswirkungen und überspringe den Bestätigungsbildschirm. Auf eigene Gefahr." -#: src/pages/Swap/index.tsx -msgid "Allow the Uniswap Protocol to use your {0}" -msgstr "Erlaube dem Uniswap Protokoll, {0} zu verwenden" - #: src/pages/MigrateV2/MigrateV2Pair.tsx msgid "Allowed" msgstr "Erlaubt" @@ -353,11 +353,10 @@ msgstr "" msgid "Blocked Address" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Blocked from trading" +#: src/nft/components/card/icons.tsx +msgid "Blocked on OpenSea" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx #: src/components/WalletDropdown/AuthenticatedHeader.tsx msgid "Buy crypto" msgstr "" @@ -451,6 +450,11 @@ msgstr "Alles löschen" msgid "Close" msgstr "Schließen" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Close wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx #: src/pages/RemoveLiquidity/V3.tsx msgid "Closed" @@ -530,6 +534,7 @@ msgstr "Transaktion in Wallet bestätigen" msgid "Connect" msgstr "" +#: src/nft/pages/profile/profile.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidityV2/index.tsx #: src/pages/RemoveLiquidity/index.tsx @@ -567,6 +572,11 @@ msgstr "Wallet verbinden" msgid "Connected with" msgstr "" +#: src/nft/components/card/media.tsx +msgid "Content not" +msgstr "" + +#: src/nft/components/bag/Bag.tsx #: src/nft/components/profile/list/Modal/BelowFloorWarningModal.tsx msgid "Continue" msgstr "" @@ -610,10 +620,6 @@ msgstr "Vorschlag erstellen" msgid "Create a pair" msgstr "Paar erstellen" -#: src/pages/Pool/index.tsx -msgid "Create a pool" -msgstr "Pool erstellen" - #: src/components/AccountDetails/TransactionSummary.tsx msgid "Create pool and add {0}/{1} V3 liquidity" msgstr "Pool erstellen und {0}/{1} V3 Liquidität hinzufügen" @@ -725,10 +731,6 @@ msgstr "Bearbeiten" msgid "Edit listings" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Efficiency Comparison" -msgstr "Effizienzvergleich" - #: src/state/burn/v3/hooks.tsx msgid "Enter a percent" msgstr "Prozentsatz eingeben" @@ -916,18 +918,10 @@ msgstr "Von (höchstens)" msgid "Full Range" msgstr "Gesamter Bereich" -#: src/pages/AddLiquidity/index.tsx -msgid "Full range positions may earn less fees than concentrated positions. Learn more <0>here." -msgstr "Positionen über den gesamten Bereich können weniger Gebühren einbringen als konzentrierte Positionen. Erfahren Sie mehr <0>hier." - #: src/components/ErrorBoundary/index.tsx msgid "Get support" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx -msgid "Get tokens at the best prices in web3 on Uniswap, powered by Moonpay." -msgstr "" - #: src/components/NavBar/MenuDropdown.tsx msgid "Help center" msgstr "" @@ -942,12 +936,11 @@ msgstr "Ausblenden" msgid "Hide closed positions" msgstr "Geschlossene Positionen ausblenden" -#: src/pages/Swap/index.tsx -msgid "High Price Impact" -msgstr "Hoher Preiseinfluss" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Hide resources" +msgstr "" #: src/components/TokenSafety/index.tsx -#: src/pages/AddLiquidity/index.tsx msgid "I understand" msgstr "Einverstanden" @@ -1031,7 +1024,6 @@ msgstr "Ungültige Preisangabe" msgid "Invalid range selected. The min price must be lower than the max price." msgstr "Ungültiger Bereich ausgewählt. Der Mindestpreis muss kleiner als der Maximalpreis sein." -#: src/lib/hooks/swap/useSwapCallback.tsx #: src/state/swap/hooks.tsx msgid "Invalid recipient" msgstr "Ungültiger Empfänger" @@ -1059,6 +1051,7 @@ msgstr "Erfahren Sie mehr über die Bereitstellung von Liquidität" #: src/components/PrivacyPolicy/index.tsx #: src/components/PrivacyPolicy/index.tsx +#: src/components/TaxServiceModal/TaxServiceBanner.tsx #: src/components/TokenSafety/TokenSafetyMessage.tsx #: src/components/TokenSafety/index.tsx #: src/pages/Landing/index.tsx @@ -1098,6 +1091,10 @@ msgstr "Liquiditätsgeber verdienen eine 0,3%ige Gebühr für jeden Tausch im Ve msgid "List NFTs" msgstr "" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "List for sale" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Listing an NFT requires a one-time marketplace approval for each NFT collection." msgstr "" @@ -1219,10 +1216,6 @@ msgstr "Minimum erhalten" msgid "Missing chart data" msgstr "" -#: src/lib/hooks/swap/useSwapCallback.tsx -msgid "Missing dependencies" -msgstr "Fehlende Abhängigkeiten" - #: src/components/Tokens/TokenDetails/PriceChart.tsx msgid "Missing price data due to recently low trading volume on Uniswap v3" msgstr "" @@ -1259,6 +1252,10 @@ msgstr "" msgid "Name not found" msgstr "" +#: src/components/NavBar/NavIcon.tsx +msgid "Navigation button" +msgstr "" + #: src/components/swap/AdvancedSwapDetails.tsx msgid "Network Fee" msgstr "" @@ -1287,6 +1284,10 @@ msgstr "Keine Daten" msgid "No description." msgstr "Keine Beschreibung." +#: src/nft/pages/profile/profile.tsx +msgid "No items to display" +msgstr "" + #: src/pages/Pool/v2.tsx msgid "No liquidity found." msgstr "Keine Liquidität gefunden." @@ -1327,6 +1328,10 @@ msgstr "" msgid "Not created" msgstr "Nicht erstellt" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Not listed" +msgstr "" + #: src/components/Settings/index.tsx msgid "ONLY USE THIS MODE IF YOU KNOW WHAT YOU ARE DOING." msgstr "VERWENDEN SIE DIESEN MODUS NUR, WENN SIE WISSEN, WAS SIE TUN." @@ -1347,6 +1352,11 @@ msgstr "Nur UNI-Stimmen, die vor Block {0} an die eigene oder eine fremde Adress msgid "Oops, take me back to Swap" msgstr "" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Open wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx msgid "Out of range" msgstr "Nicht im Bereich" @@ -1405,7 +1415,6 @@ msgid "Please type the word \"{confirmWord}\" to enable expert mode." msgstr "Bitte geben Sie das Wort \"{confirmWord}\" ein, um den Experten-Modus zu aktivieren." #: src/components/AccountDetailsV2/TransactionBody.tsx -#: src/components/NavBar/index.tsx msgid "Pool" msgstr "Pool" @@ -1429,6 +1438,7 @@ msgstr "Pool-Token im Belohnungspool:" msgid "Pooled {0}:" msgstr "{0} gepoolt:" +#: src/components/NavBar/index.tsx #: src/pages/Pool/index.tsx #: src/pages/Pool/index.tsx msgid "Pools" @@ -1623,6 +1633,11 @@ msgstr "Delegierung entfernen" msgid "Remove Liquidity" msgstr "Liquidität entfernen" +#: src/nft/components/collection/CollectionAsset.tsx +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Remove from bag" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "Remove item" msgstr "" @@ -1631,11 +1646,6 @@ msgstr "" msgid "Removed" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Removed from bag" -msgstr "" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Removing" msgstr "" @@ -1648,7 +1658,7 @@ msgstr "{0} {1} und {2} {3} entfernen" msgid "Removing {0} {1} and{2} {3}" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Resolve {issues} issues" msgstr "" @@ -1670,6 +1680,15 @@ msgstr "" msgid "Same Price" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Save on Tax Services" +msgstr "" + +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +#: src/components/TaxServiceModal/index.tsx +msgid "Save on your crypto taxes" +msgstr "" + #: src/components/NavBar/SearchBar.tsx msgid "Search" msgstr "" @@ -1726,10 +1745,6 @@ msgstr "" msgid "Sell NFTs" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Selling ERC-1155s coming soon" -msgstr "" - #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/MigrateV2/MigrateV2Pair.tsx @@ -1740,7 +1755,7 @@ msgstr "Preisbereich festlegen" msgid "Set Starting Price" msgstr "Startpreis festlegen" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Set prices to continue" msgstr "" @@ -1778,6 +1793,10 @@ msgstr "" msgid "Show more" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Show resources" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Sign" msgstr "" @@ -1812,7 +1831,7 @@ msgstr "" msgid "Sorry, an error occured while processing your request. If you request support, be sure to provide your error ID." msgstr "" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Start listing" msgstr "" @@ -1854,11 +1873,9 @@ msgstr "Biete {0} {1} und {2} {3} an" #: src/components/AccountDetailsV2/TransactionBody.tsx #: src/components/NavBar/index.tsx -#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/components/swap/SwapHeader.tsx #: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx -#: src/pages/Swap/index.tsx msgid "Swap" msgstr "Tauschen" @@ -1866,7 +1883,6 @@ msgstr "Tauschen" msgid "Swap <0/> for exactly <1/>" msgstr "Tausche <0/> gegen genau <1/>" -#: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx msgid "Swap Anyway" msgstr "Trotzdem tauschen" @@ -1875,11 +1891,6 @@ msgstr "Trotzdem tauschen" msgid "Swap exactly <0/> for <1/>" msgstr "Tausche genau <0/> gegen <1/>" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Swap failed: {0}" -msgstr "Tausch fehlgeschlagen: {0}" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Swapped" msgstr "" @@ -1994,10 +2005,6 @@ msgstr "Der Preis für diesen Pool liegt innerhalb des gewählten Bereichs. Ihre msgid "The ratio of tokens you add will set the price of this pool." msgstr "Das Verhältnis der von Ihnen hinzugefügten Token legt den Preis für diesen Pool fest." -#: src/utils/swapErrorToUserReadableMessage.tsx -msgid "The transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." -msgstr "Die Transaktion konnte nicht gesendet werden, da die Frist abgelaufen ist. Bitte überprüfen Sie, ob Ihre Transaktionsfrist nicht zu niedrig ist." - #: src/components/LiquidityChartRangeInput/index.tsx msgid "There is no liquidity data." msgstr "Keine Liquiditätsdaten vorhanden." @@ -2010,10 +2017,6 @@ msgstr "" msgid "This app uses the following third-party APIs:" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -msgid "This item is not for sale" -msgstr "" - #: src/pages/AddLiquidity/index.tsx msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction." msgstr "" @@ -2042,6 +2045,10 @@ msgstr "" msgid "This tool will safely migrate your {0} liquidity to V3. The process is completely trustless thanks to the" msgstr "Dieses Tool wird Ihre {0}-Liquidität sicher auf V3 migrieren. Der Prozess ist dank des" +#: src/utils/swapErrorToUserReadableMessage.tsx +msgid "This transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." +msgstr "" + #: src/utils/swapErrorToUserReadableMessage.tsx 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 "Diese Transaktion wird aufgrund von Preisbewegungen nicht erfolgreich sein. Versuchen Sie, Ihre Schlupftoleranz zu erhöhen. Hinweis: Gebühren für Transfer- und Rebase-Token sind nicht mit Uniswap V3 kompatibel." @@ -2073,6 +2080,10 @@ msgstr "" msgid "Token name" msgstr "" +#: src/components/TokenSafety/index.tsx +msgid "Token not found" +msgstr "" + #: src/components/NavBar/SearchBarDropdown.tsx #: src/components/NavBar/index.tsx msgid "Tokens" @@ -2121,9 +2132,6 @@ msgstr "Transaktionsfrist" msgid "Transaction pending" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/utils/swapErrorToUserReadableMessage.tsx #: src/utils/swapErrorToUserReadableMessage.tsx msgid "Transaction rejected" msgstr "Transaktion abgelehnt" @@ -2161,6 +2169,10 @@ msgstr "UNI-Token stellen Stimmbeteiligung an der Uniswap Governance dar. Sie k msgid "UNI {0}/{1} Burned" msgstr "UNI {0}/{1} verbrannt" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Unavailable for listing" +msgstr "" + #: src/pages/Pool/PositionPage.tsx msgid "Unclaimed fees" msgstr "Noch nicht bezogene Gebühren" @@ -2169,22 +2181,22 @@ msgstr "Noch nicht bezogene Gebühren" msgid "Undetermined" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected error. Could not estimate gas for the swap." -msgstr "Unerwarteter Fehler. Gas für den Tausch konnte nicht geschätzt werden." - -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected issue with estimating the gas. Please try again." -msgstr "Unerwartetes Problem bei der Schätzung des Gases. Bitte versuche es erneut." - #: src/pages/Vote/Landing.tsx msgid "Uniswap Governance" msgstr "Uniswap Governance" +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +msgid "Uniswap Labs can save you up to 20% on CoinTracker and TokenTax" +msgstr "" + #: src/components/PrivacyPolicy/index.tsx msgid "Uniswap Labs' Terms of Service" msgstr "" +#: src/pages/Pool/v2.tsx +msgid "Uniswap V2 is not available on this network." +msgstr "" + #: src/components/SwitchLocaleLink/index.tsx msgid "Uniswap available in: <0>{0}" msgstr "Uniswap verfügbar in: <0>{0}" @@ -2253,10 +2265,6 @@ msgstr "Delegation aktualisieren" msgid "Use the Uniswap Labs API to get faster quotes." msgstr "" -#: src/pages/Pool/v2.tsx -msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum." -msgstr "" - #: src/pages/Pool/index.tsx msgid "V2 liquidity" msgstr "V2-Liquidität" @@ -2278,7 +2286,6 @@ msgstr "" msgid "View more analytics" msgstr "" -#: src/components/TransactionConfirmationModal/index.tsx #: src/nft/components/collection/TransactionCompleteModal.tsx #: src/pages/CreateProposal/ProposalSubmissionModal.tsx msgid "View on Etherscan" @@ -2289,6 +2296,10 @@ msgstr "Auf Etherscan ansehen" msgid "View on Explorer" msgstr "Im Explorer anzeigen" +#: src/components/TransactionConfirmationModal/index.tsx +msgid "View on {0}" +msgstr "" + #: src/components/ModalViews/index.tsx #: src/components/claim/AddressClaimModal.tsx #: src/components/vote/ExecuteModal.tsx @@ -2433,10 +2444,6 @@ msgstr "Sie sind der erste Liquiditätsanbieter." msgid "You can either vote on each proposal yourself or delegate your votes to a third party." msgstr "Sie können entweder über jeden Vorschlag selbst abstimmen oder Ihre Stimme an Dritte delegieren." -#: src/pages/Swap/index.tsx -msgid "You can now trade {0}" -msgstr "Du kannst jetzt {0} handeln" - #: src/pages/CreateProposal/index.tsx msgid "You don't have enough votes to submit a proposal" msgstr "Ihr Stimmrecht reicht nicht aus, um einen Vorschlag einzureichen" @@ -2453,10 +2460,6 @@ msgstr "" msgid "You must connect an account." msgstr "Sie müssen ein Konto verbinden." -#: src/pages/Swap/index.tsx -msgid "You must give the Uniswap smart contracts permission to use your {0}. You only have to do this once per token." -msgstr "Sie müssen den Uniswap Smart Contracts die Erlaubnis erteilen, Ihre {0} zu verwenden. Sie müssen dies nur einmal pro Token tun." - #: src/pages/CreateProposal/index.tsx msgid "You must have {formattedProposalThreshold} votes to submit a proposal" msgstr "" @@ -2534,9 +2537,10 @@ msgid "Your positions" msgstr "Ihre Positionen" #: src/hooks/useUniversalRouter.ts +msgid "Your swap is expected to fail." +msgstr "" + #: src/hooks/useUniversalRouter.ts -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx msgid "Your swap was modified through your wallet. If this was a mistake, please cancel immediately or risk losing your funds." msgstr "" @@ -2587,6 +2591,10 @@ msgstr "" msgid "and" msgstr "" +#: src/nft/components/card/media.tsx +msgid "available yet" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "below floor price." msgstr "" @@ -2644,7 +2652,7 @@ msgstr "" msgid "to" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "{0, plural, =1 {Resolve issue} other {{1}}}" msgstr "" @@ -2672,6 +2680,7 @@ msgstr "" #: src/components/ErrorBoundary/index.tsx #: src/components/RateToggle/index.tsx #: src/components/RateToggle/index.tsx +#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/nft/components/bag/BagFooter.tsx msgid "{0}" msgstr "{0}" @@ -2680,11 +2689,6 @@ msgstr "{0}" msgid "{0} %" msgstr "{0} %" -#: src/components/PositionListItem/index.tsx -#: src/components/PositionListItem/index.tsx -msgid "{0} <0/> per <1/>" -msgstr "{0} <0/>/<1/>" - #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx msgid "{0} Deposited" diff --git a/src/locales/el-GR.po b/src/locales/el-GR.po index f98e84b267f..4a3cbc1a63e 100644 --- a/src/locales/el-GR.po +++ b/src/locales/el-GR.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: uniswap-interface\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-17 00:17\n" +"PO-Revision-Date: 2023-03-21 23:05\n" "Last-Translator: \n" "Language: el_GR\n" "Language-Team: Greek\n" @@ -116,6 +116,11 @@ msgstr "<0>Συμβουλή: Όταν προσθέσετε ρευστότη msgid "<0>Unlock voting to prepare for the next proposal." msgstr "<0>Ξεκλειδώστε τη ψηφοφορία για να προετοιμαστείτε για την επόμενη πρόταση." +#: src/components/PositionListItem/index.tsx +#: src/components/PositionListItem/index.tsx +msgid "<0>{0} <1/> per <2/>" +msgstr "" + #: src/pages/Vote/Landing.tsx msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals" msgstr "Απαιτείται ελάχιστο όριο 0,25% της συνολικής προσφοράς UNI για την υποβολή προτάσεων" @@ -171,6 +176,10 @@ msgstr "Προσθήκη ρευστότητας." msgid "Add more liquidity" msgstr "" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Add to bag" +msgstr "" + #: src/components/TransactionConfirmationModal/index.tsx msgid "Add {0}" msgstr "" @@ -183,11 +192,6 @@ msgstr "Προσθήκη {0}/{1} V3 ρευστότητας" msgid "Added" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Added to bag" -msgstr "" - #: src/components/TransactionConfirmationModal/index.tsx msgid "Added {0}" msgstr "Προστέθηκε {0}" @@ -216,10 +220,6 @@ msgstr "Επιτρέψτε τη μεταφορά μάρκας παρόχου ρ msgid "Allow high price impact trades and skip the confirm screen. Use at your own risk." msgstr "Επιτρέψτε τις διαπραγματεύσεις υψηλής επίδρασης τιμών και παραλείψτε την οθόνη επιβεβαίωσης. Χρησιμοποιήστε τη με δική σας ευθύνη." -#: src/pages/Swap/index.tsx -msgid "Allow the Uniswap Protocol to use your {0}" -msgstr "Επιτρέψτε στο πρωτόκολλο Uniswap να χρησιμοποιήσει το {0} σας" - #: src/pages/MigrateV2/MigrateV2Pair.tsx msgid "Allowed" msgstr "Επιτρέπεται" @@ -353,11 +353,10 @@ msgstr "" msgid "Blocked Address" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Blocked from trading" +#: src/nft/components/card/icons.tsx +msgid "Blocked on OpenSea" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx #: src/components/WalletDropdown/AuthenticatedHeader.tsx msgid "Buy crypto" msgstr "" @@ -451,6 +450,11 @@ msgstr "Εκκαθάριση όλων" msgid "Close" msgstr "Κλείσιμο" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Close wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx #: src/pages/RemoveLiquidity/V3.tsx msgid "Closed" @@ -530,6 +534,7 @@ msgstr "" msgid "Connect" msgstr "" +#: src/nft/pages/profile/profile.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidityV2/index.tsx #: src/pages/RemoveLiquidity/index.tsx @@ -567,6 +572,11 @@ msgstr "Σύνδεση πορτοφολιού" msgid "Connected with" msgstr "" +#: src/nft/components/card/media.tsx +msgid "Content not" +msgstr "" + +#: src/nft/components/bag/Bag.tsx #: src/nft/components/profile/list/Modal/BelowFloorWarningModal.tsx msgid "Continue" msgstr "" @@ -610,10 +620,6 @@ msgstr "" msgid "Create a pair" msgstr "Δημιουργία ζεύγους" -#: src/pages/Pool/index.tsx -msgid "Create a pool" -msgstr "Δημιουργία δεξαμενής" - #: src/components/AccountDetails/TransactionSummary.tsx msgid "Create pool and add {0}/{1} V3 liquidity" msgstr "Δημιουργήστε δεξαμενή και προσθέστε {0}/{1} V3 ρευστότητα" @@ -725,10 +731,6 @@ msgstr "" msgid "Edit listings" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Efficiency Comparison" -msgstr "" - #: src/state/burn/v3/hooks.tsx msgid "Enter a percent" msgstr "Εισαγωγή ποσοστού" @@ -916,18 +918,10 @@ msgstr "Από (το μέγιστο)" msgid "Full Range" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Full range positions may earn less fees than concentrated positions. Learn more <0>here." -msgstr "" - #: src/components/ErrorBoundary/index.tsx msgid "Get support" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx -msgid "Get tokens at the best prices in web3 on Uniswap, powered by Moonpay." -msgstr "" - #: src/components/NavBar/MenuDropdown.tsx msgid "Help center" msgstr "" @@ -942,12 +936,11 @@ msgstr "" msgid "Hide closed positions" msgstr "Απόκρυψη κλειστών θέσεων" -#: src/pages/Swap/index.tsx -msgid "High Price Impact" -msgstr "Υψηλή Επίδραση Τιμών" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Hide resources" +msgstr "" #: src/components/TokenSafety/index.tsx -#: src/pages/AddLiquidity/index.tsx msgid "I understand" msgstr "Κατανοώ" @@ -1031,7 +1024,6 @@ msgstr "Μη έγκυρη εισαγωγή τιμής" msgid "Invalid range selected. The min price must be lower than the max price." msgstr "Επιλέχθηκε μη έγκυρο εύρος. Η ελάχιστη τιμή πρέπει να είναι χαμηλότερη από τη μέγιστη τιμή." -#: src/lib/hooks/swap/useSwapCallback.tsx #: src/state/swap/hooks.tsx msgid "Invalid recipient" msgstr "Μη έγκυρος παραλήπτης" @@ -1059,6 +1051,7 @@ msgstr "" #: src/components/PrivacyPolicy/index.tsx #: src/components/PrivacyPolicy/index.tsx +#: src/components/TaxServiceModal/TaxServiceBanner.tsx #: src/components/TokenSafety/TokenSafetyMessage.tsx #: src/components/TokenSafety/index.tsx #: src/pages/Landing/index.tsx @@ -1098,6 +1091,10 @@ msgstr "Οι πάροχοι ρευστότητας κερδίζουν μια χ msgid "List NFTs" msgstr "" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "List for sale" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Listing an NFT requires a one-time marketplace approval for each NFT collection." msgstr "" @@ -1219,10 +1216,6 @@ msgstr "Ελάχιστο λαμβανόμενο" msgid "Missing chart data" msgstr "" -#: src/lib/hooks/swap/useSwapCallback.tsx -msgid "Missing dependencies" -msgstr "Λείπουν εξαρτήσεις" - #: src/components/Tokens/TokenDetails/PriceChart.tsx msgid "Missing price data due to recently low trading volume on Uniswap v3" msgstr "" @@ -1259,6 +1252,10 @@ msgstr "" msgid "Name not found" msgstr "" +#: src/components/NavBar/NavIcon.tsx +msgid "Navigation button" +msgstr "" + #: src/components/swap/AdvancedSwapDetails.tsx msgid "Network Fee" msgstr "" @@ -1287,6 +1284,10 @@ msgstr "Χωρίς δεδομένα" msgid "No description." msgstr "Χωρίς περιγραφή." +#: src/nft/pages/profile/profile.tsx +msgid "No items to display" +msgstr "" + #: src/pages/Pool/v2.tsx msgid "No liquidity found." msgstr "Δεν βρέθηκε ρευστότητα." @@ -1327,6 +1328,10 @@ msgstr "" msgid "Not created" msgstr "Δεν δημιουργήθηκε" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Not listed" +msgstr "" + #: src/components/Settings/index.tsx msgid "ONLY USE THIS MODE IF YOU KNOW WHAT YOU ARE DOING." msgstr "ΧΡΗΣΙΜΟΠΟΙΗΣΤΕ ΑΥΤΟ ΤΟΝ ΤΡΟΠΟ ΜΟΝΟ ΕΑΝ ΓΝΩΡΙΖΕΤΕ ΤΙ ΚΑΝΕΤΕ." @@ -1347,6 +1352,11 @@ msgstr "Μόνο οι ψήφοι UNI που ανατέθηκαν αυτοπρο msgid "Oops, take me back to Swap" msgstr "" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Open wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx msgid "Out of range" msgstr "Εκτός εύρους" @@ -1405,7 +1415,6 @@ msgid "Please type the word \"{confirmWord}\" to enable expert mode." msgstr "Παρακαλώ πληκτρολογήστε τη λέξη \"{confirmWord}\" για να ενεργοποιήσετε τη λειτουργία εμπειρογνωμόνων." #: src/components/AccountDetailsV2/TransactionBody.tsx -#: src/components/NavBar/index.tsx msgid "Pool" msgstr "Δεξαμενή" @@ -1429,6 +1438,7 @@ msgstr "Μάρκες ψηφοφορίας στη δεξαμενή επιβραβ msgid "Pooled {0}:" msgstr "Συγκεντρώθηκε(αν) {0}:" +#: src/components/NavBar/index.tsx #: src/pages/Pool/index.tsx #: src/pages/Pool/index.tsx msgid "Pools" @@ -1623,6 +1633,11 @@ msgstr "Αφαίρεση Αντιπροσώπου" msgid "Remove Liquidity" msgstr "Αφαίρεση Ρευστότητας" +#: src/nft/components/collection/CollectionAsset.tsx +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Remove from bag" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "Remove item" msgstr "" @@ -1631,11 +1646,6 @@ msgstr "" msgid "Removed" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Removed from bag" -msgstr "" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Removing" msgstr "" @@ -1648,7 +1658,7 @@ msgstr "Αφαίρεση των {0} {1} και {2} {3}" msgid "Removing {0} {1} and{2} {3}" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Resolve {issues} issues" msgstr "" @@ -1670,6 +1680,15 @@ msgstr "" msgid "Same Price" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Save on Tax Services" +msgstr "" + +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +#: src/components/TaxServiceModal/index.tsx +msgid "Save on your crypto taxes" +msgstr "" + #: src/components/NavBar/SearchBar.tsx msgid "Search" msgstr "" @@ -1726,10 +1745,6 @@ msgstr "" msgid "Sell NFTs" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Selling ERC-1155s coming soon" -msgstr "" - #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/MigrateV2/MigrateV2Pair.tsx @@ -1740,7 +1755,7 @@ msgstr "Ορισμός Εύρους Τιμών" msgid "Set Starting Price" msgstr "Ορισμός Τιμής Εκκίνησης" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Set prices to continue" msgstr "" @@ -1778,6 +1793,10 @@ msgstr "" msgid "Show more" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Show resources" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Sign" msgstr "" @@ -1812,7 +1831,7 @@ msgstr "" msgid "Sorry, an error occured while processing your request. If you request support, be sure to provide your error ID." msgstr "" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Start listing" msgstr "" @@ -1854,11 +1873,9 @@ msgstr "Γίνεται παροχή {0} {1} και {2} {3}" #: src/components/AccountDetailsV2/TransactionBody.tsx #: src/components/NavBar/index.tsx -#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/components/swap/SwapHeader.tsx #: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx -#: src/pages/Swap/index.tsx msgid "Swap" msgstr "Ανταλλαγή" @@ -1866,7 +1883,6 @@ msgstr "Ανταλλαγή" msgid "Swap <0/> for exactly <1/>" msgstr "Αντικαταστήστε <0/> με ακριβώς <1/>" -#: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx msgid "Swap Anyway" msgstr "Ανταλλάξτε ούτως ή άλλως" @@ -1875,11 +1891,6 @@ msgstr "Ανταλλάξτε ούτως ή άλλως" msgid "Swap exactly <0/> for <1/>" msgstr "Αντικαταστήστε ακριβώς <0/> με <1/>" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Swap failed: {0}" -msgstr "Η ανταλλαγή απέτυχε: {0}" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Swapped" msgstr "" @@ -1994,10 +2005,6 @@ msgstr "Η τιμή αυτής της δεξαμενής είναι εντός msgid "The ratio of tokens you add will set the price of this pool." msgstr "Η αναλογία των διακριτικών που προσθέτετε θα ορίσει την τιμή αυτής της δεξαμενής." -#: src/utils/swapErrorToUserReadableMessage.tsx -msgid "The transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." -msgstr "Δεν ήταν δυνατή η αποστολή της συναλλαγής επειδή έχει παρέλθει η προθεσμία. Βεβαιωθείτε ότι η προθεσμία συναλλαγής σας δεν είναι πολύ μικρή." - #: src/components/LiquidityChartRangeInput/index.tsx msgid "There is no liquidity data." msgstr "" @@ -2010,10 +2017,6 @@ msgstr "" msgid "This app uses the following third-party APIs:" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -msgid "This item is not for sale" -msgstr "" - #: src/pages/AddLiquidity/index.tsx msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction." msgstr "" @@ -2042,6 +2045,10 @@ msgstr "" msgid "This tool will safely migrate your {0} liquidity to V3. The process is completely trustless thanks to the" msgstr "Αυτό το εργαλείο θα μεταφέρει με ασφάλεια τη ρευστότητα {0} σας στο V3. Η διαδικασία αυτή διακρίνεται από έλλειψη εμπιστοσύνης μεταξύ των μερών χάρη στο" +#: src/utils/swapErrorToUserReadableMessage.tsx +msgid "This transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." +msgstr "" + #: src/utils/swapErrorToUserReadableMessage.tsx msgid "This transaction will not succeed due to price movement. Try increasing your slippage tolerance. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3." msgstr "Αυτή η συναλλαγή δεν θα πετύχει λόγω της μεταβολής των τιμών. Δοκιμάστε να αυξήσετε την ανοχή ολίσθησης. Σημείωση: οι χρεώσεις μεταφοράς και οι μάρκες rebase δεν είναι συμβατές με το Uniswap V3." @@ -2073,6 +2080,10 @@ msgstr "" msgid "Token name" msgstr "" +#: src/components/TokenSafety/index.tsx +msgid "Token not found" +msgstr "" + #: src/components/NavBar/SearchBarDropdown.tsx #: src/components/NavBar/index.tsx msgid "Tokens" @@ -2121,9 +2132,6 @@ msgstr "Προθεσμία συναλλαγής" msgid "Transaction pending" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/utils/swapErrorToUserReadableMessage.tsx #: src/utils/swapErrorToUserReadableMessage.tsx msgid "Transaction rejected" msgstr "Η συναλλαγή απορρίφθηκε" @@ -2161,6 +2169,10 @@ msgstr "Οι μάρκες UNI αντιπροσωπεύουν μετοχές με msgid "UNI {0}/{1} Burned" msgstr "UNI {0}/{1} \"Κάηκαν\"" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Unavailable for listing" +msgstr "" + #: src/pages/Pool/PositionPage.tsx msgid "Unclaimed fees" msgstr "Αζήτητες χρεώσεις" @@ -2169,22 +2181,22 @@ msgstr "Αζήτητες χρεώσεις" msgid "Undetermined" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected error. Could not estimate gas for the swap." -msgstr "Απρόσμενο σφάλμα. Δεν ήταν δυνατή η εκτίμηση αερίου για την ανταλλαγή." - -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected issue with estimating the gas. Please try again." -msgstr "Μη αναμενόμενο πρόβλημα με την εκτίμηση του αερίου. ΠΑΡΑΚΑΛΩ προσπαθησε ξανα." - #: src/pages/Vote/Landing.tsx msgid "Uniswap Governance" msgstr "Uniswap Διακυβέρνηση" +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +msgid "Uniswap Labs can save you up to 20% on CoinTracker and TokenTax" +msgstr "" + #: src/components/PrivacyPolicy/index.tsx msgid "Uniswap Labs' Terms of Service" msgstr "" +#: src/pages/Pool/v2.tsx +msgid "Uniswap V2 is not available on this network." +msgstr "" + #: src/components/SwitchLocaleLink/index.tsx msgid "Uniswap available in: <0>{0}" msgstr "Το Uniswap διατίθεται σε: <0>{0}" @@ -2253,10 +2265,6 @@ msgstr "Ενημέρωση Ανάθεσης" msgid "Use the Uniswap Labs API to get faster quotes." msgstr "" -#: src/pages/Pool/v2.tsx -msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum." -msgstr "" - #: src/pages/Pool/index.tsx msgid "V2 liquidity" msgstr "V2 ρευστότητα" @@ -2278,7 +2286,6 @@ msgstr "" msgid "View more analytics" msgstr "" -#: src/components/TransactionConfirmationModal/index.tsx #: src/nft/components/collection/TransactionCompleteModal.tsx #: src/pages/CreateProposal/ProposalSubmissionModal.tsx msgid "View on Etherscan" @@ -2289,6 +2296,10 @@ msgstr "Θέα στο Ethercan" msgid "View on Explorer" msgstr "Προβολή στον Explorer" +#: src/components/TransactionConfirmationModal/index.tsx +msgid "View on {0}" +msgstr "" + #: src/components/ModalViews/index.tsx #: src/components/claim/AddressClaimModal.tsx #: src/components/vote/ExecuteModal.tsx @@ -2433,10 +2444,6 @@ msgstr "Είστε ο πρώτος πάροχος ρευστότητας." msgid "You can either vote on each proposal yourself or delegate your votes to a third party." msgstr "Μπορείτε είτε να ψηφίσετε μόνοι σας για κάθε πρόταση είτε να αναθέσετε την ψήφο σας σε ένα τρίτο μέρος." -#: src/pages/Swap/index.tsx -msgid "You can now trade {0}" -msgstr "Τώρα μπορείτε να διαπραγματευτείτε {0}" - #: src/pages/CreateProposal/index.tsx msgid "You don't have enough votes to submit a proposal" msgstr "" @@ -2453,10 +2460,6 @@ msgstr "" msgid "You must connect an account." msgstr "Πρέπει να συνδέσετε ένα λογαριασμό." -#: src/pages/Swap/index.tsx -msgid "You must give the Uniswap smart contracts permission to use your {0}. You only have to do this once per token." -msgstr "Πρέπει να δώσετε στο έξυπνο συμβόλαιο Uniswap άδεια για να χρησιμοποιήσει το {0} σας. Πρέπει να το κάνετε αυτό μία φορά ανά μάρκα." - #: src/pages/CreateProposal/index.tsx msgid "You must have {formattedProposalThreshold} votes to submit a proposal" msgstr "" @@ -2534,9 +2537,10 @@ msgid "Your positions" msgstr "Οι θέσεις σας" #: src/hooks/useUniversalRouter.ts +msgid "Your swap is expected to fail." +msgstr "" + #: src/hooks/useUniversalRouter.ts -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx msgid "Your swap was modified through your wallet. If this was a mistake, please cancel immediately or risk losing your funds." msgstr "" @@ -2587,6 +2591,10 @@ msgstr "" msgid "and" msgstr "" +#: src/nft/components/card/media.tsx +msgid "available yet" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "below floor price." msgstr "" @@ -2644,7 +2652,7 @@ msgstr "" msgid "to" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "{0, plural, =1 {Resolve issue} other {{1}}}" msgstr "" @@ -2672,6 +2680,7 @@ msgstr "" #: src/components/ErrorBoundary/index.tsx #: src/components/RateToggle/index.tsx #: src/components/RateToggle/index.tsx +#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/nft/components/bag/BagFooter.tsx msgid "{0}" msgstr "{0}" @@ -2680,11 +2689,6 @@ msgstr "{0}" msgid "{0} %" msgstr "{0} %" -#: src/components/PositionListItem/index.tsx -#: src/components/PositionListItem/index.tsx -msgid "{0} <0/> per <1/>" -msgstr "{0} <0/> ανά <1/>" - #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx msgid "{0} Deposited" diff --git a/src/locales/es-ES.po b/src/locales/es-ES.po index f6b0d757532..5f2d6b28647 100644 --- a/src/locales/es-ES.po +++ b/src/locales/es-ES.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: uniswap-interface\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-17 00:17\n" +"PO-Revision-Date: 2023-03-21 23:04\n" "Last-Translator: \n" "Language: es_ES\n" "Language-Team: Spanish\n" @@ -116,6 +116,11 @@ msgstr "<0>Consejo: Cuando agregue liquidez, recibirá tokens de fondo comú msgid "<0>Unlock voting to prepare for the next proposal." msgstr "<0>Desbloquee la votación para prepararse para la siguiente propuesta." +#: src/components/PositionListItem/index.tsx +#: src/components/PositionListItem/index.tsx +msgid "<0>{0} <1/> per <2/>" +msgstr "" + #: src/pages/Vote/Landing.tsx msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals" msgstr "" @@ -171,6 +176,10 @@ msgstr "Añadir liquidez." msgid "Add more liquidity" msgstr "" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Add to bag" +msgstr "" + #: src/components/TransactionConfirmationModal/index.tsx msgid "Add {0}" msgstr "" @@ -183,11 +192,6 @@ msgstr "Sumar liquidez {0}/{1} V3" msgid "Added" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Added to bag" -msgstr "" - #: src/components/TransactionConfirmationModal/index.tsx msgid "Added {0}" msgstr "Añadido {0}" @@ -216,10 +220,6 @@ msgstr "Permitir migración de token LP" msgid "Allow high price impact trades and skip the confirm screen. Use at your own risk." msgstr "Permitir operaciones de alto impacto de precio y omitir la pantalla de confirmación. Úselo bajo su propio riesgo." -#: src/pages/Swap/index.tsx -msgid "Allow the Uniswap Protocol to use your {0}" -msgstr "Permitir que el protocolo Uniswap utilice su {0}" - #: src/pages/MigrateV2/MigrateV2Pair.tsx msgid "Allowed" msgstr "Permitido" @@ -353,11 +353,10 @@ msgstr "" msgid "Blocked Address" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Blocked from trading" +#: src/nft/components/card/icons.tsx +msgid "Blocked on OpenSea" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx #: src/components/WalletDropdown/AuthenticatedHeader.tsx msgid "Buy crypto" msgstr "" @@ -451,6 +450,11 @@ msgstr "Limpiar todo" msgid "Close" msgstr "Cerrar" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Close wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx #: src/pages/RemoveLiquidity/V3.tsx msgid "Closed" @@ -530,6 +534,7 @@ msgstr "" msgid "Connect" msgstr "" +#: src/nft/pages/profile/profile.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidityV2/index.tsx #: src/pages/RemoveLiquidity/index.tsx @@ -567,6 +572,11 @@ msgstr "Conectar cartera" msgid "Connected with" msgstr "" +#: src/nft/components/card/media.tsx +msgid "Content not" +msgstr "" + +#: src/nft/components/bag/Bag.tsx #: src/nft/components/profile/list/Modal/BelowFloorWarningModal.tsx msgid "Continue" msgstr "" @@ -610,10 +620,6 @@ msgstr "" msgid "Create a pair" msgstr "Crear un par" -#: src/pages/Pool/index.tsx -msgid "Create a pool" -msgstr "Crear un fondo común" - #: src/components/AccountDetails/TransactionSummary.tsx msgid "Create pool and add {0}/{1} V3 liquidity" msgstr "Crear un fondo común y sumar {0}/{1} liquidez V3" @@ -725,10 +731,6 @@ msgstr "" msgid "Edit listings" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Efficiency Comparison" -msgstr "" - #: src/state/burn/v3/hooks.tsx msgid "Enter a percent" msgstr "Introduzca un porcentaje" @@ -916,18 +918,10 @@ msgstr "Desde (máximo)" msgid "Full Range" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Full range positions may earn less fees than concentrated positions. Learn more <0>here." -msgstr "" - #: src/components/ErrorBoundary/index.tsx msgid "Get support" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx -msgid "Get tokens at the best prices in web3 on Uniswap, powered by Moonpay." -msgstr "" - #: src/components/NavBar/MenuDropdown.tsx msgid "Help center" msgstr "" @@ -942,12 +936,11 @@ msgstr "" msgid "Hide closed positions" msgstr "Ocultar posiciones cerradas" -#: src/pages/Swap/index.tsx -msgid "High Price Impact" -msgstr "Impacto de precio alto" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Hide resources" +msgstr "" #: src/components/TokenSafety/index.tsx -#: src/pages/AddLiquidity/index.tsx msgid "I understand" msgstr "Entiendo" @@ -1031,7 +1024,6 @@ msgstr "Entrada de precio no válida" msgid "Invalid range selected. The min price must be lower than the max price." msgstr "Rango seleccionado no válido. El precio mínimo debe ser inferior al precio máximo." -#: src/lib/hooks/swap/useSwapCallback.tsx #: src/state/swap/hooks.tsx msgid "Invalid recipient" msgstr "Receptor no válido" @@ -1059,6 +1051,7 @@ msgstr "" #: src/components/PrivacyPolicy/index.tsx #: src/components/PrivacyPolicy/index.tsx +#: src/components/TaxServiceModal/TaxServiceBanner.tsx #: src/components/TokenSafety/TokenSafetyMessage.tsx #: src/components/TokenSafety/index.tsx #: src/pages/Landing/index.tsx @@ -1098,6 +1091,10 @@ msgstr "Los proveedores de liquidez ganan una cuota del 0,3 % en todas las opera msgid "List NFTs" msgstr "" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "List for sale" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Listing an NFT requires a one-time marketplace approval for each NFT collection." msgstr "" @@ -1219,10 +1216,6 @@ msgstr "Mínimo recibido" msgid "Missing chart data" msgstr "" -#: src/lib/hooks/swap/useSwapCallback.tsx -msgid "Missing dependencies" -msgstr "Dependencias faltantes" - #: src/components/Tokens/TokenDetails/PriceChart.tsx msgid "Missing price data due to recently low trading volume on Uniswap v3" msgstr "" @@ -1259,6 +1252,10 @@ msgstr "" msgid "Name not found" msgstr "" +#: src/components/NavBar/NavIcon.tsx +msgid "Navigation button" +msgstr "" + #: src/components/swap/AdvancedSwapDetails.tsx msgid "Network Fee" msgstr "" @@ -1287,6 +1284,10 @@ msgstr "Sin datos" msgid "No description." msgstr "Sin descripción." +#: src/nft/pages/profile/profile.tsx +msgid "No items to display" +msgstr "" + #: src/pages/Pool/v2.tsx msgid "No liquidity found." msgstr "No se encontró liquidez." @@ -1327,6 +1328,10 @@ msgstr "" msgid "Not created" msgstr "No creado" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Not listed" +msgstr "" + #: src/components/Settings/index.tsx msgid "ONLY USE THIS MODE IF YOU KNOW WHAT YOU ARE DOING." msgstr "UTILICE ESTE MODO ÚNICAMENTE SI SABE LO QUE ESTÁ HACIENDO." @@ -1347,6 +1352,11 @@ msgstr "Solo los votos de UNI que fueron autodelegados o delegados a otra direcc msgid "Oops, take me back to Swap" msgstr "" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Open wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx msgid "Out of range" msgstr "Fuera de rango" @@ -1405,7 +1415,6 @@ msgid "Please type the word \"{confirmWord}\" to enable expert mode." msgstr "Escribe la palabra \"{confirmWord}\" para activar el modo experto." #: src/components/AccountDetailsV2/TransactionBody.tsx -#: src/components/NavBar/index.tsx msgid "Pool" msgstr "Fondo común" @@ -1429,6 +1438,7 @@ msgstr "Fondo común de tokens en el fondo común de recompensas:" msgid "Pooled {0}:" msgstr "Conjunto {0}:" +#: src/components/NavBar/index.tsx #: src/pages/Pool/index.tsx #: src/pages/Pool/index.tsx msgid "Pools" @@ -1623,6 +1633,11 @@ msgstr "Remover delegado" msgid "Remove Liquidity" msgstr "Quitar liquidez" +#: src/nft/components/collection/CollectionAsset.tsx +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Remove from bag" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "Remove item" msgstr "" @@ -1631,11 +1646,6 @@ msgstr "" msgid "Removed" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Removed from bag" -msgstr "" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Removing" msgstr "" @@ -1648,7 +1658,7 @@ msgstr "Eliminando {0} {1} y {2} {3}" msgid "Removing {0} {1} and{2} {3}" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Resolve {issues} issues" msgstr "" @@ -1670,6 +1680,15 @@ msgstr "" msgid "Same Price" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Save on Tax Services" +msgstr "" + +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +#: src/components/TaxServiceModal/index.tsx +msgid "Save on your crypto taxes" +msgstr "" + #: src/components/NavBar/SearchBar.tsx msgid "Search" msgstr "" @@ -1726,10 +1745,6 @@ msgstr "" msgid "Sell NFTs" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Selling ERC-1155s coming soon" -msgstr "" - #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/MigrateV2/MigrateV2Pair.tsx @@ -1740,7 +1755,7 @@ msgstr "Establecer rango de precio" msgid "Set Starting Price" msgstr "Fijar precio inicial" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Set prices to continue" msgstr "" @@ -1778,6 +1793,10 @@ msgstr "" msgid "Show more" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Show resources" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Sign" msgstr "" @@ -1812,7 +1831,7 @@ msgstr "" msgid "Sorry, an error occured while processing your request. If you request support, be sure to provide your error ID." msgstr "" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Start listing" msgstr "" @@ -1854,11 +1873,9 @@ msgstr "Suministrando {0} {1} y {2} {3}" #: src/components/AccountDetailsV2/TransactionBody.tsx #: src/components/NavBar/index.tsx -#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/components/swap/SwapHeader.tsx #: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx -#: src/pages/Swap/index.tsx msgid "Swap" msgstr "Intercambiar" @@ -1866,7 +1883,6 @@ msgstr "Intercambiar" msgid "Swap <0/> for exactly <1/>" msgstr "Cambiar <0 /> por exactamente <1 />" -#: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx msgid "Swap Anyway" msgstr "Intercambiar de todos modos" @@ -1875,11 +1891,6 @@ msgstr "Intercambiar de todos modos" msgid "Swap exactly <0/> for <1/>" msgstr "Cambiar exactamente <0 /> por <1 />" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Swap failed: {0}" -msgstr "Error de intercambio: {0}" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Swapped" msgstr "" @@ -1994,10 +2005,6 @@ msgstr "El precio de este fondo común está dentro de su rango seleccionado. Su msgid "The ratio of tokens you add will set the price of this pool." msgstr "La proporción de tokens que añada establecerá el precio de este fondo común." -#: src/utils/swapErrorToUserReadableMessage.tsx -msgid "The transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." -msgstr "No se pudo enviar la transacción porque la fecha límite ha pasado. Verifique que el plazo de su transacción no sea demasiado corto." - #: src/components/LiquidityChartRangeInput/index.tsx msgid "There is no liquidity data." msgstr "" @@ -2010,10 +2017,6 @@ msgstr "" msgid "This app uses the following third-party APIs:" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -msgid "This item is not for sale" -msgstr "" - #: src/pages/AddLiquidity/index.tsx msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction." msgstr "" @@ -2042,6 +2045,10 @@ msgstr "" msgid "This tool will safely migrate your {0} liquidity to V3. The process is completely trustless thanks to the" msgstr "Esta herramienta migrará su liquidez {0} a V3. El proceso es totalmente infalible gracias a la" +#: src/utils/swapErrorToUserReadableMessage.tsx +msgid "This transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." +msgstr "" + #: src/utils/swapErrorToUserReadableMessage.tsx 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 "Esta transacción no se realizará correctamente debido al movimiento de precios. Intente aumentar su tolerancia al deslizamiento. Nota: la tarifa de transferencia y los tokens de rebase son incompatibles con Uniswap V3." @@ -2073,6 +2080,10 @@ msgstr "" msgid "Token name" msgstr "" +#: src/components/TokenSafety/index.tsx +msgid "Token not found" +msgstr "" + #: src/components/NavBar/SearchBarDropdown.tsx #: src/components/NavBar/index.tsx msgid "Tokens" @@ -2121,9 +2132,6 @@ msgstr "Fecha límite de la transacción" msgid "Transaction pending" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/utils/swapErrorToUserReadableMessage.tsx #: src/utils/swapErrorToUserReadableMessage.tsx msgid "Transaction rejected" msgstr "Transacción rechazada" @@ -2161,6 +2169,10 @@ msgstr "Las fichas UNI representan acciones de voto en la gestión de Uniswap. P msgid "UNI {0}/{1} Burned" msgstr "UNI {0}/{1} quemado" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Unavailable for listing" +msgstr "" + #: src/pages/Pool/PositionPage.tsx msgid "Unclaimed fees" msgstr "Tarifas no reclamadas" @@ -2169,22 +2181,22 @@ msgstr "Tarifas no reclamadas" msgid "Undetermined" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected error. Could not estimate gas for the swap." -msgstr "Error inesperado. No se pudo estimar el gas para el canje." - -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected issue with estimating the gas. Please try again." -msgstr "Problema inesperado con la estimación del gas. Inténtalo de nuevo." - #: src/pages/Vote/Landing.tsx msgid "Uniswap Governance" msgstr "Gestión Uniswap" +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +msgid "Uniswap Labs can save you up to 20% on CoinTracker and TokenTax" +msgstr "" + #: src/components/PrivacyPolicy/index.tsx msgid "Uniswap Labs' Terms of Service" msgstr "" +#: src/pages/Pool/v2.tsx +msgid "Uniswap V2 is not available on this network." +msgstr "" + #: src/components/SwitchLocaleLink/index.tsx msgid "Uniswap available in: <0>{0}" msgstr "Uniswap disponible en: <0>{0}" @@ -2253,10 +2265,6 @@ msgstr "Actualizar delegación" msgid "Use the Uniswap Labs API to get faster quotes." msgstr "" -#: src/pages/Pool/v2.tsx -msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum." -msgstr "" - #: src/pages/Pool/index.tsx msgid "V2 liquidity" msgstr "Liquidez V2" @@ -2278,7 +2286,6 @@ msgstr "" msgid "View more analytics" msgstr "" -#: src/components/TransactionConfirmationModal/index.tsx #: src/nft/components/collection/TransactionCompleteModal.tsx #: src/pages/CreateProposal/ProposalSubmissionModal.tsx msgid "View on Etherscan" @@ -2289,6 +2296,10 @@ msgstr "Ver en Etherscan" msgid "View on Explorer" msgstr "Ver en el explorador" +#: src/components/TransactionConfirmationModal/index.tsx +msgid "View on {0}" +msgstr "" + #: src/components/ModalViews/index.tsx #: src/components/claim/AddressClaimModal.tsx #: src/components/vote/ExecuteModal.tsx @@ -2433,10 +2444,6 @@ msgstr "Usted es el primer proveedor de liquidez." msgid "You can either vote on each proposal yourself or delegate your votes to a third party." msgstr "Usted puede votar sobre cada propuesta usted mismo o delegar sus votos a un tercero." -#: src/pages/Swap/index.tsx -msgid "You can now trade {0}" -msgstr "Ahora puede operar con {0}" - #: src/pages/CreateProposal/index.tsx msgid "You don't have enough votes to submit a proposal" msgstr "" @@ -2453,10 +2460,6 @@ msgstr "" msgid "You must connect an account." msgstr "Debe conectar una cuenta." -#: src/pages/Swap/index.tsx -msgid "You must give the Uniswap smart contracts permission to use your {0}. You only have to do this once per token." -msgstr "Debes dar permiso a los contratos inteligentes de Uniswap para usar tu {0}. Solo tienes que hacerlo una vez por token." - #: src/pages/CreateProposal/index.tsx msgid "You must have {formattedProposalThreshold} votes to submit a proposal" msgstr "" @@ -2534,9 +2537,10 @@ msgid "Your positions" msgstr "Sus posiciones" #: src/hooks/useUniversalRouter.ts +msgid "Your swap is expected to fail." +msgstr "" + #: src/hooks/useUniversalRouter.ts -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx msgid "Your swap was modified through your wallet. If this was a mistake, please cancel immediately or risk losing your funds." msgstr "" @@ -2587,6 +2591,10 @@ msgstr "" msgid "and" msgstr "" +#: src/nft/components/card/media.tsx +msgid "available yet" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "below floor price." msgstr "" @@ -2644,7 +2652,7 @@ msgstr "" msgid "to" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "{0, plural, =1 {Resolve issue} other {{1}}}" msgstr "" @@ -2672,6 +2680,7 @@ msgstr "" #: src/components/ErrorBoundary/index.tsx #: src/components/RateToggle/index.tsx #: src/components/RateToggle/index.tsx +#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/nft/components/bag/BagFooter.tsx msgid "{0}" msgstr "{0}" @@ -2680,11 +2689,6 @@ msgstr "{0}" msgid "{0} %" msgstr "{0} %" -#: src/components/PositionListItem/index.tsx -#: src/components/PositionListItem/index.tsx -msgid "{0} <0/> per <1/>" -msgstr "{0} <0/> por <1/>" - #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx msgid "{0} Deposited" diff --git a/src/locales/fi-FI.po b/src/locales/fi-FI.po index 9e068da78c1..60e73a8628a 100644 --- a/src/locales/fi-FI.po +++ b/src/locales/fi-FI.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: uniswap-interface\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-17 00:17\n" +"PO-Revision-Date: 2023-03-21 23:05\n" "Last-Translator: \n" "Language: fi_FI\n" "Language-Team: Finnish\n" @@ -116,6 +116,11 @@ msgstr "<0>Vinkki: Kun lisäät likviditeettiä, saat poolin rahakkeita, jot msgid "<0>Unlock voting to prepare for the next proposal." msgstr "<0>Vapauta äänestys valmistautuaksesi seuraavaan ehdotukseen." +#: src/components/PositionListItem/index.tsx +#: src/components/PositionListItem/index.tsx +msgid "<0>{0} <1/> per <2/>" +msgstr "" + #: src/pages/Vote/Landing.tsx msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals" msgstr "" @@ -171,6 +176,10 @@ msgstr "Lisää likviditeettiä." msgid "Add more liquidity" msgstr "" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Add to bag" +msgstr "" + #: src/components/TransactionConfirmationModal/index.tsx msgid "Add {0}" msgstr "" @@ -183,11 +192,6 @@ msgstr "Lisää {0}/{1} V3 likviditeetti" msgid "Added" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Added to bag" -msgstr "" - #: src/components/TransactionConfirmationModal/index.tsx msgid "Added {0}" msgstr "Lisätty {0}" @@ -216,10 +220,6 @@ msgstr "Salli LP-rahakkeen siirtäminen" msgid "Allow high price impact trades and skip the confirm screen. Use at your own risk." msgstr "Salli korkean hintavaikutuksen kaupat ja ohita vahvistusnäyttö. Käytä omalla vastuullasi." -#: src/pages/Swap/index.tsx -msgid "Allow the Uniswap Protocol to use your {0}" -msgstr "Salli Uniswap-protokollan käyttää {0}" - #: src/pages/MigrateV2/MigrateV2Pair.tsx msgid "Allowed" msgstr "Sallittu" @@ -353,11 +353,10 @@ msgstr "" msgid "Blocked Address" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Blocked from trading" +#: src/nft/components/card/icons.tsx +msgid "Blocked on OpenSea" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx #: src/components/WalletDropdown/AuthenticatedHeader.tsx msgid "Buy crypto" msgstr "" @@ -451,6 +450,11 @@ msgstr "Tyhjennä kaikki" msgid "Close" msgstr "Sulje" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Close wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx #: src/pages/RemoveLiquidity/V3.tsx msgid "Closed" @@ -530,6 +534,7 @@ msgstr "Vahvista transaktio lompakossa" msgid "Connect" msgstr "" +#: src/nft/pages/profile/profile.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidityV2/index.tsx #: src/pages/RemoveLiquidity/index.tsx @@ -567,6 +572,11 @@ msgstr "Yhdistä lompakko" msgid "Connected with" msgstr "" +#: src/nft/components/card/media.tsx +msgid "Content not" +msgstr "" + +#: src/nft/components/bag/Bag.tsx #: src/nft/components/profile/list/Modal/BelowFloorWarningModal.tsx msgid "Continue" msgstr "" @@ -610,10 +620,6 @@ msgstr "Luo ehdotus" msgid "Create a pair" msgstr "Luo pari" -#: src/pages/Pool/index.tsx -msgid "Create a pool" -msgstr "Luo pooli" - #: src/components/AccountDetails/TransactionSummary.tsx msgid "Create pool and add {0}/{1} V3 liquidity" msgstr "Luo pooli ja lisää {0}/{1} V3-likviditeetti" @@ -725,10 +731,6 @@ msgstr "Muokkaa" msgid "Edit listings" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Efficiency Comparison" -msgstr "" - #: src/state/burn/v3/hooks.tsx msgid "Enter a percent" msgstr "Syötä prosenttiosuus" @@ -916,18 +918,10 @@ msgstr "Alkaen (enintään)" msgid "Full Range" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Full range positions may earn less fees than concentrated positions. Learn more <0>here." -msgstr "" - #: src/components/ErrorBoundary/index.tsx msgid "Get support" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx -msgid "Get tokens at the best prices in web3 on Uniswap, powered by Moonpay." -msgstr "" - #: src/components/NavBar/MenuDropdown.tsx msgid "Help center" msgstr "" @@ -942,12 +936,11 @@ msgstr "" msgid "Hide closed positions" msgstr "Piilota suljetut positiot" -#: src/pages/Swap/index.tsx -msgid "High Price Impact" -msgstr "Korkea hintavaikutus" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Hide resources" +msgstr "" #: src/components/TokenSafety/index.tsx -#: src/pages/AddLiquidity/index.tsx msgid "I understand" msgstr "Ymmärrän" @@ -1031,7 +1024,6 @@ msgstr "Virheellinen hintatieto" msgid "Invalid range selected. The min price must be lower than the max price." msgstr "Virheellinen vaihteluväli valittu. Minimihinnan on oltava pienempi kuin maksimihinta." -#: src/lib/hooks/swap/useSwapCallback.tsx #: src/state/swap/hooks.tsx msgid "Invalid recipient" msgstr "Virheellinen vastaanottaja" @@ -1059,6 +1051,7 @@ msgstr "" #: src/components/PrivacyPolicy/index.tsx #: src/components/PrivacyPolicy/index.tsx +#: src/components/TaxServiceModal/TaxServiceBanner.tsx #: src/components/TokenSafety/TokenSafetyMessage.tsx #: src/components/TokenSafety/index.tsx #: src/pages/Landing/index.tsx @@ -1098,6 +1091,10 @@ msgstr "Likviditeetin tarjoajat ansaitsevat 0,3 prosentin palkkion kaikista kaup msgid "List NFTs" msgstr "" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "List for sale" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Listing an NFT requires a one-time marketplace approval for each NFT collection." msgstr "" @@ -1219,10 +1216,6 @@ msgstr "Minimi vastaanotettu" msgid "Missing chart data" msgstr "" -#: src/lib/hooks/swap/useSwapCallback.tsx -msgid "Missing dependencies" -msgstr "Puuttuvat riippuvuudet" - #: src/components/Tokens/TokenDetails/PriceChart.tsx msgid "Missing price data due to recently low trading volume on Uniswap v3" msgstr "" @@ -1259,6 +1252,10 @@ msgstr "" msgid "Name not found" msgstr "" +#: src/components/NavBar/NavIcon.tsx +msgid "Navigation button" +msgstr "" + #: src/components/swap/AdvancedSwapDetails.tsx msgid "Network Fee" msgstr "" @@ -1287,6 +1284,10 @@ msgstr "Ei dataa" msgid "No description." msgstr "Ei kuvausta." +#: src/nft/pages/profile/profile.tsx +msgid "No items to display" +msgstr "" + #: src/pages/Pool/v2.tsx msgid "No liquidity found." msgstr "Likviditeettiä ei löytynyt." @@ -1327,6 +1328,10 @@ msgstr "" msgid "Not created" msgstr "Ei luotu" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Not listed" +msgstr "" + #: src/components/Settings/index.tsx msgid "ONLY USE THIS MODE IF YOU KNOW WHAT YOU ARE DOING." msgstr "KÄYTÄ TÄTÄ TILAA VAIN, JOS TIEDÄT MITÄ TEET." @@ -1347,6 +1352,11 @@ msgstr "Ainoastaan itsedelegoidut ja toiseen osoitteeseen ennen lohkoa {0} deleg msgid "Oops, take me back to Swap" msgstr "" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Open wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx msgid "Out of range" msgstr "Alueen ulkopuolella" @@ -1405,7 +1415,6 @@ msgid "Please type the word \"{confirmWord}\" to enable expert mode." msgstr "Ole hyvä ja kirjoita sana \"{confirmWord}\" ottaaksesi asiantuntijatilan käyttöön." #: src/components/AccountDetailsV2/TransactionBody.tsx -#: src/components/NavBar/index.tsx msgid "Pool" msgstr "Pooli" @@ -1429,6 +1438,7 @@ msgstr "Poolirahakkeita palkintopoolissa:" msgid "Pooled {0}:" msgstr "Poolattu {0}:" +#: src/components/NavBar/index.tsx #: src/pages/Pool/index.tsx #: src/pages/Pool/index.tsx msgid "Pools" @@ -1623,6 +1633,11 @@ msgstr "Poista delegaatti" msgid "Remove Liquidity" msgstr "Poista likviditeetti" +#: src/nft/components/collection/CollectionAsset.tsx +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Remove from bag" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "Remove item" msgstr "" @@ -1631,11 +1646,6 @@ msgstr "" msgid "Removed" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Removed from bag" -msgstr "" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Removing" msgstr "" @@ -1648,7 +1658,7 @@ msgstr "Poistetaan {0} {1} ja {2} {3}" msgid "Removing {0} {1} and{2} {3}" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Resolve {issues} issues" msgstr "" @@ -1670,6 +1680,15 @@ msgstr "" msgid "Same Price" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Save on Tax Services" +msgstr "" + +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +#: src/components/TaxServiceModal/index.tsx +msgid "Save on your crypto taxes" +msgstr "" + #: src/components/NavBar/SearchBar.tsx msgid "Search" msgstr "" @@ -1726,10 +1745,6 @@ msgstr "" msgid "Sell NFTs" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Selling ERC-1155s coming soon" -msgstr "" - #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/MigrateV2/MigrateV2Pair.tsx @@ -1740,7 +1755,7 @@ msgstr "Aseta hintaluokka" msgid "Set Starting Price" msgstr "Aseta aloitushinta" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Set prices to continue" msgstr "" @@ -1778,6 +1793,10 @@ msgstr "" msgid "Show more" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Show resources" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Sign" msgstr "" @@ -1812,7 +1831,7 @@ msgstr "" msgid "Sorry, an error occured while processing your request. If you request support, be sure to provide your error ID." msgstr "" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Start listing" msgstr "" @@ -1854,11 +1873,9 @@ msgstr "Toimitetaan {0} {1} ja {2} {3}" #: src/components/AccountDetailsV2/TransactionBody.tsx #: src/components/NavBar/index.tsx -#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/components/swap/SwapHeader.tsx #: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx -#: src/pages/Swap/index.tsx msgid "Swap" msgstr "Vaihda" @@ -1866,7 +1883,6 @@ msgstr "Vaihda" msgid "Swap <0/> for exactly <1/>" msgstr "Vaihda <0/> täsmälleen <1/>" -#: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx msgid "Swap Anyway" msgstr "Vaihda silti" @@ -1875,11 +1891,6 @@ msgstr "Vaihda silti" msgid "Swap exactly <0/> for <1/>" msgstr "Vaihda täsmälleen <0/> arvoon <1/>" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Swap failed: {0}" -msgstr "Vaihto epäonnistui: {0}" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Swapped" msgstr "" @@ -1994,10 +2005,6 @@ msgstr "Tämän poolin hinta sopii vallittuun hintaluokkaan. Positiosi ansaitsee msgid "The ratio of tokens you add will set the price of this pool." msgstr "Lisäämiesi rahakkeiden suhde määrittää tämän poolin hinnan." -#: src/utils/swapErrorToUserReadableMessage.tsx -msgid "The transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." -msgstr "Tapahtumaa ei voitu lähettää, koska määräaika on ohi. Tarkista, että tapahtumasi määräaika ei ole liian lyhyt." - #: src/components/LiquidityChartRangeInput/index.tsx msgid "There is no liquidity data." msgstr "" @@ -2010,10 +2017,6 @@ msgstr "" msgid "This app uses the following third-party APIs:" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -msgid "This item is not for sale" -msgstr "" - #: src/pages/AddLiquidity/index.tsx msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction." msgstr "" @@ -2042,6 +2045,10 @@ msgstr "" msgid "This tool will safely migrate your {0} liquidity to V3. The process is completely trustless thanks to the" msgstr "Tämä työkalu siirtää {0} likviditeettisi turvallisesti V3:lle. Prosessi on täysin luotettava kiitos" +#: src/utils/swapErrorToUserReadableMessage.tsx +msgid "This transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." +msgstr "" + #: src/utils/swapErrorToUserReadableMessage.tsx 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 "Tämä kauppa ei onnistu hintaliikkeen vuoksi. Yritä lisätä liukastumistoleranssia. Huomautus: siirto- ja uudelleentase-tunnusten maksu ei ole yhteensopiva Uniswap V3: n kanssa." @@ -2073,6 +2080,10 @@ msgstr "" msgid "Token name" msgstr "" +#: src/components/TokenSafety/index.tsx +msgid "Token not found" +msgstr "" + #: src/components/NavBar/SearchBarDropdown.tsx #: src/components/NavBar/index.tsx msgid "Tokens" @@ -2121,9 +2132,6 @@ msgstr "Tapahtuman määräaika" msgid "Transaction pending" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/utils/swapErrorToUserReadableMessage.tsx #: src/utils/swapErrorToUserReadableMessage.tsx msgid "Transaction rejected" msgstr "Kauppa hylätty" @@ -2161,6 +2169,10 @@ msgstr "UNI-rahakkeet edustavat Uniswapin hallinnon äänestysosakkeita. Voit ä msgid "UNI {0}/{1} Burned" msgstr "UNI {0}/{1} Poltettu" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Unavailable for listing" +msgstr "" + #: src/pages/Pool/PositionPage.tsx msgid "Unclaimed fees" msgstr "Lunastamattomat palkkiot" @@ -2169,22 +2181,22 @@ msgstr "Lunastamattomat palkkiot" msgid "Undetermined" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected error. Could not estimate gas for the swap." -msgstr "Odottamaton virhe. Vaihdon kaasua ei voitu arvioida." - -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected issue with estimating the gas. Please try again." -msgstr "Odottamaton ongelma kaasun arvioinnissa. Yritä uudelleen." - #: src/pages/Vote/Landing.tsx msgid "Uniswap Governance" msgstr "Uniswapin hallinto" +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +msgid "Uniswap Labs can save you up to 20% on CoinTracker and TokenTax" +msgstr "" + #: src/components/PrivacyPolicy/index.tsx msgid "Uniswap Labs' Terms of Service" msgstr "" +#: src/pages/Pool/v2.tsx +msgid "Uniswap V2 is not available on this network." +msgstr "" + #: src/components/SwitchLocaleLink/index.tsx msgid "Uniswap available in: <0>{0}" msgstr "Uniswap käytettävissä: <0>{0}" @@ -2253,10 +2265,6 @@ msgstr "Päivitä delegointi" msgid "Use the Uniswap Labs API to get faster quotes." msgstr "" -#: src/pages/Pool/v2.tsx -msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum." -msgstr "" - #: src/pages/Pool/index.tsx msgid "V2 liquidity" msgstr "V2-likviditeetti" @@ -2278,7 +2286,6 @@ msgstr "" msgid "View more analytics" msgstr "" -#: src/components/TransactionConfirmationModal/index.tsx #: src/nft/components/collection/TransactionCompleteModal.tsx #: src/pages/CreateProposal/ProposalSubmissionModal.tsx msgid "View on Etherscan" @@ -2289,6 +2296,10 @@ msgstr "Näkymä Etherscanissa" msgid "View on Explorer" msgstr "Näytä Explorerissa" +#: src/components/TransactionConfirmationModal/index.tsx +msgid "View on {0}" +msgstr "" + #: src/components/ModalViews/index.tsx #: src/components/claim/AddressClaimModal.tsx #: src/components/vote/ExecuteModal.tsx @@ -2433,10 +2444,6 @@ msgstr "Olet ensimmäinen likviditeetin tarjoaja." msgid "You can either vote on each proposal yourself or delegate your votes to a third party." msgstr "Voit joko äänestää jokaisesta ehdotuksesta itse tai delegoida äänesi kolmannelle osapuolelle." -#: src/pages/Swap/index.tsx -msgid "You can now trade {0}" -msgstr "Voit nyt käydä kauppaa {0}" - #: src/pages/CreateProposal/index.tsx msgid "You don't have enough votes to submit a proposal" msgstr "" @@ -2453,10 +2460,6 @@ msgstr "" msgid "You must connect an account." msgstr "Sinun on yhdistettävä tili." -#: src/pages/Swap/index.tsx -msgid "You must give the Uniswap smart contracts permission to use your {0}. You only have to do this once per token." -msgstr "Sinun täytyy antaa Uniswapin älykkäille sopimuksille lupa käyttää {0}. Sinun täytyy tehdä tämä vain kerran per rahake." - #: src/pages/CreateProposal/index.tsx msgid "You must have {formattedProposalThreshold} votes to submit a proposal" msgstr "" @@ -2534,9 +2537,10 @@ msgid "Your positions" msgstr "Sinun positiosi" #: src/hooks/useUniversalRouter.ts +msgid "Your swap is expected to fail." +msgstr "" + #: src/hooks/useUniversalRouter.ts -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx msgid "Your swap was modified through your wallet. If this was a mistake, please cancel immediately or risk losing your funds." msgstr "" @@ -2587,6 +2591,10 @@ msgstr "" msgid "and" msgstr "" +#: src/nft/components/card/media.tsx +msgid "available yet" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "below floor price." msgstr "" @@ -2644,7 +2652,7 @@ msgstr "" msgid "to" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "{0, plural, =1 {Resolve issue} other {{1}}}" msgstr "" @@ -2672,6 +2680,7 @@ msgstr "" #: src/components/ErrorBoundary/index.tsx #: src/components/RateToggle/index.tsx #: src/components/RateToggle/index.tsx +#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/nft/components/bag/BagFooter.tsx msgid "{0}" msgstr "{0}" @@ -2680,11 +2689,6 @@ msgstr "{0}" msgid "{0} %" msgstr "{0} %" -#: src/components/PositionListItem/index.tsx -#: src/components/PositionListItem/index.tsx -msgid "{0} <0/> per <1/>" -msgstr "{0} <0/> per <1/>" - #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx msgid "{0} Deposited" diff --git a/src/locales/fr-FR.po b/src/locales/fr-FR.po index 0faba7765b5..a419e96c820 100644 --- a/src/locales/fr-FR.po +++ b/src/locales/fr-FR.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: uniswap-interface\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-17 00:17\n" +"PO-Revision-Date: 2023-03-21 23:04\n" "Last-Translator: \n" "Language: fr_FR\n" "Language-Team: French\n" @@ -116,6 +116,11 @@ msgstr "<0>Conseil: Lorsque vous ajoutez de la liquidité, vous recevrez des msgid "<0>Unlock voting to prepare for the next proposal." msgstr "<0>Débloquer le vote pour se préparer à la prochaine proposition." +#: src/components/PositionListItem/index.tsx +#: src/components/PositionListItem/index.tsx +msgid "<0>{0} <1/> per <2/>" +msgstr "" + #: src/pages/Vote/Landing.tsx 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 de UNI est requis pour soumettre des propositions" @@ -171,6 +176,10 @@ msgstr "Ajouter de la liquidité." msgid "Add more liquidity" msgstr "Ajouter plus de liquidité" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Add to bag" +msgstr "" + #: src/components/TransactionConfirmationModal/index.tsx msgid "Add {0}" msgstr "Ajouter {0}" @@ -183,11 +192,6 @@ msgstr "Ajouter des liquidités V3 {0}/{1}" msgid "Added" msgstr "Ajouté" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Added to bag" -msgstr "Ajouté au sac" - #: src/components/TransactionConfirmationModal/index.tsx msgid "Added {0}" msgstr "Ajouté {0}" @@ -216,10 +220,6 @@ msgstr "Autoriser la migration des jetons LP" msgid "Allow high price impact trades and skip the confirm screen. Use at your own risk." msgstr "Autoriser les transactions à impact élevé et enlève l'écran de confirmation. À utiliser à vos risques et périls." -#: src/pages/Swap/index.tsx -msgid "Allow the Uniswap Protocol to use your {0}" -msgstr "Autoriser le protocole Uniswap à utiliser vos {0}" - #: src/pages/MigrateV2/MigrateV2Pair.tsx msgid "Allowed" msgstr "Autorisé" @@ -353,11 +353,10 @@ msgstr "" msgid "Blocked Address" msgstr "Adresse bloquée" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Blocked from trading" -msgstr "Bloqué de la négociation" +#: src/nft/components/card/icons.tsx +msgid "Blocked on OpenSea" +msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx #: src/components/WalletDropdown/AuthenticatedHeader.tsx msgid "Buy crypto" msgstr "Acheter des cryptos" @@ -451,6 +450,11 @@ msgstr "Tout effacer" msgid "Close" msgstr "Fermer" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Close wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx #: src/pages/RemoveLiquidity/V3.tsx msgid "Closed" @@ -530,6 +534,7 @@ msgstr "" msgid "Connect" msgstr "Connecter" +#: src/nft/pages/profile/profile.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidityV2/index.tsx #: src/pages/RemoveLiquidity/index.tsx @@ -567,6 +572,11 @@ msgstr "Connecter le portefeuille" msgid "Connected with" msgstr "Connecté avec" +#: src/nft/components/card/media.tsx +msgid "Content not" +msgstr "" + +#: src/nft/components/bag/Bag.tsx #: src/nft/components/profile/list/Modal/BelowFloorWarningModal.tsx msgid "Continue" msgstr "Continuer" @@ -610,10 +620,6 @@ msgstr "Créer une Proposition" msgid "Create a pair" msgstr "Créer une paire" -#: src/pages/Pool/index.tsx -msgid "Create a pool" -msgstr "Créer un pool" - #: src/components/AccountDetails/TransactionSummary.tsx msgid "Create pool and add {0}/{1} V3 liquidity" msgstr "Créer un pool et ajouter {0}/{1} liquidités V3" @@ -725,10 +731,6 @@ msgstr "Éditer" msgid "Edit listings" msgstr "Éditer les listings" -#: src/pages/AddLiquidity/index.tsx -msgid "Efficiency Comparison" -msgstr "" - #: src/state/burn/v3/hooks.tsx msgid "Enter a percent" msgstr "Saisissez un pourcentage" @@ -916,18 +918,10 @@ msgstr "De (au plus)" msgid "Full Range" msgstr "Range Complète" -#: src/pages/AddLiquidity/index.tsx -msgid "Full range positions may earn less fees than concentrated positions. Learn more <0>here." -msgstr "" - #: src/components/ErrorBoundary/index.tsx msgid "Get support" msgstr "Obtenir de l'aide" -#: src/components/FiatOnrampAnnouncement/index.tsx -msgid "Get tokens at the best prices in web3 on Uniswap, powered by Moonpay." -msgstr "Obtenez des jetons aux meilleurs prix sur le Web3 avec Uniswap, propulsé par Moonpay." - #: src/components/NavBar/MenuDropdown.tsx msgid "Help center" msgstr "Centre d'aide" @@ -942,12 +936,11 @@ msgstr "Masquer" msgid "Hide closed positions" msgstr "Masquer les positions fermées" -#: src/pages/Swap/index.tsx -msgid "High Price Impact" -msgstr "Impact sur les prix élevés" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Hide resources" +msgstr "" #: src/components/TokenSafety/index.tsx -#: src/pages/AddLiquidity/index.tsx msgid "I understand" msgstr "Je comprends" @@ -1031,7 +1024,6 @@ msgstr "Entrée de prix non valide" msgid "Invalid range selected. The min price must be lower than the max price." msgstr "Plage non valide sélectionnée. Le prix minimum doit être inférieur au prix maximum." -#: src/lib/hooks/swap/useSwapCallback.tsx #: src/state/swap/hooks.tsx msgid "Invalid recipient" msgstr "Destinataire invalide" @@ -1059,6 +1051,7 @@ msgstr "" #: src/components/PrivacyPolicy/index.tsx #: src/components/PrivacyPolicy/index.tsx +#: src/components/TaxServiceModal/TaxServiceBanner.tsx #: src/components/TokenSafety/TokenSafetyMessage.tsx #: src/components/TokenSafety/index.tsx #: src/pages/Landing/index.tsx @@ -1098,6 +1091,10 @@ msgstr "Les fournisseurs de liquidités gagnent 0,3 % de frais sur tous les ordr msgid "List NFTs" msgstr "Liste des NFTs" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "List for sale" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Listing an NFT requires a one-time marketplace approval for each NFT collection." msgstr "" @@ -1122,7 +1119,7 @@ msgstr "" #: src/components/CurrencyInputPanel/index.tsx msgid "MAX" -msgstr "" +msgstr "MAX" #: src/components/PositionCard/V2.tsx #: src/components/PositionCard/V2.tsx @@ -1155,7 +1152,7 @@ msgstr "" #: src/nft/components/profile/list/RoyaltyTooltip.tsx msgid "Max fees" -msgstr "" +msgstr "Frais Max" #: src/pages/Pool/PositionPage.tsx msgid "Max price" @@ -1217,11 +1214,7 @@ msgstr "Minimum reçu" #: src/components/Tokens/TokenDetails/PriceChart.tsx msgid "Missing chart data" -msgstr "" - -#: src/lib/hooks/swap/useSwapCallback.tsx -msgid "Missing dependencies" -msgstr "Dépendances manquantes" +msgstr "Données graphiques manquantes" #: src/components/Tokens/TokenDetails/PriceChart.tsx msgid "Missing price data due to recently low trading volume on Uniswap v3" @@ -1241,7 +1234,7 @@ msgstr "En savoir plus" #: src/nft/components/profile/list/ListPage.tsx msgid "My NFTs" -msgstr "" +msgstr "Mes NFTs" #: src/nft/components/profile/list/NFTListingsGrid.tsx msgid "NFT" @@ -1259,6 +1252,10 @@ msgstr "NFTs" msgid "Name not found" msgstr "Nom introuvable" +#: src/components/NavBar/NavIcon.tsx +msgid "Navigation button" +msgstr "" + #: src/components/swap/AdvancedSwapDetails.tsx msgid "Network Fee" msgstr "Frais de réseau" @@ -1287,6 +1284,10 @@ msgstr "Pas de données" msgid "No description." msgstr "Aucune description." +#: src/nft/pages/profile/profile.tsx +msgid "No items to display" +msgstr "" + #: src/pages/Pool/v2.tsx msgid "No liquidity found." msgstr "Aucune liquidité trouvée." @@ -1327,6 +1328,10 @@ msgstr "Non disponible pour votre région" msgid "Not created" msgstr "Non créé" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Not listed" +msgstr "" + #: src/components/Settings/index.tsx msgid "ONLY USE THIS MODE IF YOU KNOW WHAT YOU ARE DOING." msgstr "UTILISEZ CE MODE UNIQUEMENT SI VOUS SAVEZ CE QUE VOUS FAITES." @@ -1347,6 +1352,11 @@ msgstr "Seuls les votes UNI qui ont été auto-délégués ou délégués à une msgid "Oops, take me back to Swap" msgstr "Oups, ramenez-moi à Swap" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Open wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx msgid "Out of range" msgstr "Hors de portée" @@ -1405,7 +1415,6 @@ msgid "Please type the word \"{confirmWord}\" to enable expert mode." msgstr "Veuillez taper le mot \"{confirmWord}\" pour activer le mode expert." #: src/components/AccountDetailsV2/TransactionBody.tsx -#: src/components/NavBar/index.tsx msgid "Pool" msgstr "Pool" @@ -1429,6 +1438,7 @@ msgstr "Jetons de pool dans le pool de récompenses :" msgid "Pooled {0}:" msgstr "Récupéré {0} :" +#: src/components/NavBar/index.tsx #: src/pages/Pool/index.tsx #: src/pages/Pool/index.tsx msgid "Pools" @@ -1623,6 +1633,11 @@ msgstr "Supprimer le délégué" msgid "Remove Liquidity" msgstr "Supprimer la liquidité" +#: src/nft/components/collection/CollectionAsset.tsx +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Remove from bag" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "Remove item" msgstr "Supprimer l'élément" @@ -1631,11 +1646,6 @@ msgstr "Supprimer l'élément" msgid "Removed" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Removed from bag" -msgstr "Retiré du panier" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Removing" msgstr "" @@ -1648,7 +1658,7 @@ msgstr "Suppression de {0} {1} et {2} {3}" msgid "Removing {0} {1} and{2} {3}" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Resolve {issues} issues" msgstr "Résoudre l'anomalie {issues}" @@ -1670,6 +1680,15 @@ msgstr "Retour à mes NFTs" msgid "Same Price" msgstr "Même prix" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Save on Tax Services" +msgstr "" + +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +#: src/components/TaxServiceModal/index.tsx +msgid "Save on your crypto taxes" +msgstr "" + #: src/components/NavBar/SearchBar.tsx msgid "Search" msgstr "Rechercher" @@ -1726,10 +1745,6 @@ msgstr "" msgid "Sell NFTs" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Selling ERC-1155s coming soon" -msgstr "Vente prochaine d'ERC-1155" - #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/MigrateV2/MigrateV2Pair.tsx @@ -1740,7 +1755,7 @@ msgstr "Fixer une fourchette de prix" msgid "Set Starting Price" msgstr "Définir le prix de départ" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Set prices to continue" msgstr "Définir le prix pour continuer" @@ -1778,6 +1793,10 @@ msgstr "" msgid "Show more" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Show resources" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Sign" msgstr "Signer" @@ -1812,7 +1831,7 @@ msgstr "Désolé, une erreur s'est produite lors du traitement de votre demande. msgid "Sorry, an error occured while processing your request. If you request support, be sure to provide your error ID." msgstr "Désolé, une erreur s'est produite lors du traitement de votre demande. Si vous demandez de l'aide, assurez-vous de fournir votre identifiant d'erreur." -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Start listing" msgstr "Commencer la liste" @@ -1854,11 +1873,9 @@ msgstr "Approvisionnement {0} {1} et {2} {3}" #: src/components/AccountDetailsV2/TransactionBody.tsx #: src/components/NavBar/index.tsx -#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/components/swap/SwapHeader.tsx #: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx -#: src/pages/Swap/index.tsx msgid "Swap" msgstr "Échanger" @@ -1866,7 +1883,6 @@ msgstr "Échanger" msgid "Swap <0/> for exactly <1/>" msgstr "Remplacez <0/> par exactement <1/>" -#: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx msgid "Swap Anyway" msgstr "Échanger quand même" @@ -1875,11 +1891,6 @@ msgstr "Échanger quand même" msgid "Swap exactly <0/> for <1/>" msgstr "Remplacez exactement <0/> par <1/>" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Swap failed: {0}" -msgstr "Échec de l'échange : {0}" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Swapped" msgstr "" @@ -1994,10 +2005,6 @@ msgstr "Le prix de ce pool est dans votre fourchette sélectionnée. Votre posit msgid "The ratio of tokens you add will set the price of this pool." msgstr "Le ratio de jetons que vous ajoutez fixera le prix de ce pool." -#: src/utils/swapErrorToUserReadableMessage.tsx -msgid "The transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." -msgstr "La transaction n'a pas pu être envoyée car la date limite est passée. Veuillez vérifier que la date limite de votre transaction n'est pas trop basse." - #: src/components/LiquidityChartRangeInput/index.tsx msgid "There is no liquidity data." msgstr "Il n'y a pas de données de liquidité." @@ -2010,10 +2017,6 @@ msgstr "" msgid "This app uses the following third-party APIs:" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -msgid "This item is not for sale" -msgstr "Cet article n'est pas à vendre" - #: src/pages/AddLiquidity/index.tsx msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction." msgstr "" @@ -2042,6 +2045,10 @@ msgstr "Ce jeton n'existe pas sur {chainName}" msgid "This tool will safely migrate your {0} liquidity to V3. The process is completely trustless thanks to the" msgstr "Cet outil va migrer en toute sécurité vos liquidités {0} vers V3. Le processus est complètement sans confiance grâce à la" +#: src/utils/swapErrorToUserReadableMessage.tsx +msgid "This transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." +msgstr "Cette transaction n'a pas pu être envoyée car la date limite est passée. Veuillez vérifier que la date limite de votre transaction n'est pas trop basse." + #: src/utils/swapErrorToUserReadableMessage.tsx 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 "Cette transaction ne réussira pas en raison du mouvement des prix. Essayez d'augmenter votre tolérance au slippage. Remarque : les frais sur les token de transfert et de rebase sont incompatibles avec Uniswap V3." @@ -2073,6 +2080,10 @@ msgstr "Pour utiliser Uniswap sur {0}, changez le réseau dans les paramètres d msgid "Token name" msgstr "" +#: src/components/TokenSafety/index.tsx +msgid "Token not found" +msgstr "" + #: src/components/NavBar/SearchBarDropdown.tsx #: src/components/NavBar/index.tsx msgid "Tokens" @@ -2121,9 +2132,6 @@ msgstr "Date limite de la transaction" msgid "Transaction pending" msgstr "Transaction en attente" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/utils/swapErrorToUserReadableMessage.tsx #: src/utils/swapErrorToUserReadableMessage.tsx msgid "Transaction rejected" msgstr "Transaction rejetée" @@ -2161,6 +2169,10 @@ msgstr "Les jetons UNI représentent les parts de vote dans la gouvernance d'Uni msgid "UNI {0}/{1} Burned" msgstr "UNI {0}/{1} brûlé" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Unavailable for listing" +msgstr "" + #: src/pages/Pool/PositionPage.tsx msgid "Unclaimed fees" msgstr "Frais non réclamés" @@ -2169,22 +2181,22 @@ msgstr "Frais non réclamés" msgid "Undetermined" msgstr "Indéterminé" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected error. Could not estimate gas for the swap." -msgstr "Erreur inattendue. Impossible d'estimer le gaz pour l'échange." - -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected issue with estimating the gas. Please try again." -msgstr "Problème inattendu avec l'estimation du gaz. Veuillez réessayer." - #: src/pages/Vote/Landing.tsx msgid "Uniswap Governance" msgstr "Gouvernance Uniswap" +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +msgid "Uniswap Labs can save you up to 20% on CoinTracker and TokenTax" +msgstr "" + #: src/components/PrivacyPolicy/index.tsx msgid "Uniswap Labs' Terms of Service" msgstr "" +#: src/pages/Pool/v2.tsx +msgid "Uniswap V2 is not available on this network." +msgstr "" + #: src/components/SwitchLocaleLink/index.tsx msgid "Uniswap available in: <0>{0}" msgstr "Uniswap disponible en : <0>{0}" @@ -2253,10 +2265,6 @@ msgstr "Mettre à jour la délégation" msgid "Use the Uniswap Labs API to get faster quotes." msgstr "" -#: src/pages/Pool/v2.tsx -msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum." -msgstr "" - #: src/pages/Pool/index.tsx msgid "V2 liquidity" msgstr "liquidités V2" @@ -2278,7 +2286,6 @@ msgstr "" msgid "View more analytics" msgstr "" -#: src/components/TransactionConfirmationModal/index.tsx #: src/nft/components/collection/TransactionCompleteModal.tsx #: src/pages/CreateProposal/ProposalSubmissionModal.tsx msgid "View on Etherscan" @@ -2289,6 +2296,10 @@ msgstr "Voir sur Etherscan" msgid "View on Explorer" msgstr "Voir sur Explorer" +#: src/components/TransactionConfirmationModal/index.tsx +msgid "View on {0}" +msgstr "" + #: src/components/ModalViews/index.tsx #: src/components/claim/AddressClaimModal.tsx #: src/components/vote/ExecuteModal.tsx @@ -2433,10 +2444,6 @@ msgstr "Vous êtes le premier fournisseur de liquidités." msgid "You can either vote on each proposal yourself or delegate your votes to a third party." msgstr "Vous pouvez soit voter vous-même sur chaque proposition ou déléguer vos votes à un tiers." -#: src/pages/Swap/index.tsx -msgid "You can now trade {0}" -msgstr "Vous pouvez désormais échanger {0}" - #: src/pages/CreateProposal/index.tsx msgid "You don't have enough votes to submit a proposal" msgstr "Vous n'avez pas assez de votes pour soumettre une proposition" @@ -2453,10 +2460,6 @@ msgstr "Il se peut que vous ayez perdu votre connexion réseau." msgid "You must connect an account." msgstr "Vous devez connecter un compte." -#: src/pages/Swap/index.tsx -msgid "You must give the Uniswap smart contracts permission to use your {0}. You only have to do this once per token." -msgstr "Vous devez autoriser les contrats intelligents Uniswap à utiliser votre {0}. Vous n'avez à le faire qu'une seule fois par jeton." - #: src/pages/CreateProposal/index.tsx msgid "You must have {formattedProposalThreshold} votes to submit a proposal" msgstr "Vous devez avoir {formattedProposalThreshold} votes pour soumettre une proposition" @@ -2534,9 +2537,10 @@ msgid "Your positions" msgstr "Vos positions" #: src/hooks/useUniversalRouter.ts +msgid "Your swap is expected to fail." +msgstr "" + #: src/hooks/useUniversalRouter.ts -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx msgid "Your swap was modified through your wallet. If this was a mistake, please cancel immediately or risk losing your funds." msgstr "Votre échange a été modifié via votre portefeuille. Si c'était une erreur, veuillez annuler immédiatement ou vous risquez de perdre vos fonds." @@ -2587,6 +2591,10 @@ msgstr "" msgid "and" msgstr "et" +#: src/nft/components/card/media.tsx +msgid "available yet" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "below floor price." msgstr "en dessous du prix plancher." @@ -2644,7 +2652,7 @@ msgstr "une erreur s'est produite !" msgid "to" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "{0, plural, =1 {Resolve issue} other {{1}}}" msgstr "" @@ -2672,6 +2680,7 @@ msgstr "" #: src/components/ErrorBoundary/index.tsx #: src/components/RateToggle/index.tsx #: src/components/RateToggle/index.tsx +#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/nft/components/bag/BagFooter.tsx msgid "{0}" msgstr "{0}" @@ -2680,11 +2689,6 @@ msgstr "{0}" msgid "{0} %" msgstr "{0} %" -#: src/components/PositionListItem/index.tsx -#: src/components/PositionListItem/index.tsx -msgid "{0} <0/> per <1/>" -msgstr "{0} <0/> par <1/>" - #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx msgid "{0} Deposited" diff --git a/src/locales/he-IL.po b/src/locales/he-IL.po index 528f145c7d4..4bc5a6b807b 100644 --- a/src/locales/he-IL.po +++ b/src/locales/he-IL.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: uniswap-interface\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-17 00:17\n" +"PO-Revision-Date: 2023-03-21 23:05\n" "Last-Translator: \n" "Language: he_IL\n" "Language-Team: Hebrew\n" @@ -116,6 +116,11 @@ msgstr "<0> טיפ: כשתוסיף נזילות, תקבל אסימונים msgid "<0>Unlock voting to prepare for the next proposal." msgstr "<0> בטל את ההצבעה להתכונן להצעה הבאה." +#: src/components/PositionListItem/index.tsx +#: src/components/PositionListItem/index.tsx +msgid "<0>{0} <1/> per <2/>" +msgstr "" + #: src/pages/Vote/Landing.tsx msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals" msgstr "הגשת הצעות נדרשת רף מינימלי של 0.25% מסך היצע ה- UNI" @@ -171,6 +176,10 @@ msgstr "הוסף נזילות." msgid "Add more liquidity" msgstr "" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Add to bag" +msgstr "" + #: src/components/TransactionConfirmationModal/index.tsx msgid "Add {0}" msgstr "" @@ -183,11 +192,6 @@ msgstr "להוסיף {0}/{1} נזילות V3" msgid "Added" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Added to bag" -msgstr "" - #: src/components/TransactionConfirmationModal/index.tsx msgid "Added {0}" msgstr "נוסף {0}" @@ -216,10 +220,6 @@ msgstr "אפשר העברת אסימון LP" msgid "Allow high price impact trades and skip the confirm screen. Use at your own risk." msgstr "אפשר עסקאות עם השפעות מחיר גבוהות ודלג על מסך האישור. השימוש על אחריותך בלבד." -#: src/pages/Swap/index.tsx -msgid "Allow the Uniswap Protocol to use your {0}" -msgstr "אפשר לפרוטוקול Uniswap להשתמש ב- {0}" - #: src/pages/MigrateV2/MigrateV2Pair.tsx msgid "Allowed" msgstr "מוּתָר" @@ -353,11 +353,10 @@ msgstr "" msgid "Blocked Address" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Blocked from trading" +#: src/nft/components/card/icons.tsx +msgid "Blocked on OpenSea" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx #: src/components/WalletDropdown/AuthenticatedHeader.tsx msgid "Buy crypto" msgstr "" @@ -451,6 +450,11 @@ msgstr "נקה הכל" msgid "Close" msgstr "סגור" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Close wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx #: src/pages/RemoveLiquidity/V3.tsx msgid "Closed" @@ -530,6 +534,7 @@ msgstr "" msgid "Connect" msgstr "" +#: src/nft/pages/profile/profile.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidityV2/index.tsx #: src/pages/RemoveLiquidity/index.tsx @@ -567,6 +572,11 @@ msgstr "חבר ארנק" msgid "Connected with" msgstr "" +#: src/nft/components/card/media.tsx +msgid "Content not" +msgstr "" + +#: src/nft/components/bag/Bag.tsx #: src/nft/components/profile/list/Modal/BelowFloorWarningModal.tsx msgid "Continue" msgstr "" @@ -610,10 +620,6 @@ msgstr "" msgid "Create a pair" msgstr "צור זוג" -#: src/pages/Pool/index.tsx -msgid "Create a pool" -msgstr "צור מאגר" - #: src/components/AccountDetails/TransactionSummary.tsx msgid "Create pool and add {0}/{1} V3 liquidity" msgstr "צור ברכה והוסף {0}/{1} נזילות V3" @@ -725,10 +731,6 @@ msgstr "" msgid "Edit listings" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Efficiency Comparison" -msgstr "" - #: src/state/burn/v3/hooks.tsx msgid "Enter a percent" msgstr "הזן אחוז" @@ -916,18 +918,10 @@ msgstr "מאת (לכל היותר)" msgid "Full Range" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Full range positions may earn less fees than concentrated positions. Learn more <0>here." -msgstr "" - #: src/components/ErrorBoundary/index.tsx msgid "Get support" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx -msgid "Get tokens at the best prices in web3 on Uniswap, powered by Moonpay." -msgstr "" - #: src/components/NavBar/MenuDropdown.tsx msgid "Help center" msgstr "" @@ -942,12 +936,11 @@ msgstr "" msgid "Hide closed positions" msgstr "הסתר עמדות סגורות" -#: src/pages/Swap/index.tsx -msgid "High Price Impact" -msgstr "השפעה על מחיר גבוה" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Hide resources" +msgstr "" #: src/components/TokenSafety/index.tsx -#: src/pages/AddLiquidity/index.tsx msgid "I understand" msgstr "אני מבין" @@ -1031,7 +1024,6 @@ msgstr "קלט מחירים לא חוקי" msgid "Invalid range selected. The min price must be lower than the max price." msgstr "נבחר טווח לא חוקי. המחיר המינימלי חייב להיות נמוך מהמחיר המקסימלי." -#: src/lib/hooks/swap/useSwapCallback.tsx #: src/state/swap/hooks.tsx msgid "Invalid recipient" msgstr "נמען לא חוקי" @@ -1059,6 +1051,7 @@ msgstr "" #: src/components/PrivacyPolicy/index.tsx #: src/components/PrivacyPolicy/index.tsx +#: src/components/TaxServiceModal/TaxServiceBanner.tsx #: src/components/TokenSafety/TokenSafetyMessage.tsx #: src/components/TokenSafety/index.tsx #: src/pages/Landing/index.tsx @@ -1098,6 +1091,10 @@ msgstr "ספקי נזילות מרוויחים עמלה של 0.3% על כל הע msgid "List NFTs" msgstr "" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "List for sale" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Listing an NFT requires a one-time marketplace approval for each NFT collection." msgstr "" @@ -1219,10 +1216,6 @@ msgstr "מינימום שהתקבל" msgid "Missing chart data" msgstr "" -#: src/lib/hooks/swap/useSwapCallback.tsx -msgid "Missing dependencies" -msgstr "חסרות תלות" - #: src/components/Tokens/TokenDetails/PriceChart.tsx msgid "Missing price data due to recently low trading volume on Uniswap v3" msgstr "" @@ -1259,6 +1252,10 @@ msgstr "" msgid "Name not found" msgstr "" +#: src/components/NavBar/NavIcon.tsx +msgid "Navigation button" +msgstr "" + #: src/components/swap/AdvancedSwapDetails.tsx msgid "Network Fee" msgstr "" @@ -1287,6 +1284,10 @@ msgstr "אין מידע" msgid "No description." msgstr "אין תיאור." +#: src/nft/pages/profile/profile.tsx +msgid "No items to display" +msgstr "" + #: src/pages/Pool/v2.tsx msgid "No liquidity found." msgstr "לא נמצאה נזילות." @@ -1327,6 +1328,10 @@ msgstr "" msgid "Not created" msgstr "לא נוצר" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Not listed" +msgstr "" + #: src/components/Settings/index.tsx msgid "ONLY USE THIS MODE IF YOU KNOW WHAT YOU ARE DOING." msgstr "השתמש במצב זה בלבד אם אתה יודע מה אתה עושה." @@ -1347,6 +1352,11 @@ msgstr "זכאים להצביע רק קולות של UNI שהועברו בעצמ msgid "Oops, take me back to Swap" msgstr "" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Open wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx msgid "Out of range" msgstr "מחוץ לטווח" @@ -1405,7 +1415,6 @@ msgid "Please type the word \"{confirmWord}\" to enable expert mode." msgstr "אנא הקלד את המילה \"{confirmWord}\" כדי להפעיל מצב מומחה." #: src/components/AccountDetailsV2/TransactionBody.tsx -#: src/components/NavBar/index.tsx msgid "Pool" msgstr "מאגר" @@ -1429,6 +1438,7 @@ msgstr "אסימונים למאגר בבריכת תגמולים:" msgid "Pooled {0}:" msgstr "מאוגד {0}:" +#: src/components/NavBar/index.tsx #: src/pages/Pool/index.tsx #: src/pages/Pool/index.tsx msgid "Pools" @@ -1623,6 +1633,11 @@ msgstr "הסר את הנציג" msgid "Remove Liquidity" msgstr "הסר נזילות" +#: src/nft/components/collection/CollectionAsset.tsx +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Remove from bag" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "Remove item" msgstr "" @@ -1631,11 +1646,6 @@ msgstr "" msgid "Removed" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Removed from bag" -msgstr "" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Removing" msgstr "" @@ -1648,7 +1658,7 @@ msgstr "הסרת {0} {1} ו {2} {3}" msgid "Removing {0} {1} and{2} {3}" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Resolve {issues} issues" msgstr "" @@ -1670,6 +1680,15 @@ msgstr "" msgid "Same Price" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Save on Tax Services" +msgstr "" + +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +#: src/components/TaxServiceModal/index.tsx +msgid "Save on your crypto taxes" +msgstr "" + #: src/components/NavBar/SearchBar.tsx msgid "Search" msgstr "" @@ -1726,10 +1745,6 @@ msgstr "" msgid "Sell NFTs" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Selling ERC-1155s coming soon" -msgstr "" - #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/MigrateV2/MigrateV2Pair.tsx @@ -1740,7 +1755,7 @@ msgstr "הגדר טווח מחירים" msgid "Set Starting Price" msgstr "הגדר מחיר התחלתי" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Set prices to continue" msgstr "" @@ -1778,6 +1793,10 @@ msgstr "" msgid "Show more" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Show resources" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Sign" msgstr "" @@ -1812,7 +1831,7 @@ msgstr "" msgid "Sorry, an error occured while processing your request. If you request support, be sure to provide your error ID." msgstr "" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Start listing" msgstr "" @@ -1854,11 +1873,9 @@ msgstr "אספקת {0} {1} ו {2} {3}" #: src/components/AccountDetailsV2/TransactionBody.tsx #: src/components/NavBar/index.tsx -#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/components/swap/SwapHeader.tsx #: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx -#: src/pages/Swap/index.tsx msgid "Swap" msgstr "לְהַחלִיף" @@ -1866,7 +1883,6 @@ msgstr "לְהַחלִיף" msgid "Swap <0/> for exactly <1/>" msgstr "החלף את <0/> בדיוק ל <1/>" -#: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx msgid "Swap Anyway" msgstr "החלף בכל מקרה" @@ -1875,11 +1891,6 @@ msgstr "החלף בכל מקרה" msgid "Swap exactly <0/> for <1/>" msgstr "החלף בדיוק <0/> עבור <1/>" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Swap failed: {0}" -msgstr "החלפה נכשלה: {0}" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Swapped" msgstr "" @@ -1994,10 +2005,6 @@ msgstr "המחיר של המאגר הזה הוא בטווח שבחרתם. עמד msgid "The ratio of tokens you add will set the price of this pool." msgstr "יחס האסימונים שתוסיף יקבע את מחיר הבריכה הזו." -#: src/utils/swapErrorToUserReadableMessage.tsx -msgid "The transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." -msgstr "לא ניתן היה לשלוח את העסקה מכיוון שהמועד האחרון חלף. אנא בדוק שמועד העסקה האחרון שלך אינו קרוב מדי." - #: src/components/LiquidityChartRangeInput/index.tsx msgid "There is no liquidity data." msgstr "" @@ -2010,10 +2017,6 @@ msgstr "" msgid "This app uses the following third-party APIs:" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -msgid "This item is not for sale" -msgstr "" - #: src/pages/AddLiquidity/index.tsx msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction." msgstr "" @@ -2042,6 +2045,10 @@ msgstr "" msgid "This tool will safely migrate your {0} liquidity to V3. The process is completely trustless thanks to the" msgstr "כלי זה יעביר בבטחה את נזילות {0} שלך ל- V3. התהליך חסר אמון לחלוטין בזכות" +#: src/utils/swapErrorToUserReadableMessage.tsx +msgid "This transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." +msgstr "" + #: src/utils/swapErrorToUserReadableMessage.tsx 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." @@ -2073,6 +2080,10 @@ msgstr "" msgid "Token name" msgstr "" +#: src/components/TokenSafety/index.tsx +msgid "Token not found" +msgstr "" + #: src/components/NavBar/SearchBarDropdown.tsx #: src/components/NavBar/index.tsx msgid "Tokens" @@ -2121,9 +2132,6 @@ msgstr "מועד אחרון לעסקה" msgid "Transaction pending" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/utils/swapErrorToUserReadableMessage.tsx #: src/utils/swapErrorToUserReadableMessage.tsx msgid "Transaction rejected" msgstr "העסקה נדחתה" @@ -2161,6 +2169,10 @@ msgstr "אסימונים של UNI מייצגים מניות הצבעה בממש msgid "UNI {0}/{1} Burned" msgstr "UNI {0}/{1} שרופה" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Unavailable for listing" +msgstr "" + #: src/pages/Pool/PositionPage.tsx msgid "Unclaimed fees" msgstr "עמלות שלא נדרשו" @@ -2169,22 +2181,22 @@ msgstr "עמלות שלא נדרשו" msgid "Undetermined" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected error. Could not estimate gas for the swap." -msgstr "שגיאה לא צפויה. לא ניתן היה לאמוד גז להחלפה." - -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected issue with estimating the gas. Please try again." -msgstr "בעיה בלתי צפויה בהערכת הגז. בבקשה נסה שוב." - #: src/pages/Vote/Landing.tsx msgid "Uniswap Governance" msgstr "ממשל לא מוחלף" +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +msgid "Uniswap Labs can save you up to 20% on CoinTracker and TokenTax" +msgstr "" + #: src/components/PrivacyPolicy/index.tsx msgid "Uniswap Labs' Terms of Service" msgstr "" +#: src/pages/Pool/v2.tsx +msgid "Uniswap V2 is not available on this network." +msgstr "" + #: src/components/SwitchLocaleLink/index.tsx msgid "Uniswap available in: <0>{0}" msgstr "Uniswap זמין ב: <0>{0}" @@ -2253,10 +2265,6 @@ msgstr "עדכן משלחת" msgid "Use the Uniswap Labs API to get faster quotes." msgstr "" -#: src/pages/Pool/v2.tsx -msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum." -msgstr "" - #: src/pages/Pool/index.tsx msgid "V2 liquidity" msgstr "נזילות V2" @@ -2278,7 +2286,6 @@ msgstr "" msgid "View more analytics" msgstr "" -#: src/components/TransactionConfirmationModal/index.tsx #: src/nft/components/collection/TransactionCompleteModal.tsx #: src/pages/CreateProposal/ProposalSubmissionModal.tsx msgid "View on Etherscan" @@ -2289,6 +2296,10 @@ msgstr "מבט על אתרסקאן" msgid "View on Explorer" msgstr "צפה ב- Explorer" +#: src/components/TransactionConfirmationModal/index.tsx +msgid "View on {0}" +msgstr "" + #: src/components/ModalViews/index.tsx #: src/components/claim/AddressClaimModal.tsx #: src/components/vote/ExecuteModal.tsx @@ -2433,10 +2444,6 @@ msgstr "אתה ספק הנזילות הראשון." msgid "You can either vote on each proposal yourself or delegate your votes to a third party." msgstr "אתה יכול להצביע בעצמך על כל הצעה או להאציל את קולותיך לצד שלישי." -#: src/pages/Swap/index.tsx -msgid "You can now trade {0}" -msgstr "כעת אתה יכול לסחור ב {0}" - #: src/pages/CreateProposal/index.tsx msgid "You don't have enough votes to submit a proposal" msgstr "" @@ -2453,10 +2460,6 @@ msgstr "" msgid "You must connect an account." msgstr "עליך לחבר חשבון." -#: src/pages/Swap/index.tsx -msgid "You must give the Uniswap smart contracts permission to use your {0}. You only have to do this once per token." -msgstr "עליך לתת לחוזים החכמים של Uniswap להשתמש ב- {0}שלך. אתה צריך לעשות זאת רק פעם אחת לכל אסימון." - #: src/pages/CreateProposal/index.tsx msgid "You must have {formattedProposalThreshold} votes to submit a proposal" msgstr "" @@ -2534,9 +2537,10 @@ msgid "Your positions" msgstr "העמדות שלך" #: src/hooks/useUniversalRouter.ts +msgid "Your swap is expected to fail." +msgstr "" + #: src/hooks/useUniversalRouter.ts -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx msgid "Your swap was modified through your wallet. If this was a mistake, please cancel immediately or risk losing your funds." msgstr "" @@ -2587,6 +2591,10 @@ msgstr "" msgid "and" msgstr "" +#: src/nft/components/card/media.tsx +msgid "available yet" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "below floor price." msgstr "" @@ -2644,7 +2652,7 @@ msgstr "" msgid "to" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "{0, plural, =1 {Resolve issue} other {{1}}}" msgstr "" @@ -2672,6 +2680,7 @@ msgstr "" #: src/components/ErrorBoundary/index.tsx #: src/components/RateToggle/index.tsx #: src/components/RateToggle/index.tsx +#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/nft/components/bag/BagFooter.tsx msgid "{0}" msgstr "{0}" @@ -2680,11 +2689,6 @@ msgstr "{0}" msgid "{0} %" msgstr "{0} %" -#: src/components/PositionListItem/index.tsx -#: src/components/PositionListItem/index.tsx -msgid "{0} <0/> per <1/>" -msgstr "{0} <0 /> לכל <1/>" - #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx msgid "{0} Deposited" diff --git a/src/locales/hu-HU.po b/src/locales/hu-HU.po index c8e2dba8125..ad3080ce94b 100644 --- a/src/locales/hu-HU.po +++ b/src/locales/hu-HU.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: uniswap-interface\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-17 00:17\n" +"PO-Revision-Date: 2023-03-21 23:05\n" "Last-Translator: \n" "Language: hu_HU\n" "Language-Team: Hungarian\n" @@ -116,6 +116,11 @@ msgstr "<0> Tipp: Amikor likviditást ad hozzá, a pozícióját képviselő msgid "<0>Unlock voting to prepare for the next proposal." msgstr "<0> Szavazás feloldása a következő javaslatra való felkészüléshez." +#: src/components/PositionListItem/index.tsx +#: src/components/PositionListItem/index.tsx +msgid "<0>{0} <1/> per <2/>" +msgstr "" + #: src/pages/Vote/Landing.tsx msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals" msgstr "" @@ -171,6 +176,10 @@ msgstr "Adja hozzá a likviditást." msgid "Add more liquidity" msgstr "" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Add to bag" +msgstr "" + #: src/components/TransactionConfirmationModal/index.tsx msgid "Add {0}" msgstr "" @@ -183,11 +192,6 @@ msgstr "Adjon hozzá {0}/{1} V3 likviditást" msgid "Added" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Added to bag" -msgstr "" - #: src/components/TransactionConfirmationModal/index.tsx msgid "Added {0}" msgstr "Hozzáadva {0}" @@ -216,10 +220,6 @@ msgstr "LP token migráció engedélyezése" msgid "Allow high price impact trades and skip the confirm screen. Use at your own risk." msgstr "Engedélyezze a magas árfolyamú kereskedéseket, és hagyja ki a megerősítő képernyőt. Használat csak saját felelősségre." -#: src/pages/Swap/index.tsx -msgid "Allow the Uniswap Protocol to use your {0}" -msgstr "Engedélyezze az Uniswap protokollnak a(z) {0} használatát" - #: src/pages/MigrateV2/MigrateV2Pair.tsx msgid "Allowed" msgstr "Engedélyezve" @@ -353,11 +353,10 @@ msgstr "" msgid "Blocked Address" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Blocked from trading" +#: src/nft/components/card/icons.tsx +msgid "Blocked on OpenSea" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx #: src/components/WalletDropdown/AuthenticatedHeader.tsx msgid "Buy crypto" msgstr "" @@ -451,6 +450,11 @@ msgstr "Mindent töröl" msgid "Close" msgstr "Bezárás" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Close wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx #: src/pages/RemoveLiquidity/V3.tsx msgid "Closed" @@ -530,6 +534,7 @@ msgstr "" msgid "Connect" msgstr "" +#: src/nft/pages/profile/profile.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidityV2/index.tsx #: src/pages/RemoveLiquidity/index.tsx @@ -567,6 +572,11 @@ msgstr "Pénztárca csatlakoztatása" msgid "Connected with" msgstr "" +#: src/nft/components/card/media.tsx +msgid "Content not" +msgstr "" + +#: src/nft/components/bag/Bag.tsx #: src/nft/components/profile/list/Modal/BelowFloorWarningModal.tsx msgid "Continue" msgstr "" @@ -610,10 +620,6 @@ msgstr "" msgid "Create a pair" msgstr "Egy pár létrehozása" -#: src/pages/Pool/index.tsx -msgid "Create a pool" -msgstr "Pool létrehozása" - #: src/components/AccountDetails/TransactionSummary.tsx msgid "Create pool and add {0}/{1} V3 liquidity" msgstr "Pool létrehozása és {0}/{1} V3 likviditás hozzáadása" @@ -725,10 +731,6 @@ msgstr "" msgid "Edit listings" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Efficiency Comparison" -msgstr "" - #: src/state/burn/v3/hooks.tsx msgid "Enter a percent" msgstr "Adjon meg egy százalékot" @@ -917,18 +919,10 @@ msgstr "Feladó (legfeljebb)" msgid "Full Range" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Full range positions may earn less fees than concentrated positions. Learn more <0>here." -msgstr "" - #: src/components/ErrorBoundary/index.tsx msgid "Get support" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx -msgid "Get tokens at the best prices in web3 on Uniswap, powered by Moonpay." -msgstr "" - #: src/components/NavBar/MenuDropdown.tsx msgid "Help center" msgstr "" @@ -943,12 +937,11 @@ msgstr "" msgid "Hide closed positions" msgstr "Zárt pozíciók elrejtése" -#: src/pages/Swap/index.tsx -msgid "High Price Impact" -msgstr "Magas árhatás" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Hide resources" +msgstr "" #: src/components/TokenSafety/index.tsx -#: src/pages/AddLiquidity/index.tsx msgid "I understand" msgstr "Értem" @@ -1032,7 +1025,6 @@ msgstr "Érvénytelen ár input" msgid "Invalid range selected. The min price must be lower than the max price." msgstr "Érvénytelen tartományt választott ki. A minimális árnak alacsonyabbnak kell lennie, mint a maximális ár." -#: src/lib/hooks/swap/useSwapCallback.tsx #: src/state/swap/hooks.tsx msgid "Invalid recipient" msgstr "Érvénytelen címzett" @@ -1060,6 +1052,7 @@ msgstr "" #: src/components/PrivacyPolicy/index.tsx #: src/components/PrivacyPolicy/index.tsx +#: src/components/TaxServiceModal/TaxServiceBanner.tsx #: src/components/TokenSafety/TokenSafetyMessage.tsx #: src/components/TokenSafety/index.tsx #: src/pages/Landing/index.tsx @@ -1099,6 +1092,10 @@ msgstr "A likviditásszolgáltatók 0,3%-os díjat kapnak minden kereskedés ut msgid "List NFTs" msgstr "" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "List for sale" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Listing an NFT requires a one-time marketplace approval for each NFT collection." msgstr "" @@ -1220,10 +1217,6 @@ msgstr "Minimum beérkezett" msgid "Missing chart data" msgstr "" -#: src/lib/hooks/swap/useSwapCallback.tsx -msgid "Missing dependencies" -msgstr "Hiányzó függőségek" - #: src/components/Tokens/TokenDetails/PriceChart.tsx msgid "Missing price data due to recently low trading volume on Uniswap v3" msgstr "" @@ -1260,6 +1253,10 @@ msgstr "" msgid "Name not found" msgstr "" +#: src/components/NavBar/NavIcon.tsx +msgid "Navigation button" +msgstr "" + #: src/components/swap/AdvancedSwapDetails.tsx msgid "Network Fee" msgstr "" @@ -1288,6 +1285,10 @@ msgstr "Nincs adat" msgid "No description." msgstr "Nincs leírás." +#: src/nft/pages/profile/profile.tsx +msgid "No items to display" +msgstr "" + #: src/pages/Pool/v2.tsx msgid "No liquidity found." msgstr "Likviditás nem található." @@ -1328,6 +1329,10 @@ msgstr "" msgid "Not created" msgstr "Nincs létrehozva" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Not listed" +msgstr "" + #: src/components/Settings/index.tsx msgid "ONLY USE THIS MODE IF YOU KNOW WHAT YOU ARE DOING." msgstr "CSAK AKKOR HASZNÁLJA EZT A MÓDOT, HOGY TUDJA, MIT CSINÁL." @@ -1348,6 +1353,11 @@ msgstr "Csak azok az UNI-szavazatok jogosultak szavazni, amelyeket a {0} blokk e msgid "Oops, take me back to Swap" msgstr "" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Open wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx msgid "Out of range" msgstr "Tartományon kívül" @@ -1406,7 +1416,6 @@ msgid "Please type the word \"{confirmWord}\" to enable expert mode." msgstr "Írja be a \"{confirmWord}\" szót a szakértői mód engedélyezéséhez." #: src/components/AccountDetailsV2/TransactionBody.tsx -#: src/components/NavBar/index.tsx msgid "Pool" msgstr "Pool" @@ -1430,6 +1439,7 @@ msgstr "Pool tokenek a jutalom poolban:" msgid "Pooled {0}:" msgstr "Összevonva {0}:" +#: src/components/NavBar/index.tsx #: src/pages/Pool/index.tsx #: src/pages/Pool/index.tsx msgid "Pools" @@ -1624,6 +1634,11 @@ msgstr "Delegált eltávolítása" msgid "Remove Liquidity" msgstr "Likviditás eltávolítása" +#: src/nft/components/collection/CollectionAsset.tsx +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Remove from bag" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "Remove item" msgstr "" @@ -1632,11 +1647,6 @@ msgstr "" msgid "Removed" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Removed from bag" -msgstr "" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Removing" msgstr "" @@ -1649,7 +1659,7 @@ msgstr "{0} {1} és {2} {3} eltávolítása" msgid "Removing {0} {1} and{2} {3}" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Resolve {issues} issues" msgstr "" @@ -1671,6 +1681,15 @@ msgstr "" msgid "Same Price" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Save on Tax Services" +msgstr "" + +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +#: src/components/TaxServiceModal/index.tsx +msgid "Save on your crypto taxes" +msgstr "" + #: src/components/NavBar/SearchBar.tsx msgid "Search" msgstr "" @@ -1727,10 +1746,6 @@ msgstr "" msgid "Sell NFTs" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Selling ERC-1155s coming soon" -msgstr "" - #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/MigrateV2/MigrateV2Pair.tsx @@ -1741,7 +1756,7 @@ msgstr "Árfolyamtartomány beállítása" msgid "Set Starting Price" msgstr "Induló árfolyam beállítása" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Set prices to continue" msgstr "" @@ -1779,6 +1794,10 @@ msgstr "" msgid "Show more" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Show resources" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Sign" msgstr "" @@ -1813,7 +1832,7 @@ msgstr "" msgid "Sorry, an error occured while processing your request. If you request support, be sure to provide your error ID." msgstr "" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Start listing" msgstr "" @@ -1855,11 +1874,9 @@ msgstr "{0} {1} és {2} {3} kínálása" #: src/components/AccountDetailsV2/TransactionBody.tsx #: src/components/NavBar/index.tsx -#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/components/swap/SwapHeader.tsx #: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx -#: src/pages/Swap/index.tsx msgid "Swap" msgstr "Swap" @@ -1867,7 +1884,6 @@ msgstr "Swap" msgid "Swap <0/> for exactly <1/>" msgstr "Cserélje le a <0/> pontot <1/> értékre" -#: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx msgid "Swap Anyway" msgstr "Swap mindenképp" @@ -1876,11 +1892,6 @@ msgstr "Swap mindenképp" msgid "Swap exactly <0/> for <1/>" msgstr "Pontosan cserélje ki a <0/> értéket a <1/> értékre" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Swap failed: {0}" -msgstr "A csere nem sikerült: {0}" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Swapped" msgstr "" @@ -1995,10 +2006,6 @@ msgstr "Ennek a poolnak az ára az Ön által kiválasztott tartományon belül msgid "The ratio of tokens you add will set the price of this pool." msgstr "Az Ön által hozzáadott tokenek aránya határozza meg ennek a poolnak az árát." -#: src/utils/swapErrorToUserReadableMessage.tsx -msgid "The transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." -msgstr "A tranzakciót nem sikerült elküldeni, mert a határidő lejárt. Kérjük, ellenőrizze, hogy a tranzakció határideje nem túl alacsony-e." - #: src/components/LiquidityChartRangeInput/index.tsx msgid "There is no liquidity data." msgstr "" @@ -2011,10 +2018,6 @@ msgstr "" msgid "This app uses the following third-party APIs:" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -msgid "This item is not for sale" -msgstr "" - #: src/pages/AddLiquidity/index.tsx msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction." msgstr "" @@ -2043,6 +2046,10 @@ msgstr "" msgid "This tool will safely migrate your {0} liquidity to V3. The process is completely trustless thanks to the" msgstr "Ez az eszköz biztonságosan migrálja a {0} likviditását a V3-ba. A folyamat teljesen megbízhatatlan köszönhetően" +#: src/utils/swapErrorToUserReadableMessage.tsx +msgid "This transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." +msgstr "" + #: src/utils/swapErrorToUserReadableMessage.tsx 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 "Ez a tranzakció az ármozgás miatt nem fog sikerülni. Próbáld meg növelni a csúszástűrést. Megjegyzés: az átviteli és újrabázis tokenek díja nem kompatibilis az Uniswap V3 verzióval." @@ -2074,6 +2081,10 @@ msgstr "" msgid "Token name" msgstr "" +#: src/components/TokenSafety/index.tsx +msgid "Token not found" +msgstr "" + #: src/components/NavBar/SearchBarDropdown.tsx #: src/components/NavBar/index.tsx msgid "Tokens" @@ -2122,9 +2133,6 @@ msgstr "Tranzakció határideje" msgid "Transaction pending" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/utils/swapErrorToUserReadableMessage.tsx #: src/utils/swapErrorToUserReadableMessage.tsx msgid "Transaction rejected" msgstr "Tranzakció elutasítva" @@ -2162,6 +2170,10 @@ msgstr "Az UNI tokenek szavazati részvényeket képviselnek az Uniswap irányí msgid "UNI {0}/{1} Burned" msgstr "UNI {0}/{1} Elégett" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Unavailable for listing" +msgstr "" + #: src/pages/Pool/PositionPage.tsx msgid "Unclaimed fees" msgstr "Nem igényelt díjak" @@ -2170,22 +2182,22 @@ msgstr "Nem igényelt díjak" msgid "Undetermined" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected error. Could not estimate gas for the swap." -msgstr "Váratlan hiba. Nem sikerült megbecsülni a cseréhez szükséges gázt." - -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected issue with estimating the gas. Please try again." -msgstr "Váratlan probléma a gáz becslésével. Kérlek próbáld újra." - #: src/pages/Vote/Landing.tsx msgid "Uniswap Governance" msgstr "Uniswap irányítás" +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +msgid "Uniswap Labs can save you up to 20% on CoinTracker and TokenTax" +msgstr "" + #: src/components/PrivacyPolicy/index.tsx msgid "Uniswap Labs' Terms of Service" msgstr "" +#: src/pages/Pool/v2.tsx +msgid "Uniswap V2 is not available on this network." +msgstr "" + #: src/components/SwitchLocaleLink/index.tsx msgid "Uniswap available in: <0>{0}" msgstr "Az Uniswap itt érhető el: <0>{0}" @@ -2254,10 +2266,6 @@ msgstr "Delegálás frissítése" msgid "Use the Uniswap Labs API to get faster quotes." msgstr "" -#: src/pages/Pool/v2.tsx -msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum." -msgstr "" - #: src/pages/Pool/index.tsx msgid "V2 liquidity" msgstr "V2 likviditás" @@ -2279,7 +2287,6 @@ msgstr "" msgid "View more analytics" msgstr "" -#: src/components/TransactionConfirmationModal/index.tsx #: src/nft/components/collection/TransactionCompleteModal.tsx #: src/pages/CreateProposal/ProposalSubmissionModal.tsx msgid "View on Etherscan" @@ -2290,6 +2297,10 @@ msgstr "Nézd meg az Etherscan webhelyen" msgid "View on Explorer" msgstr "Megtekintés az Explorerben" +#: src/components/TransactionConfirmationModal/index.tsx +msgid "View on {0}" +msgstr "" + #: src/components/ModalViews/index.tsx #: src/components/claim/AddressClaimModal.tsx #: src/components/vote/ExecuteModal.tsx @@ -2434,10 +2445,6 @@ msgstr "Ön az első likviditásszolgáltató." msgid "You can either vote on each proposal yourself or delegate your votes to a third party." msgstr "Az egyes javaslatokról vagy saját maga szavazhat, vagy delegálhatja a szavazatait egy harmadik félre." -#: src/pages/Swap/index.tsx -msgid "You can now trade {0}" -msgstr "Most kereskedhet {0}" - #: src/pages/CreateProposal/index.tsx msgid "You don't have enough votes to submit a proposal" msgstr "" @@ -2454,10 +2461,6 @@ msgstr "" msgid "You must connect an account." msgstr "Csatlakoznia kell egy fiókhoz." -#: src/pages/Swap/index.tsx -msgid "You must give the Uniswap smart contracts permission to use your {0}. You only have to do this once per token." -msgstr "Engedélyt kell adnia az Uniswap intelligens szerződéseknek a(z) {0} használatához. Ezt tokenenként csak egyszer kell megtennie." - #: src/pages/CreateProposal/index.tsx msgid "You must have {formattedProposalThreshold} votes to submit a proposal" msgstr "" @@ -2535,9 +2538,10 @@ msgid "Your positions" msgstr "Saját pozíciók" #: src/hooks/useUniversalRouter.ts +msgid "Your swap is expected to fail." +msgstr "" + #: src/hooks/useUniversalRouter.ts -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx msgid "Your swap was modified through your wallet. If this was a mistake, please cancel immediately or risk losing your funds." msgstr "" @@ -2588,6 +2592,10 @@ msgstr "" msgid "and" msgstr "" +#: src/nft/components/card/media.tsx +msgid "available yet" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "below floor price." msgstr "" @@ -2645,7 +2653,7 @@ msgstr "" msgid "to" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "{0, plural, =1 {Resolve issue} other {{1}}}" msgstr "" @@ -2673,6 +2681,7 @@ msgstr "" #: src/components/ErrorBoundary/index.tsx #: src/components/RateToggle/index.tsx #: src/components/RateToggle/index.tsx +#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/nft/components/bag/BagFooter.tsx msgid "{0}" msgstr "{0}" @@ -2681,11 +2690,6 @@ msgstr "{0}" msgid "{0} %" msgstr "{0} %" -#: src/components/PositionListItem/index.tsx -#: src/components/PositionListItem/index.tsx -msgid "{0} <0/> per <1/>" -msgstr "{0} <0/> per <1/>" - #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx msgid "{0} Deposited" diff --git a/src/locales/id-ID.po b/src/locales/id-ID.po index 31ee2cc5408..a73177f3e0f 100644 --- a/src/locales/id-ID.po +++ b/src/locales/id-ID.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: uniswap-interface\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-17 00:17\n" +"PO-Revision-Date: 2023-03-21 23:05\n" "Last-Translator: \n" "Language: id_ID\n" "Language-Team: Indonesian\n" @@ -116,6 +116,11 @@ msgstr "<0>Kiat: Saat menambahkan likuiditas, Anda akan menerima token pool msgid "<0>Unlock voting to prepare for the next proposal." msgstr "<0>Buka voting untuk mempersiapkan usulan berikutnya." +#: src/components/PositionListItem/index.tsx +#: src/components/PositionListItem/index.tsx +msgid "<0>{0} <1/> per <2/>" +msgstr "" + #: src/pages/Vote/Landing.tsx msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals" msgstr "Memerlukan minimal 0,25% dari total pasokan UNI untuk mengirimkan proposal" @@ -171,6 +176,10 @@ msgstr "Tambahkan likuiditas." msgid "Add more liquidity" msgstr "Tambahkan lebih banyak likuiditas" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Add to bag" +msgstr "" + #: src/components/TransactionConfirmationModal/index.tsx msgid "Add {0}" msgstr "" @@ -183,11 +192,6 @@ msgstr "Tambahkan {0}/{1} likuiditas V3" msgid "Added" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Added to bag" -msgstr "" - #: src/components/TransactionConfirmationModal/index.tsx msgid "Added {0}" msgstr "Ditambahkan {0}" @@ -216,10 +220,6 @@ msgstr "Izinkan migrasi token LP" msgid "Allow high price impact trades and skip the confirm screen. Use at your own risk." msgstr "Izinkan perdagangan berdampak harga tinggi dan lewati layar konfirmasi. Gunakan dengan resiko yang Anda tanggung sendiri." -#: src/pages/Swap/index.tsx -msgid "Allow the Uniswap Protocol to use your {0}" -msgstr "Izinkan Protokol Uniswap untuk menggunakan {0}" - #: src/pages/MigrateV2/MigrateV2Pair.tsx msgid "Allowed" msgstr "Diizinkan" @@ -353,11 +353,10 @@ msgstr "" msgid "Blocked Address" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Blocked from trading" +#: src/nft/components/card/icons.tsx +msgid "Blocked on OpenSea" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx #: src/components/WalletDropdown/AuthenticatedHeader.tsx msgid "Buy crypto" msgstr "" @@ -451,6 +450,11 @@ msgstr "Hapus semua" msgid "Close" msgstr "Tutup" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Close wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx #: src/pages/RemoveLiquidity/V3.tsx msgid "Closed" @@ -530,6 +534,7 @@ msgstr "Konfirmasi transaksi di dompet" msgid "Connect" msgstr "" +#: src/nft/pages/profile/profile.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidityV2/index.tsx #: src/pages/RemoveLiquidity/index.tsx @@ -567,6 +572,11 @@ msgstr "Hubungkan dompet" msgid "Connected with" msgstr "" +#: src/nft/components/card/media.tsx +msgid "Content not" +msgstr "" + +#: src/nft/components/bag/Bag.tsx #: src/nft/components/profile/list/Modal/BelowFloorWarningModal.tsx msgid "Continue" msgstr "" @@ -610,10 +620,6 @@ msgstr "Buat Proposal" msgid "Create a pair" msgstr "Buat pasangan" -#: src/pages/Pool/index.tsx -msgid "Create a pool" -msgstr "Buat pool" - #: src/components/AccountDetails/TransactionSummary.tsx msgid "Create pool and add {0}/{1} V3 liquidity" msgstr "Buat pool renang dan tambahkan {0}/{1} likuiditas V3" @@ -725,10 +731,6 @@ msgstr "Ubah" msgid "Edit listings" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Efficiency Comparison" -msgstr "Perbandingan Efisiensi" - #: src/state/burn/v3/hooks.tsx msgid "Enter a percent" msgstr "Masukkan persen" @@ -916,18 +918,10 @@ msgstr "Dari (paling banyak)" msgid "Full Range" msgstr "Rentang Penuh" -#: src/pages/AddLiquidity/index.tsx -msgid "Full range positions may earn less fees than concentrated positions. Learn more <0>here." -msgstr "Posisi rentang penuh dapat memperoleh biaya lebih sedikit daripada posisi terkonsentrasi. Pelajari lebih lanjut <0>di sini ." - #: src/components/ErrorBoundary/index.tsx msgid "Get support" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx -msgid "Get tokens at the best prices in web3 on Uniswap, powered by Moonpay." -msgstr "" - #: src/components/NavBar/MenuDropdown.tsx msgid "Help center" msgstr "" @@ -942,12 +936,11 @@ msgstr "Menyembunyikan" msgid "Hide closed positions" msgstr "Sembunyikan posisi tertutup" -#: src/pages/Swap/index.tsx -msgid "High Price Impact" -msgstr "Dampak Harga Tinggi" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Hide resources" +msgstr "" #: src/components/TokenSafety/index.tsx -#: src/pages/AddLiquidity/index.tsx msgid "I understand" msgstr "Saya mengerti" @@ -1031,7 +1024,6 @@ msgstr "Masukan harga tidak valid" msgid "Invalid range selected. The min price must be lower than the max price." msgstr "Rentang yang tidak valid dipilih. Harga min harus lebih rendah dari harga maks." -#: src/lib/hooks/swap/useSwapCallback.tsx #: src/state/swap/hooks.tsx msgid "Invalid recipient" msgstr "Penerima tidak valid" @@ -1059,6 +1051,7 @@ msgstr "Pelajari tentang menyediakan likuiditas" #: src/components/PrivacyPolicy/index.tsx #: src/components/PrivacyPolicy/index.tsx +#: src/components/TaxServiceModal/TaxServiceBanner.tsx #: src/components/TokenSafety/TokenSafetyMessage.tsx #: src/components/TokenSafety/index.tsx #: src/pages/Landing/index.tsx @@ -1098,6 +1091,10 @@ msgstr "Penyedia likuiditas mendapatkan biaya 0,3% pada semua perdagangan yang s msgid "List NFTs" msgstr "" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "List for sale" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Listing an NFT requires a one-time marketplace approval for each NFT collection." msgstr "" @@ -1219,10 +1216,6 @@ msgstr "Minimum diterima" msgid "Missing chart data" msgstr "" -#: src/lib/hooks/swap/useSwapCallback.tsx -msgid "Missing dependencies" -msgstr "Ketergantungan yang hilang" - #: src/components/Tokens/TokenDetails/PriceChart.tsx msgid "Missing price data due to recently low trading volume on Uniswap v3" msgstr "" @@ -1259,6 +1252,10 @@ msgstr "" msgid "Name not found" msgstr "" +#: src/components/NavBar/NavIcon.tsx +msgid "Navigation button" +msgstr "" + #: src/components/swap/AdvancedSwapDetails.tsx msgid "Network Fee" msgstr "" @@ -1287,6 +1284,10 @@ msgstr "Tidak ada data" msgid "No description." msgstr "Tidak ada deskripsi." +#: src/nft/pages/profile/profile.tsx +msgid "No items to display" +msgstr "" + #: src/pages/Pool/v2.tsx msgid "No liquidity found." msgstr "Likuiditas tidak ditemukan." @@ -1327,6 +1328,10 @@ msgstr "" msgid "Not created" msgstr "Belum dibuat" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Not listed" +msgstr "" + #: src/components/Settings/index.tsx msgid "ONLY USE THIS MODE IF YOU KNOW WHAT YOU ARE DOING." msgstr "GUNAKAN MODE INI HANYA JIKA ANDA TAHU APA YANG ANDA LAKUKAN." @@ -1347,6 +1352,11 @@ msgstr "Hanya suara UNI yang didelegasikan sendiri atau didelegasikan ke alamat msgid "Oops, take me back to Swap" msgstr "" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Open wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx msgid "Out of range" msgstr "Diluar jangkauan" @@ -1405,7 +1415,6 @@ msgid "Please type the word \"{confirmWord}\" to enable expert mode." msgstr "Ketik kata \"{confirmWord}\" untuk mengaktifkan mode ahli." #: src/components/AccountDetailsV2/TransactionBody.tsx -#: src/components/NavBar/index.tsx msgid "Pool" msgstr "Kolam" @@ -1429,6 +1438,7 @@ msgstr "Token pool di pool hadiah:" msgid "Pooled {0}:" msgstr "Dikumpulkan {0}:" +#: src/components/NavBar/index.tsx #: src/pages/Pool/index.tsx #: src/pages/Pool/index.tsx msgid "Pools" @@ -1623,6 +1633,11 @@ msgstr "Hapus Delegasi" msgid "Remove Liquidity" msgstr "Hapus Likuiditas" +#: src/nft/components/collection/CollectionAsset.tsx +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Remove from bag" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "Remove item" msgstr "" @@ -1631,11 +1646,6 @@ msgstr "" msgid "Removed" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Removed from bag" -msgstr "" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Removing" msgstr "" @@ -1648,7 +1658,7 @@ msgstr "Menghapus {0} {1} dan {2} {3}" msgid "Removing {0} {1} and{2} {3}" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Resolve {issues} issues" msgstr "" @@ -1670,6 +1680,15 @@ msgstr "" msgid "Same Price" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Save on Tax Services" +msgstr "" + +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +#: src/components/TaxServiceModal/index.tsx +msgid "Save on your crypto taxes" +msgstr "" + #: src/components/NavBar/SearchBar.tsx msgid "Search" msgstr "" @@ -1726,10 +1745,6 @@ msgstr "" msgid "Sell NFTs" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Selling ERC-1155s coming soon" -msgstr "" - #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/MigrateV2/MigrateV2Pair.tsx @@ -1740,7 +1755,7 @@ msgstr "Tetapkan Rentang Harga" msgid "Set Starting Price" msgstr "Tetapkan Harga Awal" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Set prices to continue" msgstr "" @@ -1778,6 +1793,10 @@ msgstr "Tampilkan posisi tertutup" msgid "Show more" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Show resources" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Sign" msgstr "" @@ -1812,7 +1831,7 @@ msgstr "" msgid "Sorry, an error occured while processing your request. If you request support, be sure to provide your error ID." msgstr "" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Start listing" msgstr "" @@ -1854,11 +1873,9 @@ msgstr "Memasok {0} {1} dan {2} {3}" #: src/components/AccountDetailsV2/TransactionBody.tsx #: src/components/NavBar/index.tsx -#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/components/swap/SwapHeader.tsx #: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx -#: src/pages/Swap/index.tsx msgid "Swap" msgstr "Tukar" @@ -1866,7 +1883,6 @@ msgstr "Tukar" msgid "Swap <0/> for exactly <1/>" msgstr "Tukar <0/> dengan tepat <1/>" -#: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx msgid "Swap Anyway" msgstr "Tukar Saja" @@ -1875,11 +1891,6 @@ msgstr "Tukar Saja" msgid "Swap exactly <0/> for <1/>" msgstr "Tukar persis <0/> untuk <1/>" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Swap failed: {0}" -msgstr "Tukar gagal: {0}" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Swapped" msgstr "" @@ -1994,10 +2005,6 @@ msgstr "Harga pool ini berada dalam rentang yang Anda pilih. Posisi Anda saat in msgid "The ratio of tokens you add will set the price of this pool." msgstr "Rasio token yang Anda tambahkan akan menetapkan harga pool ini." -#: src/utils/swapErrorToUserReadableMessage.tsx -msgid "The transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." -msgstr "Transaksi tidak dapat dikirim karena tenggat waktu telah berlalu. Harap periksa bahwa tenggat waktu transaksi Anda tidak terlalu rendah." - #: src/components/LiquidityChartRangeInput/index.tsx msgid "There is no liquidity data." msgstr "Tidak ada data likuiditas." @@ -2010,10 +2017,6 @@ msgstr "" msgid "This app uses the following third-party APIs:" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -msgid "This item is not for sale" -msgstr "" - #: src/pages/AddLiquidity/index.tsx msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction." msgstr "Pool ini harus diinisialisasi sebelum Anda dapat menambahkan likuiditas. Untuk menginisialisasi, pilih harga awal untuk pool. Kemudian, masukkan kisaran harga likuiditas dan jumlah deposit Anda. Biaya gas akan lebih tinggi dari biasanya karena transaksi inisialisasi." @@ -2042,6 +2045,10 @@ msgstr "" msgid "This tool will safely migrate your {0} liquidity to V3. The process is completely trustless thanks to the" msgstr "Alat ini akan memigrasikan {0} likuiditas Anda ke V3 dengan aman. Prosesnya benar-benar tidak dapat dipercaya berkat" +#: src/utils/swapErrorToUserReadableMessage.tsx +msgid "This transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." +msgstr "" + #: src/utils/swapErrorToUserReadableMessage.tsx 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 "Transaksi ini tidak akan berhasil karena pergerakan harga. Coba tingkatkan toleransi selip Anda. Catatan: biaya transfer dan token rebase tidak sesuai dengan Uniswap V3." @@ -2073,6 +2080,10 @@ msgstr "" msgid "Token name" msgstr "" +#: src/components/TokenSafety/index.tsx +msgid "Token not found" +msgstr "" + #: src/components/NavBar/SearchBarDropdown.tsx #: src/components/NavBar/index.tsx msgid "Tokens" @@ -2121,9 +2132,6 @@ msgstr "Batas waktu transaksi" msgid "Transaction pending" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/utils/swapErrorToUserReadableMessage.tsx #: src/utils/swapErrorToUserReadableMessage.tsx msgid "Transaction rejected" msgstr "Transaksi ditolak" @@ -2161,6 +2169,10 @@ msgstr "Token UNI menunjukkan hak suara dalam pengaturan Uniswap. Anda dapat mem msgid "UNI {0}/{1} Burned" msgstr "UNI {0}/{1} Terbakar" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Unavailable for listing" +msgstr "" + #: src/pages/Pool/PositionPage.tsx msgid "Unclaimed fees" msgstr "Biaya yang tidak diklaim" @@ -2169,22 +2181,22 @@ msgstr "Biaya yang tidak diklaim" msgid "Undetermined" msgstr "Tidak dapat ditentukan" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected error. Could not estimate gas for the swap." -msgstr "Kesalahan yang tidak diduga. Tidak dapat memperkirakan gas untuk swap." - -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected issue with estimating the gas. Please try again." -msgstr "Masalah tak terduga dengan memperkirakan gas. Silakan coba lagi." - #: src/pages/Vote/Landing.tsx msgid "Uniswap Governance" msgstr "Tata Kelola Uniswap" +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +msgid "Uniswap Labs can save you up to 20% on CoinTracker and TokenTax" +msgstr "" + #: src/components/PrivacyPolicy/index.tsx msgid "Uniswap Labs' Terms of Service" msgstr "" +#: src/pages/Pool/v2.tsx +msgid "Uniswap V2 is not available on this network." +msgstr "" + #: src/components/SwitchLocaleLink/index.tsx msgid "Uniswap available in: <0>{0}" msgstr "Uniswap tersedia dalam: <0>{0}" @@ -2253,10 +2265,6 @@ msgstr "Perbarui Delegasi" msgid "Use the Uniswap Labs API to get faster quotes." msgstr "" -#: src/pages/Pool/v2.tsx -msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum." -msgstr "" - #: src/pages/Pool/index.tsx msgid "V2 liquidity" msgstr "Likuiditas V2" @@ -2278,7 +2286,6 @@ msgstr "" msgid "View more analytics" msgstr "" -#: src/components/TransactionConfirmationModal/index.tsx #: src/nft/components/collection/TransactionCompleteModal.tsx #: src/pages/CreateProposal/ProposalSubmissionModal.tsx msgid "View on Etherscan" @@ -2289,6 +2296,10 @@ msgstr "Lihat di Etherscan" msgid "View on Explorer" msgstr "Lihat di Explorer" +#: src/components/TransactionConfirmationModal/index.tsx +msgid "View on {0}" +msgstr "" + #: src/components/ModalViews/index.tsx #: src/components/claim/AddressClaimModal.tsx #: src/components/vote/ExecuteModal.tsx @@ -2433,10 +2444,6 @@ msgstr "Anda adalah penyedia likuiditas pertama." msgid "You can either vote on each proposal yourself or delegate your votes to a third party." msgstr "Anda dapat memilih sendiri setiap usulan atau mendelegasikan suara Anda ke pihak ketiga." -#: src/pages/Swap/index.tsx -msgid "You can now trade {0}" -msgstr "Anda sekarang dapat berdagang {0}" - #: src/pages/CreateProposal/index.tsx msgid "You don't have enough votes to submit a proposal" msgstr "Anda tidak memiliki cukup suara untuk mengirimkan proposal" @@ -2453,10 +2460,6 @@ msgstr "" msgid "You must connect an account." msgstr "Anda harus menghubungkan akun." -#: src/pages/Swap/index.tsx -msgid "You must give the Uniswap smart contracts permission to use your {0}. You only have to do this once per token." -msgstr "Anda harus memberikan izin smart contract kepada Uniswap untuk menggunakan {0} Anda. Anda hanya perlu melakukan ini satu kali per token." - #: src/pages/CreateProposal/index.tsx msgid "You must have {formattedProposalThreshold} votes to submit a proposal" msgstr "Anda harus memiliki {formattedProposalThreshold} suara untuk mengajukan proposal" @@ -2534,9 +2537,10 @@ msgid "Your positions" msgstr "Posisi Anda" #: src/hooks/useUniversalRouter.ts +msgid "Your swap is expected to fail." +msgstr "" + #: src/hooks/useUniversalRouter.ts -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx msgid "Your swap was modified through your wallet. If this was a mistake, please cancel immediately or risk losing your funds." msgstr "" @@ -2587,6 +2591,10 @@ msgstr "" msgid "and" msgstr "" +#: src/nft/components/card/media.tsx +msgid "available yet" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "below floor price." msgstr "" @@ -2644,7 +2652,7 @@ msgstr "" msgid "to" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "{0, plural, =1 {Resolve issue} other {{1}}}" msgstr "" @@ -2672,6 +2680,7 @@ msgstr "" #: src/components/ErrorBoundary/index.tsx #: src/components/RateToggle/index.tsx #: src/components/RateToggle/index.tsx +#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/nft/components/bag/BagFooter.tsx msgid "{0}" msgstr "{0}" @@ -2680,11 +2689,6 @@ msgstr "{0}" msgid "{0} %" msgstr "{0} %" -#: src/components/PositionListItem/index.tsx -#: src/components/PositionListItem/index.tsx -msgid "{0} <0/> per <1/>" -msgstr "{0} <0/> per <1/>" - #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx msgid "{0} Deposited" diff --git a/src/locales/it-IT.po b/src/locales/it-IT.po index 018497ea14e..039416120e2 100644 --- a/src/locales/it-IT.po +++ b/src/locales/it-IT.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: uniswap-interface\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-17 00:17\n" +"PO-Revision-Date: 2023-03-21 23:05\n" "Last-Translator: \n" "Language: it_IT\n" "Language-Team: Italian\n" @@ -116,6 +116,11 @@ msgstr "<0>Suggerimento: Quando aggiungi liquidità, riceverai i token di po msgid "<0>Unlock voting to prepare for the next proposal." msgstr "<0>Sblocca il voto per preparare la prossima proposta." +#: src/components/PositionListItem/index.tsx +#: src/components/PositionListItem/index.tsx +msgid "<0>{0} <1/> per <2/>" +msgstr "" + #: src/pages/Vote/Landing.tsx msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals" msgstr "" @@ -171,6 +176,10 @@ msgstr "Aggiungi liquidità." msgid "Add more liquidity" msgstr "" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Add to bag" +msgstr "" + #: src/components/TransactionConfirmationModal/index.tsx msgid "Add {0}" msgstr "" @@ -183,11 +192,6 @@ msgstr "Aggiungi liquidità {0}/{1} V3" msgid "Added" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Added to bag" -msgstr "" - #: src/components/TransactionConfirmationModal/index.tsx msgid "Added {0}" msgstr "{0} aggiunto" @@ -216,10 +220,6 @@ msgstr "Consenti la migrazione del token LP" msgid "Allow high price impact trades and skip the confirm screen. Use at your own risk." msgstr "Consenti scambi ad alto impatto sui prezzi e salta la schermata di conferma. Usa a tuo rischio." -#: src/pages/Swap/index.tsx -msgid "Allow the Uniswap Protocol to use your {0}" -msgstr "Permetti al Protocollo Uniswap di utilizzare il tuo {0}" - #: src/pages/MigrateV2/MigrateV2Pair.tsx msgid "Allowed" msgstr "Consentito" @@ -353,11 +353,10 @@ msgstr "" msgid "Blocked Address" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Blocked from trading" +#: src/nft/components/card/icons.tsx +msgid "Blocked on OpenSea" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx #: src/components/WalletDropdown/AuthenticatedHeader.tsx msgid "Buy crypto" msgstr "" @@ -451,6 +450,11 @@ msgstr "Cancella tutto" msgid "Close" msgstr "Chiudi" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Close wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx #: src/pages/RemoveLiquidity/V3.tsx msgid "Closed" @@ -530,6 +534,7 @@ msgstr "" msgid "Connect" msgstr "" +#: src/nft/pages/profile/profile.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidityV2/index.tsx #: src/pages/RemoveLiquidity/index.tsx @@ -567,9 +572,14 @@ msgstr "Collega portafoglio" msgid "Connected with" msgstr "" +#: src/nft/components/card/media.tsx +msgid "Content not" +msgstr "" + +#: src/nft/components/bag/Bag.tsx #: src/nft/components/profile/list/Modal/BelowFloorWarningModal.tsx msgid "Continue" -msgstr "" +msgstr "Continua" #: src/components/Tokens/TokenDetails/AddressSection.tsx msgid "Contract address" @@ -610,10 +620,6 @@ msgstr "" msgid "Create a pair" msgstr "Crea una coppia" -#: src/pages/Pool/index.tsx -msgid "Create a pool" -msgstr "Crea un pool" - #: src/components/AccountDetails/TransactionSummary.tsx msgid "Create pool and add {0}/{1} V3 liquidity" msgstr "Crea pool e aggiungi liquidità {0}/{1} V3" @@ -725,10 +731,6 @@ msgstr "" msgid "Edit listings" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Efficiency Comparison" -msgstr "" - #: src/state/burn/v3/hooks.tsx msgid "Enter a percent" msgstr "Inserisci una percentuale" @@ -916,18 +918,10 @@ msgstr "Da (al massimo)" msgid "Full Range" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Full range positions may earn less fees than concentrated positions. Learn more <0>here." -msgstr "" - #: src/components/ErrorBoundary/index.tsx msgid "Get support" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx -msgid "Get tokens at the best prices in web3 on Uniswap, powered by Moonpay." -msgstr "" - #: src/components/NavBar/MenuDropdown.tsx msgid "Help center" msgstr "" @@ -942,12 +936,11 @@ msgstr "" msgid "Hide closed positions" msgstr "Nascondi posizioni chiuse" -#: src/pages/Swap/index.tsx -msgid "High Price Impact" -msgstr "Impatto Ad Alto Prezzo" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Hide resources" +msgstr "" #: src/components/TokenSafety/index.tsx -#: src/pages/AddLiquidity/index.tsx msgid "I understand" msgstr "Capisco" @@ -989,7 +982,7 @@ msgstr "" #: src/nft/components/bag/BagFooter.tsx msgid "Insufficient liquidity" -msgstr "" +msgstr "Liquidità insufficiente" #: src/pages/Swap/index.tsx msgid "Insufficient liquidity for this trade." @@ -1031,7 +1024,6 @@ msgstr "Input di prezzo non valido" msgid "Invalid range selected. The min price must be lower than the max price." msgstr "Intervallo selezionato non valido. Il prezzo minimo deve essere inferiore al prezzo massimo." -#: src/lib/hooks/swap/useSwapCallback.tsx #: src/state/swap/hooks.tsx msgid "Invalid recipient" msgstr "Destinatario non valido" @@ -1059,6 +1051,7 @@ msgstr "" #: src/components/PrivacyPolicy/index.tsx #: src/components/PrivacyPolicy/index.tsx +#: src/components/TaxServiceModal/TaxServiceBanner.tsx #: src/components/TokenSafety/TokenSafetyMessage.tsx #: src/components/TokenSafety/index.tsx #: src/pages/Landing/index.tsx @@ -1098,6 +1091,10 @@ msgstr "I fornitori di liquidità guadagnano una commissione dello 0,3% su tutte msgid "List NFTs" msgstr "" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "List for sale" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Listing an NFT requires a one-time marketplace approval for each NFT collection." msgstr "" @@ -1219,10 +1216,6 @@ msgstr "Minimo ricevuto" msgid "Missing chart data" msgstr "" -#: src/lib/hooks/swap/useSwapCallback.tsx -msgid "Missing dependencies" -msgstr "Dipendenze mancanti" - #: src/components/Tokens/TokenDetails/PriceChart.tsx msgid "Missing price data due to recently low trading volume on Uniswap v3" msgstr "" @@ -1259,6 +1252,10 @@ msgstr "" msgid "Name not found" msgstr "" +#: src/components/NavBar/NavIcon.tsx +msgid "Navigation button" +msgstr "" + #: src/components/swap/AdvancedSwapDetails.tsx msgid "Network Fee" msgstr "" @@ -1287,6 +1284,10 @@ msgstr "Nessun dato" msgid "No description." msgstr "Nessuna descrizione." +#: src/nft/pages/profile/profile.tsx +msgid "No items to display" +msgstr "" + #: src/pages/Pool/v2.tsx msgid "No liquidity found." msgstr "Nessuna liquidità trovata." @@ -1327,6 +1328,10 @@ msgstr "" msgid "Not created" msgstr "Non creato" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Not listed" +msgstr "" + #: src/components/Settings/index.tsx msgid "ONLY USE THIS MODE IF YOU KNOW WHAT YOU ARE DOING." msgstr "USA SOLO QUESTO MODALITA' SE SAI QUELLO CHE STAI FACENDO." @@ -1347,6 +1352,11 @@ msgstr "Solo i voti UNI che sono stati auto-delegati o delegati a un altro indir msgid "Oops, take me back to Swap" msgstr "" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Open wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx msgid "Out of range" msgstr "Fuori portata" @@ -1405,7 +1415,6 @@ msgid "Please type the word \"{confirmWord}\" to enable expert mode." msgstr "Si prega di digitare la parola \"{confirmWord}\" per abilitare la modalità esperti." #: src/components/AccountDetailsV2/TransactionBody.tsx -#: src/components/NavBar/index.tsx msgid "Pool" msgstr "Pool" @@ -1429,6 +1438,7 @@ msgstr "Token del pool nel pool di ricompense:" msgid "Pooled {0}:" msgstr "Raggruppato {0}:" +#: src/components/NavBar/index.tsx #: src/pages/Pool/index.tsx #: src/pages/Pool/index.tsx msgid "Pools" @@ -1623,6 +1633,11 @@ msgstr "Rimuovi Delegato" msgid "Remove Liquidity" msgstr "Rimuovi Liquidità" +#: src/nft/components/collection/CollectionAsset.tsx +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Remove from bag" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "Remove item" msgstr "" @@ -1631,11 +1646,6 @@ msgstr "" msgid "Removed" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Removed from bag" -msgstr "" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Removing" msgstr "" @@ -1648,7 +1658,7 @@ msgstr "Rimozione di {0} {1} e {2} {3}" msgid "Removing {0} {1} and{2} {3}" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Resolve {issues} issues" msgstr "" @@ -1670,6 +1680,15 @@ msgstr "" msgid "Same Price" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Save on Tax Services" +msgstr "" + +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +#: src/components/TaxServiceModal/index.tsx +msgid "Save on your crypto taxes" +msgstr "" + #: src/components/NavBar/SearchBar.tsx msgid "Search" msgstr "" @@ -1726,10 +1745,6 @@ msgstr "" msgid "Sell NFTs" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Selling ERC-1155s coming soon" -msgstr "" - #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/MigrateV2/MigrateV2Pair.tsx @@ -1740,7 +1755,7 @@ msgstr "Imposta Intervallo Di Prezzo" msgid "Set Starting Price" msgstr "Imposta Prezzo iniziale" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Set prices to continue" msgstr "" @@ -1778,6 +1793,10 @@ msgstr "" msgid "Show more" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Show resources" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Sign" msgstr "" @@ -1812,7 +1831,7 @@ msgstr "" msgid "Sorry, an error occured while processing your request. If you request support, be sure to provide your error ID." msgstr "" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Start listing" msgstr "" @@ -1854,11 +1873,9 @@ msgstr "Fornitura di {0} {1} e {2} {3}" #: src/components/AccountDetailsV2/TransactionBody.tsx #: src/components/NavBar/index.tsx -#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/components/swap/SwapHeader.tsx #: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx -#: src/pages/Swap/index.tsx msgid "Swap" msgstr "Scambia" @@ -1866,7 +1883,6 @@ msgstr "Scambia" msgid "Swap <0/> for exactly <1/>" msgstr "Scambia <0/> con esattamente <1/>" -#: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx msgid "Swap Anyway" msgstr "Scambia Comunque" @@ -1875,11 +1891,6 @@ msgstr "Scambia Comunque" msgid "Swap exactly <0/> for <1/>" msgstr "Scambia esattamente <0/> con <1/>" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Swap failed: {0}" -msgstr "Scambio fallito: {0}" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Swapped" msgstr "" @@ -1994,10 +2005,6 @@ msgstr "Il prezzo di questo pool è entro l'intervallo selezionato. La tua posiz msgid "The ratio of tokens you add will set the price of this pool." msgstr "Il rapporto tra i gettoni che aggiungi imposterà il prezzo di questo pool." -#: src/utils/swapErrorToUserReadableMessage.tsx -msgid "The transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." -msgstr "Impossibile inviare la transazione perché il termine è scaduto. Si prega di verificare che la scadenza della transazione non sia troppo bassa." - #: src/components/LiquidityChartRangeInput/index.tsx msgid "There is no liquidity data." msgstr "" @@ -2010,10 +2017,6 @@ msgstr "" msgid "This app uses the following third-party APIs:" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -msgid "This item is not for sale" -msgstr "" - #: src/pages/AddLiquidity/index.tsx msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction." msgstr "" @@ -2042,6 +2045,10 @@ msgstr "" msgid "This tool will safely migrate your {0} liquidity to V3. The process is completely trustless thanks to the" msgstr "Questo strumento eseguirà la migrazione in modo sicuro della tua liquidità {0} a V3. Il processo è completamente affidabile grazie alla" +#: src/utils/swapErrorToUserReadableMessage.tsx +msgid "This transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." +msgstr "Questa transazione non può essere inviata perché il termine è scaduto. Verifica che la scadenza della tua transazione non sia troppo bassa." + #: src/utils/swapErrorToUserReadableMessage.tsx 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 "Questa transazione non avrà esito positivo a causa del movimento dei prezzi. Prova ad aumentare la tua tolleranza allo slittamento. Nota: la commissione sui token di trasferimento e rebase non è compatibile con Uniswap V3." @@ -2073,6 +2080,10 @@ msgstr "" msgid "Token name" msgstr "" +#: src/components/TokenSafety/index.tsx +msgid "Token not found" +msgstr "" + #: src/components/NavBar/SearchBarDropdown.tsx #: src/components/NavBar/index.tsx msgid "Tokens" @@ -2121,9 +2132,6 @@ msgstr "Termine transazione" msgid "Transaction pending" msgstr "Transazione in corso" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/utils/swapErrorToUserReadableMessage.tsx #: src/utils/swapErrorToUserReadableMessage.tsx msgid "Transaction rejected" msgstr "Transazione rifiutata" @@ -2161,6 +2169,10 @@ msgstr "I token UNI rappresentano le quote di voto nella governance di Uniswap. msgid "UNI {0}/{1} Burned" msgstr "UNI {0}/{1} bruciati" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Unavailable for listing" +msgstr "" + #: src/pages/Pool/PositionPage.tsx msgid "Unclaimed fees" msgstr "Commissioni non richieste" @@ -2169,22 +2181,22 @@ msgstr "Commissioni non richieste" msgid "Undetermined" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected error. Could not estimate gas for the swap." -msgstr "Errore inaspettato. Impossibile stimare il gas per lo scambio." - -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected issue with estimating the gas. Please try again." -msgstr "Problema imprevisto con la stima del gas. Per favore riprova." - #: src/pages/Vote/Landing.tsx msgid "Uniswap Governance" msgstr "Uniswap Governance" +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +msgid "Uniswap Labs can save you up to 20% on CoinTracker and TokenTax" +msgstr "" + #: src/components/PrivacyPolicy/index.tsx msgid "Uniswap Labs' Terms of Service" msgstr "" +#: src/pages/Pool/v2.tsx +msgid "Uniswap V2 is not available on this network." +msgstr "" + #: src/components/SwitchLocaleLink/index.tsx msgid "Uniswap available in: <0>{0}" msgstr "Uniswap disponibile tra: <0>{0}" @@ -2253,10 +2265,6 @@ msgstr "Aggiorna la delega" msgid "Use the Uniswap Labs API to get faster quotes." msgstr "" -#: src/pages/Pool/v2.tsx -msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum." -msgstr "" - #: src/pages/Pool/index.tsx msgid "V2 liquidity" msgstr "Liquidità V2" @@ -2278,7 +2286,6 @@ msgstr "" msgid "View more analytics" msgstr "" -#: src/components/TransactionConfirmationModal/index.tsx #: src/nft/components/collection/TransactionCompleteModal.tsx #: src/pages/CreateProposal/ProposalSubmissionModal.tsx msgid "View on Etherscan" @@ -2289,6 +2296,10 @@ msgstr "Visualizza su Etherscan" msgid "View on Explorer" msgstr "Visualizza su Explorer" +#: src/components/TransactionConfirmationModal/index.tsx +msgid "View on {0}" +msgstr "" + #: src/components/ModalViews/index.tsx #: src/components/claim/AddressClaimModal.tsx #: src/components/vote/ExecuteModal.tsx @@ -2433,10 +2444,6 @@ msgstr "Sei il primo fornitore di liquidità." msgid "You can either vote on each proposal yourself or delegate your votes to a third party." msgstr "Puoi votare personalmente su ogni proposta o delegare i tuoi voti a terzi." -#: src/pages/Swap/index.tsx -msgid "You can now trade {0}" -msgstr "Ora puoi scambiare {0}" - #: src/pages/CreateProposal/index.tsx msgid "You don't have enough votes to submit a proposal" msgstr "" @@ -2453,10 +2460,6 @@ msgstr "" msgid "You must connect an account." msgstr "Devi collegare un account." -#: src/pages/Swap/index.tsx -msgid "You must give the Uniswap smart contracts permission to use your {0}. You only have to do this once per token." -msgstr "Devi dare il permesso agli smart contract Uniswap di utilizzare il tuo {0}. Devi farlo solo una volta per token." - #: src/pages/CreateProposal/index.tsx msgid "You must have {formattedProposalThreshold} votes to submit a proposal" msgstr "" @@ -2464,7 +2467,7 @@ msgstr "" #: src/nft/components/profile/list/ListPage.tsx #: src/nft/components/profile/list/NFTListingsGrid.tsx msgid "You receive" -msgstr "" +msgstr "Tu ricevi" #: src/pages/MigrateV2/MigrateV2Pair.tsx msgid "You should only deposit liquidity into Uniswap V3 at a price you believe is correct. <0/>If the price seems incorrect, you can either make a swap to move the price or wait for someone else to do so." @@ -2534,9 +2537,10 @@ msgid "Your positions" msgstr "Le tue posizioni" #: src/hooks/useUniversalRouter.ts +msgid "Your swap is expected to fail." +msgstr "" + #: src/hooks/useUniversalRouter.ts -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx msgid "Your swap was modified through your wallet. If this was a mistake, please cancel immediately or risk losing your funds." msgstr "" @@ -2587,6 +2591,10 @@ msgstr "" msgid "and" msgstr "" +#: src/nft/components/card/media.tsx +msgid "available yet" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "below floor price." msgstr "" @@ -2644,7 +2652,7 @@ msgstr "" msgid "to" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "{0, plural, =1 {Resolve issue} other {{1}}}" msgstr "" @@ -2672,6 +2680,7 @@ msgstr "" #: src/components/ErrorBoundary/index.tsx #: src/components/RateToggle/index.tsx #: src/components/RateToggle/index.tsx +#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/nft/components/bag/BagFooter.tsx msgid "{0}" msgstr "{0}" @@ -2680,11 +2689,6 @@ msgstr "{0}" msgid "{0} %" msgstr "{0} %" -#: src/components/PositionListItem/index.tsx -#: src/components/PositionListItem/index.tsx -msgid "{0} <0/> per <1/>" -msgstr "{0} <0/> per <1/>" - #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx msgid "{0} Deposited" diff --git a/src/locales/ja-JP.po b/src/locales/ja-JP.po index 4c22a0d49ac..901d6ad6556 100644 --- a/src/locales/ja-JP.po +++ b/src/locales/ja-JP.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: uniswap-interface\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-17 00:17\n" +"PO-Revision-Date: 2023-03-21 23:05\n" "Last-Translator: \n" "Language: ja_JP\n" "Language-Team: Japanese\n" @@ -116,6 +116,11 @@ msgstr "<0>ヒント: 流動性を追加すると、そのポジションを msgid "<0>Unlock voting to prepare for the next proposal." msgstr "次の提案に備えるため <0>投票のロックを解除" +#: src/components/PositionListItem/index.tsx +#: src/components/PositionListItem/index.tsx +msgid "<0>{0} <1/> per <2/>" +msgstr "" + #: src/pages/Vote/Landing.tsx msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals" msgstr "提案を提出するには、UNIの総供給量の0.25%以上のUNIが必要です。" @@ -171,6 +176,10 @@ msgstr "流動性を追加" msgid "Add more liquidity" msgstr "流動性を追加する" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Add to bag" +msgstr "" + #: src/components/TransactionConfirmationModal/index.tsx msgid "Add {0}" msgstr "" @@ -183,11 +192,6 @@ msgstr "{0}/{1} V3の流動性を追加" msgid "Added" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Added to bag" -msgstr "" - #: src/components/TransactionConfirmationModal/index.tsx msgid "Added {0}" msgstr "{0} を追加" @@ -216,10 +220,6 @@ msgstr "LPトークンの移行を許可する" msgid "Allow high price impact trades and skip the confirm screen. Use at your own risk." msgstr "価格への大きな影響がある取引を許可し、確認画面をスキップします。自己責任でご利用ください。" -#: src/pages/Swap/index.tsx -msgid "Allow the Uniswap Protocol to use your {0}" -msgstr "{0} の使用をUniswapに許可する" - #: src/pages/MigrateV2/MigrateV2Pair.tsx msgid "Allowed" msgstr "許可済" @@ -353,11 +353,10 @@ msgstr "ベスト価格のルートでガス代として〜{formattedGasPriceStr msgid "Blocked Address" msgstr "ブロックされたアドレス" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Blocked from trading" +#: src/nft/components/card/icons.tsx +msgid "Blocked on OpenSea" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx #: src/components/WalletDropdown/AuthenticatedHeader.tsx msgid "Buy crypto" msgstr "" @@ -451,6 +450,11 @@ msgstr "すべてクリア" msgid "Close" msgstr "閉じる" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Close wallet connection options" +msgstr "ウォレット接続のオプションを閉じる" + #: src/components/Badge/RangeBadge.tsx #: src/pages/RemoveLiquidity/V3.tsx msgid "Closed" @@ -530,6 +534,7 @@ msgstr "ウォレットで取引を確認する" msgid "Connect" msgstr "接続" +#: src/nft/pages/profile/profile.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidityV2/index.tsx #: src/pages/RemoveLiquidity/index.tsx @@ -565,8 +570,13 @@ msgstr "ウォレットに接続" #: src/components/AccountDetails/index.tsx msgid "Connected with" +msgstr "接続先" + +#: src/nft/components/card/media.tsx +msgid "Content not" msgstr "" +#: src/nft/components/bag/Bag.tsx #: src/nft/components/profile/list/Modal/BelowFloorWarningModal.tsx msgid "Continue" msgstr "" @@ -610,10 +620,6 @@ msgstr "提案を作成" msgid "Create a pair" msgstr "ペアを作成" -#: src/pages/Pool/index.tsx -msgid "Create a pool" -msgstr "プールを作成" - #: src/components/AccountDetails/TransactionSummary.tsx msgid "Create pool and add {0}/{1} V3 liquidity" msgstr "プールを作成し、 {0}/{1} のV3流動性を追加" @@ -645,7 +651,7 @@ msgstr "{0} の現在価格:" #: src/nft/components/profile/list/NFTListingsGrid.tsx msgid "Custom" -msgstr "" +msgstr "カスタム" #: src/components/WalletDropdown/DefaultMenu.tsx msgid "Dark theme" @@ -723,11 +729,7 @@ msgstr "編集" #: src/nft/components/profile/list/Modal/BelowFloorWarningModal.tsx msgid "Edit listings" -msgstr "" - -#: src/pages/AddLiquidity/index.tsx -msgid "Efficiency Comparison" -msgstr "効率性の比較" +msgstr "リストを編集" #: src/state/burn/v3/hooks.tsx msgid "Enter a percent" @@ -765,7 +767,7 @@ msgstr "エラー" #: src/components/ErrorBoundary/index.tsx msgid "Error ID: {eventId}" -msgstr "" +msgstr "エラーID: {eventId}" #: src/components/WalletModal/PendingView.tsx msgid "Error connecting" @@ -830,11 +832,11 @@ msgstr "期限切れ" #: src/components/WalletDropdown/AuthenticatedHeader.tsx msgid "Explore" -msgstr "" +msgstr "探す" #: src/nft/components/profile/view/EmptyWalletContent.tsx msgid "Explore NFTs" -msgstr "" +msgstr "NFTを探す" #: src/pages/Pool/CTACards.tsx msgid "Explore Uniswap Analytics." @@ -842,11 +844,11 @@ msgstr "Uniswap Analyticsをご覧ください。" #: src/components/Tokens/TokenDetails/InvalidTokenDetails.tsx msgid "Explore tokens" -msgstr "" +msgstr "トークンを探す" #: src/nft/components/profile/list/Modal/ContentRow.tsx msgid "Failed" -msgstr "" +msgstr "失敗" #: src/components/Popups/FailedNetworkSwitchPopup.tsx msgid "Failed to switch networks" @@ -866,7 +868,7 @@ msgstr "手数料レベル" #: src/components/NavBar/MenuDropdown.tsx msgid "Feedback" -msgstr "" +msgstr "フィードバック" #: src/nft/components/profile/list/NFTListingsGrid.tsx msgid "Fees" @@ -874,7 +876,7 @@ msgstr "手数料" #: src/nft/components/bag/BagFooter.tsx msgid "Fetching Route" -msgstr "" +msgstr "ルート取得中" #: src/components/swap/SwapDetailsDropdown.tsx msgid "Fetching best price..." @@ -882,7 +884,7 @@ msgstr "ベストな価格を取得中…" #: src/nft/components/bag/BagFooter.tsx msgid "Fetching price..." -msgstr "" +msgstr "価格を取得中..." #: src/components/Tokens/TokenTable/SearchBar.tsx msgid "Filter tokens" @@ -890,11 +892,11 @@ msgstr "" #: src/nft/components/profile/list/NFTListingsGrid.tsx msgid "Floor" -msgstr "" +msgstr "フロア" #: src/nft/components/profile/list/NFTListingsGrid.tsx msgid "Floor price" -msgstr "" +msgstr "フロア価格" #: src/pages/Vote/VotePage.tsx msgid "For" @@ -916,17 +918,9 @@ msgstr "(最大)売るトークン" msgid "Full Range" msgstr "全範囲" -#: src/pages/AddLiquidity/index.tsx -msgid "Full range positions may earn less fees than concentrated positions. Learn more <0>here." -msgstr "全範囲のポジションは、集中型ポジションよりも手数料報酬が少ない場合があります。詳細は<0>こちら 。" - #: src/components/ErrorBoundary/index.tsx msgid "Get support" -msgstr "" - -#: src/components/FiatOnrampAnnouncement/index.tsx -msgid "Get tokens at the best prices in web3 on Uniswap, powered by Moonpay." -msgstr "" +msgstr "サポートを受ける" #: src/components/NavBar/MenuDropdown.tsx msgid "Help center" @@ -942,12 +936,11 @@ msgstr "非表示" msgid "Hide closed positions" msgstr "決済したポジションを隠す" -#: src/pages/Swap/index.tsx -msgid "High Price Impact" -msgstr "大きな価格への影響" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Hide resources" +msgstr "リソースを非表示" #: src/components/TokenSafety/index.tsx -#: src/pages/AddLiquidity/index.tsx msgid "I understand" msgstr "理解しました" @@ -985,7 +978,7 @@ msgstr "MetaMaskをインストールする" #: src/nft/components/bag/BagFooter.tsx msgid "Insufficient funds" -msgstr "" +msgstr "資金が不足しています。" #: src/nft/components/bag/BagFooter.tsx msgid "Insufficient liquidity" @@ -1031,7 +1024,6 @@ msgstr "無効な価格入力" msgid "Invalid range selected. The min price must be lower than the max price." msgstr "設定した価格範囲が間違っています。最小価格は最大価格より低くしてください。" -#: src/lib/hooks/swap/useSwapCallback.tsx #: src/state/swap/hooks.tsx msgid "Invalid recipient" msgstr "受け取りアドレスが無効です" @@ -1059,6 +1051,7 @@ msgstr "流動性の提供について学ぶ" #: src/components/PrivacyPolicy/index.tsx #: src/components/PrivacyPolicy/index.tsx +#: src/components/TaxServiceModal/TaxServiceBanner.tsx #: src/components/TokenSafety/TokenSafetyMessage.tsx #: src/components/TokenSafety/index.tsx #: src/pages/Landing/index.tsx @@ -1098,6 +1091,10 @@ msgstr "流動性提供者はこのペアのすべての取引で発生する0.3 msgid "List NFTs" msgstr "" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "List for sale" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Listing an NFT requires a one-time marketplace approval for each NFT collection." msgstr "" @@ -1155,7 +1152,7 @@ msgstr "" #: src/nft/components/profile/list/RoyaltyTooltip.tsx msgid "Max fees" -msgstr "" +msgstr "最大手数料" #: src/pages/Pool/PositionPage.tsx msgid "Max price" @@ -1219,10 +1216,6 @@ msgstr "最小購入数" msgid "Missing chart data" msgstr "グラフ データがありません" -#: src/lib/hooks/swap/useSwapCallback.tsx -msgid "Missing dependencies" -msgstr "依存関係がありません" - #: src/components/Tokens/TokenDetails/PriceChart.tsx msgid "Missing price data due to recently low trading volume on Uniswap v3" msgstr "" @@ -1253,12 +1246,16 @@ msgstr "NFTコレクション" #: src/components/NavBar/index.tsx msgid "NFTs" -msgstr "" +msgstr "NFT" #: src/components/Tokens/TokenDetails/index.tsx msgid "Name not found" msgstr "" +#: src/components/NavBar/NavIcon.tsx +msgid "Navigation button" +msgstr "ナビゲーションボタン" + #: src/components/swap/AdvancedSwapDetails.tsx msgid "Network Fee" msgstr "ネットワーク手数料" @@ -1287,6 +1284,10 @@ msgstr "データがありません" msgid "No description." msgstr "説明はありません。" +#: src/nft/pages/profile/profile.tsx +msgid "No items to display" +msgstr "" + #: src/pages/Pool/v2.tsx msgid "No liquidity found." msgstr "流動性が見つかりません。" @@ -1309,7 +1310,7 @@ msgstr "" #: src/components/Tokens/TokenTable/TokenTable.tsx msgid "No tokens found" -msgstr "" +msgstr "トークンが見つかりません。" #: src/components/NavBar/SearchBarDropdown.tsx msgid "No tokens found." @@ -1321,12 +1322,16 @@ msgstr "利用不可" #: src/components/WalletDropdown/AuthenticatedHeader.tsx msgid "Not available in your region" -msgstr "" +msgstr "お住いの国ではご利用いただけません" #: src/components/FeeSelector/FeeTierPercentageBadge.tsx msgid "Not created" msgstr "未作成" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Not listed" +msgstr "" + #: src/components/Settings/index.tsx msgid "ONLY USE THIS MODE IF YOU KNOW WHAT YOU ARE DOING." msgstr "このモードは、あなたが何をしているかを理解している場合にのみご使用ください。" @@ -1347,6 +1352,11 @@ msgstr "ブロック{0} 以前に自己委任、または他のアドレスに msgid "Oops, take me back to Swap" msgstr "" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Open wallet connection options" +msgstr "ウォレット接続のオプションを開く" + #: src/components/Badge/RangeBadge.tsx msgid "Out of range" msgstr "範囲外" @@ -1377,7 +1387,7 @@ msgstr "" #: src/nft/components/bag/BagFooter.tsx #: src/nft/components/bag/BagFooter.tsx msgid "Pay" -msgstr "" +msgstr "支払う" #: src/nft/components/bag/BagFooter.tsx msgid "Pay Anyway" @@ -1405,7 +1415,6 @@ msgid "Please type the word \"{confirmWord}\" to enable expert mode." msgstr "エキスパートモードを有効にするには、単語\"{confirmWord}\"を入力してください。" #: src/components/AccountDetailsV2/TransactionBody.tsx -#: src/components/NavBar/index.tsx msgid "Pool" msgstr "プール" @@ -1429,6 +1438,7 @@ msgstr "報酬プール内のプールトークン:" msgid "Pooled {0}:" msgstr "プールしている {0}:" +#: src/components/NavBar/index.tsx #: src/pages/Pool/index.tsx #: src/pages/Pool/index.tsx msgid "Pools" @@ -1569,7 +1579,7 @@ msgstr "サポートされていないアセットの詳細を見る" #: src/nft/components/profile/list/ListPage.tsx msgid "Receive" -msgstr "" +msgstr "受け取る" #: src/components/AccountDetails/index.tsx msgid "Recent Transactions" @@ -1589,11 +1599,11 @@ msgstr "" #: src/nft/components/profile/list/Modal/ContentRow.tsx msgid "Rejected" -msgstr "" +msgstr "拒否" #: src/components/ErrorBoundary/index.tsx msgid "Reload the app" -msgstr "" +msgstr "アプリを再読み込み" #: src/components/AccountDetailsV2/TransactionBody.tsx #: src/components/PositionCard/V2.tsx @@ -1623,22 +1633,22 @@ msgstr "委任を削除" msgid "Remove Liquidity" msgstr "流動性を解除" +#: src/nft/components/collection/CollectionAsset.tsx +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Remove from bag" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "Remove item" -msgstr "" +msgstr "アイテムを削除" #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Removed" -msgstr "" - -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Removed from bag" -msgstr "" +msgstr "解除" #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Removing" -msgstr "" +msgstr "削除中" #: src/pages/RemoveLiquidity/V3.tsx msgid "Removing {0} {1} and {2} {3}" @@ -1648,7 +1658,7 @@ msgstr "{0} {1} と {2} {3} を解除中" msgid "Removing {0} {1} and{2} {3}" msgstr "{0} {1} と {2} {3} を削除" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Resolve {issues} issues" msgstr "" @@ -1670,6 +1680,15 @@ msgstr "" msgid "Same Price" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Save on Tax Services" +msgstr "" + +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +#: src/components/TaxServiceModal/index.tsx +msgid "Save on your crypto taxes" +msgstr "" + #: src/components/NavBar/SearchBar.tsx msgid "Search" msgstr "検索" @@ -1720,15 +1739,11 @@ msgstr "自己委任する" #: src/nft/components/bag/BagHeader.tsx msgid "Sell" -msgstr "" +msgstr "売る" #: src/nft/components/profile/list/ListPage.tsx msgid "Sell NFTs" -msgstr "" - -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Selling ERC-1155s coming soon" -msgstr "" +msgstr "NFTを売る" #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidity/index.tsx @@ -1740,7 +1755,7 @@ msgstr "価格範囲を設定" msgid "Set Starting Price" msgstr "開始価格を設定" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Set prices to continue" msgstr "" @@ -1758,7 +1773,7 @@ msgstr "プールのシェア:" #: src/nft/components/profile/list/Modal/SuccessScreen.tsx msgid "Share on Twitter" -msgstr "" +msgstr "Twitterで共有" #: src/components/Tokens/TokenDetails/ShareButton.tsx msgid "Share to Twitter" @@ -1776,7 +1791,11 @@ msgstr "決済したポジションを表示" #: src/components/Tokens/TokenDetails/About.tsx msgid "Show more" -msgstr "" +msgstr "もっと表示" + +#: src/components/NavBar/MenuDropdown.tsx +msgid "Show resources" +msgstr "リソースを表示" #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Sign" @@ -1812,7 +1831,7 @@ msgstr "" msgid "Sorry, an error occured while processing your request. If you request support, be sure to provide your error ID." msgstr "" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Start listing" msgstr "" @@ -1854,11 +1873,9 @@ msgstr "{0} {1} と {2} {3} を追加中" #: src/components/AccountDetailsV2/TransactionBody.tsx #: src/components/NavBar/index.tsx -#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/components/swap/SwapHeader.tsx #: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx -#: src/pages/Swap/index.tsx msgid "Swap" msgstr "スワップ" @@ -1866,7 +1883,6 @@ msgstr "スワップ" msgid "Swap <0/> for exactly <1/>" msgstr "<0/> を <1/>にスワップ" -#: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx msgid "Swap Anyway" msgstr "問題発生の可能性があるが、スワップする" @@ -1875,11 +1891,6 @@ msgstr "問題発生の可能性があるが、スワップする" msgid "Swap exactly <0/> for <1/>" msgstr "<0/>を<1/>にスワップ" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Swap failed: {0}" -msgstr "スワップに失敗しました: {0}" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Swapped" msgstr "スワップ成功" @@ -1994,10 +2005,6 @@ msgstr "現在の価格は設定した価格範囲に入っています。その msgid "The ratio of tokens you add will set the price of this pool." msgstr "追加するトークンの比率によって、プールの価格が決まります。" -#: src/utils/swapErrorToUserReadableMessage.tsx -msgid "The transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." -msgstr "期限が過ぎたため、取引を送信できませんでした。期限が短すぎないかご確認ください。" - #: src/components/LiquidityChartRangeInput/index.tsx msgid "There is no liquidity data." msgstr "流動性データはありません。" @@ -2010,17 +2017,13 @@ msgstr "" msgid "This app uses the following third-party APIs:" msgstr "このアプリは、次のサードパーティAPIを使用します。" -#: src/nft/components/collection/CollectionAsset.tsx -msgid "This item is not for sale" -msgstr "" - #: src/pages/AddLiquidity/index.tsx msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction." msgstr "流動性を追加する前に、このプールを初期化する必要があります。初期化するには、プールの開始価格を選択します。次に、流動性の価格帯と預け入れ数量を入力します。初期化取引のため、ガス料金は通常より高くなります。" #: src/pages/Vote/VotePage.tsx msgid "This proposal may be executed after {0}." -msgstr "" +msgstr "この提案は {0} の後に実行される可能性があります。" #: src/components/swap/SwapRoute.tsx msgid "This route optimizes your total output by considering split routes, multiple hops, and the gas cost of each step." @@ -2042,6 +2045,10 @@ msgstr "" msgid "This tool will safely migrate your {0} liquidity to V3. The process is completely trustless thanks to the" msgstr "本ツールで {0} の流動性をV3に安全に移行します。このプロセスは以下によって特定の第三者を信用する必要が一切ないものになっています。" +#: src/utils/swapErrorToUserReadableMessage.tsx +msgid "This transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." +msgstr "" + #: src/utils/swapErrorToUserReadableMessage.tsx 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 "価格変動により、この取引は成功しません。スリッページの許容範囲を広げてみてください。注:転送時に手数料が発生するトークンおよびリベーストークンは、UniswapV3と互換性がありません。" @@ -2073,6 +2080,10 @@ msgstr "" msgid "Token name" msgstr "トークン名" +#: src/components/TokenSafety/index.tsx +msgid "Token not found" +msgstr "" + #: src/components/NavBar/SearchBarDropdown.tsx #: src/components/NavBar/index.tsx msgid "Tokens" @@ -2121,9 +2132,6 @@ msgstr "取引期限" msgid "Transaction pending" msgstr "保留中の取引" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/utils/swapErrorToUserReadableMessage.tsx #: src/utils/swapErrorToUserReadableMessage.tsx msgid "Transaction rejected" msgstr "取引拒否" @@ -2161,6 +2169,10 @@ msgstr "UNIトークンはUniswapガバナンスにおける投票権を表し msgid "UNI {0}/{1} Burned" msgstr "削除される UNI {0}/{1}" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Unavailable for listing" +msgstr "" + #: src/pages/Pool/PositionPage.tsx msgid "Unclaimed fees" msgstr "未請求の報酬" @@ -2169,22 +2181,22 @@ msgstr "未請求の報酬" msgid "Undetermined" msgstr "未定" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected error. Could not estimate gas for the swap." -msgstr "予期しないエラー。スワップのガスを見積もることができませんでした。" - -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected issue with estimating the gas. Please try again." -msgstr "ガスの見積もりに関する予期しない問題。もう一度やり直してください。" - #: src/pages/Vote/Landing.tsx msgid "Uniswap Governance" msgstr "Uniswapのガバナンス" +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +msgid "Uniswap Labs can save you up to 20% on CoinTracker and TokenTax" +msgstr "" + #: src/components/PrivacyPolicy/index.tsx msgid "Uniswap Labs' Terms of Service" msgstr "UniswapLabsの利用規約" +#: src/pages/Pool/v2.tsx +msgid "Uniswap V2 is not available on this network." +msgstr "" + #: src/components/SwitchLocaleLink/index.tsx msgid "Uniswap available in: <0>{0}" msgstr "利用可能言語: <0>{0}" @@ -2253,10 +2265,6 @@ msgstr "委任を更新" msgid "Use the Uniswap Labs API to get faster quotes." msgstr "" -#: src/pages/Pool/v2.tsx -msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum." -msgstr "V2プールはレイヤー2では使用できません。イーサリアムのレイヤー1に切り替えて下さい。" - #: src/pages/Pool/index.tsx msgid "V2 liquidity" msgstr "V2の流動性" @@ -2278,7 +2286,6 @@ msgstr "" msgid "View more analytics" msgstr "" -#: src/components/TransactionConfirmationModal/index.tsx #: src/nft/components/collection/TransactionCompleteModal.tsx #: src/pages/CreateProposal/ProposalSubmissionModal.tsx msgid "View on Etherscan" @@ -2289,6 +2296,10 @@ msgstr "Etherscanで見る" msgid "View on Explorer" msgstr "エクスプローラーで見る" +#: src/components/TransactionConfirmationModal/index.tsx +msgid "View on {0}" +msgstr "" + #: src/components/ModalViews/index.tsx #: src/components/claim/AddressClaimModal.tsx #: src/components/vote/ExecuteModal.tsx @@ -2411,7 +2422,7 @@ msgstr "ラップ中" #: src/nft/components/bag/BagFooter.tsx msgid "Wrong network" -msgstr "" +msgstr "ネットワークが間違っています" #: src/pages/CreateProposal/index.tsx msgid "You already have an active or pending proposal" @@ -2433,10 +2444,6 @@ msgstr "あなたは最初の流動性プロバイダーです。" msgid "You can either vote on each proposal yourself or delegate your votes to a third party." msgstr "各提案に対して自分で投票するか、または第三者に投票を委任することができます。" -#: src/pages/Swap/index.tsx -msgid "You can now trade {0}" -msgstr "{0}を取引できるようになりました" - #: src/pages/CreateProposal/index.tsx msgid "You don't have enough votes to submit a proposal" msgstr "提案を提出するのに十分な票がありません" @@ -2453,10 +2460,6 @@ msgstr "ネットワーク接続が失われた可能性があります。" msgid "You must connect an account." msgstr "アカウントに接続してください。" -#: src/pages/Swap/index.tsx -msgid "You must give the Uniswap smart contracts permission to use your {0}. You only have to do this once per token." -msgstr "{0}を使用するには、Uniswapスマートコントラクトに許可を与える必要があります。トークンごとに1回だけ行う必要があります。" - #: src/pages/CreateProposal/index.tsx msgid "You must have {formattedProposalThreshold} votes to submit a proposal" msgstr "提案を提出するには、{formattedProposalThreshold}票が必要です" @@ -2534,9 +2537,10 @@ msgid "Your positions" msgstr "ポジション" #: src/hooks/useUniversalRouter.ts +msgid "Your swap is expected to fail." +msgstr "" + #: src/hooks/useUniversalRouter.ts -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx msgid "Your swap was modified through your wallet. If this was a mistake, please cancel immediately or risk losing your funds." msgstr "" @@ -2587,9 +2591,13 @@ msgstr "スリッページ後" msgid "and" msgstr "" +#: src/nft/components/card/media.tsx +msgid "available yet" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "below floor price." -msgstr "" +msgstr "フロア価格より下です" #: src/nft/components/profile/list/Modal/BelowFloorWarningModal.tsx msgid "below the collection’s floor price. Are you sure you want to continue?" @@ -2609,7 +2617,7 @@ msgstr "" #: src/nft/components/profile/list/RoyaltyTooltip.tsx msgid "fee" -msgstr "" +msgstr "手数料" #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "fees" @@ -2634,17 +2642,17 @@ msgstr "分" #: src/components/WalletDropdown/AuthenticatedHeader.tsx msgid "reward" -msgstr "" +msgstr "報酬" #: src/components/FiatOnrampModal/index.tsx msgid "something went wrong!" -msgstr "" +msgstr "問題が発生しました。" #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "to" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "{0, plural, =1 {Resolve issue} other {{1}}}" msgstr "" @@ -2672,6 +2680,7 @@ msgstr "" #: src/components/ErrorBoundary/index.tsx #: src/components/RateToggle/index.tsx #: src/components/RateToggle/index.tsx +#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/nft/components/bag/BagFooter.tsx msgid "{0}" msgstr "{0}" @@ -2680,11 +2689,6 @@ msgstr "{0}" msgid "{0} %" msgstr "{0} %" -#: src/components/PositionListItem/index.tsx -#: src/components/PositionListItem/index.tsx -msgid "{0} <0/> per <1/>" -msgstr "{0} <0/> / <1/>" - #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx msgid "{0} Deposited" @@ -2788,7 +2792,7 @@ msgstr "" #: src/components/NetworkAlert/NetworkAlert.tsx msgid "{label} token bridge" -msgstr "" +msgstr "{label} トークンブリッジ" #: src/pages/RemoveLiquidity/V3.tsx msgid "{percentForSlider}%" diff --git a/src/locales/ko-KR.po b/src/locales/ko-KR.po index 6cc335ab940..2ce1515bd12 100644 --- a/src/locales/ko-KR.po +++ b/src/locales/ko-KR.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: uniswap-interface\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-17 00:17\n" +"PO-Revision-Date: 2023-03-21 23:05\n" "Last-Translator: \n" "Language: ko_KR\n" "Language-Team: Korean\n" @@ -116,6 +116,11 @@ msgstr "<0> 팁 : 유동성을 추가하면 귀하의 포지션을 나타내 msgid "<0>Unlock voting to prepare for the next proposal." msgstr "<0> 투표 잠금 해제 다음 제안을 준비합니다." +#: src/components/PositionListItem/index.tsx +#: src/components/PositionListItem/index.tsx +msgid "<0>{0} <1/> per <2/>" +msgstr "" + #: src/pages/Vote/Landing.tsx msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals" msgstr "제안서를 제출하려면 총 UNI 수량의 최소 0.25 %가 필요합니다." @@ -171,6 +176,10 @@ msgstr "유동성 추가" msgid "Add more liquidity" msgstr "" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Add to bag" +msgstr "" + #: src/components/TransactionConfirmationModal/index.tsx msgid "Add {0}" msgstr "" @@ -183,11 +192,6 @@ msgstr "{0}/{1} V3 유동성 추가" msgid "Added" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Added to bag" -msgstr "" - #: src/components/TransactionConfirmationModal/index.tsx msgid "Added {0}" msgstr "{0} 추가됨" @@ -216,10 +220,6 @@ msgstr "LP 토큰 마이그레이션 허용" msgid "Allow high price impact trades and skip the confirm screen. Use at your own risk." msgstr "높은 가격 영향 거래를 허용하고 확인 화면을 건너 뜁니다. 자신의 책임하에 사용하십시오." -#: src/pages/Swap/index.tsx -msgid "Allow the Uniswap Protocol to use your {0}" -msgstr "Uniswap 프로토콜이 귀하의 {0}을(를) 사용하도록 허용" - #: src/pages/MigrateV2/MigrateV2Pair.tsx msgid "Allowed" msgstr "허용됨" @@ -353,11 +353,10 @@ msgstr "" msgid "Blocked Address" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Blocked from trading" +#: src/nft/components/card/icons.tsx +msgid "Blocked on OpenSea" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx #: src/components/WalletDropdown/AuthenticatedHeader.tsx msgid "Buy crypto" msgstr "" @@ -451,6 +450,11 @@ msgstr "모두 지우기" msgid "Close" msgstr "닫기" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Close wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx #: src/pages/RemoveLiquidity/V3.tsx msgid "Closed" @@ -530,6 +534,7 @@ msgstr "지갑에서 트랜잭션 승인" msgid "Connect" msgstr "" +#: src/nft/pages/profile/profile.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidityV2/index.tsx #: src/pages/RemoveLiquidity/index.tsx @@ -567,6 +572,11 @@ msgstr "지갑 연결" msgid "Connected with" msgstr "" +#: src/nft/components/card/media.tsx +msgid "Content not" +msgstr "" + +#: src/nft/components/bag/Bag.tsx #: src/nft/components/profile/list/Modal/BelowFloorWarningModal.tsx msgid "Continue" msgstr "" @@ -610,10 +620,6 @@ msgstr "" msgid "Create a pair" msgstr "쌍 만들기" -#: src/pages/Pool/index.tsx -msgid "Create a pool" -msgstr "풀 만들기" - #: src/components/AccountDetails/TransactionSummary.tsx msgid "Create pool and add {0}/{1} V3 liquidity" msgstr "풀 만들기 및 {0}/{1} V3 유동성 추가" @@ -725,10 +731,6 @@ msgstr "편집" msgid "Edit listings" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Efficiency Comparison" -msgstr "" - #: src/state/burn/v3/hooks.tsx msgid "Enter a percent" msgstr "퍼센트를 입력하세요." @@ -916,18 +918,10 @@ msgstr "스왑 전(최대)" msgid "Full Range" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Full range positions may earn less fees than concentrated positions. Learn more <0>here." -msgstr "전체 범위 포지션은 집중 포지션보다 적은 수수료를 받을 수 있습니다. 여기에서 <0>자세히 알아보기." - #: src/components/ErrorBoundary/index.tsx msgid "Get support" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx -msgid "Get tokens at the best prices in web3 on Uniswap, powered by Moonpay." -msgstr "" - #: src/components/NavBar/MenuDropdown.tsx msgid "Help center" msgstr "" @@ -942,12 +936,11 @@ msgstr "숨기기" msgid "Hide closed positions" msgstr "닫은 포지션 숨기기" -#: src/pages/Swap/index.tsx -msgid "High Price Impact" -msgstr "높은 가격 영향" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Hide resources" +msgstr "" #: src/components/TokenSafety/index.tsx -#: src/pages/AddLiquidity/index.tsx msgid "I understand" msgstr "알겠습니다" @@ -1031,7 +1024,6 @@ msgstr "잘못된 가격 입력" msgid "Invalid range selected. The min price must be lower than the max price." msgstr "잘못된 범위를 선택했습니다. 최소 가격은 최대 가격보다 낮아야합니다." -#: src/lib/hooks/swap/useSwapCallback.tsx #: src/state/swap/hooks.tsx msgid "Invalid recipient" msgstr "잘못된 수령인" @@ -1059,6 +1051,7 @@ msgstr "" #: src/components/PrivacyPolicy/index.tsx #: src/components/PrivacyPolicy/index.tsx +#: src/components/TaxServiceModal/TaxServiceBanner.tsx #: src/components/TokenSafety/TokenSafetyMessage.tsx #: src/components/TokenSafety/index.tsx #: src/pages/Landing/index.tsx @@ -1098,6 +1091,10 @@ msgstr "유동성 제공자는 풀 점유율에 비례하여 모든 거래에 msgid "List NFTs" msgstr "" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "List for sale" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Listing an NFT requires a one-time marketplace approval for each NFT collection." msgstr "" @@ -1219,10 +1216,6 @@ msgstr "최소 수령됨" msgid "Missing chart data" msgstr "" -#: src/lib/hooks/swap/useSwapCallback.tsx -msgid "Missing dependencies" -msgstr "누락된 종속성" - #: src/components/Tokens/TokenDetails/PriceChart.tsx msgid "Missing price data due to recently low trading volume on Uniswap v3" msgstr "" @@ -1259,6 +1252,10 @@ msgstr "" msgid "Name not found" msgstr "" +#: src/components/NavBar/NavIcon.tsx +msgid "Navigation button" +msgstr "" + #: src/components/swap/AdvancedSwapDetails.tsx msgid "Network Fee" msgstr "네트워크 수수료" @@ -1287,6 +1284,10 @@ msgstr "데이터 없음" msgid "No description." msgstr "설명이 없습니다." +#: src/nft/pages/profile/profile.tsx +msgid "No items to display" +msgstr "" + #: src/pages/Pool/v2.tsx msgid "No liquidity found." msgstr "유동성이 없습니다." @@ -1327,6 +1328,10 @@ msgstr "" msgid "Not created" msgstr "생성되지 않음" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Not listed" +msgstr "" + #: src/components/Settings/index.tsx msgid "ONLY USE THIS MODE IF YOU KNOW WHAT YOU ARE DOING." msgstr "수행중인 작업을 알고 있는 경우에만 이 모드를 사용하십시오." @@ -1347,6 +1352,11 @@ msgstr "{0} 차단 이전에 자체 위임되었거나 다른 주소로 위임 msgid "Oops, take me back to Swap" msgstr "" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Open wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx msgid "Out of range" msgstr "범위를 벗어남" @@ -1405,7 +1415,6 @@ msgid "Please type the word \"{confirmWord}\" to enable expert mode." msgstr "전문가 모드를 사용하려면{confirmWord}\"이라는 단어를 입력하십시오." #: src/components/AccountDetailsV2/TransactionBody.tsx -#: src/components/NavBar/index.tsx msgid "Pool" msgstr "풀" @@ -1429,6 +1438,7 @@ msgstr "보상 풀의 풀 토큰 :" msgid "Pooled {0}:" msgstr "{0} 풀링 됨:" +#: src/components/NavBar/index.tsx #: src/pages/Pool/index.tsx #: src/pages/Pool/index.tsx msgid "Pools" @@ -1623,6 +1633,11 @@ msgstr "위임 제거하기" msgid "Remove Liquidity" msgstr "유동성 제거" +#: src/nft/components/collection/CollectionAsset.tsx +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Remove from bag" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "Remove item" msgstr "" @@ -1631,11 +1646,6 @@ msgstr "" msgid "Removed" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Removed from bag" -msgstr "" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Removing" msgstr "" @@ -1648,7 +1658,7 @@ msgstr "{0} {1} 및 {2} {3} 제거 중" msgid "Removing {0} {1} and{2} {3}" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Resolve {issues} issues" msgstr "" @@ -1670,6 +1680,15 @@ msgstr "" msgid "Same Price" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Save on Tax Services" +msgstr "" + +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +#: src/components/TaxServiceModal/index.tsx +msgid "Save on your crypto taxes" +msgstr "" + #: src/components/NavBar/SearchBar.tsx msgid "Search" msgstr "" @@ -1726,10 +1745,6 @@ msgstr "" msgid "Sell NFTs" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Selling ERC-1155s coming soon" -msgstr "" - #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/MigrateV2/MigrateV2Pair.tsx @@ -1740,7 +1755,7 @@ msgstr "가격 범위 설정" msgid "Set Starting Price" msgstr "시작 가격 설정" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Set prices to continue" msgstr "" @@ -1778,6 +1793,10 @@ msgstr "" msgid "Show more" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Show resources" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Sign" msgstr "" @@ -1812,7 +1831,7 @@ msgstr "" msgid "Sorry, an error occured while processing your request. If you request support, be sure to provide your error ID." msgstr "" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Start listing" msgstr "" @@ -1854,11 +1873,9 @@ msgstr "{0} {1} 및 {2} {3} 공급 중" #: src/components/AccountDetailsV2/TransactionBody.tsx #: src/components/NavBar/index.tsx -#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/components/swap/SwapHeader.tsx #: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx -#: src/pages/Swap/index.tsx msgid "Swap" msgstr "스왑" @@ -1866,7 +1883,6 @@ msgstr "스왑" msgid "Swap <0/> for exactly <1/>" msgstr "<0/>을 정확히 <1/>로 바꿉니다." -#: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx msgid "Swap Anyway" msgstr "어쨌든 스왑" @@ -1875,11 +1891,6 @@ msgstr "어쨌든 스왑" msgid "Swap exactly <0/> for <1/>" msgstr "<1/>에 대해 정확히 <0/> 스왑" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Swap failed: {0}" -msgstr "스왑 실패: {0}" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Swapped" msgstr "" @@ -1994,10 +2005,6 @@ msgstr "이 풀의 가격은 선택한 범위 내에 있습니다. 귀하의 포 msgid "The ratio of tokens you add will set the price of this pool." msgstr "추가하는 토큰의 요율이 이 풀의 가격을 설정합니다." -#: src/utils/swapErrorToUserReadableMessage.tsx -msgid "The transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." -msgstr "기한이 지났기 때문에 거래를 보낼 수 없습니다. 거래 기한이 너무 낮지 않은지 확인하십시오." - #: src/components/LiquidityChartRangeInput/index.tsx msgid "There is no liquidity data." msgstr "" @@ -2010,10 +2017,6 @@ msgstr "" msgid "This app uses the following third-party APIs:" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -msgid "This item is not for sale" -msgstr "" - #: src/pages/AddLiquidity/index.tsx msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction." msgstr "" @@ -2042,6 +2045,10 @@ msgstr "" msgid "This tool will safely migrate your {0} liquidity to V3. The process is completely trustless thanks to the" msgstr "이 도구로 {0} 유동성을 V3로 안전하게 마이그레이션할 수 있습니다. 이 과정은 다음 덕분에 신뢰할 수 있습니다." +#: src/utils/swapErrorToUserReadableMessage.tsx +msgid "This transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." +msgstr "" + #: src/utils/swapErrorToUserReadableMessage.tsx 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와 호환되지 않습니다." @@ -2073,6 +2080,10 @@ msgstr "" msgid "Token name" msgstr "" +#: src/components/TokenSafety/index.tsx +msgid "Token not found" +msgstr "" + #: src/components/NavBar/SearchBarDropdown.tsx #: src/components/NavBar/index.tsx msgid "Tokens" @@ -2121,9 +2132,6 @@ msgstr "거래 마감 시간" msgid "Transaction pending" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/utils/swapErrorToUserReadableMessage.tsx #: src/utils/swapErrorToUserReadableMessage.tsx msgid "Transaction rejected" msgstr "거래 거부됨" @@ -2161,6 +2169,10 @@ msgstr "UNI 토큰은 Uniswap 거버넌스의 의결권을 나타냅니다. 각 msgid "UNI {0}/{1} Burned" msgstr "UNI {0}/{1} 버닝" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Unavailable for listing" +msgstr "" + #: src/pages/Pool/PositionPage.tsx msgid "Unclaimed fees" msgstr "미 청구 수수료" @@ -2169,22 +2181,22 @@ msgstr "미 청구 수수료" msgid "Undetermined" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected error. Could not estimate gas for the swap." -msgstr "예기치 않은 오류. 스왑을 위한 가스를 추정할 수 없습니다." - -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected issue with estimating the gas. Please try again." -msgstr "가스 추정에 예상치 못한 문제가 있습니다. 다시 시도해 주세요." - #: src/pages/Vote/Landing.tsx msgid "Uniswap Governance" msgstr "Uniswap 거버넌스" +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +msgid "Uniswap Labs can save you up to 20% on CoinTracker and TokenTax" +msgstr "" + #: src/components/PrivacyPolicy/index.tsx msgid "Uniswap Labs' Terms of Service" msgstr "" +#: src/pages/Pool/v2.tsx +msgid "Uniswap V2 is not available on this network." +msgstr "" + #: src/components/SwitchLocaleLink/index.tsx msgid "Uniswap available in: <0>{0}" msgstr "Uniswap 사용 가능 : <0>{0}" @@ -2253,10 +2265,6 @@ msgstr "위임 업데이트" msgid "Use the Uniswap Labs API to get faster quotes." msgstr "" -#: src/pages/Pool/v2.tsx -msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum." -msgstr "" - #: src/pages/Pool/index.tsx msgid "V2 liquidity" msgstr "V2 유동성" @@ -2278,7 +2286,6 @@ msgstr "" msgid "View more analytics" msgstr "" -#: src/components/TransactionConfirmationModal/index.tsx #: src/nft/components/collection/TransactionCompleteModal.tsx #: src/pages/CreateProposal/ProposalSubmissionModal.tsx msgid "View on Etherscan" @@ -2289,6 +2296,10 @@ msgstr "Etherscan에서보기" msgid "View on Explorer" msgstr "Explorer에서 보기" +#: src/components/TransactionConfirmationModal/index.tsx +msgid "View on {0}" +msgstr "" + #: src/components/ModalViews/index.tsx #: src/components/claim/AddressClaimModal.tsx #: src/components/vote/ExecuteModal.tsx @@ -2433,10 +2444,6 @@ msgstr "귀하는 최초의 유동성 제공자입니다." msgid "You can either vote on each proposal yourself or delegate your votes to a third party." msgstr "각 제안에 대해 직접 투표하거나 제3자에게 투표를 위임할 수 있습니다." -#: src/pages/Swap/index.tsx -msgid "You can now trade {0}" -msgstr "{0}을(를) 거래할 수 있습니다." - #: src/pages/CreateProposal/index.tsx msgid "You don't have enough votes to submit a proposal" msgstr "" @@ -2453,10 +2460,6 @@ msgstr "" msgid "You must connect an account." msgstr "계정을 연결해야합니다." -#: src/pages/Swap/index.tsx -msgid "You must give the Uniswap smart contracts permission to use your {0}. You only have to do this once per token." -msgstr "{0}을 사용하려면 Uniswap 스마트 계약에 권한을 부여해야합니다. 토큰 당 한 번만 이 작업을 수행하면 됩니다." - #: src/pages/CreateProposal/index.tsx msgid "You must have {formattedProposalThreshold} votes to submit a proposal" msgstr "" @@ -2534,9 +2537,10 @@ msgid "Your positions" msgstr "내 포지션" #: src/hooks/useUniversalRouter.ts +msgid "Your swap is expected to fail." +msgstr "" + #: src/hooks/useUniversalRouter.ts -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx msgid "Your swap was modified through your wallet. If this was a mistake, please cancel immediately or risk losing your funds." msgstr "" @@ -2587,6 +2591,10 @@ msgstr "" msgid "and" msgstr "" +#: src/nft/components/card/media.tsx +msgid "available yet" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "below floor price." msgstr "" @@ -2644,7 +2652,7 @@ msgstr "" msgid "to" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "{0, plural, =1 {Resolve issue} other {{1}}}" msgstr "" @@ -2672,6 +2680,7 @@ msgstr "" #: src/components/ErrorBoundary/index.tsx #: src/components/RateToggle/index.tsx #: src/components/RateToggle/index.tsx +#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/nft/components/bag/BagFooter.tsx msgid "{0}" msgstr "{0}" @@ -2680,11 +2689,6 @@ msgstr "{0}" msgid "{0} %" msgstr "{0} %" -#: src/components/PositionListItem/index.tsx -#: src/components/PositionListItem/index.tsx -msgid "{0} <0/> per <1/>" -msgstr "{0} <0/> / <1/>" - #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx msgid "{0} Deposited" diff --git a/src/locales/nl-NL.po b/src/locales/nl-NL.po index c00eae80930..ad820abab42 100644 --- a/src/locales/nl-NL.po +++ b/src/locales/nl-NL.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: uniswap-interface\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-17 00:17\n" +"PO-Revision-Date: 2023-03-21 23:05\n" "Last-Translator: \n" "Language: nl_NL\n" "Language-Team: Dutch\n" @@ -116,6 +116,11 @@ msgstr "<0>Tip: Wanneer u liquiditeit toevoegt, ontvangt u pool tokens die u msgid "<0>Unlock voting to prepare for the next proposal." msgstr "<0>Ontgrendel het stemmen om het volgende voorstel voor te bereiden." +#: src/components/PositionListItem/index.tsx +#: src/components/PositionListItem/index.tsx +msgid "<0>{0} <1/> per <2/>" +msgstr "" + #: src/pages/Vote/Landing.tsx msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals" msgstr "" @@ -171,6 +176,10 @@ msgstr "Voeg liquiditeit toe." msgid "Add more liquidity" msgstr "" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Add to bag" +msgstr "" + #: src/components/TransactionConfirmationModal/index.tsx msgid "Add {0}" msgstr "" @@ -183,11 +192,6 @@ msgstr "Voeg {0}/{1} V3 liquiditeit toe" msgid "Added" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Added to bag" -msgstr "" - #: src/components/TransactionConfirmationModal/index.tsx msgid "Added {0}" msgstr "Toegevoegd {0}" @@ -216,10 +220,6 @@ msgstr "LP token migratie toestaan" msgid "Allow high price impact trades and skip the confirm screen. Use at your own risk." msgstr "Sta transacties met hoge prijsimpact toe en sla het bevestigingsscherm over. Gebruiken op eigen risico." -#: src/pages/Swap/index.tsx -msgid "Allow the Uniswap Protocol to use your {0}" -msgstr "Sta het Uniswap Protocol toe om uw {0} te gebruiken" - #: src/pages/MigrateV2/MigrateV2Pair.tsx msgid "Allowed" msgstr "Toegestaan" @@ -353,11 +353,10 @@ msgstr "" msgid "Blocked Address" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Blocked from trading" +#: src/nft/components/card/icons.tsx +msgid "Blocked on OpenSea" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx #: src/components/WalletDropdown/AuthenticatedHeader.tsx msgid "Buy crypto" msgstr "" @@ -451,6 +450,11 @@ msgstr "Alles wissen" msgid "Close" msgstr "Sluiten" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Close wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx #: src/pages/RemoveLiquidity/V3.tsx msgid "Closed" @@ -530,6 +534,7 @@ msgstr "" msgid "Connect" msgstr "" +#: src/nft/pages/profile/profile.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidityV2/index.tsx #: src/pages/RemoveLiquidity/index.tsx @@ -567,6 +572,11 @@ msgstr "Verbind portemonnee" msgid "Connected with" msgstr "" +#: src/nft/components/card/media.tsx +msgid "Content not" +msgstr "" + +#: src/nft/components/bag/Bag.tsx #: src/nft/components/profile/list/Modal/BelowFloorWarningModal.tsx msgid "Continue" msgstr "" @@ -610,10 +620,6 @@ msgstr "" msgid "Create a pair" msgstr "Maak een paar aan" -#: src/pages/Pool/index.tsx -msgid "Create a pool" -msgstr "Maak een pool aan" - #: src/components/AccountDetails/TransactionSummary.tsx msgid "Create pool and add {0}/{1} V3 liquidity" msgstr "Creëer een groep en voeg {0}/{1} V3 liquiditeit toe" @@ -725,10 +731,6 @@ msgstr "" msgid "Edit listings" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Efficiency Comparison" -msgstr "" - #: src/state/burn/v3/hooks.tsx msgid "Enter a percent" msgstr "Voer een percentage in" @@ -916,18 +918,10 @@ msgstr "Vanaf (ten hoogste)" msgid "Full Range" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Full range positions may earn less fees than concentrated positions. Learn more <0>here." -msgstr "" - #: src/components/ErrorBoundary/index.tsx msgid "Get support" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx -msgid "Get tokens at the best prices in web3 on Uniswap, powered by Moonpay." -msgstr "" - #: src/components/NavBar/MenuDropdown.tsx msgid "Help center" msgstr "" @@ -942,12 +936,11 @@ msgstr "" msgid "Hide closed positions" msgstr "Verberg gesloten posities" -#: src/pages/Swap/index.tsx -msgid "High Price Impact" -msgstr "Hoge prijsimpact" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Hide resources" +msgstr "" #: src/components/TokenSafety/index.tsx -#: src/pages/AddLiquidity/index.tsx msgid "I understand" msgstr "Ik begrijp het" @@ -1031,7 +1024,6 @@ msgstr "Ongeldige prijsinvoer" msgid "Invalid range selected. The min price must be lower than the max price." msgstr "Ongeldig bereik geselecteerd. De minimumprijs moet lager zijn dan de maximumprijs." -#: src/lib/hooks/swap/useSwapCallback.tsx #: src/state/swap/hooks.tsx msgid "Invalid recipient" msgstr "Ongeldige ontvanger" @@ -1059,6 +1051,7 @@ msgstr "" #: src/components/PrivacyPolicy/index.tsx #: src/components/PrivacyPolicy/index.tsx +#: src/components/TaxServiceModal/TaxServiceBanner.tsx #: src/components/TokenSafety/TokenSafetyMessage.tsx #: src/components/TokenSafety/index.tsx #: src/pages/Landing/index.tsx @@ -1098,6 +1091,10 @@ msgstr "Liquidity providers verdienen een vergoeding van 0,3% op alle transactie msgid "List NFTs" msgstr "" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "List for sale" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Listing an NFT requires a one-time marketplace approval for each NFT collection." msgstr "" @@ -1219,10 +1216,6 @@ msgstr "Minimum ontvangen" msgid "Missing chart data" msgstr "" -#: src/lib/hooks/swap/useSwapCallback.tsx -msgid "Missing dependencies" -msgstr "Ontbrekende afhankelijkheden" - #: src/components/Tokens/TokenDetails/PriceChart.tsx msgid "Missing price data due to recently low trading volume on Uniswap v3" msgstr "" @@ -1259,6 +1252,10 @@ msgstr "" msgid "Name not found" msgstr "" +#: src/components/NavBar/NavIcon.tsx +msgid "Navigation button" +msgstr "" + #: src/components/swap/AdvancedSwapDetails.tsx msgid "Network Fee" msgstr "" @@ -1287,6 +1284,10 @@ msgstr "Geen informatie" msgid "No description." msgstr "Geen beschrijving." +#: src/nft/pages/profile/profile.tsx +msgid "No items to display" +msgstr "" + #: src/pages/Pool/v2.tsx msgid "No liquidity found." msgstr "Geen liquiditeit gevonden." @@ -1327,6 +1328,10 @@ msgstr "" msgid "Not created" msgstr "Niet gemaakt" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Not listed" +msgstr "" + #: src/components/Settings/index.tsx msgid "ONLY USE THIS MODE IF YOU KNOW WHAT YOU ARE DOING." msgstr "GEBRUIK DEZE MODUS ALLEEN ALS U WEET WAT U DOET." @@ -1347,6 +1352,11 @@ msgstr "Alleen UNI-stemmen die zelf zijn gedelegeerd of gedelegeerd aan een ande msgid "Oops, take me back to Swap" msgstr "" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Open wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx msgid "Out of range" msgstr "Buiten bereik" @@ -1405,7 +1415,6 @@ msgid "Please type the word \"{confirmWord}\" to enable expert mode." msgstr "Typ het woord \"{confirmWord}\" om expertmodus in te schakelen." #: src/components/AccountDetailsV2/TransactionBody.tsx -#: src/components/NavBar/index.tsx msgid "Pool" msgstr "Pool" @@ -1429,6 +1438,7 @@ msgstr "Pooltokens in beloningenpool:" msgid "Pooled {0}:" msgstr "Gepoold {0}:" +#: src/components/NavBar/index.tsx #: src/pages/Pool/index.tsx #: src/pages/Pool/index.tsx msgid "Pools" @@ -1623,6 +1633,11 @@ msgstr "Verwijder gedelegeerde" msgid "Remove Liquidity" msgstr "Verwijder liquiditeit" +#: src/nft/components/collection/CollectionAsset.tsx +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Remove from bag" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "Remove item" msgstr "" @@ -1631,11 +1646,6 @@ msgstr "" msgid "Removed" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Removed from bag" -msgstr "" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Removing" msgstr "" @@ -1648,7 +1658,7 @@ msgstr "Verwijderen van {0} {1} en {2} {3}" msgid "Removing {0} {1} and{2} {3}" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Resolve {issues} issues" msgstr "" @@ -1670,6 +1680,15 @@ msgstr "" msgid "Same Price" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Save on Tax Services" +msgstr "" + +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +#: src/components/TaxServiceModal/index.tsx +msgid "Save on your crypto taxes" +msgstr "" + #: src/components/NavBar/SearchBar.tsx msgid "Search" msgstr "" @@ -1726,10 +1745,6 @@ msgstr "" msgid "Sell NFTs" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Selling ERC-1155s coming soon" -msgstr "" - #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/MigrateV2/MigrateV2Pair.tsx @@ -1740,7 +1755,7 @@ msgstr "Stel prijsbereik in" msgid "Set Starting Price" msgstr "Stel startprijs in" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Set prices to continue" msgstr "" @@ -1778,6 +1793,10 @@ msgstr "" msgid "Show more" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Show resources" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Sign" msgstr "" @@ -1812,7 +1831,7 @@ msgstr "" msgid "Sorry, an error occured while processing your request. If you request support, be sure to provide your error ID." msgstr "" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Start listing" msgstr "" @@ -1854,11 +1873,9 @@ msgstr "{0} {1} en {2} {3} aanbieden" #: src/components/AccountDetailsV2/TransactionBody.tsx #: src/components/NavBar/index.tsx -#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/components/swap/SwapHeader.tsx #: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx -#: src/pages/Swap/index.tsx msgid "Swap" msgstr "Wisselen" @@ -1866,7 +1883,6 @@ msgstr "Wisselen" msgid "Swap <0/> for exactly <1/>" msgstr "Verwissel <0/> voor precies <1/>" -#: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx msgid "Swap Anyway" msgstr "Toch wisselen" @@ -1875,11 +1891,6 @@ msgstr "Toch wisselen" msgid "Swap exactly <0/> for <1/>" msgstr "Wissel exact <0/> in voor <1/>" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Swap failed: {0}" -msgstr "Wissel mislukt: {0}" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Swapped" msgstr "" @@ -1994,10 +2005,6 @@ msgstr "De prijs van deze pool valt binnen het door u geselecteerde bereik. Uw p msgid "The ratio of tokens you add will set the price of this pool." msgstr "De verhouding van tokens die u toevoegt zal de prijs van deze pool bepalen." -#: src/utils/swapErrorToUserReadableMessage.tsx -msgid "The transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." -msgstr "De transactie kan niet worden verzonden omdat de deadline is verstreken. Controleer of uw transactiedeadline niet te laag is." - #: src/components/LiquidityChartRangeInput/index.tsx msgid "There is no liquidity data." msgstr "" @@ -2010,10 +2017,6 @@ msgstr "" msgid "This app uses the following third-party APIs:" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -msgid "This item is not for sale" -msgstr "" - #: src/pages/AddLiquidity/index.tsx msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction." msgstr "" @@ -2042,6 +2045,10 @@ msgstr "" msgid "This tool will safely migrate your {0} liquidity to V3. The process is completely trustless thanks to the" msgstr "Deze tool zal uw {0} liquiditeit veilig migreren naar V3. Het proces is volledig betrouwbaar dankzij de" +#: src/utils/swapErrorToUserReadableMessage.tsx +msgid "This transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." +msgstr "" + #: src/utils/swapErrorToUserReadableMessage.tsx 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 "Deze transactie zal niet slagen vanwege prijsbewegingen. Probeer uw slippage tolerantie te vergroten. Let op: kosten voor overdracht en rebasetokens zijn niet compatibel met Uniswap V3." @@ -2073,6 +2080,10 @@ msgstr "" msgid "Token name" msgstr "" +#: src/components/TokenSafety/index.tsx +msgid "Token not found" +msgstr "" + #: src/components/NavBar/SearchBarDropdown.tsx #: src/components/NavBar/index.tsx msgid "Tokens" @@ -2121,9 +2132,6 @@ msgstr "Transactiedeadline" msgid "Transaction pending" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/utils/swapErrorToUserReadableMessage.tsx #: src/utils/swapErrorToUserReadableMessage.tsx msgid "Transaction rejected" msgstr "Transactie afgewezen" @@ -2161,6 +2169,10 @@ msgstr "UNI tokens vertegenwoordigen stemaandelen in het bestuur van Uniswap. U msgid "UNI {0}/{1} Burned" msgstr "UNI {0}/{1} verbrand" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Unavailable for listing" +msgstr "" + #: src/pages/Pool/PositionPage.tsx msgid "Unclaimed fees" msgstr "Niet-opgeëiste vergoedingen" @@ -2169,22 +2181,22 @@ msgstr "Niet-opgeëiste vergoedingen" msgid "Undetermined" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected error. Could not estimate gas for the swap." -msgstr "Onverwachte fout. Kon het gas voor de swap niet schatten." - -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected issue with estimating the gas. Please try again." -msgstr "Onverwacht probleem met het schatten van het gas. Probeer het opnieuw." - #: src/pages/Vote/Landing.tsx msgid "Uniswap Governance" msgstr "Uniswap-bestuur" +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +msgid "Uniswap Labs can save you up to 20% on CoinTracker and TokenTax" +msgstr "" + #: src/components/PrivacyPolicy/index.tsx msgid "Uniswap Labs' Terms of Service" msgstr "" +#: src/pages/Pool/v2.tsx +msgid "Uniswap V2 is not available on this network." +msgstr "" + #: src/components/SwitchLocaleLink/index.tsx msgid "Uniswap available in: <0>{0}" msgstr "Uniswap beschikbaar in: <0>{0}" @@ -2253,10 +2265,6 @@ msgstr "Werk delegatie bij" msgid "Use the Uniswap Labs API to get faster quotes." msgstr "" -#: src/pages/Pool/v2.tsx -msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum." -msgstr "" - #: src/pages/Pool/index.tsx msgid "V2 liquidity" msgstr "V2-liquiditeit" @@ -2278,7 +2286,6 @@ msgstr "" msgid "View more analytics" msgstr "" -#: src/components/TransactionConfirmationModal/index.tsx #: src/nft/components/collection/TransactionCompleteModal.tsx #: src/pages/CreateProposal/ProposalSubmissionModal.tsx msgid "View on Etherscan" @@ -2289,6 +2296,10 @@ msgstr "Bekijk op Etherscan" msgid "View on Explorer" msgstr "Weergeven op Verkenner" +#: src/components/TransactionConfirmationModal/index.tsx +msgid "View on {0}" +msgstr "" + #: src/components/ModalViews/index.tsx #: src/components/claim/AddressClaimModal.tsx #: src/components/vote/ExecuteModal.tsx @@ -2433,10 +2444,6 @@ msgstr "U bent de eerste liquiditeitsverschaffer." msgid "You can either vote on each proposal yourself or delegate your votes to a third party." msgstr "U kunt zelf over elk voorstel stemmen of uw stemmen overdragen aan een derde partij." -#: src/pages/Swap/index.tsx -msgid "You can now trade {0}" -msgstr "U kunt nu {0} beleggen" - #: src/pages/CreateProposal/index.tsx msgid "You don't have enough votes to submit a proposal" msgstr "" @@ -2453,10 +2460,6 @@ msgstr "" msgid "You must connect an account." msgstr "U dient een account te koppelen." -#: src/pages/Swap/index.tsx -msgid "You must give the Uniswap smart contracts permission to use your {0}. You only have to do this once per token." -msgstr "U dient de Uniswap smart contracten toestemming te geven om uw {0} te gebruiken. U hoeft dit slechts eenmaal per token te doen." - #: src/pages/CreateProposal/index.tsx msgid "You must have {formattedProposalThreshold} votes to submit a proposal" msgstr "" @@ -2534,9 +2537,10 @@ msgid "Your positions" msgstr "Uw posities" #: src/hooks/useUniversalRouter.ts +msgid "Your swap is expected to fail." +msgstr "" + #: src/hooks/useUniversalRouter.ts -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx msgid "Your swap was modified through your wallet. If this was a mistake, please cancel immediately or risk losing your funds." msgstr "" @@ -2587,6 +2591,10 @@ msgstr "" msgid "and" msgstr "" +#: src/nft/components/card/media.tsx +msgid "available yet" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "below floor price." msgstr "" @@ -2644,7 +2652,7 @@ msgstr "" msgid "to" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "{0, plural, =1 {Resolve issue} other {{1}}}" msgstr "" @@ -2672,6 +2680,7 @@ msgstr "" #: src/components/ErrorBoundary/index.tsx #: src/components/RateToggle/index.tsx #: src/components/RateToggle/index.tsx +#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/nft/components/bag/BagFooter.tsx msgid "{0}" msgstr "{0}" @@ -2680,11 +2689,6 @@ msgstr "{0}" msgid "{0} %" msgstr "{0} %" -#: src/components/PositionListItem/index.tsx -#: src/components/PositionListItem/index.tsx -msgid "{0} <0/> per <1/>" -msgstr "{0} <0/> per <1/>" - #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx msgid "{0} Deposited" diff --git a/src/locales/no-NO.po b/src/locales/no-NO.po index 1bf74869ddb..517ab6947c2 100644 --- a/src/locales/no-NO.po +++ b/src/locales/no-NO.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: uniswap-interface\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-17 00:17\n" +"PO-Revision-Date: 2023-03-21 23:05\n" "Last-Translator: \n" "Language: no_NO\n" "Language-Team: Norwegian\n" @@ -116,6 +116,11 @@ msgstr "<0>Tips: Når du legger til likviditet, vil du motta samlingpotter msgid "<0>Unlock voting to prepare for the next proposal." msgstr "<0>Lås opp stemme for å forberede neste forslag." +#: src/components/PositionListItem/index.tsx +#: src/components/PositionListItem/index.tsx +msgid "<0>{0} <1/> per <2/>" +msgstr "" + #: src/pages/Vote/Landing.tsx msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals" msgstr "" @@ -171,6 +176,10 @@ msgstr "Legg til likviditet." msgid "Add more liquidity" msgstr "" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Add to bag" +msgstr "" + #: src/components/TransactionConfirmationModal/index.tsx msgid "Add {0}" msgstr "" @@ -183,11 +192,6 @@ msgstr "Legg til {0}/{1} V3-likviditet" msgid "Added" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Added to bag" -msgstr "" - #: src/components/TransactionConfirmationModal/index.tsx msgid "Added {0}" msgstr "Lagt til {0}" @@ -216,10 +220,6 @@ msgstr "Tillat migrering av LP-pollett" msgid "Allow high price impact trades and skip the confirm screen. Use at your own risk." msgstr "Tillat høyprispåvirkede handel og hopp over bekreftelsesskjermen. Bruk på egen risiko." -#: src/pages/Swap/index.tsx -msgid "Allow the Uniswap Protocol to use your {0}" -msgstr "Tillat Uniswap-protokollen å bruke din {0}" - #: src/pages/MigrateV2/MigrateV2Pair.tsx msgid "Allowed" msgstr "Tillatt" @@ -353,11 +353,10 @@ msgstr "" msgid "Blocked Address" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Blocked from trading" +#: src/nft/components/card/icons.tsx +msgid "Blocked on OpenSea" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx #: src/components/WalletDropdown/AuthenticatedHeader.tsx msgid "Buy crypto" msgstr "" @@ -451,6 +450,11 @@ msgstr "Fjern alle" msgid "Close" msgstr "Lukk" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Close wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx #: src/pages/RemoveLiquidity/V3.tsx msgid "Closed" @@ -530,6 +534,7 @@ msgstr "" msgid "Connect" msgstr "" +#: src/nft/pages/profile/profile.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidityV2/index.tsx #: src/pages/RemoveLiquidity/index.tsx @@ -567,6 +572,11 @@ msgstr "Koble til lommebok" msgid "Connected with" msgstr "" +#: src/nft/components/card/media.tsx +msgid "Content not" +msgstr "" + +#: src/nft/components/bag/Bag.tsx #: src/nft/components/profile/list/Modal/BelowFloorWarningModal.tsx msgid "Continue" msgstr "" @@ -610,10 +620,6 @@ msgstr "" msgid "Create a pair" msgstr "Opprett et par" -#: src/pages/Pool/index.tsx -msgid "Create a pool" -msgstr "Lag en pott" - #: src/components/AccountDetails/TransactionSummary.tsx msgid "Create pool and add {0}/{1} V3 liquidity" msgstr "Opprett pott og legg til {0}/{1} V3-likviditet" @@ -725,10 +731,6 @@ msgstr "" msgid "Edit listings" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Efficiency Comparison" -msgstr "" - #: src/state/burn/v3/hooks.tsx msgid "Enter a percent" msgstr "Oppgi en prosent" @@ -916,18 +918,10 @@ msgstr "Fra (til mest)" msgid "Full Range" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Full range positions may earn less fees than concentrated positions. Learn more <0>here." -msgstr "" - #: src/components/ErrorBoundary/index.tsx msgid "Get support" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx -msgid "Get tokens at the best prices in web3 on Uniswap, powered by Moonpay." -msgstr "" - #: src/components/NavBar/MenuDropdown.tsx msgid "Help center" msgstr "" @@ -942,12 +936,11 @@ msgstr "" msgid "Hide closed positions" msgstr "Skjul avsluttede posisjoner" -#: src/pages/Swap/index.tsx -msgid "High Price Impact" -msgstr "Høy pris konsekvens" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Hide resources" +msgstr "" #: src/components/TokenSafety/index.tsx -#: src/pages/AddLiquidity/index.tsx msgid "I understand" msgstr "Jeg forstår" @@ -1031,7 +1024,6 @@ msgstr "Ugyldig prisinngang" msgid "Invalid range selected. The min price must be lower than the max price." msgstr "Ugyldig område valgt. Minsteprisen må være lavere enn maks prisen." -#: src/lib/hooks/swap/useSwapCallback.tsx #: src/state/swap/hooks.tsx msgid "Invalid recipient" msgstr "Ugyldig mottaker" @@ -1059,6 +1051,7 @@ msgstr "" #: src/components/PrivacyPolicy/index.tsx #: src/components/PrivacyPolicy/index.tsx +#: src/components/TaxServiceModal/TaxServiceBanner.tsx #: src/components/TokenSafety/TokenSafetyMessage.tsx #: src/components/TokenSafety/index.tsx #: src/pages/Landing/index.tsx @@ -1098,6 +1091,10 @@ msgstr "Likviditetsleverandører får 0,3 % avgift på alle handler proporsjonal msgid "List NFTs" msgstr "" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "List for sale" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Listing an NFT requires a one-time marketplace approval for each NFT collection." msgstr "" @@ -1219,10 +1216,6 @@ msgstr "Minimum mottatt" msgid "Missing chart data" msgstr "" -#: src/lib/hooks/swap/useSwapCallback.tsx -msgid "Missing dependencies" -msgstr "Mangler avhengigheter" - #: src/components/Tokens/TokenDetails/PriceChart.tsx msgid "Missing price data due to recently low trading volume on Uniswap v3" msgstr "" @@ -1259,6 +1252,10 @@ msgstr "" msgid "Name not found" msgstr "" +#: src/components/NavBar/NavIcon.tsx +msgid "Navigation button" +msgstr "" + #: src/components/swap/AdvancedSwapDetails.tsx msgid "Network Fee" msgstr "" @@ -1287,6 +1284,10 @@ msgstr "Ingen data" msgid "No description." msgstr "Ingen beskrivelse." +#: src/nft/pages/profile/profile.tsx +msgid "No items to display" +msgstr "" + #: src/pages/Pool/v2.tsx msgid "No liquidity found." msgstr "Ingen likviditet funnet." @@ -1327,6 +1328,10 @@ msgstr "" msgid "Not created" msgstr "Ikke opprettet" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Not listed" +msgstr "" + #: src/components/Settings/index.tsx msgid "ONLY USE THIS MODE IF YOU KNOW WHAT YOU ARE DOING." msgstr "BARE BRUK DENNE MODUSEN DERSOM DU VET HVA DU GJØR." @@ -1347,6 +1352,11 @@ msgstr "Bare UNI-stemmer som ble delegert eller delegert til annen adresse før msgid "Oops, take me back to Swap" msgstr "" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Open wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx msgid "Out of range" msgstr "Utenfor rekkevidde" @@ -1405,7 +1415,6 @@ msgid "Please type the word \"{confirmWord}\" to enable expert mode." msgstr "Skriv inn ordet \"{confirmWord}\" for å aktivere ekspertmodus." #: src/components/AccountDetailsV2/TransactionBody.tsx -#: src/components/NavBar/index.tsx msgid "Pool" msgstr "Pott" @@ -1429,6 +1438,7 @@ msgstr "Pottpolletter i belønningspott:" msgid "Pooled {0}:" msgstr "Pott {0}:" +#: src/components/NavBar/index.tsx #: src/pages/Pool/index.tsx #: src/pages/Pool/index.tsx msgid "Pools" @@ -1623,6 +1633,11 @@ msgstr "Fjern delegat" msgid "Remove Liquidity" msgstr "Fjern likviditet" +#: src/nft/components/collection/CollectionAsset.tsx +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Remove from bag" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "Remove item" msgstr "" @@ -1631,11 +1646,6 @@ msgstr "" msgid "Removed" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Removed from bag" -msgstr "" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Removing" msgstr "" @@ -1648,7 +1658,7 @@ msgstr "Fjerner {0} {1} og {2} {3}" msgid "Removing {0} {1} and{2} {3}" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Resolve {issues} issues" msgstr "" @@ -1670,6 +1680,15 @@ msgstr "" msgid "Same Price" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Save on Tax Services" +msgstr "" + +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +#: src/components/TaxServiceModal/index.tsx +msgid "Save on your crypto taxes" +msgstr "" + #: src/components/NavBar/SearchBar.tsx msgid "Search" msgstr "" @@ -1726,10 +1745,6 @@ msgstr "" msgid "Sell NFTs" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Selling ERC-1155s coming soon" -msgstr "" - #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/MigrateV2/MigrateV2Pair.tsx @@ -1740,7 +1755,7 @@ msgstr "Angi prisområde" msgid "Set Starting Price" msgstr "Angi startpris" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Set prices to continue" msgstr "" @@ -1778,6 +1793,10 @@ msgstr "" msgid "Show more" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Show resources" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Sign" msgstr "" @@ -1812,7 +1831,7 @@ msgstr "" msgid "Sorry, an error occured while processing your request. If you request support, be sure to provide your error ID." msgstr "" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Start listing" msgstr "" @@ -1854,11 +1873,9 @@ msgstr "Leverer {0} {1} og {2} {3}" #: src/components/AccountDetailsV2/TransactionBody.tsx #: src/components/NavBar/index.tsx -#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/components/swap/SwapHeader.tsx #: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx -#: src/pages/Swap/index.tsx msgid "Swap" msgstr "Bytt" @@ -1866,7 +1883,6 @@ msgstr "Bytt" msgid "Swap <0/> for exactly <1/>" msgstr "Bytt <0/> for nøyaktig <1/>" -#: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx msgid "Swap Anyway" msgstr "Bytt uansett" @@ -1875,11 +1891,6 @@ msgstr "Bytt uansett" msgid "Swap exactly <0/> for <1/>" msgstr "Bytt nøyaktig <0/> for <1/>" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Swap failed: {0}" -msgstr "Bytting mislyktes: {0}" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Swapped" msgstr "" @@ -1994,10 +2005,6 @@ msgstr "Prisen på denne potten er innenfor ditt valgte område. Din posisjon er msgid "The ratio of tokens you add will set the price of this pool." msgstr "Forholdet mellom symboler du legger til vil angi prisen på denne potten." -#: src/utils/swapErrorToUserReadableMessage.tsx -msgid "The transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." -msgstr "Transaksjonen kunne ikke sendes fordi fristen er passert. Kontroller at transaksjonsfristen ikke er for lav." - #: src/components/LiquidityChartRangeInput/index.tsx msgid "There is no liquidity data." msgstr "" @@ -2010,10 +2017,6 @@ msgstr "" msgid "This app uses the following third-party APIs:" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -msgid "This item is not for sale" -msgstr "" - #: src/pages/AddLiquidity/index.tsx msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction." msgstr "" @@ -2042,6 +2045,10 @@ msgstr "" msgid "This tool will safely migrate your {0} liquidity to V3. The process is completely trustless thanks to the" msgstr "Dette verktøyet vil trygt migrere din {0} likviditeten til V3. Prosessen er fullstendig pålitelig takket være" +#: src/utils/swapErrorToUserReadableMessage.tsx +msgid "This transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." +msgstr "" + #: src/utils/swapErrorToUserReadableMessage.tsx 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 "Denne transaksjonen vil ikke lykkes på grunn av prisbevegelse. Prøv å øke glidetoleransen. Merk: gebyr ved overføring og rebase-tokens er inkompatibelt med Uniswap V3." @@ -2073,6 +2080,10 @@ msgstr "" msgid "Token name" msgstr "" +#: src/components/TokenSafety/index.tsx +msgid "Token not found" +msgstr "" + #: src/components/NavBar/SearchBarDropdown.tsx #: src/components/NavBar/index.tsx msgid "Tokens" @@ -2121,9 +2132,6 @@ msgstr "Transaksjons frist" msgid "Transaction pending" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/utils/swapErrorToUserReadableMessage.tsx #: src/utils/swapErrorToUserReadableMessage.tsx msgid "Transaction rejected" msgstr "Transaksjonen avvist" @@ -2161,6 +2169,10 @@ msgstr "UNI-polleter representerer stemmeaksjer i Uniswap-styring. Du kan stemme msgid "UNI {0}/{1} Burned" msgstr "UNI {0}/{1} brent" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Unavailable for listing" +msgstr "" + #: src/pages/Pool/PositionPage.tsx msgid "Unclaimed fees" msgstr "Avgifter som ikke belastes" @@ -2169,22 +2181,22 @@ msgstr "Avgifter som ikke belastes" msgid "Undetermined" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected error. Could not estimate gas for the swap." -msgstr "Uventet feil. Kunne ikke estimere gass for byttet." - -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected issue with estimating the gas. Please try again." -msgstr "Uventet problem med estimering av gassen. Vær så snill, prøv på nytt." - #: src/pages/Vote/Landing.tsx msgid "Uniswap Governance" msgstr "Uniswap-styring" +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +msgid "Uniswap Labs can save you up to 20% on CoinTracker and TokenTax" +msgstr "" + #: src/components/PrivacyPolicy/index.tsx msgid "Uniswap Labs' Terms of Service" msgstr "" +#: src/pages/Pool/v2.tsx +msgid "Uniswap V2 is not available on this network." +msgstr "" + #: src/components/SwitchLocaleLink/index.tsx msgid "Uniswap available in: <0>{0}" msgstr "Uniswap er tilgjengelig om: <0>{0}" @@ -2253,10 +2265,6 @@ msgstr "Oppdater delegasjon" msgid "Use the Uniswap Labs API to get faster quotes." msgstr "" -#: src/pages/Pool/v2.tsx -msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum." -msgstr "" - #: src/pages/Pool/index.tsx msgid "V2 liquidity" msgstr "V2-likviditet" @@ -2278,7 +2286,6 @@ msgstr "" msgid "View more analytics" msgstr "" -#: src/components/TransactionConfirmationModal/index.tsx #: src/nft/components/collection/TransactionCompleteModal.tsx #: src/pages/CreateProposal/ProposalSubmissionModal.tsx msgid "View on Etherscan" @@ -2289,6 +2296,10 @@ msgstr "Utsikt på Etherscan" msgid "View on Explorer" msgstr "Se på Explorer" +#: src/components/TransactionConfirmationModal/index.tsx +msgid "View on {0}" +msgstr "" + #: src/components/ModalViews/index.tsx #: src/components/claim/AddressClaimModal.tsx #: src/components/vote/ExecuteModal.tsx @@ -2433,10 +2444,6 @@ msgstr "Du er den første likviditetsleverandøren." msgid "You can either vote on each proposal yourself or delegate your votes to a third party." msgstr "Du kan enten stemme på hvert forslag selv eller delegere stemmene til en tredjepart." -#: src/pages/Swap/index.tsx -msgid "You can now trade {0}" -msgstr "Du kan nå handle {0}" - #: src/pages/CreateProposal/index.tsx msgid "You don't have enough votes to submit a proposal" msgstr "" @@ -2453,10 +2460,6 @@ msgstr "" msgid "You must connect an account." msgstr "Du må koble til en konto." -#: src/pages/Swap/index.tsx -msgid "You must give the Uniswap smart contracts permission to use your {0}. You only have to do this once per token." -msgstr "Du må gi Uniswap smartkontrakter tillatelse til å bruke din {0}. Du må bare gjøre dette en gang per pollett." - #: src/pages/CreateProposal/index.tsx msgid "You must have {formattedProposalThreshold} votes to submit a proposal" msgstr "" @@ -2534,9 +2537,10 @@ msgid "Your positions" msgstr "Dine posisjoner" #: src/hooks/useUniversalRouter.ts +msgid "Your swap is expected to fail." +msgstr "" + #: src/hooks/useUniversalRouter.ts -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx msgid "Your swap was modified through your wallet. If this was a mistake, please cancel immediately or risk losing your funds." msgstr "" @@ -2587,6 +2591,10 @@ msgstr "" msgid "and" msgstr "" +#: src/nft/components/card/media.tsx +msgid "available yet" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "below floor price." msgstr "" @@ -2644,7 +2652,7 @@ msgstr "" msgid "to" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "{0, plural, =1 {Resolve issue} other {{1}}}" msgstr "" @@ -2672,6 +2680,7 @@ msgstr "" #: src/components/ErrorBoundary/index.tsx #: src/components/RateToggle/index.tsx #: src/components/RateToggle/index.tsx +#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/nft/components/bag/BagFooter.tsx msgid "{0}" msgstr "{0}" @@ -2680,11 +2689,6 @@ msgstr "{0}" msgid "{0} %" msgstr "{0} %" -#: src/components/PositionListItem/index.tsx -#: src/components/PositionListItem/index.tsx -msgid "{0} <0/> per <1/>" -msgstr "{0} <0/> per <1/>" - #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx msgid "{0} Deposited" diff --git a/src/locales/pl-PL.po b/src/locales/pl-PL.po index 11cf5b3c76e..3fd06792ae8 100644 --- a/src/locales/pl-PL.po +++ b/src/locales/pl-PL.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: uniswap-interface\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-17 00:17\n" +"PO-Revision-Date: 2023-03-21 23:05\n" "Last-Translator: \n" "Language: pl_PL\n" "Language-Team: Polish\n" @@ -116,6 +116,11 @@ msgstr "" msgid "<0>Unlock voting to prepare for the next proposal." msgstr "" +#: src/components/PositionListItem/index.tsx +#: src/components/PositionListItem/index.tsx +msgid "<0>{0} <1/> per <2/>" +msgstr "" + #: src/pages/Vote/Landing.tsx msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals" msgstr "" @@ -171,6 +176,10 @@ msgstr "Dodaj płynność." msgid "Add more liquidity" msgstr "" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Add to bag" +msgstr "" + #: src/components/TransactionConfirmationModal/index.tsx msgid "Add {0}" msgstr "" @@ -183,11 +192,6 @@ msgstr "Dodaj płynność {0}/{1} V3" msgid "Added" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Added to bag" -msgstr "" - #: src/components/TransactionConfirmationModal/index.tsx msgid "Added {0}" msgstr "" @@ -216,10 +220,6 @@ msgstr "" msgid "Allow high price impact trades and skip the confirm screen. Use at your own risk." msgstr "" -#: src/pages/Swap/index.tsx -msgid "Allow the Uniswap Protocol to use your {0}" -msgstr "" - #: src/pages/MigrateV2/MigrateV2Pair.tsx msgid "Allowed" msgstr "" @@ -353,11 +353,10 @@ msgstr "" msgid "Blocked Address" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Blocked from trading" +#: src/nft/components/card/icons.tsx +msgid "Blocked on OpenSea" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx #: src/components/WalletDropdown/AuthenticatedHeader.tsx msgid "Buy crypto" msgstr "" @@ -451,6 +450,11 @@ msgstr "" msgid "Close" msgstr "Zamknij" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Close wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx #: src/pages/RemoveLiquidity/V3.tsx msgid "Closed" @@ -530,6 +534,7 @@ msgstr "" msgid "Connect" msgstr "" +#: src/nft/pages/profile/profile.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidityV2/index.tsx #: src/pages/RemoveLiquidity/index.tsx @@ -567,6 +572,11 @@ msgstr "Połącz portfel" msgid "Connected with" msgstr "" +#: src/nft/components/card/media.tsx +msgid "Content not" +msgstr "" + +#: src/nft/components/bag/Bag.tsx #: src/nft/components/profile/list/Modal/BelowFloorWarningModal.tsx msgid "Continue" msgstr "" @@ -610,10 +620,6 @@ msgstr "" msgid "Create a pair" msgstr "" -#: src/pages/Pool/index.tsx -msgid "Create a pool" -msgstr "" - #: src/components/AccountDetails/TransactionSummary.tsx msgid "Create pool and add {0}/{1} V3 liquidity" msgstr "Utwórz pulę i dodaj płynność {0}/{1} V3" @@ -725,10 +731,6 @@ msgstr "" msgid "Edit listings" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Efficiency Comparison" -msgstr "" - #: src/state/burn/v3/hooks.tsx msgid "Enter a percent" msgstr "Wpisz procent" @@ -916,18 +918,10 @@ msgstr "" msgid "Full Range" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Full range positions may earn less fees than concentrated positions. Learn more <0>here." -msgstr "" - #: src/components/ErrorBoundary/index.tsx msgid "Get support" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx -msgid "Get tokens at the best prices in web3 on Uniswap, powered by Moonpay." -msgstr "" - #: src/components/NavBar/MenuDropdown.tsx msgid "Help center" msgstr "" @@ -942,12 +936,11 @@ msgstr "" msgid "Hide closed positions" msgstr "" -#: src/pages/Swap/index.tsx -msgid "High Price Impact" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Hide resources" msgstr "" #: src/components/TokenSafety/index.tsx -#: src/pages/AddLiquidity/index.tsx msgid "I understand" msgstr "" @@ -1031,7 +1024,6 @@ msgstr "Nieprawidłowa cena wprowadzona" msgid "Invalid range selected. The min price must be lower than the max price." msgstr "" -#: src/lib/hooks/swap/useSwapCallback.tsx #: src/state/swap/hooks.tsx msgid "Invalid recipient" msgstr "Nieprawidłowy odbiorca" @@ -1059,6 +1051,7 @@ msgstr "" #: src/components/PrivacyPolicy/index.tsx #: src/components/PrivacyPolicy/index.tsx +#: src/components/TaxServiceModal/TaxServiceBanner.tsx #: src/components/TokenSafety/TokenSafetyMessage.tsx #: src/components/TokenSafety/index.tsx #: src/pages/Landing/index.tsx @@ -1098,6 +1091,10 @@ msgstr "" msgid "List NFTs" msgstr "" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "List for sale" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Listing an NFT requires a one-time marketplace approval for each NFT collection." msgstr "" @@ -1219,10 +1216,6 @@ msgstr "" msgid "Missing chart data" msgstr "" -#: src/lib/hooks/swap/useSwapCallback.tsx -msgid "Missing dependencies" -msgstr "Brakujące zależności" - #: src/components/Tokens/TokenDetails/PriceChart.tsx msgid "Missing price data due to recently low trading volume on Uniswap v3" msgstr "" @@ -1259,6 +1252,10 @@ msgstr "" msgid "Name not found" msgstr "" +#: src/components/NavBar/NavIcon.tsx +msgid "Navigation button" +msgstr "" + #: src/components/swap/AdvancedSwapDetails.tsx msgid "Network Fee" msgstr "" @@ -1287,6 +1284,10 @@ msgstr "Brak danych" msgid "No description." msgstr "Bez opisu." +#: src/nft/pages/profile/profile.tsx +msgid "No items to display" +msgstr "" + #: src/pages/Pool/v2.tsx msgid "No liquidity found." msgstr "" @@ -1327,6 +1328,10 @@ msgstr "" msgid "Not created" msgstr "Nie utworzono" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Not listed" +msgstr "" + #: src/components/Settings/index.tsx msgid "ONLY USE THIS MODE IF YOU KNOW WHAT YOU ARE DOING." msgstr "" @@ -1347,6 +1352,11 @@ msgstr "" msgid "Oops, take me back to Swap" msgstr "" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Open wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx msgid "Out of range" msgstr "" @@ -1405,7 +1415,6 @@ msgid "Please type the word \"{confirmWord}\" to enable expert mode." msgstr "" #: src/components/AccountDetailsV2/TransactionBody.tsx -#: src/components/NavBar/index.tsx msgid "Pool" msgstr "Pula" @@ -1429,6 +1438,7 @@ msgstr "" msgid "Pooled {0}:" msgstr "" +#: src/components/NavBar/index.tsx #: src/pages/Pool/index.tsx #: src/pages/Pool/index.tsx msgid "Pools" @@ -1623,6 +1633,11 @@ msgstr "" msgid "Remove Liquidity" msgstr "" +#: src/nft/components/collection/CollectionAsset.tsx +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Remove from bag" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "Remove item" msgstr "" @@ -1631,11 +1646,6 @@ msgstr "" msgid "Removed" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Removed from bag" -msgstr "" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Removing" msgstr "" @@ -1648,7 +1658,7 @@ msgstr "" msgid "Removing {0} {1} and{2} {3}" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Resolve {issues} issues" msgstr "" @@ -1670,6 +1680,15 @@ msgstr "" msgid "Same Price" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Save on Tax Services" +msgstr "" + +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +#: src/components/TaxServiceModal/index.tsx +msgid "Save on your crypto taxes" +msgstr "" + #: src/components/NavBar/SearchBar.tsx msgid "Search" msgstr "" @@ -1726,10 +1745,6 @@ msgstr "" msgid "Sell NFTs" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Selling ERC-1155s coming soon" -msgstr "" - #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/MigrateV2/MigrateV2Pair.tsx @@ -1740,7 +1755,7 @@ msgstr "" msgid "Set Starting Price" msgstr "" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Set prices to continue" msgstr "" @@ -1778,6 +1793,10 @@ msgstr "" msgid "Show more" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Show resources" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Sign" msgstr "" @@ -1812,7 +1831,7 @@ msgstr "" msgid "Sorry, an error occured while processing your request. If you request support, be sure to provide your error ID." msgstr "" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Start listing" msgstr "" @@ -1854,11 +1873,9 @@ msgstr "" #: src/components/AccountDetailsV2/TransactionBody.tsx #: src/components/NavBar/index.tsx -#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/components/swap/SwapHeader.tsx #: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx -#: src/pages/Swap/index.tsx msgid "Swap" msgstr "Zamień" @@ -1866,7 +1883,6 @@ msgstr "Zamień" msgid "Swap <0/> for exactly <1/>" msgstr "Zamień <0/> na dokładnie <1/>" -#: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx msgid "Swap Anyway" msgstr "" @@ -1875,11 +1891,6 @@ msgstr "" msgid "Swap exactly <0/> for <1/>" msgstr "Zamień dokładnie <0/> na <1/>" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Swap failed: {0}" -msgstr "Zamiana nie powiodła się: {0}" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Swapped" msgstr "" @@ -1994,10 +2005,6 @@ msgstr "" msgid "The ratio of tokens you add will set the price of this pool." msgstr "" -#: src/utils/swapErrorToUserReadableMessage.tsx -msgid "The transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." -msgstr "Nie można wysłać transakcji, ponieważ upłynął termin. Sprawdź, czy termin transakcji nie jest zbyt krótki." - #: src/components/LiquidityChartRangeInput/index.tsx msgid "There is no liquidity data." msgstr "" @@ -2010,10 +2017,6 @@ msgstr "" msgid "This app uses the following third-party APIs:" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -msgid "This item is not for sale" -msgstr "" - #: src/pages/AddLiquidity/index.tsx msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction." msgstr "" @@ -2042,6 +2045,10 @@ msgstr "" msgid "This tool will safely migrate your {0} liquidity to V3. The process is completely trustless thanks to the" msgstr "" +#: src/utils/swapErrorToUserReadableMessage.tsx +msgid "This transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." +msgstr "" + #: src/utils/swapErrorToUserReadableMessage.tsx 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 "Ta transakcja nie powiedzie się z powodu ruchu cen. Spróbuj zwiększyć swoją tolerancję na poślizg. Uwaga: opłata za transfer i rebase tokeny są niezgodne z Uniswap V3." @@ -2073,6 +2080,10 @@ msgstr "" msgid "Token name" msgstr "" +#: src/components/TokenSafety/index.tsx +msgid "Token not found" +msgstr "" + #: src/components/NavBar/SearchBarDropdown.tsx #: src/components/NavBar/index.tsx msgid "Tokens" @@ -2121,9 +2132,6 @@ msgstr "Termin transakcji" msgid "Transaction pending" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/utils/swapErrorToUserReadableMessage.tsx #: src/utils/swapErrorToUserReadableMessage.tsx msgid "Transaction rejected" msgstr "Transakcja odrzucona" @@ -2161,6 +2169,10 @@ msgstr "" msgid "UNI {0}/{1} Burned" msgstr "" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Unavailable for listing" +msgstr "" + #: src/pages/Pool/PositionPage.tsx msgid "Unclaimed fees" msgstr "" @@ -2169,22 +2181,22 @@ msgstr "" msgid "Undetermined" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected error. Could not estimate gas for the swap." -msgstr "Niespodziewany błąd. Nie udało się oszacować gazu do wymiany." - -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected issue with estimating the gas. Please try again." -msgstr "Nieoczekiwany problem z szacowaniem gazu. Proszę spróbuj ponownie." - #: src/pages/Vote/Landing.tsx msgid "Uniswap Governance" msgstr "" +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +msgid "Uniswap Labs can save you up to 20% on CoinTracker and TokenTax" +msgstr "" + #: src/components/PrivacyPolicy/index.tsx msgid "Uniswap Labs' Terms of Service" msgstr "" +#: src/pages/Pool/v2.tsx +msgid "Uniswap V2 is not available on this network." +msgstr "" + #: src/components/SwitchLocaleLink/index.tsx msgid "Uniswap available in: <0>{0}" msgstr "" @@ -2253,10 +2265,6 @@ msgstr "" msgid "Use the Uniswap Labs API to get faster quotes." msgstr "" -#: src/pages/Pool/v2.tsx -msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum." -msgstr "" - #: src/pages/Pool/index.tsx msgid "V2 liquidity" msgstr "" @@ -2278,7 +2286,6 @@ msgstr "" msgid "View more analytics" msgstr "" -#: src/components/TransactionConfirmationModal/index.tsx #: src/nft/components/collection/TransactionCompleteModal.tsx #: src/pages/CreateProposal/ProposalSubmissionModal.tsx msgid "View on Etherscan" @@ -2289,6 +2296,10 @@ msgstr "Zobacz na Etherscan" msgid "View on Explorer" msgstr "" +#: src/components/TransactionConfirmationModal/index.tsx +msgid "View on {0}" +msgstr "" + #: src/components/ModalViews/index.tsx #: src/components/claim/AddressClaimModal.tsx #: src/components/vote/ExecuteModal.tsx @@ -2433,10 +2444,6 @@ msgstr "" msgid "You can either vote on each proposal yourself or delegate your votes to a third party." msgstr "" -#: src/pages/Swap/index.tsx -msgid "You can now trade {0}" -msgstr "" - #: src/pages/CreateProposal/index.tsx msgid "You don't have enough votes to submit a proposal" msgstr "" @@ -2453,10 +2460,6 @@ msgstr "" msgid "You must connect an account." msgstr "" -#: src/pages/Swap/index.tsx -msgid "You must give the Uniswap smart contracts permission to use your {0}. You only have to do this once per token." -msgstr "" - #: src/pages/CreateProposal/index.tsx msgid "You must have {formattedProposalThreshold} votes to submit a proposal" msgstr "" @@ -2534,9 +2537,10 @@ msgid "Your positions" msgstr "" #: src/hooks/useUniversalRouter.ts +msgid "Your swap is expected to fail." +msgstr "" + #: src/hooks/useUniversalRouter.ts -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx msgid "Your swap was modified through your wallet. If this was a mistake, please cancel immediately or risk losing your funds." msgstr "" @@ -2587,6 +2591,10 @@ msgstr "" msgid "and" msgstr "" +#: src/nft/components/card/media.tsx +msgid "available yet" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "below floor price." msgstr "" @@ -2644,7 +2652,7 @@ msgstr "" msgid "to" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "{0, plural, =1 {Resolve issue} other {{1}}}" msgstr "" @@ -2672,6 +2680,7 @@ msgstr "" #: src/components/ErrorBoundary/index.tsx #: src/components/RateToggle/index.tsx #: src/components/RateToggle/index.tsx +#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/nft/components/bag/BagFooter.tsx msgid "{0}" msgstr "{0}" @@ -2680,11 +2689,6 @@ msgstr "{0}" msgid "{0} %" msgstr "" -#: src/components/PositionListItem/index.tsx -#: src/components/PositionListItem/index.tsx -msgid "{0} <0/> per <1/>" -msgstr "" - #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx msgid "{0} Deposited" diff --git a/src/locales/pt-BR.po b/src/locales/pt-BR.po index 23ed8d6e18c..f7f2f758b87 100644 --- a/src/locales/pt-BR.po +++ b/src/locales/pt-BR.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: uniswap-interface\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-17 00:17\n" +"PO-Revision-Date: 2023-03-21 23:05\n" "Last-Translator: \n" "Language: pt_BR\n" "Language-Team: Portuguese, Brazilian\n" @@ -116,6 +116,11 @@ msgstr "<0>Dica: Quando você adiciona liquidez, você recebe tokens em lote msgid "<0>Unlock voting to prepare for the next proposal." msgstr "<0>Votação de desbloqueio para se preparar para a próxima proposta." +#: src/components/PositionListItem/index.tsx +#: src/components/PositionListItem/index.tsx +msgid "<0>{0} <1/> per <2/>" +msgstr "" + #: src/pages/Vote/Landing.tsx msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals" msgstr "" @@ -171,6 +176,10 @@ msgstr "Adicione liquidez." msgid "Add more liquidity" msgstr "" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Add to bag" +msgstr "" + #: src/components/TransactionConfirmationModal/index.tsx msgid "Add {0}" msgstr "" @@ -183,11 +192,6 @@ msgstr "Adicionar liquidez V3 de {0}/{1}" msgid "Added" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Added to bag" -msgstr "" - #: src/components/TransactionConfirmationModal/index.tsx msgid "Added {0}" msgstr "{0} adicionados" @@ -216,10 +220,6 @@ msgstr "Permitir a migração de tokens LP" msgid "Allow high price impact trades and skip the confirm screen. Use at your own risk." msgstr "Permitir negociações de preço de alto impacto e ignorar a tela de confirmação. Use por sua conta e risco." -#: src/pages/Swap/index.tsx -msgid "Allow the Uniswap Protocol to use your {0}" -msgstr "Permitir que o Protocolo Uniswap utilize seu {0}" - #: src/pages/MigrateV2/MigrateV2Pair.tsx msgid "Allowed" msgstr "Permitido" @@ -353,11 +353,10 @@ msgstr "" msgid "Blocked Address" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Blocked from trading" +#: src/nft/components/card/icons.tsx +msgid "Blocked on OpenSea" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx #: src/components/WalletDropdown/AuthenticatedHeader.tsx msgid "Buy crypto" msgstr "" @@ -451,6 +450,11 @@ msgstr "Limpar tudo" msgid "Close" msgstr "Fechar" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Close wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx #: src/pages/RemoveLiquidity/V3.tsx msgid "Closed" @@ -530,6 +534,7 @@ msgstr "" msgid "Connect" msgstr "" +#: src/nft/pages/profile/profile.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidityV2/index.tsx #: src/pages/RemoveLiquidity/index.tsx @@ -567,6 +572,11 @@ msgstr "Conectar-se à carteira" msgid "Connected with" msgstr "" +#: src/nft/components/card/media.tsx +msgid "Content not" +msgstr "" + +#: src/nft/components/bag/Bag.tsx #: src/nft/components/profile/list/Modal/BelowFloorWarningModal.tsx msgid "Continue" msgstr "" @@ -610,10 +620,6 @@ msgstr "" msgid "Create a pair" msgstr "Criar um par" -#: src/pages/Pool/index.tsx -msgid "Create a pool" -msgstr "Criar um lote" - #: src/components/AccountDetails/TransactionSummary.tsx msgid "Create pool and add {0}/{1} V3 liquidity" msgstr "Criar um lote e adicionar liquidez V3 de {0}/{1}" @@ -725,10 +731,6 @@ msgstr "" msgid "Edit listings" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Efficiency Comparison" -msgstr "" - #: src/state/burn/v3/hooks.tsx msgid "Enter a percent" msgstr "Digite um percentual" @@ -916,18 +918,10 @@ msgstr "De (no máximo)" msgid "Full Range" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Full range positions may earn less fees than concentrated positions. Learn more <0>here." -msgstr "" - #: src/components/ErrorBoundary/index.tsx msgid "Get support" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx -msgid "Get tokens at the best prices in web3 on Uniswap, powered by Moonpay." -msgstr "" - #: src/components/NavBar/MenuDropdown.tsx msgid "Help center" msgstr "" @@ -942,12 +936,11 @@ msgstr "" msgid "Hide closed positions" msgstr "Ocultar posições fechadas" -#: src/pages/Swap/index.tsx -msgid "High Price Impact" -msgstr "Impacto de preços altos" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Hide resources" +msgstr "" #: src/components/TokenSafety/index.tsx -#: src/pages/AddLiquidity/index.tsx msgid "I understand" msgstr "Entendi" @@ -1031,7 +1024,6 @@ msgstr "Preço lançado inválido" msgid "Invalid range selected. The min price must be lower than the max price." msgstr "Faixa selecionada inválida. O preço mín deve ser inferior ao preço máx." -#: src/lib/hooks/swap/useSwapCallback.tsx #: src/state/swap/hooks.tsx msgid "Invalid recipient" msgstr "Destinatário inválido" @@ -1059,6 +1051,7 @@ msgstr "" #: src/components/PrivacyPolicy/index.tsx #: src/components/PrivacyPolicy/index.tsx +#: src/components/TaxServiceModal/TaxServiceBanner.tsx #: src/components/TokenSafety/TokenSafetyMessage.tsx #: src/components/TokenSafety/index.tsx #: src/pages/Landing/index.tsx @@ -1098,6 +1091,10 @@ msgstr "Fornecedores com liquidez geram uma taxa de 0,3% em todas as negociaçõ msgid "List NFTs" msgstr "" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "List for sale" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Listing an NFT requires a one-time marketplace approval for each NFT collection." msgstr "" @@ -1219,10 +1216,6 @@ msgstr "Mínimo recebido" msgid "Missing chart data" msgstr "" -#: src/lib/hooks/swap/useSwapCallback.tsx -msgid "Missing dependencies" -msgstr "Dependências ausentes" - #: src/components/Tokens/TokenDetails/PriceChart.tsx msgid "Missing price data due to recently low trading volume on Uniswap v3" msgstr "" @@ -1259,6 +1252,10 @@ msgstr "" msgid "Name not found" msgstr "" +#: src/components/NavBar/NavIcon.tsx +msgid "Navigation button" +msgstr "" + #: src/components/swap/AdvancedSwapDetails.tsx msgid "Network Fee" msgstr "" @@ -1287,6 +1284,10 @@ msgstr "Sem dados" msgid "No description." msgstr "Sem descrição." +#: src/nft/pages/profile/profile.tsx +msgid "No items to display" +msgstr "" + #: src/pages/Pool/v2.tsx msgid "No liquidity found." msgstr "Nenhuma liquidez encontrada." @@ -1327,6 +1328,10 @@ msgstr "" msgid "Not created" msgstr "Não criado" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Not listed" +msgstr "" + #: src/components/Settings/index.tsx msgid "ONLY USE THIS MODE IF YOU KNOW WHAT YOU ARE DOING." msgstr "USE ESTE MODO SOMENTE SE TIVER CERTEZA DO QUE ESTÁ FAZENDO." @@ -1347,6 +1352,11 @@ msgstr "Somente votos de UNI autodelegados ou delegados para outro endereço ant msgid "Oops, take me back to Swap" msgstr "" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Open wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx msgid "Out of range" msgstr "Fora da faixa" @@ -1405,7 +1415,6 @@ msgid "Please type the word \"{confirmWord}\" to enable expert mode." msgstr "Digite a palavra \"{confirmWord}\" para habilitar o modo Expert." #: src/components/AccountDetailsV2/TransactionBody.tsx -#: src/components/NavBar/index.tsx msgid "Pool" msgstr "Lote" @@ -1429,6 +1438,7 @@ msgstr "Tokens em lotes no lote de recompensas:" msgid "Pooled {0}:" msgstr "Em lote {0}:" +#: src/components/NavBar/index.tsx #: src/pages/Pool/index.tsx #: src/pages/Pool/index.tsx msgid "Pools" @@ -1623,6 +1633,11 @@ msgstr "Remover Delegado" msgid "Remove Liquidity" msgstr "Remover Liquidez" +#: src/nft/components/collection/CollectionAsset.tsx +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Remove from bag" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "Remove item" msgstr "" @@ -1631,11 +1646,6 @@ msgstr "" msgid "Removed" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Removed from bag" -msgstr "" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Removing" msgstr "" @@ -1648,7 +1658,7 @@ msgstr "Removendo {0} {1} e {2} {3}" msgid "Removing {0} {1} and{2} {3}" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Resolve {issues} issues" msgstr "" @@ -1670,6 +1680,15 @@ msgstr "" msgid "Same Price" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Save on Tax Services" +msgstr "" + +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +#: src/components/TaxServiceModal/index.tsx +msgid "Save on your crypto taxes" +msgstr "" + #: src/components/NavBar/SearchBar.tsx msgid "Search" msgstr "" @@ -1726,10 +1745,6 @@ msgstr "" msgid "Sell NFTs" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Selling ERC-1155s coming soon" -msgstr "" - #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/MigrateV2/MigrateV2Pair.tsx @@ -1740,7 +1755,7 @@ msgstr "Definir faixa de preços" msgid "Set Starting Price" msgstr "Definir preço inicial" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Set prices to continue" msgstr "" @@ -1778,6 +1793,10 @@ msgstr "" msgid "Show more" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Show resources" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Sign" msgstr "" @@ -1812,7 +1831,7 @@ msgstr "" msgid "Sorry, an error occured while processing your request. If you request support, be sure to provide your error ID." msgstr "" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Start listing" msgstr "" @@ -1854,11 +1873,9 @@ msgstr "Fornecendo {0} {1} e {2} {3}" #: src/components/AccountDetailsV2/TransactionBody.tsx #: src/components/NavBar/index.tsx -#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/components/swap/SwapHeader.tsx #: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx -#: src/pages/Swap/index.tsx msgid "Swap" msgstr "Conversão" @@ -1866,7 +1883,6 @@ msgstr "Conversão" msgid "Swap <0/> for exactly <1/>" msgstr "Troque <0 /> exatamente por <1 />" -#: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx msgid "Swap Anyway" msgstr "Converter assim mesmo" @@ -1875,11 +1891,6 @@ msgstr "Converter assim mesmo" msgid "Swap exactly <0/> for <1/>" msgstr "Troque exatamente <0 /> por <1 />" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Swap failed: {0}" -msgstr "A troca falhou: {0}" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Swapped" msgstr "" @@ -1994,10 +2005,6 @@ msgstr "O preço deste lote está dento da faixa selecionada. Sua posição atua msgid "The ratio of tokens you add will set the price of this pool." msgstr "A proporção de tokens que você adicionar determina o preço deste lote." -#: src/utils/swapErrorToUserReadableMessage.tsx -msgid "The transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." -msgstr "A operação não pode ser enviada após a data-limite. Confirme se a data-limite da operação não é cedo demais." - #: src/components/LiquidityChartRangeInput/index.tsx msgid "There is no liquidity data." msgstr "" @@ -2010,10 +2017,6 @@ msgstr "" msgid "This app uses the following third-party APIs:" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -msgid "This item is not for sale" -msgstr "" - #: src/pages/AddLiquidity/index.tsx msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction." msgstr "" @@ -2042,6 +2045,10 @@ msgstr "" msgid "This tool will safely migrate your {0} liquidity to V3. The process is completely trustless thanks to the" msgstr "Esta ferramenta fará a migração da sua liquidez {0} em segurança para V3. O processo não é inteiramente confiável, devido ao" +#: src/utils/swapErrorToUserReadableMessage.tsx +msgid "This transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." +msgstr "" + #: src/utils/swapErrorToUserReadableMessage.tsx 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 "Esta transação não terá sucesso devido ao movimento do preço. Tente aumentar sua tolerância ao deslizamento. Nota: a taxa de transferência e tokens de rebase são incompatíveis com Uniswap V3." @@ -2073,6 +2080,10 @@ msgstr "" msgid "Token name" msgstr "" +#: src/components/TokenSafety/index.tsx +msgid "Token not found" +msgstr "" + #: src/components/NavBar/SearchBarDropdown.tsx #: src/components/NavBar/index.tsx msgid "Tokens" @@ -2121,9 +2132,6 @@ msgstr "Data-limite da operação" msgid "Transaction pending" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/utils/swapErrorToUserReadableMessage.tsx #: src/utils/swapErrorToUserReadableMessage.tsx msgid "Transaction rejected" msgstr "Transação rejeitada" @@ -2161,6 +2169,10 @@ msgstr "Os tokens de UNI representam capital votante na governança do Uniswap. msgid "UNI {0}/{1} Burned" msgstr "UNI {0}/{1} queimados" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Unavailable for listing" +msgstr "" + #: src/pages/Pool/PositionPage.tsx msgid "Unclaimed fees" msgstr "Taxas não resgatadas" @@ -2169,22 +2181,22 @@ msgstr "Taxas não resgatadas" msgid "Undetermined" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected error. Could not estimate gas for the swap." -msgstr "Erro inesperado. Não foi possível estimar o gás para a troca." - -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected issue with estimating the gas. Please try again." -msgstr "Problema inesperado com a estimativa do gás. Por favor, tente novamente." - #: src/pages/Vote/Landing.tsx msgid "Uniswap Governance" msgstr "Governança do Uniswap" +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +msgid "Uniswap Labs can save you up to 20% on CoinTracker and TokenTax" +msgstr "" + #: src/components/PrivacyPolicy/index.tsx msgid "Uniswap Labs' Terms of Service" msgstr "" +#: src/pages/Pool/v2.tsx +msgid "Uniswap V2 is not available on this network." +msgstr "" + #: src/components/SwitchLocaleLink/index.tsx msgid "Uniswap available in: <0>{0}" msgstr "Uniswap disponível em: <0>{0}" @@ -2253,10 +2265,6 @@ msgstr "Atualizar Delegação" msgid "Use the Uniswap Labs API to get faster quotes." msgstr "" -#: src/pages/Pool/v2.tsx -msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum." -msgstr "" - #: src/pages/Pool/index.tsx msgid "V2 liquidity" msgstr "Liquidez V2" @@ -2278,7 +2286,6 @@ msgstr "" msgid "View more analytics" msgstr "" -#: src/components/TransactionConfirmationModal/index.tsx #: src/nft/components/collection/TransactionCompleteModal.tsx #: src/pages/CreateProposal/ProposalSubmissionModal.tsx msgid "View on Etherscan" @@ -2289,6 +2296,10 @@ msgstr "Ver no Etherscan" msgid "View on Explorer" msgstr "Visualizar no Explorer" +#: src/components/TransactionConfirmationModal/index.tsx +msgid "View on {0}" +msgstr "" + #: src/components/ModalViews/index.tsx #: src/components/claim/AddressClaimModal.tsx #: src/components/vote/ExecuteModal.tsx @@ -2433,10 +2444,6 @@ msgstr "Você é o primeiro fornecedor com liquidez." msgid "You can either vote on each proposal yourself or delegate your votes to a third party." msgstr "Você mesmo pode votar em cada proposta ou delegar seu voto para um terceiro." -#: src/pages/Swap/index.tsx -msgid "You can now trade {0}" -msgstr "Agora você pode negociar {0}" - #: src/pages/CreateProposal/index.tsx msgid "You don't have enough votes to submit a proposal" msgstr "" @@ -2453,10 +2460,6 @@ msgstr "" msgid "You must connect an account." msgstr "É preciso conectar-se a uma conta." -#: src/pages/Swap/index.tsx -msgid "You must give the Uniswap smart contracts permission to use your {0}. You only have to do this once per token." -msgstr "É preciso conceder a permissão ao recurso de contratos inteligentes do Uniswap para que possa utilizar seu {0}. Basta efetuar a operação uma vez para cada token." - #: src/pages/CreateProposal/index.tsx msgid "You must have {formattedProposalThreshold} votes to submit a proposal" msgstr "" @@ -2534,9 +2537,10 @@ msgid "Your positions" msgstr "Suas posições" #: src/hooks/useUniversalRouter.ts +msgid "Your swap is expected to fail." +msgstr "" + #: src/hooks/useUniversalRouter.ts -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx msgid "Your swap was modified through your wallet. If this was a mistake, please cancel immediately or risk losing your funds." msgstr "" @@ -2587,6 +2591,10 @@ msgstr "" msgid "and" msgstr "" +#: src/nft/components/card/media.tsx +msgid "available yet" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "below floor price." msgstr "" @@ -2644,7 +2652,7 @@ msgstr "" msgid "to" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "{0, plural, =1 {Resolve issue} other {{1}}}" msgstr "" @@ -2672,6 +2680,7 @@ msgstr "" #: src/components/ErrorBoundary/index.tsx #: src/components/RateToggle/index.tsx #: src/components/RateToggle/index.tsx +#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/nft/components/bag/BagFooter.tsx msgid "{0}" msgstr "{0}" @@ -2680,11 +2689,6 @@ msgstr "{0}" msgid "{0} %" msgstr "{0} %" -#: src/components/PositionListItem/index.tsx -#: src/components/PositionListItem/index.tsx -msgid "{0} <0/> per <1/>" -msgstr "{0} <0/> por <1/>" - #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx msgid "{0} Deposited" diff --git a/src/locales/pt-PT.po b/src/locales/pt-PT.po index 07069f1cbd3..00ed11bed2f 100644 --- a/src/locales/pt-PT.po +++ b/src/locales/pt-PT.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: uniswap-interface\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-17 00:17\n" +"PO-Revision-Date: 2023-03-21 23:05\n" "Last-Translator: \n" "Language: pt_PT\n" "Language-Team: Portuguese\n" @@ -116,6 +116,11 @@ msgstr "<0>Dica: Quando adicionar liquidez, receberá tokens de pool que rep msgid "<0>Unlock voting to prepare for the next proposal." msgstr "<0>Desbloqueie a votação para se preparar para a próxima proposta." +#: src/components/PositionListItem/index.tsx +#: src/components/PositionListItem/index.tsx +msgid "<0>{0} <1/> per <2/>" +msgstr "" + #: src/pages/Vote/Landing.tsx msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals" msgstr "" @@ -171,6 +176,10 @@ msgstr "Adicione liquidez." msgid "Add more liquidity" msgstr "" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Add to bag" +msgstr "" + #: src/components/TransactionConfirmationModal/index.tsx msgid "Add {0}" msgstr "" @@ -183,11 +192,6 @@ msgstr "Adicionar {0}/{1} de liquidez V3" msgid "Added" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Added to bag" -msgstr "" - #: src/components/TransactionConfirmationModal/index.tsx msgid "Added {0}" msgstr "Adicionado {0}" @@ -216,10 +220,6 @@ msgstr "Permitir migração de token LP" msgid "Allow high price impact trades and skip the confirm screen. Use at your own risk." msgstr "Permitir negociações de alto impacto nos preços e ignorar o ecrã de confirmação. Use por sua conta e risco." -#: src/pages/Swap/index.tsx -msgid "Allow the Uniswap Protocol to use your {0}" -msgstr "Permitir que o Protocolo Uniswap use o seu {0}" - #: src/pages/MigrateV2/MigrateV2Pair.tsx msgid "Allowed" msgstr "Permitido" @@ -353,11 +353,10 @@ msgstr "" msgid "Blocked Address" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Blocked from trading" +#: src/nft/components/card/icons.tsx +msgid "Blocked on OpenSea" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx #: src/components/WalletDropdown/AuthenticatedHeader.tsx msgid "Buy crypto" msgstr "" @@ -451,6 +450,11 @@ msgstr "Limpar tudo" msgid "Close" msgstr "Fechar" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Close wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx #: src/pages/RemoveLiquidity/V3.tsx msgid "Closed" @@ -530,6 +534,7 @@ msgstr "" msgid "Connect" msgstr "" +#: src/nft/pages/profile/profile.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidityV2/index.tsx #: src/pages/RemoveLiquidity/index.tsx @@ -567,6 +572,11 @@ msgstr "Ligar carteira" msgid "Connected with" msgstr "" +#: src/nft/components/card/media.tsx +msgid "Content not" +msgstr "" + +#: src/nft/components/bag/Bag.tsx #: src/nft/components/profile/list/Modal/BelowFloorWarningModal.tsx msgid "Continue" msgstr "" @@ -610,10 +620,6 @@ msgstr "" msgid "Create a pair" msgstr "Criar um par" -#: src/pages/Pool/index.tsx -msgid "Create a pool" -msgstr "Criar uma pool" - #: src/components/AccountDetails/TransactionSummary.tsx msgid "Create pool and add {0}/{1} V3 liquidity" msgstr "Criar pool e adicionar {0}/{1} liquidez V3" @@ -725,10 +731,6 @@ msgstr "" msgid "Edit listings" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Efficiency Comparison" -msgstr "" - #: src/state/burn/v3/hooks.tsx msgid "Enter a percent" msgstr "Insira uma percentagem" @@ -916,18 +918,10 @@ msgstr "De (no máximo)" msgid "Full Range" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Full range positions may earn less fees than concentrated positions. Learn more <0>here." -msgstr "" - #: src/components/ErrorBoundary/index.tsx msgid "Get support" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx -msgid "Get tokens at the best prices in web3 on Uniswap, powered by Moonpay." -msgstr "" - #: src/components/NavBar/MenuDropdown.tsx msgid "Help center" msgstr "" @@ -942,12 +936,11 @@ msgstr "" msgid "Hide closed positions" msgstr "Ocultar posições fechadas" -#: src/pages/Swap/index.tsx -msgid "High Price Impact" -msgstr "Impacto de preço elevado" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Hide resources" +msgstr "" #: src/components/TokenSafety/index.tsx -#: src/pages/AddLiquidity/index.tsx msgid "I understand" msgstr "Eu compreendo" @@ -1031,7 +1024,6 @@ msgstr "Entrada de preço inválida" msgid "Invalid range selected. The min price must be lower than the max price." msgstr "Intervalo selecionado inválido. O preço mínimo deve ser inferior ao preço máximo." -#: src/lib/hooks/swap/useSwapCallback.tsx #: src/state/swap/hooks.tsx msgid "Invalid recipient" msgstr "Destinatário inválido" @@ -1059,6 +1051,7 @@ msgstr "" #: src/components/PrivacyPolicy/index.tsx #: src/components/PrivacyPolicy/index.tsx +#: src/components/TaxServiceModal/TaxServiceBanner.tsx #: src/components/TokenSafety/TokenSafetyMessage.tsx #: src/components/TokenSafety/index.tsx #: src/pages/Landing/index.tsx @@ -1098,6 +1091,10 @@ msgstr "Os fornecedores de liquidez ganham uma taxa de 0,3% em todas as trocas, msgid "List NFTs" msgstr "" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "List for sale" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Listing an NFT requires a one-time marketplace approval for each NFT collection." msgstr "" @@ -1219,10 +1216,6 @@ msgstr "Mínimo recebido" msgid "Missing chart data" msgstr "" -#: src/lib/hooks/swap/useSwapCallback.tsx -msgid "Missing dependencies" -msgstr "Dependências ausentes" - #: src/components/Tokens/TokenDetails/PriceChart.tsx msgid "Missing price data due to recently low trading volume on Uniswap v3" msgstr "" @@ -1259,6 +1252,10 @@ msgstr "" msgid "Name not found" msgstr "" +#: src/components/NavBar/NavIcon.tsx +msgid "Navigation button" +msgstr "" + #: src/components/swap/AdvancedSwapDetails.tsx msgid "Network Fee" msgstr "" @@ -1287,6 +1284,10 @@ msgstr "Sem dados" msgid "No description." msgstr "Sem descrição." +#: src/nft/pages/profile/profile.tsx +msgid "No items to display" +msgstr "" + #: src/pages/Pool/v2.tsx msgid "No liquidity found." msgstr "Nenhuma liquidez encontrada." @@ -1327,6 +1328,10 @@ msgstr "" msgid "Not created" msgstr "Não criado" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Not listed" +msgstr "" + #: src/components/Settings/index.tsx msgid "ONLY USE THIS MODE IF YOU KNOW WHAT YOU ARE DOING." msgstr "USE ESTE MODO APENAS SE SOUBER O QUE ESTÁ A FAZER." @@ -1347,6 +1352,11 @@ msgstr "Apenas os votos UNI que foram auto delegados ou delegados em outro ender msgid "Oops, take me back to Swap" msgstr "" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Open wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx msgid "Out of range" msgstr "Fora do intervalo" @@ -1405,7 +1415,6 @@ msgid "Please type the word \"{confirmWord}\" to enable expert mode." msgstr "Por favor, digite a palavra \"{confirmWord}\" para ativar o modo de especialista." #: src/components/AccountDetailsV2/TransactionBody.tsx -#: src/components/NavBar/index.tsx msgid "Pool" msgstr "Pool" @@ -1429,6 +1438,7 @@ msgstr "Tokens da pool na pool de recompensas:" msgid "Pooled {0}:" msgstr "Na pool {0}:" +#: src/components/NavBar/index.tsx #: src/pages/Pool/index.tsx #: src/pages/Pool/index.tsx msgid "Pools" @@ -1623,6 +1633,11 @@ msgstr "Remover Delegar" msgid "Remove Liquidity" msgstr "Remover Liquidez" +#: src/nft/components/collection/CollectionAsset.tsx +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Remove from bag" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "Remove item" msgstr "" @@ -1631,11 +1646,6 @@ msgstr "" msgid "Removed" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Removed from bag" -msgstr "" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Removing" msgstr "" @@ -1648,7 +1658,7 @@ msgstr "A remover {0} {1} e {2} {3}" msgid "Removing {0} {1} and{2} {3}" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Resolve {issues} issues" msgstr "" @@ -1670,6 +1680,15 @@ msgstr "" msgid "Same Price" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Save on Tax Services" +msgstr "" + +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +#: src/components/TaxServiceModal/index.tsx +msgid "Save on your crypto taxes" +msgstr "" + #: src/components/NavBar/SearchBar.tsx msgid "Search" msgstr "" @@ -1726,10 +1745,6 @@ msgstr "" msgid "Sell NFTs" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Selling ERC-1155s coming soon" -msgstr "" - #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/MigrateV2/MigrateV2Pair.tsx @@ -1740,7 +1755,7 @@ msgstr "Definir Intervalo de Preço" msgid "Set Starting Price" msgstr "Definir Preço Inicial" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Set prices to continue" msgstr "" @@ -1778,6 +1793,10 @@ msgstr "" msgid "Show more" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Show resources" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Sign" msgstr "" @@ -1812,7 +1831,7 @@ msgstr "" msgid "Sorry, an error occured while processing your request. If you request support, be sure to provide your error ID." msgstr "" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Start listing" msgstr "" @@ -1854,11 +1873,9 @@ msgstr "A fornecer {0} {1} e {2} {3}" #: src/components/AccountDetailsV2/TransactionBody.tsx #: src/components/NavBar/index.tsx -#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/components/swap/SwapHeader.tsx #: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx -#: src/pages/Swap/index.tsx msgid "Swap" msgstr "Trocar" @@ -1866,7 +1883,6 @@ msgstr "Trocar" msgid "Swap <0/> for exactly <1/>" msgstr "Troque <0 /> exatamente por <1 />" -#: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx msgid "Swap Anyway" msgstr "Trocar mesmo assim" @@ -1875,11 +1891,6 @@ msgstr "Trocar mesmo assim" msgid "Swap exactly <0/> for <1/>" msgstr "Troque exatamente <0 /> por <1 />" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Swap failed: {0}" -msgstr "A troca falhou: {0}" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Swapped" msgstr "" @@ -1994,10 +2005,6 @@ msgstr "O preço desta pool está dentro do seu intervalo selecionado. A sua pos msgid "The ratio of tokens you add will set the price of this pool." msgstr "A proporção de tokens que adicionar irá definir o preço desta pool." -#: src/utils/swapErrorToUserReadableMessage.tsx -msgid "The transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." -msgstr "A transação não pôde ser enviada porque o prazo expirou. Verifique se o prazo da transação não é muito reduzido." - #: src/components/LiquidityChartRangeInput/index.tsx msgid "There is no liquidity data." msgstr "" @@ -2010,10 +2017,6 @@ msgstr "" msgid "This app uses the following third-party APIs:" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -msgid "This item is not for sale" -msgstr "" - #: src/pages/AddLiquidity/index.tsx msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction." msgstr "" @@ -2042,6 +2045,10 @@ msgstr "" msgid "This tool will safely migrate your {0} liquidity to V3. The process is completely trustless thanks to the" msgstr "Esta ferramenta migrará com segurança a sua liquidez {0} para V3. O processo é completamente autónomo graças à" +#: src/utils/swapErrorToUserReadableMessage.tsx +msgid "This transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." +msgstr "" + #: src/utils/swapErrorToUserReadableMessage.tsx 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 "Esta transação não terá sucesso devido ao movimento do preço. Tente aumentar sua tolerância ao deslizamento. Nota: a taxa de transferência e tokens de rebase são incompatíveis com Uniswap V3." @@ -2073,6 +2080,10 @@ msgstr "" msgid "Token name" msgstr "" +#: src/components/TokenSafety/index.tsx +msgid "Token not found" +msgstr "" + #: src/components/NavBar/SearchBarDropdown.tsx #: src/components/NavBar/index.tsx msgid "Tokens" @@ -2121,9 +2132,6 @@ msgstr "Prazo de transação" msgid "Transaction pending" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/utils/swapErrorToUserReadableMessage.tsx #: src/utils/swapErrorToUserReadableMessage.tsx msgid "Transaction rejected" msgstr "Transação rejeitada" @@ -2161,6 +2169,10 @@ msgstr "Os tokens da UNI representam participações de voto na governança da U msgid "UNI {0}/{1} Burned" msgstr "UNI {0}/{1} Queimado" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Unavailable for listing" +msgstr "" + #: src/pages/Pool/PositionPage.tsx msgid "Unclaimed fees" msgstr "Comissões não reivindicadas" @@ -2169,22 +2181,22 @@ msgstr "Comissões não reivindicadas" msgid "Undetermined" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected error. Could not estimate gas for the swap." -msgstr "Erro inesperado. Não foi possível estimar o gás para a troca." - -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected issue with estimating the gas. Please try again." -msgstr "Problema inesperado com a estimativa do gás. Por favor, tente novamente." - #: src/pages/Vote/Landing.tsx msgid "Uniswap Governance" msgstr "Uniswap Governança" +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +msgid "Uniswap Labs can save you up to 20% on CoinTracker and TokenTax" +msgstr "" + #: src/components/PrivacyPolicy/index.tsx msgid "Uniswap Labs' Terms of Service" msgstr "" +#: src/pages/Pool/v2.tsx +msgid "Uniswap V2 is not available on this network." +msgstr "" + #: src/components/SwitchLocaleLink/index.tsx msgid "Uniswap available in: <0>{0}" msgstr "Uniswap disponível em: <0>{0}" @@ -2253,10 +2265,6 @@ msgstr "Atualizar Delegação" msgid "Use the Uniswap Labs API to get faster quotes." msgstr "" -#: src/pages/Pool/v2.tsx -msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum." -msgstr "" - #: src/pages/Pool/index.tsx msgid "V2 liquidity" msgstr "Liquidez V2" @@ -2278,7 +2286,6 @@ msgstr "" msgid "View more analytics" msgstr "" -#: src/components/TransactionConfirmationModal/index.tsx #: src/nft/components/collection/TransactionCompleteModal.tsx #: src/pages/CreateProposal/ProposalSubmissionModal.tsx msgid "View on Etherscan" @@ -2289,6 +2296,10 @@ msgstr "Ver no Etherscan" msgid "View on Explorer" msgstr "Ver no Explorador" +#: src/components/TransactionConfirmationModal/index.tsx +msgid "View on {0}" +msgstr "" + #: src/components/ModalViews/index.tsx #: src/components/claim/AddressClaimModal.tsx #: src/components/vote/ExecuteModal.tsx @@ -2433,10 +2444,6 @@ msgstr "É o primeiro fornecedor de liquidez." msgid "You can either vote on each proposal yourself or delegate your votes to a third party." msgstr "Pode votar em cada uma das propostas ou delegar os seus votos num terceiro." -#: src/pages/Swap/index.tsx -msgid "You can now trade {0}" -msgstr "Agora pode negociar {0}" - #: src/pages/CreateProposal/index.tsx msgid "You don't have enough votes to submit a proposal" msgstr "" @@ -2453,10 +2460,6 @@ msgstr "" msgid "You must connect an account." msgstr "Deve ligar uma conta." -#: src/pages/Swap/index.tsx -msgid "You must give the Uniswap smart contracts permission to use your {0}. You only have to do this once per token." -msgstr "Tem de dar permissão aos contratos inteligentes do Uniswap para usarem o seu {0}. Só precisa de fazer isso uma vez por token." - #: src/pages/CreateProposal/index.tsx msgid "You must have {formattedProposalThreshold} votes to submit a proposal" msgstr "" @@ -2534,9 +2537,10 @@ msgid "Your positions" msgstr "As suas posições" #: src/hooks/useUniversalRouter.ts +msgid "Your swap is expected to fail." +msgstr "" + #: src/hooks/useUniversalRouter.ts -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx msgid "Your swap was modified through your wallet. If this was a mistake, please cancel immediately or risk losing your funds." msgstr "" @@ -2587,6 +2591,10 @@ msgstr "" msgid "and" msgstr "" +#: src/nft/components/card/media.tsx +msgid "available yet" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "below floor price." msgstr "" @@ -2644,7 +2652,7 @@ msgstr "" msgid "to" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "{0, plural, =1 {Resolve issue} other {{1}}}" msgstr "" @@ -2672,6 +2680,7 @@ msgstr "" #: src/components/ErrorBoundary/index.tsx #: src/components/RateToggle/index.tsx #: src/components/RateToggle/index.tsx +#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/nft/components/bag/BagFooter.tsx msgid "{0}" msgstr "{0}" @@ -2680,11 +2689,6 @@ msgstr "{0}" msgid "{0} %" msgstr "{0} %" -#: src/components/PositionListItem/index.tsx -#: src/components/PositionListItem/index.tsx -msgid "{0} <0/> per <1/>" -msgstr "{0} <0/> por <1/>" - #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx msgid "{0} Deposited" diff --git a/src/locales/ro-RO.po b/src/locales/ro-RO.po index 1fb6dff5a85..055b4e59ca5 100644 --- a/src/locales/ro-RO.po +++ b/src/locales/ro-RO.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: uniswap-interface\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-17 00:17\n" +"PO-Revision-Date: 2023-03-21 23:04\n" "Last-Translator: \n" "Language: ro_RO\n" "Language-Team: Romanian\n" @@ -116,6 +116,11 @@ msgstr "<0>Sfat: Când adaugi lichiditate, vei primi tokeni de rezervă car msgid "<0>Unlock voting to prepare for the next proposal." msgstr "<0>Deblochează votul pentru a se pregăti pentru următoarea propunere." +#: src/components/PositionListItem/index.tsx +#: src/components/PositionListItem/index.tsx +msgid "<0>{0} <1/> per <2/>" +msgstr "" + #: src/pages/Vote/Landing.tsx msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals" msgstr "" @@ -171,6 +176,10 @@ msgstr "Adaugă lichiditate." msgid "Add more liquidity" msgstr "" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Add to bag" +msgstr "" + #: src/components/TransactionConfirmationModal/index.tsx msgid "Add {0}" msgstr "" @@ -183,11 +192,6 @@ msgstr "Adaugă {0}/{1} lichiditate V3" msgid "Added" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Added to bag" -msgstr "" - #: src/components/TransactionConfirmationModal/index.tsx msgid "Added {0}" msgstr "Adăugat {0}" @@ -216,10 +220,6 @@ msgstr "Permite migrarea token-ului LP" msgid "Allow high price impact trades and skip the confirm screen. Use at your own risk." msgstr "Permite tranzacțiile cu impact asupra prețurilor mari și sari peste ecranul de confirmare. Utilizează pe propriul risc." -#: src/pages/Swap/index.tsx -msgid "Allow the Uniswap Protocol to use your {0}" -msgstr "Permite Protocolului Uniswap să îți utilizeze {0}" - #: src/pages/MigrateV2/MigrateV2Pair.tsx msgid "Allowed" msgstr "Permis" @@ -353,11 +353,10 @@ msgstr "" msgid "Blocked Address" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Blocked from trading" +#: src/nft/components/card/icons.tsx +msgid "Blocked on OpenSea" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx #: src/components/WalletDropdown/AuthenticatedHeader.tsx msgid "Buy crypto" msgstr "" @@ -451,6 +450,11 @@ msgstr "Șterge tot" msgid "Close" msgstr "Închide" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Close wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx #: src/pages/RemoveLiquidity/V3.tsx msgid "Closed" @@ -530,6 +534,7 @@ msgstr "" msgid "Connect" msgstr "" +#: src/nft/pages/profile/profile.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidityV2/index.tsx #: src/pages/RemoveLiquidity/index.tsx @@ -567,6 +572,11 @@ msgstr "Conectare la portofel" msgid "Connected with" msgstr "" +#: src/nft/components/card/media.tsx +msgid "Content not" +msgstr "" + +#: src/nft/components/bag/Bag.tsx #: src/nft/components/profile/list/Modal/BelowFloorWarningModal.tsx msgid "Continue" msgstr "" @@ -610,10 +620,6 @@ msgstr "" msgid "Create a pair" msgstr "Creează o pereche" -#: src/pages/Pool/index.tsx -msgid "Create a pool" -msgstr "Creează o rezervă" - #: src/components/AccountDetails/TransactionSummary.tsx msgid "Create pool and add {0}/{1} V3 liquidity" msgstr "Creează rezervă și adaugă {0}/{1} V3 lichiditate" @@ -725,10 +731,6 @@ msgstr "" msgid "Edit listings" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Efficiency Comparison" -msgstr "" - #: src/state/burn/v3/hooks.tsx msgid "Enter a percent" msgstr "Introdu un procent" @@ -916,18 +918,10 @@ msgstr "De la (cel mult)" msgid "Full Range" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Full range positions may earn less fees than concentrated positions. Learn more <0>here." -msgstr "" - #: src/components/ErrorBoundary/index.tsx msgid "Get support" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx -msgid "Get tokens at the best prices in web3 on Uniswap, powered by Moonpay." -msgstr "" - #: src/components/NavBar/MenuDropdown.tsx msgid "Help center" msgstr "" @@ -942,12 +936,11 @@ msgstr "" msgid "Hide closed positions" msgstr "Ascunde pozițiile închise" -#: src/pages/Swap/index.tsx -msgid "High Price Impact" -msgstr "Impact Preț Ridicat" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Hide resources" +msgstr "" #: src/components/TokenSafety/index.tsx -#: src/pages/AddLiquidity/index.tsx msgid "I understand" msgstr "Înţeleg" @@ -1031,7 +1024,6 @@ msgstr "Introducere de preț nevalidă" msgid "Invalid range selected. The min price must be lower than the max price." msgstr "Interval invalid selectat. Prețul minim trebuie să fie mai mic decât prețul maxim." -#: src/lib/hooks/swap/useSwapCallback.tsx #: src/state/swap/hooks.tsx msgid "Invalid recipient" msgstr "Destinatar nevalid" @@ -1059,6 +1051,7 @@ msgstr "" #: src/components/PrivacyPolicy/index.tsx #: src/components/PrivacyPolicy/index.tsx +#: src/components/TaxServiceModal/TaxServiceBanner.tsx #: src/components/TokenSafety/TokenSafetyMessage.tsx #: src/components/TokenSafety/index.tsx #: src/pages/Landing/index.tsx @@ -1098,6 +1091,10 @@ msgstr "Furnizorii de lichidități câștigă o taxă de 0,3 % pentru toate tra msgid "List NFTs" msgstr "" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "List for sale" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Listing an NFT requires a one-time marketplace approval for each NFT collection." msgstr "" @@ -1219,10 +1216,6 @@ msgstr "Minimum primit" msgid "Missing chart data" msgstr "" -#: src/lib/hooks/swap/useSwapCallback.tsx -msgid "Missing dependencies" -msgstr "Dependențe lipsă" - #: src/components/Tokens/TokenDetails/PriceChart.tsx msgid "Missing price data due to recently low trading volume on Uniswap v3" msgstr "" @@ -1259,6 +1252,10 @@ msgstr "" msgid "Name not found" msgstr "" +#: src/components/NavBar/NavIcon.tsx +msgid "Navigation button" +msgstr "" + #: src/components/swap/AdvancedSwapDetails.tsx msgid "Network Fee" msgstr "" @@ -1287,6 +1284,10 @@ msgstr "Nu există date" msgid "No description." msgstr "Fără descriere." +#: src/nft/pages/profile/profile.tsx +msgid "No items to display" +msgstr "" + #: src/pages/Pool/v2.tsx msgid "No liquidity found." msgstr "Nu a fost găsită nicio lichiditate." @@ -1327,6 +1328,10 @@ msgstr "" msgid "Not created" msgstr "Nu a fost creat" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Not listed" +msgstr "" + #: src/components/Settings/index.tsx msgid "ONLY USE THIS MODE IF YOU KNOW WHAT YOU ARE DOING." msgstr "UTILIZEAZĂ DOAR ACEST MOD DACĂ ȘTII CE TREBUIE SĂ FACI." @@ -1347,6 +1352,11 @@ msgstr "Doar voturile UNI care au fost auto-delegate sau delegate la o altă adr msgid "Oops, take me back to Swap" msgstr "" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Open wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx msgid "Out of range" msgstr "Prea departe" @@ -1405,7 +1415,6 @@ msgid "Please type the word \"{confirmWord}\" to enable expert mode." msgstr "Te rugăm să introduci cuvântul \"{confirmWord}\" pentru a activa modul expert." #: src/components/AccountDetailsV2/TransactionBody.tsx -#: src/components/NavBar/index.tsx msgid "Pool" msgstr "Grup" @@ -1429,6 +1438,7 @@ msgstr "Jetoane de grup în recompense de grup:" msgid "Pooled {0}:" msgstr "Grupat {0}:" +#: src/components/NavBar/index.tsx #: src/pages/Pool/index.tsx #: src/pages/Pool/index.tsx msgid "Pools" @@ -1623,6 +1633,11 @@ msgstr "Elimină Delegatul" msgid "Remove Liquidity" msgstr "Elimină Lichiditatea" +#: src/nft/components/collection/CollectionAsset.tsx +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Remove from bag" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "Remove item" msgstr "" @@ -1631,11 +1646,6 @@ msgstr "" msgid "Removed" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Removed from bag" -msgstr "" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Removing" msgstr "" @@ -1648,7 +1658,7 @@ msgstr "Se elimină {0} {1} și {2} {3}" msgid "Removing {0} {1} and{2} {3}" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Resolve {issues} issues" msgstr "" @@ -1670,6 +1680,15 @@ msgstr "" msgid "Same Price" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Save on Tax Services" +msgstr "" + +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +#: src/components/TaxServiceModal/index.tsx +msgid "Save on your crypto taxes" +msgstr "" + #: src/components/NavBar/SearchBar.tsx msgid "Search" msgstr "" @@ -1726,10 +1745,6 @@ msgstr "" msgid "Sell NFTs" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Selling ERC-1155s coming soon" -msgstr "" - #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/MigrateV2/MigrateV2Pair.tsx @@ -1740,7 +1755,7 @@ msgstr "Setează Intervalul de Preț" msgid "Set Starting Price" msgstr "Setează Prețul de Început" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Set prices to continue" msgstr "" @@ -1778,6 +1793,10 @@ msgstr "" msgid "Show more" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Show resources" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Sign" msgstr "" @@ -1812,7 +1831,7 @@ msgstr "" msgid "Sorry, an error occured while processing your request. If you request support, be sure to provide your error ID." msgstr "" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Start listing" msgstr "" @@ -1854,11 +1873,9 @@ msgstr "Se furnizează {0} {1} și {2} {3}" #: src/components/AccountDetailsV2/TransactionBody.tsx #: src/components/NavBar/index.tsx -#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/components/swap/SwapHeader.tsx #: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx -#: src/pages/Swap/index.tsx msgid "Swap" msgstr "Schimbă" @@ -1866,7 +1883,6 @@ msgstr "Schimbă" msgid "Swap <0/> for exactly <1/>" msgstr "Schimbați <0 /> pentru exact <1 />" -#: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx msgid "Swap Anyway" msgstr "Schimbă Oricum" @@ -1875,11 +1891,6 @@ msgstr "Schimbă Oricum" msgid "Swap exactly <0/> for <1/>" msgstr "Schimbați exact <0 /> cu <1 />" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Swap failed: {0}" -msgstr "Schimbarea a eșuat: {0}" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Swapped" msgstr "" @@ -1994,10 +2005,6 @@ msgstr "Prețul acestui pool se încadrează în intervalul selectat. Poziția d msgid "The ratio of tokens you add will set the price of this pool." msgstr "Raportul dintre jetoanele adăugate va stabili prețul acestui grup." -#: src/utils/swapErrorToUserReadableMessage.tsx -msgid "The transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." -msgstr "Tranzacția nu a putut fi trimisă deoarece termenul a trecut. Te rugăm să verifici dacă termenul limită al acestei tranzacției nu este prea mic." - #: src/components/LiquidityChartRangeInput/index.tsx msgid "There is no liquidity data." msgstr "" @@ -2010,10 +2017,6 @@ msgstr "" msgid "This app uses the following third-party APIs:" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -msgid "This item is not for sale" -msgstr "" - #: src/pages/AddLiquidity/index.tsx msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction." msgstr "" @@ -2042,6 +2045,10 @@ msgstr "" msgid "This tool will safely migrate your {0} liquidity to V3. The process is completely trustless thanks to the" msgstr "Acest instrument va migra în siguranță lichiditatea ta {0} în V3. Procesul este complet lipsit de încredere datorită" +#: src/utils/swapErrorToUserReadableMessage.tsx +msgid "This transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." +msgstr "" + #: src/utils/swapErrorToUserReadableMessage.tsx 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 "Această tranzacție nu va reuși din cauza mișcării prețurilor. Încercați să vă măriți toleranța la alunecare. Notă: taxa pentru jetoane de transfer și rebase sunt incompatibile cu Uniswap V3." @@ -2073,6 +2080,10 @@ msgstr "" msgid "Token name" msgstr "" +#: src/components/TokenSafety/index.tsx +msgid "Token not found" +msgstr "" + #: src/components/NavBar/SearchBarDropdown.tsx #: src/components/NavBar/index.tsx msgid "Tokens" @@ -2121,9 +2132,6 @@ msgstr "Termen limită tranzacție" msgid "Transaction pending" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/utils/swapErrorToUserReadableMessage.tsx #: src/utils/swapErrorToUserReadableMessage.tsx msgid "Transaction rejected" msgstr "Tranzacție respinsă" @@ -2161,6 +2169,10 @@ msgstr "Jetoanele UNI reprezintă acțiunile cu drept de vot în guvernarea Unis msgid "UNI {0}/{1} Burned" msgstr "UNI {0}/{1} Ars(e)" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Unavailable for listing" +msgstr "" + #: src/pages/Pool/PositionPage.tsx msgid "Unclaimed fees" msgstr "Taxe nesolicitate" @@ -2169,22 +2181,22 @@ msgstr "Taxe nesolicitate" msgid "Undetermined" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected error. Could not estimate gas for the swap." -msgstr "Eroare neașteptată. Nu s-a putut estima gazul pentru swap." - -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected issue with estimating the gas. Please try again." -msgstr "Problemă neașteptată cu estimarea gazului. Vă rugăm să încercați din nou." - #: src/pages/Vote/Landing.tsx msgid "Uniswap Governance" msgstr "Guvernare Uniswap" +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +msgid "Uniswap Labs can save you up to 20% on CoinTracker and TokenTax" +msgstr "" + #: src/components/PrivacyPolicy/index.tsx msgid "Uniswap Labs' Terms of Service" msgstr "" +#: src/pages/Pool/v2.tsx +msgid "Uniswap V2 is not available on this network." +msgstr "" + #: src/components/SwitchLocaleLink/index.tsx msgid "Uniswap available in: <0>{0}" msgstr "Uniswap disponibil în: <0>{0}" @@ -2253,10 +2265,6 @@ msgstr "Actualizează Delegarea" msgid "Use the Uniswap Labs API to get faster quotes." msgstr "" -#: src/pages/Pool/v2.tsx -msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum." -msgstr "" - #: src/pages/Pool/index.tsx msgid "V2 liquidity" msgstr "Lichiditate V2" @@ -2278,7 +2286,6 @@ msgstr "" msgid "View more analytics" msgstr "" -#: src/components/TransactionConfirmationModal/index.tsx #: src/nft/components/collection/TransactionCompleteModal.tsx #: src/pages/CreateProposal/ProposalSubmissionModal.tsx msgid "View on Etherscan" @@ -2289,6 +2296,10 @@ msgstr "Vizualizare pe Etherscan" msgid "View on Explorer" msgstr "Vizualizează pe Explorer" +#: src/components/TransactionConfirmationModal/index.tsx +msgid "View on {0}" +msgstr "" + #: src/components/ModalViews/index.tsx #: src/components/claim/AddressClaimModal.tsx #: src/components/vote/ExecuteModal.tsx @@ -2433,10 +2444,6 @@ msgstr "Ești primul furnizor de lichidități." msgid "You can either vote on each proposal yourself or delegate your votes to a third party." msgstr "Poți fie să votezi pentru fiecare propunere personală sau să delegi voturile către un terț." -#: src/pages/Swap/index.tsx -msgid "You can now trade {0}" -msgstr "Acum poți tranzacționa {0}" - #: src/pages/CreateProposal/index.tsx msgid "You don't have enough votes to submit a proposal" msgstr "" @@ -2453,10 +2460,6 @@ msgstr "" msgid "You must connect an account." msgstr "Trebuie să conectezi un cont." -#: src/pages/Swap/index.tsx -msgid "You must give the Uniswap smart contracts permission to use your {0}. You only have to do this once per token." -msgstr "Trebuie să acorzi permisiunea contractelor inteligente Uniswap de a-ți utiliza {0}. Trebuie să faci asta o singură dată per jeton." - #: src/pages/CreateProposal/index.tsx msgid "You must have {formattedProposalThreshold} votes to submit a proposal" msgstr "" @@ -2534,9 +2537,10 @@ msgid "Your positions" msgstr "Pozițiile tale" #: src/hooks/useUniversalRouter.ts +msgid "Your swap is expected to fail." +msgstr "" + #: src/hooks/useUniversalRouter.ts -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx msgid "Your swap was modified through your wallet. If this was a mistake, please cancel immediately or risk losing your funds." msgstr "" @@ -2587,6 +2591,10 @@ msgstr "" msgid "and" msgstr "" +#: src/nft/components/card/media.tsx +msgid "available yet" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "below floor price." msgstr "" @@ -2644,7 +2652,7 @@ msgstr "" msgid "to" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "{0, plural, =1 {Resolve issue} other {{1}}}" msgstr "" @@ -2672,6 +2680,7 @@ msgstr "" #: src/components/ErrorBoundary/index.tsx #: src/components/RateToggle/index.tsx #: src/components/RateToggle/index.tsx +#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/nft/components/bag/BagFooter.tsx msgid "{0}" msgstr "{0}" @@ -2680,11 +2689,6 @@ msgstr "{0}" msgid "{0} %" msgstr "{0} %" -#: src/components/PositionListItem/index.tsx -#: src/components/PositionListItem/index.tsx -msgid "{0} <0/> per <1/>" -msgstr "{0} <0/> pe <1/>" - #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx msgid "{0} Deposited" diff --git a/src/locales/ru-RU.po b/src/locales/ru-RU.po index 27217d30ed8..ad849d4218f 100644 --- a/src/locales/ru-RU.po +++ b/src/locales/ru-RU.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: uniswap-interface\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-17 00:17\n" +"PO-Revision-Date: 2023-03-21 23:05\n" "Last-Translator: \n" "Language: ru_RU\n" "Language-Team: Russian\n" @@ -116,6 +116,11 @@ msgstr "<0>Подсказка: При добавлении ликвидно msgid "<0>Unlock voting to prepare for the next proposal." msgstr "<0>Разблокируйте голосование, чтобы подготовиться к следующему предложению." +#: src/components/PositionListItem/index.tsx +#: src/components/PositionListItem/index.tsx +msgid "<0>{0} <1/> per <2/>" +msgstr "" + #: src/pages/Vote/Landing.tsx msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals" msgstr "Для внесения предложений требуется минимальный порог в 0,25% от общего предложения UNI" @@ -171,6 +176,10 @@ msgstr "Добавить ликвидность." msgid "Add more liquidity" msgstr "Добавить ещё ликвидность" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Add to bag" +msgstr "" + #: src/components/TransactionConfirmationModal/index.tsx msgid "Add {0}" msgstr "Добавить {0}" @@ -183,11 +192,6 @@ msgstr "Добавить ликвидность {0}/{1} в V3" msgid "Added" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Added to bag" -msgstr "" - #: src/components/TransactionConfirmationModal/index.tsx msgid "Added {0}" msgstr "{0} добавлен" @@ -216,10 +220,6 @@ msgstr "Разрешить перенос LP-токенов" msgid "Allow high price impact trades and skip the confirm screen. Use at your own risk." msgstr "Разрешить сделки с высоким влиянием на цену и не показывать экран подтверждения. Используйте на свой страх и риск." -#: src/pages/Swap/index.tsx -msgid "Allow the Uniswap Protocol to use your {0}" -msgstr "Разрешить протоколу Uniswap использовать ваши {0}" - #: src/pages/MigrateV2/MigrateV2Pair.tsx msgid "Allowed" msgstr "Разрешено" @@ -353,11 +353,10 @@ msgstr "Стоимость газа в маршруте с лучшей цено msgid "Blocked Address" msgstr "Заблокированный адрес" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Blocked from trading" +#: src/nft/components/card/icons.tsx +msgid "Blocked on OpenSea" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx #: src/components/WalletDropdown/AuthenticatedHeader.tsx msgid "Buy crypto" msgstr "" @@ -451,6 +450,11 @@ msgstr "Очистить всё" msgid "Close" msgstr "Закрыть" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Close wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx #: src/pages/RemoveLiquidity/V3.tsx msgid "Closed" @@ -530,6 +534,7 @@ msgstr "Подтвердите транзакцию в кошельке" msgid "Connect" msgstr "Подключить" +#: src/nft/pages/profile/profile.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidityV2/index.tsx #: src/pages/RemoveLiquidity/index.tsx @@ -567,6 +572,11 @@ msgstr "Подключить кошелёк" msgid "Connected with" msgstr "Подключено к" +#: src/nft/components/card/media.tsx +msgid "Content not" +msgstr "" + +#: src/nft/components/bag/Bag.tsx #: src/nft/components/profile/list/Modal/BelowFloorWarningModal.tsx msgid "Continue" msgstr "" @@ -610,10 +620,6 @@ msgstr "Создать предложение" msgid "Create a pair" msgstr "Создать пару" -#: src/pages/Pool/index.tsx -msgid "Create a pool" -msgstr "Создать пул" - #: src/components/AccountDetails/TransactionSummary.tsx msgid "Create pool and add {0}/{1} V3 liquidity" msgstr "Создать пул и добавить ликвидность {0}/{1} в V3" @@ -725,10 +731,6 @@ msgstr "Изменить" msgid "Edit listings" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Efficiency Comparison" -msgstr "Сравнение эффективности" - #: src/state/burn/v3/hooks.tsx msgid "Enter a percent" msgstr "Введите процент" @@ -916,18 +918,10 @@ msgstr "Обменять токены (максимум)" msgid "Full Range" msgstr "Полный диапазон" -#: src/pages/AddLiquidity/index.tsx -msgid "Full range positions may earn less fees than concentrated positions. Learn more <0>here." -msgstr "Позиции полного диапазона могут зарабатывать меньше комиссий, чем концентрированные позиции. Узнайте подробнее <0> здесь." - #: src/components/ErrorBoundary/index.tsx msgid "Get support" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx -msgid "Get tokens at the best prices in web3 on Uniswap, powered by Moonpay." -msgstr "" - #: src/components/NavBar/MenuDropdown.tsx msgid "Help center" msgstr "" @@ -942,12 +936,11 @@ msgstr "Скрыть" msgid "Hide closed positions" msgstr "Скрыть закрытые позиции" -#: src/pages/Swap/index.tsx -msgid "High Price Impact" -msgstr "Высокое влияние на цену" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Hide resources" +msgstr "" #: src/components/TokenSafety/index.tsx -#: src/pages/AddLiquidity/index.tsx msgid "I understand" msgstr "Я понимаю" @@ -1031,7 +1024,6 @@ msgstr "Цена указана неверно" msgid "Invalid range selected. The min price must be lower than the max price." msgstr "Выбран неверный диапазон. Минимальная цена должна быть меньше, чем максимальная цена." -#: src/lib/hooks/swap/useSwapCallback.tsx #: src/state/swap/hooks.tsx msgid "Invalid recipient" msgstr "Неверный получатель" @@ -1059,6 +1051,7 @@ msgstr "Узнать подробнее о предоставлении ликв #: src/components/PrivacyPolicy/index.tsx #: src/components/PrivacyPolicy/index.tsx +#: src/components/TaxServiceModal/TaxServiceBanner.tsx #: src/components/TokenSafety/TokenSafetyMessage.tsx #: src/components/TokenSafety/index.tsx #: src/pages/Landing/index.tsx @@ -1098,6 +1091,10 @@ msgstr "Поставщики ликвидности зарабатывают 0,3 msgid "List NFTs" msgstr "" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "List for sale" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Listing an NFT requires a one-time marketplace approval for each NFT collection." msgstr "" @@ -1219,10 +1216,6 @@ msgstr "Минимум к получению" msgid "Missing chart data" msgstr "" -#: src/lib/hooks/swap/useSwapCallback.tsx -msgid "Missing dependencies" -msgstr "Отсутствуют зависимости" - #: src/components/Tokens/TokenDetails/PriceChart.tsx msgid "Missing price data due to recently low trading volume on Uniswap v3" msgstr "" @@ -1259,6 +1252,10 @@ msgstr "NFT" msgid "Name not found" msgstr "Имя не найдено" +#: src/components/NavBar/NavIcon.tsx +msgid "Navigation button" +msgstr "" + #: src/components/swap/AdvancedSwapDetails.tsx msgid "Network Fee" msgstr "Комиссия сети" @@ -1287,6 +1284,10 @@ msgstr "Нет данных" msgid "No description." msgstr "Нет описания." +#: src/nft/pages/profile/profile.tsx +msgid "No items to display" +msgstr "" + #: src/pages/Pool/v2.tsx msgid "No liquidity found." msgstr "Ликвидность не найдена." @@ -1327,6 +1328,10 @@ msgstr "" msgid "Not created" msgstr "Не создано" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Not listed" +msgstr "" + #: src/components/Settings/index.tsx msgid "ONLY USE THIS MODE IF YOU KNOW WHAT YOU ARE DOING." msgstr "ИСПОЛЬЗУЙТЕ ЭТОТ РЕЖИМ, ТОЛЬКО ЕСЛИ ЗНАЕТЕ, ЧТО ДЕЛАЕТЕ." @@ -1347,6 +1352,11 @@ msgstr "Проголосовать могут только те голоса UNI msgid "Oops, take me back to Swap" msgstr "" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Open wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx msgid "Out of range" msgstr "Вне диапазона" @@ -1405,7 +1415,6 @@ msgid "Please type the word \"{confirmWord}\" to enable expert mode." msgstr "Пожалуйста, введите слово \"{confirmWord}\", чтобы включить экспертный режим." #: src/components/AccountDetailsV2/TransactionBody.tsx -#: src/components/NavBar/index.tsx msgid "Pool" msgstr "Пулы" @@ -1429,6 +1438,7 @@ msgstr "Токены пулов в пуле вознаграждений:" msgid "Pooled {0}:" msgstr "{0} в пуле:" +#: src/components/NavBar/index.tsx #: src/pages/Pool/index.tsx #: src/pages/Pool/index.tsx msgid "Pools" @@ -1623,6 +1633,11 @@ msgstr "Удалить делегата" msgid "Remove Liquidity" msgstr "Удалить ликвидность" +#: src/nft/components/collection/CollectionAsset.tsx +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Remove from bag" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "Remove item" msgstr "" @@ -1631,11 +1646,6 @@ msgstr "" msgid "Removed" msgstr "Удалено" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Removed from bag" -msgstr "" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Removing" msgstr "" @@ -1648,7 +1658,7 @@ msgstr "Удаление {0} {1} и {2} {3}" msgid "Removing {0} {1} and{2} {3}" msgstr "Удаление {0} {1} и{2} {3}" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Resolve {issues} issues" msgstr "" @@ -1670,6 +1680,15 @@ msgstr "" msgid "Same Price" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Save on Tax Services" +msgstr "" + +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +#: src/components/TaxServiceModal/index.tsx +msgid "Save on your crypto taxes" +msgstr "" + #: src/components/NavBar/SearchBar.tsx msgid "Search" msgstr "" @@ -1726,10 +1745,6 @@ msgstr "" msgid "Sell NFTs" msgstr "Продать NFT" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Selling ERC-1155s coming soon" -msgstr "" - #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/MigrateV2/MigrateV2Pair.tsx @@ -1740,7 +1755,7 @@ msgstr "Установите диапазон цен" msgid "Set Starting Price" msgstr "Установите начальную цену" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Set prices to continue" msgstr "" @@ -1778,6 +1793,10 @@ msgstr "Показать закрытые позиции" msgid "Show more" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Show resources" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Sign" msgstr "" @@ -1812,7 +1831,7 @@ msgstr "" msgid "Sorry, an error occured while processing your request. If you request support, be sure to provide your error ID." msgstr "" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Start listing" msgstr "" @@ -1854,11 +1873,9 @@ msgstr "Внесение {0} {1} и {2} {3}" #: src/components/AccountDetailsV2/TransactionBody.tsx #: src/components/NavBar/index.tsx -#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/components/swap/SwapHeader.tsx #: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx -#: src/pages/Swap/index.tsx msgid "Swap" msgstr "Обменять" @@ -1866,7 +1883,6 @@ msgstr "Обменять" msgid "Swap <0/> for exactly <1/>" msgstr "Обменять <0/> на ровно <1/>" -#: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx msgid "Swap Anyway" msgstr "Всё равно обменять" @@ -1875,11 +1891,6 @@ msgstr "Всё равно обменять" msgid "Swap exactly <0/> for <1/>" msgstr "Обменять ровно <0/> на <1/>" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Swap failed: {0}" -msgstr "Обмен не удался: {0}" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Swapped" msgstr "Выполнен обмен" @@ -1994,10 +2005,6 @@ msgstr "Цена этого пула находится в пределах вы msgid "The ratio of tokens you add will set the price of this pool." msgstr "Соотношение добавляемых вами токенов установит цену этого пула." -#: src/utils/swapErrorToUserReadableMessage.tsx -msgid "The transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." -msgstr "Транзакция не может быть отправлена, потому что срок её действия истек. Пожалуйста, убедитесь, что срок действия вашей транзакции не слишком короткий." - #: src/components/LiquidityChartRangeInput/index.tsx msgid "There is no liquidity data." msgstr "Нет данных о ликвидности." @@ -2010,10 +2017,6 @@ msgstr "Этот адрес заблокирован в интерфейсе Uni msgid "This app uses the following third-party APIs:" msgstr "Это приложение использует следующие сторонние API:" -#: src/nft/components/collection/CollectionAsset.tsx -msgid "This item is not for sale" -msgstr "" - #: src/pages/AddLiquidity/index.tsx msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction." msgstr "Этот пул необходимо инициализировать, прежде чем вы сможете добавить ликвидность. Для инициализации выберите начальную цену для пула. Затем введите диапазон цен для ликвидности и сумму депозита. Плата за газ будет выше, чем обычно, из-за инициализирующей транзакции." @@ -2042,6 +2045,10 @@ msgstr "" msgid "This tool will safely migrate your {0} liquidity to V3. The process is completely trustless thanks to the" msgstr "При помощи этого инструмент вы можете безопасно перенести свою ликвидность {0} в V3. Процесс не требует доверия благодаря" +#: src/utils/swapErrorToUserReadableMessage.tsx +msgid "This transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." +msgstr "" + #: src/utils/swapErrorToUserReadableMessage.tsx 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." @@ -2073,6 +2080,10 @@ msgstr "" msgid "Token name" msgstr "" +#: src/components/TokenSafety/index.tsx +msgid "Token not found" +msgstr "" + #: src/components/NavBar/SearchBarDropdown.tsx #: src/components/NavBar/index.tsx msgid "Tokens" @@ -2121,9 +2132,6 @@ msgstr "Cрок действия транзакции" msgid "Transaction pending" msgstr "Транзакция подтверждается" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/utils/swapErrorToUserReadableMessage.tsx #: src/utils/swapErrorToUserReadableMessage.tsx msgid "Transaction rejected" msgstr "Транзакция отклонена" @@ -2161,6 +2169,10 @@ msgstr "Токены UNI представляют собой права голо msgid "UNI {0}/{1} Burned" msgstr "UNI {0}/{1} сожжено" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Unavailable for listing" +msgstr "" + #: src/pages/Pool/PositionPage.tsx msgid "Unclaimed fees" msgstr "Невостребованные комиссии" @@ -2169,22 +2181,22 @@ msgstr "Невостребованные комиссии" msgid "Undetermined" msgstr "Не определено" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected error. Could not estimate gas for the swap." -msgstr "Неожиданная ошибка. Невозможно спрогнозировать газ для обмена." - -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected issue with estimating the gas. Please try again." -msgstr "Неожиданная проблема при прогнозировании газа. Пожалуйста, попробуйте еще раз." - #: src/pages/Vote/Landing.tsx msgid "Uniswap Governance" msgstr "Управление Uniswap" +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +msgid "Uniswap Labs can save you up to 20% on CoinTracker and TokenTax" +msgstr "" + #: src/components/PrivacyPolicy/index.tsx msgid "Uniswap Labs' Terms of Service" msgstr "Условия предоставления услуг Uniswap Labs" +#: src/pages/Pool/v2.tsx +msgid "Uniswap V2 is not available on this network." +msgstr "" + #: src/components/SwitchLocaleLink/index.tsx msgid "Uniswap available in: <0>{0}" msgstr "Uniswap доступен на языке <0>{0}" @@ -2253,10 +2265,6 @@ msgstr "Обновить делегирование" msgid "Use the Uniswap Labs API to get faster quotes." msgstr "Использовать API от Uniswap Labs, чтобы быстрее получать котировки." -#: src/pages/Pool/v2.tsx -msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum." -msgstr "" - #: src/pages/Pool/index.tsx msgid "V2 liquidity" msgstr "Ликвидность в V2" @@ -2278,7 +2286,6 @@ msgstr "" msgid "View more analytics" msgstr "" -#: src/components/TransactionConfirmationModal/index.tsx #: src/nft/components/collection/TransactionCompleteModal.tsx #: src/pages/CreateProposal/ProposalSubmissionModal.tsx msgid "View on Etherscan" @@ -2289,6 +2296,10 @@ msgstr "Посмотреть на Etherscan" msgid "View on Explorer" msgstr "Просмотреть в обозревателе" +#: src/components/TransactionConfirmationModal/index.tsx +msgid "View on {0}" +msgstr "" + #: src/components/ModalViews/index.tsx #: src/components/claim/AddressClaimModal.tsx #: src/components/vote/ExecuteModal.tsx @@ -2433,10 +2444,6 @@ msgstr "Вы первый поставщик ликвидности." msgid "You can either vote on each proposal yourself or delegate your votes to a third party." msgstr "Вы можете проголосовать за каждое предложение самостоятельно или делегировать свои голоса третьей стороне." -#: src/pages/Swap/index.tsx -msgid "You can now trade {0}" -msgstr "Теперь вы можете торговать {0}" - #: src/pages/CreateProposal/index.tsx msgid "You don't have enough votes to submit a proposal" msgstr "У вас недостаточно голосов для внесения предложения" @@ -2453,10 +2460,6 @@ msgstr "Возможно, у вас отсутствует соединение msgid "You must connect an account." msgstr "Вы должны подключить аккаунт." -#: src/pages/Swap/index.tsx -msgid "You must give the Uniswap smart contracts permission to use your {0}. You only have to do this once per token." -msgstr "Вы должны дать разрешение смарт-контрактам Uniswap на использование ваших {0}. Это нужно сделать только один раз для каждого токена." - #: src/pages/CreateProposal/index.tsx msgid "You must have {formattedProposalThreshold} votes to submit a proposal" msgstr "У вас должно быть {formattedProposalThreshold} голосов, чтобы вносить предложения" @@ -2534,9 +2537,10 @@ msgid "Your positions" msgstr "Ваши позиции" #: src/hooks/useUniversalRouter.ts +msgid "Your swap is expected to fail." +msgstr "" + #: src/hooks/useUniversalRouter.ts -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx msgid "Your swap was modified through your wallet. If this was a mistake, please cancel immediately or risk losing your funds." msgstr "" @@ -2587,6 +2591,10 @@ msgstr "после проскальзывания" msgid "and" msgstr "" +#: src/nft/components/card/media.tsx +msgid "available yet" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "below floor price." msgstr "" @@ -2644,7 +2652,7 @@ msgstr "" msgid "to" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "{0, plural, =1 {Resolve issue} other {{1}}}" msgstr "" @@ -2672,6 +2680,7 @@ msgstr "" #: src/components/ErrorBoundary/index.tsx #: src/components/RateToggle/index.tsx #: src/components/RateToggle/index.tsx +#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/nft/components/bag/BagFooter.tsx msgid "{0}" msgstr "{0}" @@ -2680,11 +2689,6 @@ msgstr "{0}" msgid "{0} %" msgstr "{0} %" -#: src/components/PositionListItem/index.tsx -#: src/components/PositionListItem/index.tsx -msgid "{0} <0/> per <1/>" -msgstr "{0} <0/> за <1/>" - #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx msgid "{0} Deposited" diff --git a/src/locales/sl-SI.po b/src/locales/sl-SI.po index 90273b73991..7cdbbc66c0e 100644 --- a/src/locales/sl-SI.po +++ b/src/locales/sl-SI.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: uniswap-interface\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-17 00:17\n" +"PO-Revision-Date: 2023-03-21 23:05\n" "Last-Translator: \n" "Language: sl_SI\n" "Language-Team: Slovenian\n" @@ -116,6 +116,11 @@ msgstr "<0> Komentar: Ko dodate likvidnost, boste prejeli žetone sklada, ki msgid "<0>Unlock voting to prepare for the next proposal." msgstr "<0>Odklenite glasovanje, če se želite pripraviti na naslednjo pobudo." +#: src/components/PositionListItem/index.tsx +#: src/components/PositionListItem/index.tsx +msgid "<0>{0} <1/> per <2/>" +msgstr "" + #: src/pages/Vote/Landing.tsx msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals" msgstr "Za predložitev predlogov potrebujete vsaj 0,25 % celotne zaloge UNI." @@ -171,6 +176,10 @@ msgstr "Dodaj likvidnost." msgid "Add more liquidity" msgstr "Dodaj dodatno likvidnost" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Add to bag" +msgstr "" + #: src/components/TransactionConfirmationModal/index.tsx msgid "Add {0}" msgstr "Dodaj {0}" @@ -183,11 +192,6 @@ msgstr "Dodaj V3-likvidnost {0}/{1}" msgid "Added" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Added to bag" -msgstr "" - #: src/components/TransactionConfirmationModal/index.tsx msgid "Added {0}" msgstr "Dodano v {0}" @@ -216,10 +220,6 @@ msgstr "Dovoli migracijo likvidnostnih (LP) žetonov" msgid "Allow high price impact trades and skip the confirm screen. Use at your own risk." msgstr "Dovolite trgovanje z visokim vplivom na ceno in preskočite zaslon za potrditev. Uporabljajte na lastno odgovornost." -#: src/pages/Swap/index.tsx -msgid "Allow the Uniswap Protocol to use your {0}" -msgstr "Dovoli protokolu Uniswap, da uporabi vaše {0}" - #: src/pages/MigrateV2/MigrateV2Pair.tsx msgid "Allowed" msgstr "Dovoljeno" @@ -353,11 +353,10 @@ msgstr "Pot z najnižjo ceno stane ~{formattedGasPriceString} v plinu." msgid "Blocked Address" msgstr "Blokiran naslov" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Blocked from trading" +#: src/nft/components/card/icons.tsx +msgid "Blocked on OpenSea" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx #: src/components/WalletDropdown/AuthenticatedHeader.tsx msgid "Buy crypto" msgstr "" @@ -451,6 +450,11 @@ msgstr "Počisti vse" msgid "Close" msgstr "Zapri" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Close wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx #: src/pages/RemoveLiquidity/V3.tsx msgid "Closed" @@ -530,6 +534,7 @@ msgstr "V denarnici potrdite transakcijo" msgid "Connect" msgstr "" +#: src/nft/pages/profile/profile.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidityV2/index.tsx #: src/pages/RemoveLiquidity/index.tsx @@ -567,6 +572,11 @@ msgstr "Poveži denarnico" msgid "Connected with" msgstr "Povezano z" +#: src/nft/components/card/media.tsx +msgid "Content not" +msgstr "" + +#: src/nft/components/bag/Bag.tsx #: src/nft/components/profile/list/Modal/BelowFloorWarningModal.tsx msgid "Continue" msgstr "" @@ -610,10 +620,6 @@ msgstr "Ustvari pobudo" msgid "Create a pair" msgstr "Ustvarite par" -#: src/pages/Pool/index.tsx -msgid "Create a pool" -msgstr "Ustvari sklad" - #: src/components/AccountDetails/TransactionSummary.tsx msgid "Create pool and add {0}/{1} V3 liquidity" msgstr "Ustvari sklad in dodaj V3-likvidnost za {0}/{1}" @@ -725,10 +731,6 @@ msgstr "Uredi" msgid "Edit listings" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Efficiency Comparison" -msgstr "Primerjava učinkovitosti" - #: src/state/burn/v3/hooks.tsx msgid "Enter a percent" msgstr "Vnesite odstotek" @@ -916,18 +918,10 @@ msgstr "Od (največ)" msgid "Full Range" msgstr "Poln razpon" -#: src/pages/AddLiquidity/index.tsx -msgid "Full range positions may earn less fees than concentrated positions. Learn more <0>here." -msgstr "Položaji polnega razpona lahko zaslužijo manj provizij kot koncentrirane pozicije. Preberite več <0> tukaj." - #: src/components/ErrorBoundary/index.tsx msgid "Get support" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx -msgid "Get tokens at the best prices in web3 on Uniswap, powered by Moonpay." -msgstr "" - #: src/components/NavBar/MenuDropdown.tsx msgid "Help center" msgstr "" @@ -942,12 +936,11 @@ msgstr "Skrij" msgid "Hide closed positions" msgstr "Skrij zaprte pozicije" -#: src/pages/Swap/index.tsx -msgid "High Price Impact" -msgstr "Visok vpliv na ceno" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Hide resources" +msgstr "" #: src/components/TokenSafety/index.tsx -#: src/pages/AddLiquidity/index.tsx msgid "I understand" msgstr "Razumem" @@ -1031,7 +1024,6 @@ msgstr "Neveljaven vnos cene" msgid "Invalid range selected. The min price must be lower than the max price." msgstr "Razpon ni veljaven. Najnižja cena mora biti nižja od najvišje." -#: src/lib/hooks/swap/useSwapCallback.tsx #: src/state/swap/hooks.tsx msgid "Invalid recipient" msgstr "Neveljaven prejemnik" @@ -1059,6 +1051,7 @@ msgstr "Naučite se vse o polaganju likvidnosti" #: src/components/PrivacyPolicy/index.tsx #: src/components/PrivacyPolicy/index.tsx +#: src/components/TaxServiceModal/TaxServiceBanner.tsx #: src/components/TokenSafety/TokenSafetyMessage.tsx #: src/components/TokenSafety/index.tsx #: src/pages/Landing/index.tsx @@ -1098,6 +1091,10 @@ msgstr "Ponudniki likvidnosti služijo provizijo 0,3 % od vseh poslov, sorazmern msgid "List NFTs" msgstr "" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "List for sale" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Listing an NFT requires a one-time marketplace approval for each NFT collection." msgstr "" @@ -1219,10 +1216,6 @@ msgstr "Prejmete najmanj" msgid "Missing chart data" msgstr "" -#: src/lib/hooks/swap/useSwapCallback.tsx -msgid "Missing dependencies" -msgstr "Manjkajoče odvisnosti" - #: src/components/Tokens/TokenDetails/PriceChart.tsx msgid "Missing price data due to recently low trading volume on Uniswap v3" msgstr "" @@ -1259,6 +1252,10 @@ msgstr "" msgid "Name not found" msgstr "" +#: src/components/NavBar/NavIcon.tsx +msgid "Navigation button" +msgstr "" + #: src/components/swap/AdvancedSwapDetails.tsx msgid "Network Fee" msgstr "Omrežna provizija" @@ -1287,6 +1284,10 @@ msgstr "Ni podatkov" msgid "No description." msgstr "Brez opisa" +#: src/nft/pages/profile/profile.tsx +msgid "No items to display" +msgstr "" + #: src/pages/Pool/v2.tsx msgid "No liquidity found." msgstr "Ni likvidnosti." @@ -1327,6 +1328,10 @@ msgstr "" msgid "Not created" msgstr "Ni ustvarjeno" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Not listed" +msgstr "" + #: src/components/Settings/index.tsx msgid "ONLY USE THIS MODE IF YOU KNOW WHAT YOU ARE DOING." msgstr "Ta način uporabljajte SAMO, ČE VESTE, KAJ POČNETE." @@ -1347,6 +1352,11 @@ msgstr "Do glasovanja so upravičeni samo glasovi UNI, ki so bili samozastopani msgid "Oops, take me back to Swap" msgstr "" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Open wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx msgid "Out of range" msgstr "Zunaj razpona" @@ -1405,7 +1415,6 @@ msgid "Please type the word \"{confirmWord}\" to enable expert mode." msgstr "Prosimo, vnesite besedo \"{confirmWord}\", če želite omogočiti strokovni način." #: src/components/AccountDetailsV2/TransactionBody.tsx -#: src/components/NavBar/index.tsx msgid "Pool" msgstr "Skladi" @@ -1429,6 +1438,7 @@ msgstr "Žetoni sklada v skladu nagrad:" msgid "Pooled {0}:" msgstr "{0} v skladu:" +#: src/components/NavBar/index.tsx #: src/pages/Pool/index.tsx #: src/pages/Pool/index.tsx msgid "Pools" @@ -1623,6 +1633,11 @@ msgstr "Odstrani zastopnika" msgid "Remove Liquidity" msgstr "Odstrani likvidnost" +#: src/nft/components/collection/CollectionAsset.tsx +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Remove from bag" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "Remove item" msgstr "" @@ -1631,11 +1646,6 @@ msgstr "" msgid "Removed" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Removed from bag" -msgstr "" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Removing" msgstr "" @@ -1648,7 +1658,7 @@ msgstr "Odstranitev {0} {1} in {2} {3}" msgid "Removing {0} {1} and{2} {3}" msgstr "Odstranitev {0} {1} in{2} {3}" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Resolve {issues} issues" msgstr "" @@ -1670,6 +1680,15 @@ msgstr "" msgid "Same Price" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Save on Tax Services" +msgstr "" + +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +#: src/components/TaxServiceModal/index.tsx +msgid "Save on your crypto taxes" +msgstr "" + #: src/components/NavBar/SearchBar.tsx msgid "Search" msgstr "" @@ -1726,10 +1745,6 @@ msgstr "" msgid "Sell NFTs" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Selling ERC-1155s coming soon" -msgstr "" - #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/MigrateV2/MigrateV2Pair.tsx @@ -1740,7 +1755,7 @@ msgstr "Nastavi razpon cene" msgid "Set Starting Price" msgstr "Nastavi začetno ceno" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Set prices to continue" msgstr "" @@ -1778,6 +1793,10 @@ msgstr "Pokaži zaprte položaje" msgid "Show more" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Show resources" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Sign" msgstr "" @@ -1812,7 +1831,7 @@ msgstr "" msgid "Sorry, an error occured while processing your request. If you request support, be sure to provide your error ID." msgstr "" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Start listing" msgstr "" @@ -1854,11 +1873,9 @@ msgstr "Polog {0} {1} in {2} {3}" #: src/components/AccountDetailsV2/TransactionBody.tsx #: src/components/NavBar/index.tsx -#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/components/swap/SwapHeader.tsx #: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx -#: src/pages/Swap/index.tsx msgid "Swap" msgstr "Menjava" @@ -1866,7 +1883,6 @@ msgstr "Menjava" msgid "Swap <0/> for exactly <1/>" msgstr "Menjaj <0/> za natanko <1/>" -#: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx msgid "Swap Anyway" msgstr "Vseeno zamenjaj" @@ -1875,11 +1891,6 @@ msgstr "Vseeno zamenjaj" msgid "Swap exactly <0/> for <1/>" msgstr "Menjaj natanko <0/> za <1/>" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Swap failed: {0}" -msgstr "Menjava je spodletela: {0}" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Swapped" msgstr "" @@ -1994,10 +2005,6 @@ msgstr "Cena v tem skladu je trenutno znotraj območja, ki ste ga izbrali. Vaš msgid "The ratio of tokens you add will set the price of this pool." msgstr "Razmerje med žetoni, ki jih boste vložili, bo določilo začetno ceno v tem skladu." -#: src/utils/swapErrorToUserReadableMessage.tsx -msgid "The transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." -msgstr "Transakcije ni bilo mogoče poslati, ker je rok potekel. Preverite, ali vaš transakcijski rok ni prekratek." - #: src/components/LiquidityChartRangeInput/index.tsx msgid "There is no liquidity data." msgstr "Podatkov o likvidnosti ni." @@ -2010,10 +2017,6 @@ msgstr "Ta naslov je blokiran v vmesniku Uniswap Labs, ker je povezan z" msgid "This app uses the following third-party APIs:" msgstr "Ta aplikacija uporablja naslednje API-je tretjih oseb:" -#: src/nft/components/collection/CollectionAsset.tsx -msgid "This item is not for sale" -msgstr "" - #: src/pages/AddLiquidity/index.tsx msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction." msgstr "Ta sklad je treba inicializirati, preden lahko dodate likvidnost. Za inicializacijo izberite začetno ceno za sklad. Nato vnesite svoj cenovni razpon likvidnosti in znesek depozita. Provizije za plin (gas) bodo zaradi inicializacijske transakcije višje kot običajno." @@ -2042,6 +2045,10 @@ msgstr "" msgid "This tool will safely migrate your {0} liquidity to V3. The process is completely trustless thanks to the" msgstr "To orodje poskrbi za varno migracijo vaših likvidnostnih žetonov {0} v Uniswap V3. Ta postopek ne zahteva nikakršnega zaupanja drugi osebi zaradi " +#: src/utils/swapErrorToUserReadableMessage.tsx +msgid "This transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." +msgstr "" + #: src/utils/swapErrorToUserReadableMessage.tsx 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 "Ta transakcija ne bo uspela zaradi premika cene. Poskusite povečati toleranco do zdrsa. Pozor: žetoni s provizijami ob prenosu in uravnavani (rebase) žetoni niso združljivi z Uniswap V3." @@ -2073,6 +2080,10 @@ msgstr "" msgid "Token name" msgstr "" +#: src/components/TokenSafety/index.tsx +msgid "Token not found" +msgstr "" + #: src/components/NavBar/SearchBarDropdown.tsx #: src/components/NavBar/index.tsx msgid "Tokens" @@ -2121,9 +2132,6 @@ msgstr "Rok za transakcijo" msgid "Transaction pending" msgstr "Transakcija v teku" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/utils/swapErrorToUserReadableMessage.tsx #: src/utils/swapErrorToUserReadableMessage.tsx msgid "Transaction rejected" msgstr "Transakcija zavrnjena" @@ -2161,6 +2169,10 @@ msgstr "Žetoni UNI predstavljajo delež glasovalnih pravic pri upravljanju sist msgid "UNI {0}/{1} Burned" msgstr "Uničenih {0}/{1} UNI" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Unavailable for listing" +msgstr "" + #: src/pages/Pool/PositionPage.tsx msgid "Unclaimed fees" msgstr "Neprevzete provizije" @@ -2169,22 +2181,22 @@ msgstr "Neprevzete provizije" msgid "Undetermined" msgstr "Nedoločeno" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected error. Could not estimate gas for the swap." -msgstr "Nepričakovana napaka. Porabe plina za menjavo ni bilo mogoče oceniti." - -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected issue with estimating the gas. Please try again." -msgstr "Nepričakovana težava pri ocenjevanju porabe plina. Prosimo, poskusite ponovno." - #: src/pages/Vote/Landing.tsx msgid "Uniswap Governance" msgstr "Uniswapovo upravljanje" +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +msgid "Uniswap Labs can save you up to 20% on CoinTracker and TokenTax" +msgstr "" + #: src/components/PrivacyPolicy/index.tsx msgid "Uniswap Labs' Terms of Service" msgstr "Pogoji storitve Uniswap Labs" +#: src/pages/Pool/v2.tsx +msgid "Uniswap V2 is not available on this network." +msgstr "" + #: src/components/SwitchLocaleLink/index.tsx msgid "Uniswap available in: <0>{0}" msgstr "Uniswap je na voljo v teh jezikih: <0>{0}" @@ -2253,10 +2265,6 @@ msgstr "Posodobi pooblastilo" msgid "Use the Uniswap Labs API to get faster quotes." msgstr "Z uporabo API-ja Uniswap Labs lahko ponudbe pridobite hitreje." -#: src/pages/Pool/v2.tsx -msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum." -msgstr "Sklad V2 ni na voljo na sloju 2. Preklopite na Ethereum sloja 1." - #: src/pages/Pool/index.tsx msgid "V2 liquidity" msgstr "Likvidnost V2" @@ -2278,7 +2286,6 @@ msgstr "" msgid "View more analytics" msgstr "" -#: src/components/TransactionConfirmationModal/index.tsx #: src/nft/components/collection/TransactionCompleteModal.tsx #: src/pages/CreateProposal/ProposalSubmissionModal.tsx msgid "View on Etherscan" @@ -2289,6 +2296,10 @@ msgstr "Prikaži na Etherscanu" msgid "View on Explorer" msgstr "Prikaži v raziskovalcu" +#: src/components/TransactionConfirmationModal/index.tsx +msgid "View on {0}" +msgstr "" + #: src/components/ModalViews/index.tsx #: src/components/claim/AddressClaimModal.tsx #: src/components/vote/ExecuteModal.tsx @@ -2433,10 +2444,6 @@ msgstr "Ste prvi ponudnik likvidnosti." msgid "You can either vote on each proposal yourself or delegate your votes to a third party." msgstr "O vsaki pobudi lahko glasujete sami ali pa svoje glasove prenesete na izbranega zastopnika." -#: src/pages/Swap/index.tsx -msgid "You can now trade {0}" -msgstr "Zdaj lahko trgujete z {0}" - #: src/pages/CreateProposal/index.tsx msgid "You don't have enough votes to submit a proposal" msgstr "Nimate dovolj glasov za predložitev pobude." @@ -2453,10 +2460,6 @@ msgstr "Morda ste izgubili omrežno povezavo." msgid "You must connect an account." msgstr "Povezati morate račun." -#: src/pages/Swap/index.tsx -msgid "You must give the Uniswap smart contracts permission to use your {0}. You only have to do this once per token." -msgstr "Najprej morate Uniswapovim pametnim pogodbam dovoliti uporabo svojih {0}. To je za vsak žeton potrebno storiti samo enkrat." - #: src/pages/CreateProposal/index.tsx msgid "You must have {formattedProposalThreshold} votes to submit a proposal" msgstr "Za predložitev pobude potrebujete {formattedProposalThreshold} glasov." @@ -2534,9 +2537,10 @@ msgid "Your positions" msgstr "Vaše pozicije" #: src/hooks/useUniversalRouter.ts +msgid "Your swap is expected to fail." +msgstr "" + #: src/hooks/useUniversalRouter.ts -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx msgid "Your swap was modified through your wallet. If this was a mistake, please cancel immediately or risk losing your funds." msgstr "" @@ -2587,6 +2591,10 @@ msgstr "po zdrsu" msgid "and" msgstr "" +#: src/nft/components/card/media.tsx +msgid "available yet" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "below floor price." msgstr "" @@ -2644,7 +2652,7 @@ msgstr "" msgid "to" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "{0, plural, =1 {Resolve issue} other {{1}}}" msgstr "" @@ -2672,6 +2680,7 @@ msgstr "" #: src/components/ErrorBoundary/index.tsx #: src/components/RateToggle/index.tsx #: src/components/RateToggle/index.tsx +#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/nft/components/bag/BagFooter.tsx msgid "{0}" msgstr "{0}" @@ -2680,11 +2689,6 @@ msgstr "{0}" msgid "{0} %" msgstr "{0} %" -#: src/components/PositionListItem/index.tsx -#: src/components/PositionListItem/index.tsx -msgid "{0} <0/> per <1/>" -msgstr "{0} <0/> na <1/>" - #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx msgid "{0} Deposited" diff --git a/src/locales/sr-SP.po b/src/locales/sr-SP.po index e794a46dc25..36338fa9671 100644 --- a/src/locales/sr-SP.po +++ b/src/locales/sr-SP.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: uniswap-interface\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-17 00:17\n" +"PO-Revision-Date: 2023-03-21 23:05\n" "Last-Translator: \n" "Language: sr_SP\n" "Language-Team: Serbian (Cyrillic)\n" @@ -116,6 +116,11 @@ msgstr "<0> Савет: Када додате ликвидност, доби msgid "<0>Unlock voting to prepare for the next proposal." msgstr "<0> Откључајте гласање да се припреми за следећи предлог." +#: src/components/PositionListItem/index.tsx +#: src/components/PositionListItem/index.tsx +msgid "<0>{0} <1/> per <2/>" +msgstr "" + #: src/pages/Vote/Landing.tsx msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals" msgstr "За подношење предлога потребан је минимални праг од 0,25% укупне УНИ понуде" @@ -171,6 +176,10 @@ msgstr "Додајте ликвидност." msgid "Add more liquidity" msgstr "Додајте више ликвидности" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Add to bag" +msgstr "" + #: src/components/TransactionConfirmationModal/index.tsx msgid "Add {0}" msgstr "" @@ -183,11 +192,6 @@ msgstr "Додај {0}/{1} В3 ликвидност" msgid "Added" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Added to bag" -msgstr "" - #: src/components/TransactionConfirmationModal/index.tsx msgid "Added {0}" msgstr "Додато {0}" @@ -216,10 +220,6 @@ msgstr "Дозволи миграцију ЛП токена" msgid "Allow high price impact trades and skip the confirm screen. Use at your own risk." msgstr "Омогућите трговање утицајем високе цене и прескочите екран за потврду. Користите на властиту одговорност." -#: src/pages/Swap/index.tsx -msgid "Allow the Uniswap Protocol to use your {0}" -msgstr "Дозволите Uniswap протоколу да користи вашу {0}" - #: src/pages/MigrateV2/MigrateV2Pair.tsx msgid "Allowed" msgstr "Дозвољен" @@ -353,11 +353,10 @@ msgstr "" msgid "Blocked Address" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Blocked from trading" +#: src/nft/components/card/icons.tsx +msgid "Blocked on OpenSea" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx #: src/components/WalletDropdown/AuthenticatedHeader.tsx msgid "Buy crypto" msgstr "" @@ -451,6 +450,11 @@ msgstr "Обриши све" msgid "Close" msgstr "Затвори" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Close wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx #: src/pages/RemoveLiquidity/V3.tsx msgid "Closed" @@ -530,6 +534,7 @@ msgstr "" msgid "Connect" msgstr "" +#: src/nft/pages/profile/profile.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidityV2/index.tsx #: src/pages/RemoveLiquidity/index.tsx @@ -567,6 +572,11 @@ msgstr "Повежите новчаник" msgid "Connected with" msgstr "" +#: src/nft/components/card/media.tsx +msgid "Content not" +msgstr "" + +#: src/nft/components/bag/Bag.tsx #: src/nft/components/profile/list/Modal/BelowFloorWarningModal.tsx msgid "Continue" msgstr "" @@ -610,10 +620,6 @@ msgstr "" msgid "Create a pair" msgstr "Направите пар" -#: src/pages/Pool/index.tsx -msgid "Create a pool" -msgstr "Направите фонд" - #: src/components/AccountDetails/TransactionSummary.tsx msgid "Create pool and add {0}/{1} V3 liquidity" msgstr "Направите фонд и додајте {0}/{1} V3 ликвидност" @@ -725,10 +731,6 @@ msgstr "" msgid "Edit listings" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Efficiency Comparison" -msgstr "" - #: src/state/burn/v3/hooks.tsx msgid "Enter a percent" msgstr "Унесите проценат" @@ -916,18 +918,10 @@ msgstr "Од (највише)" msgid "Full Range" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Full range positions may earn less fees than concentrated positions. Learn more <0>here." -msgstr "" - #: src/components/ErrorBoundary/index.tsx msgid "Get support" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx -msgid "Get tokens at the best prices in web3 on Uniswap, powered by Moonpay." -msgstr "" - #: src/components/NavBar/MenuDropdown.tsx msgid "Help center" msgstr "" @@ -942,12 +936,11 @@ msgstr "" msgid "Hide closed positions" msgstr "Сакриј затворене позиције" -#: src/pages/Swap/index.tsx -msgid "High Price Impact" -msgstr "Утицај високе цене" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Hide resources" +msgstr "" #: src/components/TokenSafety/index.tsx -#: src/pages/AddLiquidity/index.tsx msgid "I understand" msgstr "разумем" @@ -1031,7 +1024,6 @@ msgstr "Неважећи унос цене" msgid "Invalid range selected. The min price must be lower than the max price." msgstr "Изабран је неважећи опсег. Минимална цена мора бити нижа од максималне." -#: src/lib/hooks/swap/useSwapCallback.tsx #: src/state/swap/hooks.tsx msgid "Invalid recipient" msgstr "Неважећи прималац" @@ -1059,6 +1051,7 @@ msgstr "" #: src/components/PrivacyPolicy/index.tsx #: src/components/PrivacyPolicy/index.tsx +#: src/components/TaxServiceModal/TaxServiceBanner.tsx #: src/components/TokenSafety/TokenSafetyMessage.tsx #: src/components/TokenSafety/index.tsx #: src/pages/Landing/index.tsx @@ -1098,6 +1091,10 @@ msgstr "Даваоци ликвидности зарађују провизиј msgid "List NFTs" msgstr "" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "List for sale" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Listing an NFT requires a one-time marketplace approval for each NFT collection." msgstr "" @@ -1219,10 +1216,6 @@ msgstr "Минимално примљено" msgid "Missing chart data" msgstr "" -#: src/lib/hooks/swap/useSwapCallback.tsx -msgid "Missing dependencies" -msgstr "Недостају зависности" - #: src/components/Tokens/TokenDetails/PriceChart.tsx msgid "Missing price data due to recently low trading volume on Uniswap v3" msgstr "" @@ -1259,6 +1252,10 @@ msgstr "" msgid "Name not found" msgstr "" +#: src/components/NavBar/NavIcon.tsx +msgid "Navigation button" +msgstr "" + #: src/components/swap/AdvancedSwapDetails.tsx msgid "Network Fee" msgstr "" @@ -1287,6 +1284,10 @@ msgstr "Нема података" msgid "No description." msgstr "Нема описа." +#: src/nft/pages/profile/profile.tsx +msgid "No items to display" +msgstr "" + #: src/pages/Pool/v2.tsx msgid "No liquidity found." msgstr "Није пронађена ликвидност." @@ -1327,6 +1328,10 @@ msgstr "" msgid "Not created" msgstr "Није створено" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Not listed" +msgstr "" + #: src/components/Settings/index.tsx msgid "ONLY USE THIS MODE IF YOU KNOW WHAT YOU ARE DOING." msgstr "ОВАЈ РЕЖИМ КОРИСТИТЕ САМО АКО ЗНАТЕ ШТА РАДИТЕ." @@ -1347,6 +1352,11 @@ msgstr "Само УНИ гласови који су самостално или msgid "Oops, take me back to Swap" msgstr "" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Open wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx msgid "Out of range" msgstr "Ван опсега" @@ -1405,7 +1415,6 @@ msgid "Please type the word \"{confirmWord}\" to enable expert mode." msgstr "Унесите реч „{confirmWord}“ да бисте омогућили експертни режим." #: src/components/AccountDetailsV2/TransactionBody.tsx -#: src/components/NavBar/index.tsx msgid "Pool" msgstr "Фонд" @@ -1429,6 +1438,7 @@ msgstr "Удружени жетони у наградном фонду:" msgid "Pooled {0}:" msgstr "Сакупљено {0}:" +#: src/components/NavBar/index.tsx #: src/pages/Pool/index.tsx #: src/pages/Pool/index.tsx msgid "Pools" @@ -1623,6 +1633,11 @@ msgstr "Уклони делегата" msgid "Remove Liquidity" msgstr "Уклони ликвидност" +#: src/nft/components/collection/CollectionAsset.tsx +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Remove from bag" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "Remove item" msgstr "" @@ -1631,11 +1646,6 @@ msgstr "" msgid "Removed" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Removed from bag" -msgstr "" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Removing" msgstr "" @@ -1648,7 +1658,7 @@ msgstr "Уклањање {0} {1} и {2} {3}" msgid "Removing {0} {1} and{2} {3}" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Resolve {issues} issues" msgstr "" @@ -1670,6 +1680,15 @@ msgstr "" msgid "Same Price" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Save on Tax Services" +msgstr "" + +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +#: src/components/TaxServiceModal/index.tsx +msgid "Save on your crypto taxes" +msgstr "" + #: src/components/NavBar/SearchBar.tsx msgid "Search" msgstr "" @@ -1726,10 +1745,6 @@ msgstr "" msgid "Sell NFTs" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Selling ERC-1155s coming soon" -msgstr "" - #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/MigrateV2/MigrateV2Pair.tsx @@ -1740,7 +1755,7 @@ msgstr "Поставите опсег цена" msgid "Set Starting Price" msgstr "Поставите почетну цену" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Set prices to continue" msgstr "" @@ -1778,6 +1793,10 @@ msgstr "" msgid "Show more" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Show resources" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Sign" msgstr "" @@ -1812,7 +1831,7 @@ msgstr "" msgid "Sorry, an error occured while processing your request. If you request support, be sure to provide your error ID." msgstr "" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Start listing" msgstr "" @@ -1854,11 +1873,9 @@ msgstr "Снабдевање {0} {1} и {2} {3}" #: src/components/AccountDetailsV2/TransactionBody.tsx #: src/components/NavBar/index.tsx -#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/components/swap/SwapHeader.tsx #: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx -#: src/pages/Swap/index.tsx msgid "Swap" msgstr "Размени" @@ -1866,7 +1883,6 @@ msgstr "Размени" msgid "Swap <0/> for exactly <1/>" msgstr "Замени <0/> за тачно <1/>" -#: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx msgid "Swap Anyway" msgstr "Замени свеједно" @@ -1875,11 +1891,6 @@ msgstr "Замени свеједно" msgid "Swap exactly <0/> for <1/>" msgstr "Замените тачно <0/> за <1/>" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Swap failed: {0}" -msgstr "Замена није успела: {0}" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Swapped" msgstr "" @@ -1994,10 +2005,6 @@ msgstr "Цена овог фонда је у вашем одабраном оп msgid "The ratio of tokens you add will set the price of this pool." msgstr "Однос жетона које додате ће одредити цену овог фонда." -#: src/utils/swapErrorToUserReadableMessage.tsx -msgid "The transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." -msgstr "Трансакција није могла бити послата јер је рок истекао. Молимо вас да проверите да ваш рок за трансакцију није пренизак." - #: src/components/LiquidityChartRangeInput/index.tsx msgid "There is no liquidity data." msgstr "" @@ -2010,10 +2017,6 @@ msgstr "" msgid "This app uses the following third-party APIs:" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -msgid "This item is not for sale" -msgstr "" - #: src/pages/AddLiquidity/index.tsx msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction." msgstr "" @@ -2042,6 +2045,10 @@ msgstr "" msgid "This tool will safely migrate your {0} liquidity to V3. The process is completely trustless thanks to the" msgstr "Овај алат ће безбедно пребацити вашу {0} ликвидност на V3. Процес је потпуно неповерљив захваљујући" +#: src/utils/swapErrorToUserReadableMessage.tsx +msgid "This transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." +msgstr "" + #: src/utils/swapErrorToUserReadableMessage.tsx 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 "Ова трансакција неће успети због кретања цена. Покушајте да повећате толеранцију на клизање. Напомена: накнада за токене за пренос и пребазу није компатибилна са Унисвап В3." @@ -2073,6 +2080,10 @@ msgstr "" msgid "Token name" msgstr "" +#: src/components/TokenSafety/index.tsx +msgid "Token not found" +msgstr "" + #: src/components/NavBar/SearchBarDropdown.tsx #: src/components/NavBar/index.tsx msgid "Tokens" @@ -2121,9 +2132,6 @@ msgstr "Крајњи рок за трансакцију" msgid "Transaction pending" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/utils/swapErrorToUserReadableMessage.tsx #: src/utils/swapErrorToUserReadableMessage.tsx msgid "Transaction rejected" msgstr "Трансакција је одбијена" @@ -2161,6 +2169,10 @@ msgstr "UNI токени представљају акције са правом msgid "UNI {0}/{1} Burned" msgstr "UNI {0}/{1} спаљен" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Unavailable for listing" +msgstr "" + #: src/pages/Pool/PositionPage.tsx msgid "Unclaimed fees" msgstr "Ненаплаћене накнаде" @@ -2169,22 +2181,22 @@ msgstr "Ненаплаћене накнаде" msgid "Undetermined" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected error. Could not estimate gas for the swap." -msgstr "Неочекивана грешка. Није могуће проценити гас за замену." - -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected issue with estimating the gas. Please try again." -msgstr "Неочекивани проблем са проценом гаса. Молим вас, покушајте поново." - #: src/pages/Vote/Landing.tsx msgid "Uniswap Governance" msgstr "Uniswap управљање" +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +msgid "Uniswap Labs can save you up to 20% on CoinTracker and TokenTax" +msgstr "" + #: src/components/PrivacyPolicy/index.tsx msgid "Uniswap Labs' Terms of Service" msgstr "" +#: src/pages/Pool/v2.tsx +msgid "Uniswap V2 is not available on this network." +msgstr "" + #: src/components/SwitchLocaleLink/index.tsx msgid "Uniswap available in: <0>{0}" msgstr "Uniswap доступан у: <0>{0}" @@ -2253,10 +2265,6 @@ msgstr "Ажурирање делегације" msgid "Use the Uniswap Labs API to get faster quotes." msgstr "" -#: src/pages/Pool/v2.tsx -msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum." -msgstr "" - #: src/pages/Pool/index.tsx msgid "V2 liquidity" msgstr "V2 ликвидност" @@ -2278,7 +2286,6 @@ msgstr "" msgid "View more analytics" msgstr "" -#: src/components/TransactionConfirmationModal/index.tsx #: src/nft/components/collection/TransactionCompleteModal.tsx #: src/pages/CreateProposal/ProposalSubmissionModal.tsx msgid "View on Etherscan" @@ -2289,6 +2296,10 @@ msgstr "Поглед на Етхерсцан-у" msgid "View on Explorer" msgstr "Поглед на Екплореру" +#: src/components/TransactionConfirmationModal/index.tsx +msgid "View on {0}" +msgstr "" + #: src/components/ModalViews/index.tsx #: src/components/claim/AddressClaimModal.tsx #: src/components/vote/ExecuteModal.tsx @@ -2433,10 +2444,6 @@ msgstr "Ви сте први пружалац ликвидности." msgid "You can either vote on each proposal yourself or delegate your votes to a third party." msgstr "Можете или сами гласати за сваки предлог или пренети своје гласове трећој страни." -#: src/pages/Swap/index.tsx -msgid "You can now trade {0}" -msgstr "Сада можете трговати {0}" - #: src/pages/CreateProposal/index.tsx msgid "You don't have enough votes to submit a proposal" msgstr "" @@ -2453,10 +2460,6 @@ msgstr "" msgid "You must connect an account." msgstr "Морате повезати налог." -#: src/pages/Swap/index.tsx -msgid "You must give the Uniswap smart contracts permission to use your {0}. You only have to do this once per token." -msgstr "Морате да дате дозволу Uniswap паметним уговорима да бисте користили {0}. То морате учинити само једном по токену." - #: src/pages/CreateProposal/index.tsx msgid "You must have {formattedProposalThreshold} votes to submit a proposal" msgstr "" @@ -2534,9 +2537,10 @@ msgid "Your positions" msgstr "Ваше позиције" #: src/hooks/useUniversalRouter.ts +msgid "Your swap is expected to fail." +msgstr "" + #: src/hooks/useUniversalRouter.ts -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx msgid "Your swap was modified through your wallet. If this was a mistake, please cancel immediately or risk losing your funds." msgstr "" @@ -2587,6 +2591,10 @@ msgstr "" msgid "and" msgstr "" +#: src/nft/components/card/media.tsx +msgid "available yet" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "below floor price." msgstr "" @@ -2644,7 +2652,7 @@ msgstr "" msgid "to" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "{0, plural, =1 {Resolve issue} other {{1}}}" msgstr "" @@ -2672,6 +2680,7 @@ msgstr "" #: src/components/ErrorBoundary/index.tsx #: src/components/RateToggle/index.tsx #: src/components/RateToggle/index.tsx +#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/nft/components/bag/BagFooter.tsx msgid "{0}" msgstr "{0}" @@ -2680,11 +2689,6 @@ msgstr "{0}" msgid "{0} %" msgstr "{0} %" -#: src/components/PositionListItem/index.tsx -#: src/components/PositionListItem/index.tsx -msgid "{0} <0/> per <1/>" -msgstr "{0} <0/> по <1/>" - #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx msgid "{0} Deposited" diff --git a/src/locales/sv-SE.po b/src/locales/sv-SE.po index 7408a67b562..31ed6dd18b5 100644 --- a/src/locales/sv-SE.po +++ b/src/locales/sv-SE.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: uniswap-interface\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-17 00:17\n" +"PO-Revision-Date: 2023-03-21 23:05\n" "Last-Translator: \n" "Language: sv_SE\n" "Language-Team: Swedish\n" @@ -116,6 +116,11 @@ msgstr "<0>Tips: När du lägger till likviditet får du pooltokens som repr msgid "<0>Unlock voting to prepare for the next proposal." msgstr "<0>Öppna upp för röstning för att förbereda för nästa förslag." +#: src/components/PositionListItem/index.tsx +#: src/components/PositionListItem/index.tsx +msgid "<0>{0} <1/> per <2/>" +msgstr "" + #: src/pages/Vote/Landing.tsx msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals" msgstr "" @@ -171,6 +176,10 @@ msgstr "Fyll på likviditet." msgid "Add more liquidity" msgstr "" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Add to bag" +msgstr "" + #: src/components/TransactionConfirmationModal/index.tsx msgid "Add {0}" msgstr "" @@ -183,11 +192,6 @@ msgstr "Lägg {0}/{1} V3-likviditet" msgid "Added" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Added to bag" -msgstr "" - #: src/components/TransactionConfirmationModal/index.tsx msgid "Added {0}" msgstr "Tillagt {0}" @@ -216,10 +220,6 @@ msgstr "Tillåt migrering av LP-token" msgid "Allow high price impact trades and skip the confirm screen. Use at your own risk." msgstr "Tillåt transaktioner med hög prispåverkan och hoppa över bekräftelseskärmen. Använd på egen risk." -#: src/pages/Swap/index.tsx -msgid "Allow the Uniswap Protocol to use your {0}" -msgstr "Tillåt Uniswap-protokollet att använda din {0}" - #: src/pages/MigrateV2/MigrateV2Pair.tsx msgid "Allowed" msgstr "Tillåten" @@ -353,11 +353,10 @@ msgstr "" msgid "Blocked Address" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Blocked from trading" +#: src/nft/components/card/icons.tsx +msgid "Blocked on OpenSea" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx #: src/components/WalletDropdown/AuthenticatedHeader.tsx msgid "Buy crypto" msgstr "" @@ -451,6 +450,11 @@ msgstr "Rensa alla" msgid "Close" msgstr "Stäng" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Close wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx #: src/pages/RemoveLiquidity/V3.tsx msgid "Closed" @@ -530,6 +534,7 @@ msgstr "" msgid "Connect" msgstr "" +#: src/nft/pages/profile/profile.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidityV2/index.tsx #: src/pages/RemoveLiquidity/index.tsx @@ -567,6 +572,11 @@ msgstr "Anslut plånbok" msgid "Connected with" msgstr "" +#: src/nft/components/card/media.tsx +msgid "Content not" +msgstr "" + +#: src/nft/components/bag/Bag.tsx #: src/nft/components/profile/list/Modal/BelowFloorWarningModal.tsx msgid "Continue" msgstr "" @@ -610,10 +620,6 @@ msgstr "" msgid "Create a pair" msgstr "Skapa ett par" -#: src/pages/Pool/index.tsx -msgid "Create a pool" -msgstr "Skapa en pool" - #: src/components/AccountDetails/TransactionSummary.tsx msgid "Create pool and add {0}/{1} V3 liquidity" msgstr "Skapa en pool och lägg till {0}/{1} V3-likviditet" @@ -725,10 +731,6 @@ msgstr "" msgid "Edit listings" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Efficiency Comparison" -msgstr "" - #: src/state/burn/v3/hooks.tsx msgid "Enter a percent" msgstr "Ange en procentandel" @@ -916,18 +918,10 @@ msgstr "Från (som mest)" msgid "Full Range" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Full range positions may earn less fees than concentrated positions. Learn more <0>here." -msgstr "" - #: src/components/ErrorBoundary/index.tsx msgid "Get support" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx -msgid "Get tokens at the best prices in web3 on Uniswap, powered by Moonpay." -msgstr "" - #: src/components/NavBar/MenuDropdown.tsx msgid "Help center" msgstr "" @@ -942,12 +936,11 @@ msgstr "" msgid "Hide closed positions" msgstr "Dölj stängda positioner" -#: src/pages/Swap/index.tsx -msgid "High Price Impact" -msgstr "Hög prispåverkan" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Hide resources" +msgstr "" #: src/components/TokenSafety/index.tsx -#: src/pages/AddLiquidity/index.tsx msgid "I understand" msgstr "Jag förstår" @@ -1031,7 +1024,6 @@ msgstr "Ogiltig prisinmatning" msgid "Invalid range selected. The min price must be lower than the max price." msgstr "Ogiltigt intervall valt. Minimipriset måste vara lägre än maxpriset." -#: src/lib/hooks/swap/useSwapCallback.tsx #: src/state/swap/hooks.tsx msgid "Invalid recipient" msgstr "Ogiltig mottagare" @@ -1059,6 +1051,7 @@ msgstr "" #: src/components/PrivacyPolicy/index.tsx #: src/components/PrivacyPolicy/index.tsx +#: src/components/TaxServiceModal/TaxServiceBanner.tsx #: src/components/TokenSafety/TokenSafetyMessage.tsx #: src/components/TokenSafety/index.tsx #: src/pages/Landing/index.tsx @@ -1098,6 +1091,10 @@ msgstr "Likviditetsleverantörer tjänar en avgift på 0,3 procent på alla aff msgid "List NFTs" msgstr "" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "List for sale" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Listing an NFT requires a one-time marketplace approval for each NFT collection." msgstr "" @@ -1219,10 +1216,6 @@ msgstr "Minimum mottaget" msgid "Missing chart data" msgstr "" -#: src/lib/hooks/swap/useSwapCallback.tsx -msgid "Missing dependencies" -msgstr "Beroenden saknas" - #: src/components/Tokens/TokenDetails/PriceChart.tsx msgid "Missing price data due to recently low trading volume on Uniswap v3" msgstr "" @@ -1259,6 +1252,10 @@ msgstr "" msgid "Name not found" msgstr "" +#: src/components/NavBar/NavIcon.tsx +msgid "Navigation button" +msgstr "" + #: src/components/swap/AdvancedSwapDetails.tsx msgid "Network Fee" msgstr "" @@ -1287,6 +1284,10 @@ msgstr "Inga data" msgid "No description." msgstr "Ingen beskrivning." +#: src/nft/pages/profile/profile.tsx +msgid "No items to display" +msgstr "" + #: src/pages/Pool/v2.tsx msgid "No liquidity found." msgstr "Ingen likviditet hittades." @@ -1327,6 +1328,10 @@ msgstr "" msgid "Not created" msgstr "Inte skapad" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Not listed" +msgstr "" + #: src/components/Settings/index.tsx msgid "ONLY USE THIS MODE IF YOU KNOW WHAT YOU ARE DOING." msgstr "ANVÄND DETTA LÄGE BARA OM DU VET VAD DU GÖR." @@ -1347,6 +1352,11 @@ msgstr "Endast UNI-röster som var självdelegerade eller delegerade till en ann msgid "Oops, take me back to Swap" msgstr "" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Open wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx msgid "Out of range" msgstr "Utanför intervallet" @@ -1405,7 +1415,6 @@ msgid "Please type the word \"{confirmWord}\" to enable expert mode." msgstr "Skriv in ordet \"{confirmWord}\" för att aktivera expertläge." #: src/components/AccountDetailsV2/TransactionBody.tsx -#: src/components/NavBar/index.tsx msgid "Pool" msgstr "Pool" @@ -1429,6 +1438,7 @@ msgstr "Pool tokens i belöningspoolen:" msgid "Pooled {0}:" msgstr "Poolad {0}:" +#: src/components/NavBar/index.tsx #: src/pages/Pool/index.tsx #: src/pages/Pool/index.tsx msgid "Pools" @@ -1623,6 +1633,11 @@ msgstr "Ta bort delegering" msgid "Remove Liquidity" msgstr "Ta bort likviditet" +#: src/nft/components/collection/CollectionAsset.tsx +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Remove from bag" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "Remove item" msgstr "" @@ -1631,11 +1646,6 @@ msgstr "" msgid "Removed" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Removed from bag" -msgstr "" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Removing" msgstr "" @@ -1648,7 +1658,7 @@ msgstr "Tar bort {0} {1} och {2} {3}" msgid "Removing {0} {1} and{2} {3}" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Resolve {issues} issues" msgstr "" @@ -1670,6 +1680,15 @@ msgstr "" msgid "Same Price" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Save on Tax Services" +msgstr "" + +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +#: src/components/TaxServiceModal/index.tsx +msgid "Save on your crypto taxes" +msgstr "" + #: src/components/NavBar/SearchBar.tsx msgid "Search" msgstr "" @@ -1726,10 +1745,6 @@ msgstr "" msgid "Sell NFTs" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Selling ERC-1155s coming soon" -msgstr "" - #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/MigrateV2/MigrateV2Pair.tsx @@ -1740,7 +1755,7 @@ msgstr "Ange prisintervall" msgid "Set Starting Price" msgstr "Ställ in startpris" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Set prices to continue" msgstr "" @@ -1778,6 +1793,10 @@ msgstr "" msgid "Show more" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Show resources" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Sign" msgstr "" @@ -1812,7 +1831,7 @@ msgstr "" msgid "Sorry, an error occured while processing your request. If you request support, be sure to provide your error ID." msgstr "" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Start listing" msgstr "" @@ -1854,11 +1873,9 @@ msgstr "Levererar {0} {1} och {2} {3}" #: src/components/AccountDetailsV2/TransactionBody.tsx #: src/components/NavBar/index.tsx -#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/components/swap/SwapHeader.tsx #: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx -#: src/pages/Swap/index.tsx msgid "Swap" msgstr "Byt" @@ -1866,7 +1883,6 @@ msgstr "Byt" msgid "Swap <0/> for exactly <1/>" msgstr "Byt <0/> för exakt <1/>" -#: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx msgid "Swap Anyway" msgstr "Byt ändå" @@ -1875,11 +1891,6 @@ msgstr "Byt ändå" msgid "Swap exactly <0/> for <1/>" msgstr "Byt exakt <0/> för <1/>" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Swap failed: {0}" -msgstr "Byte misslyckades: {0}" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Swapped" msgstr "" @@ -1994,10 +2005,6 @@ msgstr "Priset för denna pool ligger inom ditt valda intervall. För närvarand msgid "The ratio of tokens you add will set the price of this pool." msgstr "Förhållandet mellan tokens du lägger till kommer att bestämma priset på denna pool." -#: src/utils/swapErrorToUserReadableMessage.tsx -msgid "The transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." -msgstr "Transaktionen kunde inte skickas eftersom tidsfristen har löpt ut. Kontrollera att din transaktionstidsfrist inte är för kort." - #: src/components/LiquidityChartRangeInput/index.tsx msgid "There is no liquidity data." msgstr "" @@ -2010,10 +2017,6 @@ msgstr "" msgid "This app uses the following third-party APIs:" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -msgid "This item is not for sale" -msgstr "" - #: src/pages/AddLiquidity/index.tsx msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction." msgstr "" @@ -2042,6 +2045,10 @@ msgstr "" msgid "This tool will safely migrate your {0} liquidity to V3. The process is completely trustless thanks to the" msgstr "Detta verktyg migrerar säkert din {0} likviditet till V3. Processen är helt pålitlig tack vare" +#: src/utils/swapErrorToUserReadableMessage.tsx +msgid "This transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." +msgstr "" + #: src/utils/swapErrorToUserReadableMessage.tsx 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 "Denna transaktion kommer inte att lyckas på grund av prisrörelser. Försök öka din toleransmarginal. Obs att avgifter vid överföring och rebase-tokens är oförenliga med Uniswap V3." @@ -2073,6 +2080,10 @@ msgstr "" msgid "Token name" msgstr "" +#: src/components/TokenSafety/index.tsx +msgid "Token not found" +msgstr "" + #: src/components/NavBar/SearchBarDropdown.tsx #: src/components/NavBar/index.tsx msgid "Tokens" @@ -2121,9 +2132,6 @@ msgstr "Tidsfrist för transaktion" msgid "Transaction pending" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/utils/swapErrorToUserReadableMessage.tsx #: src/utils/swapErrorToUserReadableMessage.tsx msgid "Transaction rejected" msgstr "Transaktionen avvisad" @@ -2161,6 +2169,10 @@ msgstr "UNI-tokens representerar röstandelar i Uniswap-styrning. Du kan själv msgid "UNI {0}/{1} Burned" msgstr "UNI {0}/{1} bränd" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Unavailable for listing" +msgstr "" + #: src/pages/Pool/PositionPage.tsx msgid "Unclaimed fees" msgstr "Ej krävda avgifter" @@ -2169,22 +2181,22 @@ msgstr "Ej krävda avgifter" msgid "Undetermined" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected error. Could not estimate gas for the swap." -msgstr "Oväntat fel. Det gick inte att uppskatta gasen för bytet." - -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected issue with estimating the gas. Please try again." -msgstr "Oväntat problem med att uppskatta gasen. Var god försök igen." - #: src/pages/Vote/Landing.tsx msgid "Uniswap Governance" msgstr "Uniswap-styrning" +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +msgid "Uniswap Labs can save you up to 20% on CoinTracker and TokenTax" +msgstr "" + #: src/components/PrivacyPolicy/index.tsx msgid "Uniswap Labs' Terms of Service" msgstr "" +#: src/pages/Pool/v2.tsx +msgid "Uniswap V2 is not available on this network." +msgstr "" + #: src/components/SwitchLocaleLink/index.tsx msgid "Uniswap available in: <0>{0}" msgstr "Uniswap tillgänglig på: <0>{0}" @@ -2253,10 +2265,6 @@ msgstr "Uppdatera delegering" msgid "Use the Uniswap Labs API to get faster quotes." msgstr "" -#: src/pages/Pool/v2.tsx -msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum." -msgstr "" - #: src/pages/Pool/index.tsx msgid "V2 liquidity" msgstr "V2-likviditet" @@ -2278,7 +2286,6 @@ msgstr "" msgid "View more analytics" msgstr "" -#: src/components/TransactionConfirmationModal/index.tsx #: src/nft/components/collection/TransactionCompleteModal.tsx #: src/pages/CreateProposal/ProposalSubmissionModal.tsx msgid "View on Etherscan" @@ -2289,6 +2296,10 @@ msgstr "Visa på Etherscan" msgid "View on Explorer" msgstr "Visa i Utforskare" +#: src/components/TransactionConfirmationModal/index.tsx +msgid "View on {0}" +msgstr "" + #: src/components/ModalViews/index.tsx #: src/components/claim/AddressClaimModal.tsx #: src/components/vote/ExecuteModal.tsx @@ -2433,10 +2444,6 @@ msgstr "Du är den första likviditetsleverantören." msgid "You can either vote on each proposal yourself or delegate your votes to a third party." msgstr "Du kan antingen själv rösta på varje förslag eller delegera dina röstningar till en tredje part." -#: src/pages/Swap/index.tsx -msgid "You can now trade {0}" -msgstr "Du kan handla {0} nu" - #: src/pages/CreateProposal/index.tsx msgid "You don't have enough votes to submit a proposal" msgstr "" @@ -2453,10 +2460,6 @@ msgstr "" msgid "You must connect an account." msgstr "Du måste ansluta ett konto." -#: src/pages/Swap/index.tsx -msgid "You must give the Uniswap smart contracts permission to use your {0}. You only have to do this once per token." -msgstr "Du måste ge Uniswaps smarta kontrakt tillstånd att använda din {0}. Du behöver bara göra detta en gång per token." - #: src/pages/CreateProposal/index.tsx msgid "You must have {formattedProposalThreshold} votes to submit a proposal" msgstr "" @@ -2534,9 +2537,10 @@ msgid "Your positions" msgstr "Dina positioner" #: src/hooks/useUniversalRouter.ts +msgid "Your swap is expected to fail." +msgstr "" + #: src/hooks/useUniversalRouter.ts -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx msgid "Your swap was modified through your wallet. If this was a mistake, please cancel immediately or risk losing your funds." msgstr "" @@ -2587,6 +2591,10 @@ msgstr "" msgid "and" msgstr "" +#: src/nft/components/card/media.tsx +msgid "available yet" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "below floor price." msgstr "" @@ -2644,7 +2652,7 @@ msgstr "" msgid "to" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "{0, plural, =1 {Resolve issue} other {{1}}}" msgstr "" @@ -2672,6 +2680,7 @@ msgstr "" #: src/components/ErrorBoundary/index.tsx #: src/components/RateToggle/index.tsx #: src/components/RateToggle/index.tsx +#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/nft/components/bag/BagFooter.tsx msgid "{0}" msgstr "{0}" @@ -2680,11 +2689,6 @@ msgstr "{0}" msgid "{0} %" msgstr "{0} %" -#: src/components/PositionListItem/index.tsx -#: src/components/PositionListItem/index.tsx -msgid "{0} <0/> per <1/>" -msgstr "{0} <0/> per <1/>" - #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx msgid "{0} Deposited" diff --git a/src/locales/sw-TZ.po b/src/locales/sw-TZ.po index fe6bd28a9f1..9011ad4df07 100644 --- a/src/locales/sw-TZ.po +++ b/src/locales/sw-TZ.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: uniswap-interface\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-17 00:17\n" +"PO-Revision-Date: 2023-03-21 23:05\n" "Last-Translator: \n" "Language: sw_TZ\n" "Language-Team: Swahili, Tanzania\n" @@ -116,6 +116,11 @@ msgstr "<0>Kidokezo: Unapoongeza mtaji, utapokea ishara za share zinazowakil msgid "<0>Unlock voting to prepare for the next proposal." msgstr "<0>Kufungua upigaji kura kujiandaa kwa pendekezo linalofuata." +#: src/components/PositionListItem/index.tsx +#: src/components/PositionListItem/index.tsx +msgid "<0>{0} <1/> per <2/>" +msgstr "" + #: src/pages/Vote/Landing.tsx msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals" msgstr "Kiwangu cha chini cha 0.25% ya jumla ya usambazaji wa UNI inahitajika kuwasilisha mapendekezo" @@ -171,6 +176,10 @@ msgstr "Ongeza Mtaji." msgid "Add more liquidity" msgstr "Ongeza Mtaji zaidi" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Add to bag" +msgstr "" + #: src/components/TransactionConfirmationModal/index.tsx msgid "Add {0}" msgstr "" @@ -183,11 +192,6 @@ msgstr "Kuongeza {0}/{1} V3 mtaji" msgid "Added" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Added to bag" -msgstr "" - #: src/components/TransactionConfirmationModal/index.tsx msgid "Added {0}" msgstr "Imeongezwa {0}" @@ -216,10 +220,6 @@ msgstr "Ruhusu uhamiaji wa ishara za LP" msgid "Allow high price impact trades and skip the confirm screen. Use at your own risk." msgstr "Ruhusu biashara ya athari za bei ya juu na uruke skrini ya thibitisho. Tumia kwa hatari yako mwenyewe." -#: src/pages/Swap/index.tsx -msgid "Allow the Uniswap Protocol to use your {0}" -msgstr "Ruhusu Itifaki ya Uniswap kutumia {0}" - #: src/pages/MigrateV2/MigrateV2Pair.tsx msgid "Allowed" msgstr "Ruhusu" @@ -353,11 +353,10 @@ msgstr "" msgid "Blocked Address" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Blocked from trading" +#: src/nft/components/card/icons.tsx +msgid "Blocked on OpenSea" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx #: src/components/WalletDropdown/AuthenticatedHeader.tsx msgid "Buy crypto" msgstr "" @@ -451,6 +450,11 @@ msgstr "Futa yote" msgid "Close" msgstr "Funga" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Close wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx #: src/pages/RemoveLiquidity/V3.tsx msgid "Closed" @@ -530,6 +534,7 @@ msgstr "Thibitisha shughuli kwenye mkoba" msgid "Connect" msgstr "" +#: src/nft/pages/profile/profile.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidityV2/index.tsx #: src/pages/RemoveLiquidity/index.tsx @@ -567,6 +572,11 @@ msgstr "Unganisha mkoba" msgid "Connected with" msgstr "" +#: src/nft/components/card/media.tsx +msgid "Content not" +msgstr "" + +#: src/nft/components/bag/Bag.tsx #: src/nft/components/profile/list/Modal/BelowFloorWarningModal.tsx msgid "Continue" msgstr "" @@ -610,10 +620,6 @@ msgstr "Unda Pendekezo" msgid "Create a pair" msgstr "Unda jozi" -#: src/pages/Pool/index.tsx -msgid "Create a pool" -msgstr "Unda bwawa" - #: src/components/AccountDetails/TransactionSummary.tsx msgid "Create pool and add {0}/{1} V3 liquidity" msgstr "Kujenga bwawa na kuongeza {0}/{1} V3 ukwasi" @@ -725,10 +731,6 @@ msgstr "Hariri" msgid "Edit listings" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Efficiency Comparison" -msgstr "Ufanisi Kulinganisha" - #: src/state/burn/v3/hooks.tsx msgid "Enter a percent" msgstr "Ingiza asilimia" @@ -916,18 +918,10 @@ msgstr "Kutoka (zaidi)" msgid "Full Range" msgstr "Kamili Kamili" -#: src/pages/AddLiquidity/index.tsx -msgid "Full range positions may earn less fees than concentrated positions. Learn more <0>here." -msgstr "Nafasi kamili zinaweza kupata ada kidogo kuliko nafasi zilizojilimbikizia. Jifunze zaidi <0> hapa ." - #: src/components/ErrorBoundary/index.tsx msgid "Get support" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx -msgid "Get tokens at the best prices in web3 on Uniswap, powered by Moonpay." -msgstr "" - #: src/components/NavBar/MenuDropdown.tsx msgid "Help center" msgstr "" @@ -942,12 +936,11 @@ msgstr "Ficha" msgid "Hide closed positions" msgstr "" -#: src/pages/Swap/index.tsx -msgid "High Price Impact" -msgstr "Athari ya Bei ya Juu" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Hide resources" +msgstr "" #: src/components/TokenSafety/index.tsx -#: src/pages/AddLiquidity/index.tsx msgid "I understand" msgstr "Naelewa" @@ -1031,7 +1024,6 @@ msgstr "Ingizo batili la bei" msgid "Invalid range selected. The min price must be lower than the max price." msgstr "Masafa batili yamechaguliwa. Bei ya min lazima iwe chini kuliko bei ya juu." -#: src/lib/hooks/swap/useSwapCallback.tsx #: src/state/swap/hooks.tsx msgid "Invalid recipient" msgstr "Mpokeaji si sahihi" @@ -1059,6 +1051,7 @@ msgstr "Jifunze juu ya kutoa ukwasi" #: src/components/PrivacyPolicy/index.tsx #: src/components/PrivacyPolicy/index.tsx +#: src/components/TaxServiceModal/TaxServiceBanner.tsx #: src/components/TokenSafety/TokenSafetyMessage.tsx #: src/components/TokenSafety/index.tsx #: src/pages/Landing/index.tsx @@ -1098,6 +1091,10 @@ msgstr "Watoaji wa kioevu hupata ada ya 0.3% kwa biashara zote sawia na sehemu y msgid "List NFTs" msgstr "" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "List for sale" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Listing an NFT requires a one-time marketplace approval for each NFT collection." msgstr "" @@ -1219,10 +1216,6 @@ msgstr "Kiwango cha chini kimepokelewa" msgid "Missing chart data" msgstr "" -#: src/lib/hooks/swap/useSwapCallback.tsx -msgid "Missing dependencies" -msgstr "Kukosa utegemezi" - #: src/components/Tokens/TokenDetails/PriceChart.tsx msgid "Missing price data due to recently low trading volume on Uniswap v3" msgstr "" @@ -1259,6 +1252,10 @@ msgstr "" msgid "Name not found" msgstr "" +#: src/components/NavBar/NavIcon.tsx +msgid "Navigation button" +msgstr "" + #: src/components/swap/AdvancedSwapDetails.tsx msgid "Network Fee" msgstr "" @@ -1287,6 +1284,10 @@ msgstr "Hakuna data" msgid "No description." msgstr "Hakuna maelezo." +#: src/nft/pages/profile/profile.tsx +msgid "No items to display" +msgstr "" + #: src/pages/Pool/v2.tsx msgid "No liquidity found." msgstr "Hakuna ukwasi uliopatikana." @@ -1327,6 +1328,10 @@ msgstr "" msgid "Not created" msgstr "Haijaundwa" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Not listed" +msgstr "" + #: src/components/Settings/index.tsx msgid "ONLY USE THIS MODE IF YOU KNOW WHAT YOU ARE DOING." msgstr "TUMIA Modi hii tu ikiwa unajua unachofanya." @@ -1347,6 +1352,11 @@ msgstr "Kura tu za UNI ambazo zilikabidhiwa kibinafsi au kupelekwa kwa anwani ny msgid "Oops, take me back to Swap" msgstr "" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Open wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx msgid "Out of range" msgstr "Kati ya masafa" @@ -1405,7 +1415,6 @@ msgid "Please type the word \"{confirmWord}\" to enable expert mode." msgstr "Tafadhali andika neno \"{confirmWord}\" kuwezesha hali ya mtaalam." #: src/components/AccountDetailsV2/TransactionBody.tsx -#: src/components/NavBar/index.tsx msgid "Pool" msgstr "Dimbwi" @@ -1429,6 +1438,7 @@ msgstr "Ishara za dimbwi kwenye dimbwi la tuzo:" msgid "Pooled {0}:" msgstr "Iliyounganishwa {0}:" +#: src/components/NavBar/index.tsx #: src/pages/Pool/index.tsx #: src/pages/Pool/index.tsx msgid "Pools" @@ -1623,6 +1633,11 @@ msgstr "Ondoa Mjumbe" msgid "Remove Liquidity" msgstr "Ondoa Liquidity" +#: src/nft/components/collection/CollectionAsset.tsx +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Remove from bag" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "Remove item" msgstr "" @@ -1631,11 +1646,6 @@ msgstr "" msgid "Removed" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Removed from bag" -msgstr "" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Removing" msgstr "" @@ -1648,7 +1658,7 @@ msgstr "Kuondoa {0} {1} na {2} {3}" msgid "Removing {0} {1} and{2} {3}" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Resolve {issues} issues" msgstr "" @@ -1670,6 +1680,15 @@ msgstr "" msgid "Same Price" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Save on Tax Services" +msgstr "" + +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +#: src/components/TaxServiceModal/index.tsx +msgid "Save on your crypto taxes" +msgstr "" + #: src/components/NavBar/SearchBar.tsx msgid "Search" msgstr "" @@ -1726,10 +1745,6 @@ msgstr "" msgid "Sell NFTs" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Selling ERC-1155s coming soon" -msgstr "" - #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/MigrateV2/MigrateV2Pair.tsx @@ -1740,7 +1755,7 @@ msgstr "Weka Kiwango cha Bei" msgid "Set Starting Price" msgstr "Weka Bei ya Kuanzia" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Set prices to continue" msgstr "" @@ -1778,6 +1793,10 @@ msgstr "Onyesha nafasi zilizofungwa" msgid "Show more" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Show resources" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Sign" msgstr "" @@ -1812,7 +1831,7 @@ msgstr "" msgid "Sorry, an error occured while processing your request. If you request support, be sure to provide your error ID." msgstr "" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Start listing" msgstr "" @@ -1854,11 +1873,9 @@ msgstr "Kusambaza {0} {1} na {2} {3}" #: src/components/AccountDetailsV2/TransactionBody.tsx #: src/components/NavBar/index.tsx -#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/components/swap/SwapHeader.tsx #: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx -#: src/pages/Swap/index.tsx msgid "Swap" msgstr "Badilishana" @@ -1866,7 +1883,6 @@ msgstr "Badilishana" msgid "Swap <0/> for exactly <1/>" msgstr "Badili <0 /> kwa haswa <1 />" -#: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx msgid "Swap Anyway" msgstr "Badili Vyovyote vile" @@ -1875,11 +1891,6 @@ msgstr "Badili Vyovyote vile" msgid "Swap exactly <0/> for <1/>" msgstr "Badilisha kabisa <0 /> kwa <1 />" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Swap failed: {0}" -msgstr "Kubadilisha kumeshindwa: {0}" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Swapped" msgstr "" @@ -1994,10 +2005,6 @@ msgstr "Bei ya dimbwi hili iko katika anuwai uliyochagua. Msimamo wako kwa sasa msgid "The ratio of tokens you add will set the price of this pool." msgstr "Uwiano wa ishara unazoongeza zitaweka bei ya dimbwi hili." -#: src/utils/swapErrorToUserReadableMessage.tsx -msgid "The transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." -msgstr "Shughuli haikuweza kutumwa kwa sababu tarehe ya mwisho imepita. Tafadhali angalia kuwa tarehe ya mwisho ya ununuzi sio chini sana." - #: src/components/LiquidityChartRangeInput/index.tsx msgid "There is no liquidity data." msgstr "Hakuna data ya ukwasi." @@ -2010,10 +2017,6 @@ msgstr "" msgid "This app uses the following third-party APIs:" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -msgid "This item is not for sale" -msgstr "" - #: src/pages/AddLiquidity/index.tsx msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction." msgstr "Bwawa hili lazima lianzishwe kabla ya kuongeza ukwasi. Ili kuanzisha, chagua bei ya kuanzia ya bwawa. Kisha, ingiza anuwai ya bei ya ukwasi na kiwango cha amana. Ada ya gesi itakuwa kubwa kuliko kawaida kwa sababu ya shughuli za uanzishaji." @@ -2042,6 +2045,10 @@ msgstr "" msgid "This tool will safely migrate your {0} liquidity to V3. The process is completely trustless thanks to the" msgstr "Chombo hiki kitahamisha {0} kwa V3. Mchakato huo hauna shukrani kabisa kwa" +#: src/utils/swapErrorToUserReadableMessage.tsx +msgid "This transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." +msgstr "" + #: src/utils/swapErrorToUserReadableMessage.tsx 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 "Uuzaji huu hautafaulu kwa sababu ya harakati za bei. Jaribu kuongeza uvumilivu wako wa kuteleza. Kumbuka: ada ya uhamishaji na toa rehani haziendani na Uniswap V3." @@ -2073,6 +2080,10 @@ msgstr "" msgid "Token name" msgstr "" +#: src/components/TokenSafety/index.tsx +msgid "Token not found" +msgstr "" + #: src/components/NavBar/SearchBarDropdown.tsx #: src/components/NavBar/index.tsx msgid "Tokens" @@ -2121,9 +2132,6 @@ msgstr "Mwisho wa shughuli" msgid "Transaction pending" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/utils/swapErrorToUserReadableMessage.tsx #: src/utils/swapErrorToUserReadableMessage.tsx msgid "Transaction rejected" msgstr "Muamala umekataliwa" @@ -2161,6 +2169,10 @@ msgstr "Ishara za UNI zinawakilisha hisa za kupiga kura katika utawala wa Uniswa msgid "UNI {0}/{1} Burned" msgstr "UNI {0}/{1} kuchomwa" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Unavailable for listing" +msgstr "" + #: src/pages/Pool/PositionPage.tsx msgid "Unclaimed fees" msgstr "Makato ambayo ayajachukuliwa" @@ -2169,22 +2181,22 @@ msgstr "Makato ambayo ayajachukuliwa" msgid "Undetermined" msgstr "Haijakadiriwa" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected error. Could not estimate gas for the swap." -msgstr "Hitilafu isiyotarajiwa. Haikuweza kukadiria gesi kwa ubadilishaji." - -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected issue with estimating the gas. Please try again." -msgstr "Suala lisilotarajiwa na kukadiria gesi. Tafadhali jaribu tena." - #: src/pages/Vote/Landing.tsx msgid "Uniswap Governance" msgstr "Utawala usiobadilika" +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +msgid "Uniswap Labs can save you up to 20% on CoinTracker and TokenTax" +msgstr "" + #: src/components/PrivacyPolicy/index.tsx msgid "Uniswap Labs' Terms of Service" msgstr "" +#: src/pages/Pool/v2.tsx +msgid "Uniswap V2 is not available on this network." +msgstr "" + #: src/components/SwitchLocaleLink/index.tsx msgid "Uniswap available in: <0>{0}" msgstr "Kubadilisha kunapatikana katika: <0>{0}" @@ -2253,10 +2265,6 @@ msgstr "Sasisha Ujumbe" msgid "Use the Uniswap Labs API to get faster quotes." msgstr "" -#: src/pages/Pool/v2.tsx -msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum." -msgstr "" - #: src/pages/Pool/index.tsx msgid "V2 liquidity" msgstr "V2 ukwasi" @@ -2278,7 +2286,6 @@ msgstr "" msgid "View more analytics" msgstr "" -#: src/components/TransactionConfirmationModal/index.tsx #: src/nft/components/collection/TransactionCompleteModal.tsx #: src/pages/CreateProposal/ProposalSubmissionModal.tsx msgid "View on Etherscan" @@ -2289,6 +2296,10 @@ msgstr "Angalia kwenye Etherscan" msgid "View on Explorer" msgstr "Angalia kwenye Kichunguzi" +#: src/components/TransactionConfirmationModal/index.tsx +msgid "View on {0}" +msgstr "" + #: src/components/ModalViews/index.tsx #: src/components/claim/AddressClaimModal.tsx #: src/components/vote/ExecuteModal.tsx @@ -2433,10 +2444,6 @@ msgstr "Wewe ndiye mtoaji wa kwanza wa ukwasi." msgid "You can either vote on each proposal yourself or delegate your votes to a third party." msgstr "Unaweza kupiga kura juu ya kila pendekezo mwenyewe au upe kura zako kwa mtu wa tatu." -#: src/pages/Swap/index.tsx -msgid "You can now trade {0}" -msgstr "Sasa unaweza kufanya biashara {0}" - #: src/pages/CreateProposal/index.tsx msgid "You don't have enough votes to submit a proposal" msgstr "Huna kura za kutosha kuwasilisha pendekezo" @@ -2453,10 +2460,6 @@ msgstr "Labda umepoteza muunganisho wako wa mtandao." msgid "You must connect an account." msgstr "Lazima uunganishe akaunti." -#: src/pages/Swap/index.tsx -msgid "You must give the Uniswap smart contracts permission to use your {0}. You only have to do this once per token." -msgstr "Lazima upe Mkataba wa Uniswap ruhusa ya kutumia {0}yako. Lazima ufanye hivi mara moja tu kwa ishara." - #: src/pages/CreateProposal/index.tsx msgid "You must have {formattedProposalThreshold} votes to submit a proposal" msgstr "Lazima uwe na {formattedProposalThreshold} ili kuwasilisha pendekezo" @@ -2534,9 +2537,10 @@ msgid "Your positions" msgstr "Nafasi zako" #: src/hooks/useUniversalRouter.ts +msgid "Your swap is expected to fail." +msgstr "" + #: src/hooks/useUniversalRouter.ts -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx msgid "Your swap was modified through your wallet. If this was a mistake, please cancel immediately or risk losing your funds." msgstr "" @@ -2587,6 +2591,10 @@ msgstr "" msgid "and" msgstr "" +#: src/nft/components/card/media.tsx +msgid "available yet" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "below floor price." msgstr "" @@ -2644,7 +2652,7 @@ msgstr "" msgid "to" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "{0, plural, =1 {Resolve issue} other {{1}}}" msgstr "" @@ -2672,6 +2680,7 @@ msgstr "" #: src/components/ErrorBoundary/index.tsx #: src/components/RateToggle/index.tsx #: src/components/RateToggle/index.tsx +#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/nft/components/bag/BagFooter.tsx msgid "{0}" msgstr "{0}" @@ -2680,11 +2689,6 @@ msgstr "{0}" msgid "{0} %" msgstr "" -#: src/components/PositionListItem/index.tsx -#: src/components/PositionListItem/index.tsx -msgid "{0} <0/> per <1/>" -msgstr "{0} <0 /> kwa <1 />" - #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx msgid "{0} Deposited" diff --git a/src/locales/th-TH.po b/src/locales/th-TH.po index 06c4dd795a9..ea94d4f7dee 100644 --- a/src/locales/th-TH.po +++ b/src/locales/th-TH.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: uniswap-interface\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-17 00:17\n" +"PO-Revision-Date: 2023-03-21 23:05\n" "Last-Translator: \n" "Language: th_TH\n" "Language-Team: Thai\n" @@ -116,6 +116,11 @@ msgstr "" msgid "<0>Unlock voting to prepare for the next proposal." msgstr "" +#: src/components/PositionListItem/index.tsx +#: src/components/PositionListItem/index.tsx +msgid "<0>{0} <1/> per <2/>" +msgstr "" + #: src/pages/Vote/Landing.tsx msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals" msgstr "" @@ -171,6 +176,10 @@ msgstr "เพิ่มสภาพคล่อง" msgid "Add more liquidity" msgstr "" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Add to bag" +msgstr "" + #: src/components/TransactionConfirmationModal/index.tsx msgid "Add {0}" msgstr "" @@ -183,11 +192,6 @@ msgstr "เพิ่มสภาพคล่อง {0}/{1}" msgid "Added" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Added to bag" -msgstr "" - #: src/components/TransactionConfirmationModal/index.tsx msgid "Added {0}" msgstr "" @@ -216,10 +220,6 @@ msgstr "" msgid "Allow high price impact trades and skip the confirm screen. Use at your own risk." msgstr "" -#: src/pages/Swap/index.tsx -msgid "Allow the Uniswap Protocol to use your {0}" -msgstr "" - #: src/pages/MigrateV2/MigrateV2Pair.tsx msgid "Allowed" msgstr "" @@ -353,11 +353,10 @@ msgstr "" msgid "Blocked Address" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Blocked from trading" +#: src/nft/components/card/icons.tsx +msgid "Blocked on OpenSea" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx #: src/components/WalletDropdown/AuthenticatedHeader.tsx msgid "Buy crypto" msgstr "" @@ -451,6 +450,11 @@ msgstr "" msgid "Close" msgstr "ปิด I" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Close wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx #: src/pages/RemoveLiquidity/V3.tsx msgid "Closed" @@ -530,6 +534,7 @@ msgstr "" msgid "Connect" msgstr "" +#: src/nft/pages/profile/profile.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidityV2/index.tsx #: src/pages/RemoveLiquidity/index.tsx @@ -567,6 +572,11 @@ msgstr "เชื่อมต่อกระเป๋าสตางค์" msgid "Connected with" msgstr "" +#: src/nft/components/card/media.tsx +msgid "Content not" +msgstr "" + +#: src/nft/components/bag/Bag.tsx #: src/nft/components/profile/list/Modal/BelowFloorWarningModal.tsx msgid "Continue" msgstr "" @@ -610,10 +620,6 @@ msgstr "" msgid "Create a pair" msgstr "" -#: src/pages/Pool/index.tsx -msgid "Create a pool" -msgstr "" - #: src/components/AccountDetails/TransactionSummary.tsx msgid "Create pool and add {0}/{1} V3 liquidity" msgstr "สร้างกลุ่มและเพิ่มสภาพคล่อง {0}/{1}" @@ -725,10 +731,6 @@ msgstr "" msgid "Edit listings" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Efficiency Comparison" -msgstr "" - #: src/state/burn/v3/hooks.tsx msgid "Enter a percent" msgstr "ป้อนเปอร์เซ็นต์" @@ -916,18 +918,10 @@ msgstr "" msgid "Full Range" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Full range positions may earn less fees than concentrated positions. Learn more <0>here." -msgstr "" - #: src/components/ErrorBoundary/index.tsx msgid "Get support" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx -msgid "Get tokens at the best prices in web3 on Uniswap, powered by Moonpay." -msgstr "" - #: src/components/NavBar/MenuDropdown.tsx msgid "Help center" msgstr "" @@ -942,12 +936,11 @@ msgstr "" msgid "Hide closed positions" msgstr "" -#: src/pages/Swap/index.tsx -msgid "High Price Impact" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Hide resources" msgstr "" #: src/components/TokenSafety/index.tsx -#: src/pages/AddLiquidity/index.tsx msgid "I understand" msgstr "" @@ -1031,7 +1024,6 @@ msgstr "ใส่ราคาไม่ถูกต้อง" msgid "Invalid range selected. The min price must be lower than the max price." msgstr "" -#: src/lib/hooks/swap/useSwapCallback.tsx #: src/state/swap/hooks.tsx msgid "Invalid recipient" msgstr "ผู้รับไม่ถูกต้อง" @@ -1059,6 +1051,7 @@ msgstr "" #: src/components/PrivacyPolicy/index.tsx #: src/components/PrivacyPolicy/index.tsx +#: src/components/TaxServiceModal/TaxServiceBanner.tsx #: src/components/TokenSafety/TokenSafetyMessage.tsx #: src/components/TokenSafety/index.tsx #: src/pages/Landing/index.tsx @@ -1098,6 +1091,10 @@ msgstr "" msgid "List NFTs" msgstr "" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "List for sale" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Listing an NFT requires a one-time marketplace approval for each NFT collection." msgstr "" @@ -1219,10 +1216,6 @@ msgstr "" msgid "Missing chart data" msgstr "" -#: src/lib/hooks/swap/useSwapCallback.tsx -msgid "Missing dependencies" -msgstr "ไม่มีการพึ่งพา" - #: src/components/Tokens/TokenDetails/PriceChart.tsx msgid "Missing price data due to recently low trading volume on Uniswap v3" msgstr "" @@ -1259,6 +1252,10 @@ msgstr "" msgid "Name not found" msgstr "" +#: src/components/NavBar/NavIcon.tsx +msgid "Navigation button" +msgstr "" + #: src/components/swap/AdvancedSwapDetails.tsx msgid "Network Fee" msgstr "" @@ -1287,6 +1284,10 @@ msgstr "ไม่มีข้อมูล" msgid "No description." msgstr "ไม่มีคำอธิบาย." +#: src/nft/pages/profile/profile.tsx +msgid "No items to display" +msgstr "" + #: src/pages/Pool/v2.tsx msgid "No liquidity found." msgstr "" @@ -1327,6 +1328,10 @@ msgstr "" msgid "Not created" msgstr "ไม่ได้สร้าง" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Not listed" +msgstr "" + #: src/components/Settings/index.tsx msgid "ONLY USE THIS MODE IF YOU KNOW WHAT YOU ARE DOING." msgstr "" @@ -1347,6 +1352,11 @@ msgstr "" msgid "Oops, take me back to Swap" msgstr "" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Open wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx msgid "Out of range" msgstr "" @@ -1405,7 +1415,6 @@ msgid "Please type the word \"{confirmWord}\" to enable expert mode." msgstr "" #: src/components/AccountDetailsV2/TransactionBody.tsx -#: src/components/NavBar/index.tsx msgid "Pool" msgstr "" @@ -1429,6 +1438,7 @@ msgstr "" msgid "Pooled {0}:" msgstr "" +#: src/components/NavBar/index.tsx #: src/pages/Pool/index.tsx #: src/pages/Pool/index.tsx msgid "Pools" @@ -1623,6 +1633,11 @@ msgstr "" msgid "Remove Liquidity" msgstr "" +#: src/nft/components/collection/CollectionAsset.tsx +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Remove from bag" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "Remove item" msgstr "" @@ -1631,11 +1646,6 @@ msgstr "" msgid "Removed" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Removed from bag" -msgstr "" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Removing" msgstr "" @@ -1648,7 +1658,7 @@ msgstr "" msgid "Removing {0} {1} and{2} {3}" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Resolve {issues} issues" msgstr "" @@ -1670,6 +1680,15 @@ msgstr "" msgid "Same Price" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Save on Tax Services" +msgstr "" + +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +#: src/components/TaxServiceModal/index.tsx +msgid "Save on your crypto taxes" +msgstr "" + #: src/components/NavBar/SearchBar.tsx msgid "Search" msgstr "" @@ -1726,10 +1745,6 @@ msgstr "" msgid "Sell NFTs" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Selling ERC-1155s coming soon" -msgstr "" - #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/MigrateV2/MigrateV2Pair.tsx @@ -1740,7 +1755,7 @@ msgstr "" msgid "Set Starting Price" msgstr "" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Set prices to continue" msgstr "" @@ -1778,6 +1793,10 @@ msgstr "" msgid "Show more" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Show resources" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Sign" msgstr "" @@ -1812,7 +1831,7 @@ msgstr "" msgid "Sorry, an error occured while processing your request. If you request support, be sure to provide your error ID." msgstr "" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Start listing" msgstr "" @@ -1854,11 +1873,9 @@ msgstr "" #: src/components/AccountDetailsV2/TransactionBody.tsx #: src/components/NavBar/index.tsx -#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/components/swap/SwapHeader.tsx #: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx -#: src/pages/Swap/index.tsx msgid "Swap" msgstr "แลกเปลี่ยน" @@ -1866,7 +1883,6 @@ msgstr "แลกเปลี่ยน" msgid "Swap <0/> for exactly <1/>" msgstr "สลับ <0/> เป็น " -#: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx msgid "Swap Anyway" msgstr "" @@ -1875,11 +1891,6 @@ msgstr "" msgid "Swap exactly <0/> for <1/>" msgstr "สลับเฉพาะ <0/> เป็น <1/>" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Swap failed: {0}" -msgstr "สลับล้มเหลว: {0}" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Swapped" msgstr "" @@ -1994,10 +2005,6 @@ msgstr "" msgid "The ratio of tokens you add will set the price of this pool." msgstr "" -#: src/utils/swapErrorToUserReadableMessage.tsx -msgid "The transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." -msgstr "ไม่สามารถส่งธุรกรรมได้เนื่องจากเลยกำหนดส่งแล้ว โปรดตรวจสอบว่ากำหนดเวลาในการทำธุรกรรมของคุณไม่ต่ำเกินไป" - #: src/components/LiquidityChartRangeInput/index.tsx msgid "There is no liquidity data." msgstr "" @@ -2010,10 +2017,6 @@ msgstr "" msgid "This app uses the following third-party APIs:" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -msgid "This item is not for sale" -msgstr "" - #: src/pages/AddLiquidity/index.tsx msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction." msgstr "" @@ -2042,6 +2045,10 @@ msgstr "" msgid "This tool will safely migrate your {0} liquidity to V3. The process is completely trustless thanks to the" msgstr "" +#: src/utils/swapErrorToUserReadableMessage.tsx +msgid "This transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." +msgstr "" + #: src/utils/swapErrorToUserReadableMessage.tsx 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" @@ -2073,6 +2080,10 @@ msgstr "" msgid "Token name" msgstr "" +#: src/components/TokenSafety/index.tsx +msgid "Token not found" +msgstr "" + #: src/components/NavBar/SearchBarDropdown.tsx #: src/components/NavBar/index.tsx msgid "Tokens" @@ -2121,9 +2132,6 @@ msgstr "กำหนดเวลาการทำธุรกรรม" msgid "Transaction pending" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/utils/swapErrorToUserReadableMessage.tsx #: src/utils/swapErrorToUserReadableMessage.tsx msgid "Transaction rejected" msgstr "ธุรกรรมถูกปฏิเสธ" @@ -2161,6 +2169,10 @@ msgstr "" msgid "UNI {0}/{1} Burned" msgstr "" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Unavailable for listing" +msgstr "" + #: src/pages/Pool/PositionPage.tsx msgid "Unclaimed fees" msgstr "" @@ -2169,22 +2181,22 @@ msgstr "" msgid "Undetermined" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected error. Could not estimate gas for the swap." -msgstr "ข้อผิดพลาดที่ไม่คาดคิด ไม่สามารถประมาณค่าก๊าซสำหรับการแลกเปลี่ยนได้" - -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected issue with estimating the gas. Please try again." -msgstr "ปัญหาที่ไม่คาดคิดกับการประมาณค่าก๊าซ กรุณาลองอีกครั้ง." - #: src/pages/Vote/Landing.tsx msgid "Uniswap Governance" msgstr "" +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +msgid "Uniswap Labs can save you up to 20% on CoinTracker and TokenTax" +msgstr "" + #: src/components/PrivacyPolicy/index.tsx msgid "Uniswap Labs' Terms of Service" msgstr "" +#: src/pages/Pool/v2.tsx +msgid "Uniswap V2 is not available on this network." +msgstr "" + #: src/components/SwitchLocaleLink/index.tsx msgid "Uniswap available in: <0>{0}" msgstr "" @@ -2253,10 +2265,6 @@ msgstr "" msgid "Use the Uniswap Labs API to get faster quotes." msgstr "" -#: src/pages/Pool/v2.tsx -msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum." -msgstr "" - #: src/pages/Pool/index.tsx msgid "V2 liquidity" msgstr "" @@ -2278,7 +2286,6 @@ msgstr "" msgid "View more analytics" msgstr "" -#: src/components/TransactionConfirmationModal/index.tsx #: src/nft/components/collection/TransactionCompleteModal.tsx #: src/pages/CreateProposal/ProposalSubmissionModal.tsx msgid "View on Etherscan" @@ -2289,6 +2296,10 @@ msgstr "ดูบน Etherscan" msgid "View on Explorer" msgstr "" +#: src/components/TransactionConfirmationModal/index.tsx +msgid "View on {0}" +msgstr "" + #: src/components/ModalViews/index.tsx #: src/components/claim/AddressClaimModal.tsx #: src/components/vote/ExecuteModal.tsx @@ -2433,10 +2444,6 @@ msgstr "" msgid "You can either vote on each proposal yourself or delegate your votes to a third party." msgstr "" -#: src/pages/Swap/index.tsx -msgid "You can now trade {0}" -msgstr "" - #: src/pages/CreateProposal/index.tsx msgid "You don't have enough votes to submit a proposal" msgstr "" @@ -2453,10 +2460,6 @@ msgstr "" msgid "You must connect an account." msgstr "" -#: src/pages/Swap/index.tsx -msgid "You must give the Uniswap smart contracts permission to use your {0}. You only have to do this once per token." -msgstr "" - #: src/pages/CreateProposal/index.tsx msgid "You must have {formattedProposalThreshold} votes to submit a proposal" msgstr "" @@ -2534,9 +2537,10 @@ msgid "Your positions" msgstr "" #: src/hooks/useUniversalRouter.ts +msgid "Your swap is expected to fail." +msgstr "" + #: src/hooks/useUniversalRouter.ts -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx msgid "Your swap was modified through your wallet. If this was a mistake, please cancel immediately or risk losing your funds." msgstr "" @@ -2587,6 +2591,10 @@ msgstr "" msgid "and" msgstr "" +#: src/nft/components/card/media.tsx +msgid "available yet" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "below floor price." msgstr "" @@ -2644,7 +2652,7 @@ msgstr "" msgid "to" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "{0, plural, =1 {Resolve issue} other {{1}}}" msgstr "" @@ -2672,6 +2680,7 @@ msgstr "" #: src/components/ErrorBoundary/index.tsx #: src/components/RateToggle/index.tsx #: src/components/RateToggle/index.tsx +#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/nft/components/bag/BagFooter.tsx msgid "{0}" msgstr "{0}" @@ -2680,11 +2689,6 @@ msgstr "{0}" msgid "{0} %" msgstr "" -#: src/components/PositionListItem/index.tsx -#: src/components/PositionListItem/index.tsx -msgid "{0} <0/> per <1/>" -msgstr "" - #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx msgid "{0} Deposited" diff --git a/src/locales/tr-TR.po b/src/locales/tr-TR.po index b6bcc2af669..1f0777576fc 100644 --- a/src/locales/tr-TR.po +++ b/src/locales/tr-TR.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: uniswap-interface\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-17 00:17\n" +"PO-Revision-Date: 2023-03-21 23:05\n" "Last-Translator: \n" "Language: tr_TR\n" "Language-Team: Turkish\n" @@ -116,6 +116,11 @@ msgstr "<0> İpucu: Likidite eklediğinizde, pozisyonunuzu temsil eden havuz msgid "<0>Unlock voting to prepare for the next proposal." msgstr "Bir sonraki teklife hazırlanmak için <0>Oylamanın kilidini açın." +#: src/components/PositionListItem/index.tsx +#: src/components/PositionListItem/index.tsx +msgid "<0>{0} <1/> per <2/>" +msgstr "" + #: src/pages/Vote/Landing.tsx 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" @@ -171,6 +176,10 @@ msgstr "Likidite ekleyin." msgid "Add more liquidity" msgstr "Daha fazla likidite ekleyin" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Add to bag" +msgstr "" + #: src/components/TransactionConfirmationModal/index.tsx msgid "Add {0}" msgstr "" @@ -183,11 +192,6 @@ msgstr "{0}/{1} V3 likidite ekle" msgid "Added" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Added to bag" -msgstr "" - #: src/components/TransactionConfirmationModal/index.tsx msgid "Added {0}" msgstr "{0} eklendi" @@ -216,10 +220,6 @@ msgstr "LP jeton geçişine izin ver" msgid "Allow high price impact trades and skip the confirm screen. Use at your own risk." msgstr "Yüksek fiyat etkili işlemlere izin verin ve onay ekranını atlayın. Kendi sorumluluğunuz altında kullanın." -#: src/pages/Swap/index.tsx -msgid "Allow the Uniswap Protocol to use your {0}" -msgstr "Uniswap Protokolünün {0} kullanmasına izin verin" - #: src/pages/MigrateV2/MigrateV2Pair.tsx msgid "Allowed" msgstr "İzin veriliyor" @@ -353,11 +353,10 @@ msgstr "" msgid "Blocked Address" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Blocked from trading" +#: src/nft/components/card/icons.tsx +msgid "Blocked on OpenSea" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx #: src/components/WalletDropdown/AuthenticatedHeader.tsx msgid "Buy crypto" msgstr "" @@ -451,6 +450,11 @@ msgstr "Tümünü temizle" msgid "Close" msgstr "Kapat" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Close wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx #: src/pages/RemoveLiquidity/V3.tsx msgid "Closed" @@ -530,6 +534,7 @@ msgstr "" msgid "Connect" msgstr "" +#: src/nft/pages/profile/profile.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidityV2/index.tsx #: src/pages/RemoveLiquidity/index.tsx @@ -567,6 +572,11 @@ msgstr "Cüzdan bağlayın" msgid "Connected with" msgstr "" +#: src/nft/components/card/media.tsx +msgid "Content not" +msgstr "" + +#: src/nft/components/bag/Bag.tsx #: src/nft/components/profile/list/Modal/BelowFloorWarningModal.tsx msgid "Continue" msgstr "" @@ -610,10 +620,6 @@ msgstr "Teklif Oluştur" msgid "Create a pair" msgstr "Bir çift oluştur" -#: src/pages/Pool/index.tsx -msgid "Create a pool" -msgstr "Bir havuz oluştur" - #: src/components/AccountDetails/TransactionSummary.tsx msgid "Create pool and add {0}/{1} V3 liquidity" msgstr "Havuz oluşturun ve {0}/{1} V3 likidite ekleyin" @@ -725,10 +731,6 @@ msgstr "Düzenle" msgid "Edit listings" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Efficiency Comparison" -msgstr "Verimlilik Karşılaştırması" - #: src/state/burn/v3/hooks.tsx msgid "Enter a percent" msgstr "Yüzde girin" @@ -916,18 +918,10 @@ msgstr "Gönderen (en fazla)" msgid "Full Range" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Full range positions may earn less fees than concentrated positions. Learn more <0>here." -msgstr "" - #: src/components/ErrorBoundary/index.tsx msgid "Get support" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx -msgid "Get tokens at the best prices in web3 on Uniswap, powered by Moonpay." -msgstr "" - #: src/components/NavBar/MenuDropdown.tsx msgid "Help center" msgstr "" @@ -942,12 +936,11 @@ msgstr "" msgid "Hide closed positions" msgstr "Kapalı pozisyonları gizle" -#: src/pages/Swap/index.tsx -msgid "High Price Impact" -msgstr "Yüksek Fiyat Etkisi" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Hide resources" +msgstr "" #: src/components/TokenSafety/index.tsx -#: src/pages/AddLiquidity/index.tsx msgid "I understand" msgstr "Anladım" @@ -1031,7 +1024,6 @@ msgstr "Geçersiz fiyat girişi" msgid "Invalid range selected. The min price must be lower than the max price." msgstr "Geçersiz aralık seçildi. Minimum fiyat, maksimum fiyattan düşük olmalıdır." -#: src/lib/hooks/swap/useSwapCallback.tsx #: src/state/swap/hooks.tsx msgid "Invalid recipient" msgstr "Geçersiz alıcı" @@ -1059,6 +1051,7 @@ msgstr "" #: src/components/PrivacyPolicy/index.tsx #: src/components/PrivacyPolicy/index.tsx +#: src/components/TaxServiceModal/TaxServiceBanner.tsx #: src/components/TokenSafety/TokenSafetyMessage.tsx #: src/components/TokenSafety/index.tsx #: src/pages/Landing/index.tsx @@ -1098,6 +1091,10 @@ msgstr "Likidite sağlayıcıları, havuzdaki paylarıyla orantılı olarak tüm msgid "List NFTs" msgstr "" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "List for sale" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Listing an NFT requires a one-time marketplace approval for each NFT collection." msgstr "" @@ -1219,10 +1216,6 @@ msgstr "Minimum alınan" msgid "Missing chart data" msgstr "" -#: src/lib/hooks/swap/useSwapCallback.tsx -msgid "Missing dependencies" -msgstr "Eksik bağımlılıklar" - #: src/components/Tokens/TokenDetails/PriceChart.tsx msgid "Missing price data due to recently low trading volume on Uniswap v3" msgstr "" @@ -1259,6 +1252,10 @@ msgstr "" msgid "Name not found" msgstr "" +#: src/components/NavBar/NavIcon.tsx +msgid "Navigation button" +msgstr "" + #: src/components/swap/AdvancedSwapDetails.tsx msgid "Network Fee" msgstr "" @@ -1287,6 +1284,10 @@ msgstr "Veri yok" msgid "No description." msgstr "Açıklama yok." +#: src/nft/pages/profile/profile.tsx +msgid "No items to display" +msgstr "" + #: src/pages/Pool/v2.tsx msgid "No liquidity found." msgstr "Likidite bulunamadı." @@ -1327,6 +1328,10 @@ msgstr "" msgid "Not created" msgstr "oluşturulmadı" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Not listed" +msgstr "" + #: src/components/Settings/index.tsx msgid "ONLY USE THIS MODE IF YOU KNOW WHAT YOU ARE DOING." msgstr "BU MODU YALNIZCA NE YAPTIĞINIZI BİLİYORSANIZ KULLANIN." @@ -1347,6 +1352,11 @@ msgstr "Yalnızca {0} bloğundan önce kendi kendine verilen veya başka bir adr msgid "Oops, take me back to Swap" msgstr "" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Open wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx msgid "Out of range" msgstr "Aralık dışında" @@ -1405,7 +1415,6 @@ msgid "Please type the word \"{confirmWord}\" to enable expert mode." msgstr "Uzman modunu etkinleştirmek için lütfen \"{confirmWord}\" sözcüğünü yazın." #: src/components/AccountDetailsV2/TransactionBody.tsx -#: src/components/NavBar/index.tsx msgid "Pool" msgstr "Havuz" @@ -1429,6 +1438,7 @@ msgstr "Ödül havuzundaki havuz jetonları:" msgid "Pooled {0}:" msgstr "Havuza alınmış {0}:" +#: src/components/NavBar/index.tsx #: src/pages/Pool/index.tsx #: src/pages/Pool/index.tsx msgid "Pools" @@ -1623,6 +1633,11 @@ msgstr "Temsilciyi Kaldır" msgid "Remove Liquidity" msgstr "Likiditeyi Kaldır" +#: src/nft/components/collection/CollectionAsset.tsx +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Remove from bag" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "Remove item" msgstr "" @@ -1631,11 +1646,6 @@ msgstr "" msgid "Removed" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Removed from bag" -msgstr "" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Removing" msgstr "" @@ -1648,7 +1658,7 @@ msgstr "{0} {1} ve {2} {3} kaldırılıyor" msgid "Removing {0} {1} and{2} {3}" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Resolve {issues} issues" msgstr "" @@ -1670,6 +1680,15 @@ msgstr "" msgid "Same Price" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Save on Tax Services" +msgstr "" + +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +#: src/components/TaxServiceModal/index.tsx +msgid "Save on your crypto taxes" +msgstr "" + #: src/components/NavBar/SearchBar.tsx msgid "Search" msgstr "" @@ -1726,10 +1745,6 @@ msgstr "" msgid "Sell NFTs" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Selling ERC-1155s coming soon" -msgstr "" - #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/MigrateV2/MigrateV2Pair.tsx @@ -1740,7 +1755,7 @@ msgstr "Fiyat Aralığını Ayarla" msgid "Set Starting Price" msgstr "Başlangıç Fiyatını Belirleyin" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Set prices to continue" msgstr "" @@ -1778,6 +1793,10 @@ msgstr "" msgid "Show more" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Show resources" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Sign" msgstr "" @@ -1812,7 +1831,7 @@ msgstr "" msgid "Sorry, an error occured while processing your request. If you request support, be sure to provide your error ID." msgstr "" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Start listing" msgstr "" @@ -1854,11 +1873,9 @@ msgstr "{0} {1} ve {2} {3} temini" #: src/components/AccountDetailsV2/TransactionBody.tsx #: src/components/NavBar/index.tsx -#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/components/swap/SwapHeader.tsx #: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx -#: src/pages/Swap/index.tsx msgid "Swap" msgstr "Swap" @@ -1866,7 +1883,6 @@ msgstr "Swap" msgid "Swap <0/> for exactly <1/>" msgstr "<0/> öğesini tam olarak <1/> ile değiştirin" -#: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx msgid "Swap Anyway" msgstr "Yine de Swap" @@ -1875,11 +1891,6 @@ msgstr "Yine de Swap" msgid "Swap exactly <0/> for <1/>" msgstr "Tam olarak <0/> ile <1/> arasında geçiş yapın" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Swap failed: {0}" -msgstr "Değiştirilemedi: {0}" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Swapped" msgstr "" @@ -1994,10 +2005,6 @@ msgstr "Bu havuzun fiyatı seçtiğiniz aralık dahilinde. Pozisyonunuz şu anda msgid "The ratio of tokens you add will set the price of this pool." msgstr "Eklediğiniz jeton oranı, bu havuzun fiyatını belirleyecektir." -#: src/utils/swapErrorToUserReadableMessage.tsx -msgid "The transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." -msgstr "Son tarih geçtiği için işlem gönderilemedi. Lütfen işlem sürenizin çok kısa olmadığından emin olun." - #: src/components/LiquidityChartRangeInput/index.tsx msgid "There is no liquidity data." msgstr "" @@ -2010,10 +2017,6 @@ msgstr "" msgid "This app uses the following third-party APIs:" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -msgid "This item is not for sale" -msgstr "" - #: src/pages/AddLiquidity/index.tsx msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction." msgstr "" @@ -2042,6 +2045,10 @@ msgstr "" msgid "This tool will safely migrate your {0} liquidity to V3. The process is completely trustless thanks to the" msgstr "Bu araç, {0} likiditenizi güvenli bir şekilde V3'e geçirecektir. Bu süreç şunun sayesinde sayesinde tamamen güvensizdir:" +#: src/utils/swapErrorToUserReadableMessage.tsx +msgid "This transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." +msgstr "" + #: src/utils/swapErrorToUserReadableMessage.tsx 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 "Bu işlem, fiyat hareketi nedeniyle başarılı olamayacak. Kayma toleransınızı artırmayı deneyin. Not: Transfer ve rebase jetonlarındaki ücret, Uniswap V3 ile uyumlu değildir." @@ -2073,6 +2080,10 @@ msgstr "" msgid "Token name" msgstr "" +#: src/components/TokenSafety/index.tsx +msgid "Token not found" +msgstr "" + #: src/components/NavBar/SearchBarDropdown.tsx #: src/components/NavBar/index.tsx msgid "Tokens" @@ -2121,9 +2132,6 @@ msgstr "İşlem son tarihi" msgid "Transaction pending" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/utils/swapErrorToUserReadableMessage.tsx #: src/utils/swapErrorToUserReadableMessage.tsx msgid "Transaction rejected" msgstr "İşlem reddedildi" @@ -2161,6 +2169,10 @@ msgstr "UNI jetonları, Uniswap yönetiminde oy hakkına sahip hisseleri temsil msgid "UNI {0}/{1} Burned" msgstr "UNI {0}/{1} Yandı" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Unavailable for listing" +msgstr "" + #: src/pages/Pool/PositionPage.tsx msgid "Unclaimed fees" msgstr "Talep edilmemiş ücretler" @@ -2169,22 +2181,22 @@ msgstr "Talep edilmemiş ücretler" msgid "Undetermined" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected error. Could not estimate gas for the swap." -msgstr "Beklenmeyen hata. Takas için gaz tahmin edilemedi." - -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected issue with estimating the gas. Please try again." -msgstr "Gaz tahmininde beklenmeyen bir sorun. Lütfen tekrar deneyin." - #: src/pages/Vote/Landing.tsx msgid "Uniswap Governance" msgstr "Uniswap Yönetimi" +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +msgid "Uniswap Labs can save you up to 20% on CoinTracker and TokenTax" +msgstr "" + #: src/components/PrivacyPolicy/index.tsx msgid "Uniswap Labs' Terms of Service" msgstr "" +#: src/pages/Pool/v2.tsx +msgid "Uniswap V2 is not available on this network." +msgstr "" + #: src/components/SwitchLocaleLink/index.tsx msgid "Uniswap available in: <0>{0}" msgstr "Uniswap kullanılabilir: <0>{0}" @@ -2253,10 +2265,6 @@ msgstr "Yetkilendirmeyi Güncelle" msgid "Use the Uniswap Labs API to get faster quotes." msgstr "" -#: src/pages/Pool/v2.tsx -msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum." -msgstr "" - #: src/pages/Pool/index.tsx msgid "V2 liquidity" msgstr "V2 likiditesi" @@ -2278,7 +2286,6 @@ msgstr "" msgid "View more analytics" msgstr "" -#: src/components/TransactionConfirmationModal/index.tsx #: src/nft/components/collection/TransactionCompleteModal.tsx #: src/pages/CreateProposal/ProposalSubmissionModal.tsx msgid "View on Etherscan" @@ -2289,6 +2296,10 @@ msgstr "Etherscan üzerinde görüntüle" msgid "View on Explorer" msgstr "Explorer'da Görüntüle" +#: src/components/TransactionConfirmationModal/index.tsx +msgid "View on {0}" +msgstr "" + #: src/components/ModalViews/index.tsx #: src/components/claim/AddressClaimModal.tsx #: src/components/vote/ExecuteModal.tsx @@ -2433,10 +2444,6 @@ msgstr "İlk likidite sağlayıcısısınız." msgid "You can either vote on each proposal yourself or delegate your votes to a third party." msgstr "Her bir teklife kendiniz oy verebilir veya oylarınızı üçüncü bir tarafa devredebilirsiniz." -#: src/pages/Swap/index.tsx -msgid "You can now trade {0}" -msgstr "Artık şu coin'lere yatırım yapabilirsiniz: {0}" - #: src/pages/CreateProposal/index.tsx msgid "You don't have enough votes to submit a proposal" msgstr "" @@ -2453,10 +2460,6 @@ msgstr "" msgid "You must connect an account." msgstr "Bir hesap bağlamalısınız." -#: src/pages/Swap/index.tsx -msgid "You must give the Uniswap smart contracts permission to use your {0}. You only have to do this once per token." -msgstr "{0} kullanmak için Uniswap akıllı sözleşmeler iznini vermeniz gerekir. Bunu jeton başına yalnızca bir kez yapmanız gerekir." - #: src/pages/CreateProposal/index.tsx msgid "You must have {formattedProposalThreshold} votes to submit a proposal" msgstr "" @@ -2534,9 +2537,10 @@ msgid "Your positions" msgstr "Pozisyonlarınız" #: src/hooks/useUniversalRouter.ts +msgid "Your swap is expected to fail." +msgstr "" + #: src/hooks/useUniversalRouter.ts -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx msgid "Your swap was modified through your wallet. If this was a mistake, please cancel immediately or risk losing your funds." msgstr "" @@ -2587,6 +2591,10 @@ msgstr "" msgid "and" msgstr "" +#: src/nft/components/card/media.tsx +msgid "available yet" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "below floor price." msgstr "" @@ -2644,7 +2652,7 @@ msgstr "" msgid "to" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "{0, plural, =1 {Resolve issue} other {{1}}}" msgstr "" @@ -2672,6 +2680,7 @@ msgstr "" #: src/components/ErrorBoundary/index.tsx #: src/components/RateToggle/index.tsx #: src/components/RateToggle/index.tsx +#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/nft/components/bag/BagFooter.tsx msgid "{0}" msgstr "{0}" @@ -2680,11 +2689,6 @@ msgstr "{0}" msgid "{0} %" msgstr "% {0}" -#: src/components/PositionListItem/index.tsx -#: src/components/PositionListItem/index.tsx -msgid "{0} <0/> per <1/>" -msgstr "{0} <0/> / <1/>" - #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx msgid "{0} Deposited" diff --git a/src/locales/uk-UA.po b/src/locales/uk-UA.po index 32ea776de50..d47a1baa371 100644 --- a/src/locales/uk-UA.po +++ b/src/locales/uk-UA.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: uniswap-interface\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-17 00:17\n" +"PO-Revision-Date: 2023-03-21 23:05\n" "Last-Translator: \n" "Language: uk_UA\n" "Language-Team: Ukrainian\n" @@ -116,6 +116,11 @@ msgstr "<0>Порада: При додаванні ліквідності в msgid "<0>Unlock voting to prepare for the next proposal." msgstr "<0>Розблокуйте голосування для підготовки до наступної пропозиції." +#: src/components/PositionListItem/index.tsx +#: src/components/PositionListItem/index.tsx +msgid "<0>{0} <1/> per <2/>" +msgstr "" + #: src/pages/Vote/Landing.tsx msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals" msgstr "" @@ -171,6 +176,10 @@ msgstr "Додайте ліквідність." msgid "Add more liquidity" msgstr "" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Add to bag" +msgstr "" + #: src/components/TransactionConfirmationModal/index.tsx msgid "Add {0}" msgstr "" @@ -183,11 +192,6 @@ msgstr "Додати ліквідність V3 {0}/{1}" msgid "Added" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Added to bag" -msgstr "" - #: src/components/TransactionConfirmationModal/index.tsx msgid "Added {0}" msgstr "Додано {0}" @@ -216,10 +220,6 @@ msgstr "Дозволити перенесення токенів LP" msgid "Allow high price impact trades and skip the confirm screen. Use at your own risk." msgstr "Дозвольте торгувати з високими цінами й пропустіть екран підтвердження. Приймайте це рішення на власний ризик." -#: src/pages/Swap/index.tsx -msgid "Allow the Uniswap Protocol to use your {0}" -msgstr "Дозвольте протоколу Uniswap використовувати ваш {0}" - #: src/pages/MigrateV2/MigrateV2Pair.tsx msgid "Allowed" msgstr "Дозволено" @@ -353,11 +353,10 @@ msgstr "" msgid "Blocked Address" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Blocked from trading" +#: src/nft/components/card/icons.tsx +msgid "Blocked on OpenSea" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx #: src/components/WalletDropdown/AuthenticatedHeader.tsx msgid "Buy crypto" msgstr "" @@ -451,6 +450,11 @@ msgstr "Очистити все" msgid "Close" msgstr "Закрити" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Close wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx #: src/pages/RemoveLiquidity/V3.tsx msgid "Closed" @@ -530,6 +534,7 @@ msgstr "" msgid "Connect" msgstr "" +#: src/nft/pages/profile/profile.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidityV2/index.tsx #: src/pages/RemoveLiquidity/index.tsx @@ -567,6 +572,11 @@ msgstr "Підключити гаманець" msgid "Connected with" msgstr "" +#: src/nft/components/card/media.tsx +msgid "Content not" +msgstr "" + +#: src/nft/components/bag/Bag.tsx #: src/nft/components/profile/list/Modal/BelowFloorWarningModal.tsx msgid "Continue" msgstr "" @@ -610,10 +620,6 @@ msgstr "" msgid "Create a pair" msgstr "Створити пару" -#: src/pages/Pool/index.tsx -msgid "Create a pool" -msgstr "Створити пул" - #: src/components/AccountDetails/TransactionSummary.tsx msgid "Create pool and add {0}/{1} V3 liquidity" msgstr "Створіть пул і додайте ліквідність V3 {0}/{1}" @@ -725,10 +731,6 @@ msgstr "" msgid "Edit listings" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Efficiency Comparison" -msgstr "" - #: src/state/burn/v3/hooks.tsx msgid "Enter a percent" msgstr "Введіть відсоток" @@ -916,18 +918,10 @@ msgstr "Від (максимум)" msgid "Full Range" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Full range positions may earn less fees than concentrated positions. Learn more <0>here." -msgstr "" - #: src/components/ErrorBoundary/index.tsx msgid "Get support" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx -msgid "Get tokens at the best prices in web3 on Uniswap, powered by Moonpay." -msgstr "" - #: src/components/NavBar/MenuDropdown.tsx msgid "Help center" msgstr "" @@ -942,12 +936,11 @@ msgstr "" msgid "Hide closed positions" msgstr "Приховати закриті позиції" -#: src/pages/Swap/index.tsx -msgid "High Price Impact" -msgstr "Вплив високої ціни" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Hide resources" +msgstr "" #: src/components/TokenSafety/index.tsx -#: src/pages/AddLiquidity/index.tsx msgid "I understand" msgstr "Я розумію" @@ -1031,7 +1024,6 @@ msgstr "Недійсне введення ціни" msgid "Invalid range selected. The min price must be lower than the max price." msgstr "Вибрано недійсний діапазон. Мінімальна ціна має бути нижчою за максимальну." -#: src/lib/hooks/swap/useSwapCallback.tsx #: src/state/swap/hooks.tsx msgid "Invalid recipient" msgstr "Недійсний одержувач" @@ -1059,6 +1051,7 @@ msgstr "" #: src/components/PrivacyPolicy/index.tsx #: src/components/PrivacyPolicy/index.tsx +#: src/components/TaxServiceModal/TaxServiceBanner.tsx #: src/components/TokenSafety/TokenSafetyMessage.tsx #: src/components/TokenSafety/index.tsx #: src/pages/Landing/index.tsx @@ -1098,6 +1091,10 @@ msgstr "Постачальники ліквідності заробляють msgid "List NFTs" msgstr "" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "List for sale" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Listing an NFT requires a one-time marketplace approval for each NFT collection." msgstr "" @@ -1219,10 +1216,6 @@ msgstr "Мінімум отриманих" msgid "Missing chart data" msgstr "" -#: src/lib/hooks/swap/useSwapCallback.tsx -msgid "Missing dependencies" -msgstr "Відсутня залежність" - #: src/components/Tokens/TokenDetails/PriceChart.tsx msgid "Missing price data due to recently low trading volume on Uniswap v3" msgstr "" @@ -1259,6 +1252,10 @@ msgstr "" msgid "Name not found" msgstr "" +#: src/components/NavBar/NavIcon.tsx +msgid "Navigation button" +msgstr "" + #: src/components/swap/AdvancedSwapDetails.tsx msgid "Network Fee" msgstr "" @@ -1287,6 +1284,10 @@ msgstr "Немає даних" msgid "No description." msgstr "Без опису." +#: src/nft/pages/profile/profile.tsx +msgid "No items to display" +msgstr "" + #: src/pages/Pool/v2.tsx msgid "No liquidity found." msgstr "Ліквідності не знайдено." @@ -1327,6 +1328,10 @@ msgstr "" msgid "Not created" msgstr "Не створено" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Not listed" +msgstr "" + #: src/components/Settings/index.tsx msgid "ONLY USE THIS MODE IF YOU KNOW WHAT YOU ARE DOING." msgstr "ВИКОРИСТОВУЙТЕ ЦИЙ ЛИШЕ РЕЖИМ, ЯкЩО ВИ ЗНАЄТЕ, ЩО РОБИТЕ." @@ -1347,6 +1352,11 @@ msgstr "Участь у голосуванні можуть брати лише msgid "Oops, take me back to Swap" msgstr "" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Open wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx msgid "Out of range" msgstr "Поза діапазоном" @@ -1405,7 +1415,6 @@ msgid "Please type the word \"{confirmWord}\" to enable expert mode." msgstr "Введіть слово \"{confirmWord}\", аби увімкнути Експертний режим." #: src/components/AccountDetailsV2/TransactionBody.tsx -#: src/components/NavBar/index.tsx msgid "Pool" msgstr "Пул" @@ -1429,6 +1438,7 @@ msgstr "Токени пулу в пулі винагород:" msgid "Pooled {0}:" msgstr "Заведено в пул {0}:" +#: src/components/NavBar/index.tsx #: src/pages/Pool/index.tsx #: src/pages/Pool/index.tsx msgid "Pools" @@ -1623,6 +1633,11 @@ msgstr "Видалити делегата" msgid "Remove Liquidity" msgstr "Видалити ліквідність" +#: src/nft/components/collection/CollectionAsset.tsx +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Remove from bag" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "Remove item" msgstr "" @@ -1631,11 +1646,6 @@ msgstr "" msgid "Removed" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Removed from bag" -msgstr "" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Removing" msgstr "" @@ -1648,7 +1658,7 @@ msgstr "Видалення {0} {1} та {2} {3}" msgid "Removing {0} {1} and{2} {3}" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Resolve {issues} issues" msgstr "" @@ -1670,6 +1680,15 @@ msgstr "" msgid "Same Price" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Save on Tax Services" +msgstr "" + +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +#: src/components/TaxServiceModal/index.tsx +msgid "Save on your crypto taxes" +msgstr "" + #: src/components/NavBar/SearchBar.tsx msgid "Search" msgstr "" @@ -1726,10 +1745,6 @@ msgstr "" msgid "Sell NFTs" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Selling ERC-1155s coming soon" -msgstr "" - #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/MigrateV2/MigrateV2Pair.tsx @@ -1740,7 +1755,7 @@ msgstr "Встановити ціновий діапазон" msgid "Set Starting Price" msgstr "Встановити стартову ціну" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Set prices to continue" msgstr "" @@ -1778,6 +1793,10 @@ msgstr "" msgid "Show more" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Show resources" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Sign" msgstr "" @@ -1812,7 +1831,7 @@ msgstr "" msgid "Sorry, an error occured while processing your request. If you request support, be sure to provide your error ID." msgstr "" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Start listing" msgstr "" @@ -1854,11 +1873,9 @@ msgstr "Постачання {0} {1} та {2} {3}" #: src/components/AccountDetailsV2/TransactionBody.tsx #: src/components/NavBar/index.tsx -#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/components/swap/SwapHeader.tsx #: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx -#: src/pages/Swap/index.tsx msgid "Swap" msgstr "Обмін" @@ -1866,7 +1883,6 @@ msgstr "Обмін" msgid "Swap <0/> for exactly <1/>" msgstr "Поміняти <0/> на точно <1/>" -#: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx msgid "Swap Anyway" msgstr "Обміняти в будь-якому випадку" @@ -1875,11 +1891,6 @@ msgstr "Обміняти в будь-якому випадку" msgid "Swap exactly <0/> for <1/>" msgstr "Поміняти <0/> на <1/>" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Swap failed: {0}" -msgstr "Помилка підкачки: {0}" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Swapped" msgstr "" @@ -1994,10 +2005,6 @@ msgstr "Ціна цього пулу перебуває в межах вибра msgid "The ratio of tokens you add will set the price of this pool." msgstr "Співвідношення доданих токенів встановить ціну цього пулу." -#: src/utils/swapErrorToUserReadableMessage.tsx -msgid "The transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." -msgstr "Не вдалося надіслати транзакцію, оскільки термін минув. Упевніться в тому, що термін транзакції не занадто короткий." - #: src/components/LiquidityChartRangeInput/index.tsx msgid "There is no liquidity data." msgstr "" @@ -2010,10 +2017,6 @@ msgstr "" msgid "This app uses the following third-party APIs:" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -msgid "This item is not for sale" -msgstr "" - #: src/pages/AddLiquidity/index.tsx msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction." msgstr "" @@ -2042,6 +2045,10 @@ msgstr "" msgid "This tool will safely migrate your {0} liquidity to V3. The process is completely trustless thanks to the" msgstr "Цей інструмент безпечно перенесе вашу ліквідність {0} до V3. Цей процес абсолютно не вимагає надійності завдяки" +#: src/utils/swapErrorToUserReadableMessage.tsx +msgid "This transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." +msgstr "" + #: src/utils/swapErrorToUserReadableMessage.tsx 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." @@ -2073,6 +2080,10 @@ msgstr "" msgid "Token name" msgstr "" +#: src/components/TokenSafety/index.tsx +msgid "Token not found" +msgstr "" + #: src/components/NavBar/SearchBarDropdown.tsx #: src/components/NavBar/index.tsx msgid "Tokens" @@ -2121,9 +2132,6 @@ msgstr "Кінцевий термін транзакції" msgid "Transaction pending" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/utils/swapErrorToUserReadableMessage.tsx #: src/utils/swapErrorToUserReadableMessage.tsx msgid "Transaction rejected" msgstr "Трансакцію відхилено" @@ -2161,6 +2169,10 @@ msgstr "Токени UNI представляють акції з правом msgid "UNI {0}/{1} Burned" msgstr "UNI {0}/{1} спалено" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Unavailable for listing" +msgstr "" + #: src/pages/Pool/PositionPage.tsx msgid "Unclaimed fees" msgstr "Незатребувані комісії" @@ -2169,22 +2181,22 @@ msgstr "Незатребувані комісії" msgid "Undetermined" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected error. Could not estimate gas for the swap." -msgstr "Неочікувана помилка. Не вдалося оцінити газ для обміну." - -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected issue with estimating the gas. Please try again." -msgstr "Неочікувана проблема з оцінкою газу. Будь ласка спробуйте ще раз." - #: src/pages/Vote/Landing.tsx msgid "Uniswap Governance" msgstr "Управління Uniswap" +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +msgid "Uniswap Labs can save you up to 20% on CoinTracker and TokenTax" +msgstr "" + #: src/components/PrivacyPolicy/index.tsx msgid "Uniswap Labs' Terms of Service" msgstr "" +#: src/pages/Pool/v2.tsx +msgid "Uniswap V2 is not available on this network." +msgstr "" + #: src/components/SwitchLocaleLink/index.tsx msgid "Uniswap available in: <0>{0}" msgstr "Uniswap доступно в: <0>{0}" @@ -2253,10 +2265,6 @@ msgstr "Оновити делегацію" msgid "Use the Uniswap Labs API to get faster quotes." msgstr "" -#: src/pages/Pool/v2.tsx -msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum." -msgstr "" - #: src/pages/Pool/index.tsx msgid "V2 liquidity" msgstr "V2 ліквідність" @@ -2278,7 +2286,6 @@ msgstr "" msgid "View more analytics" msgstr "" -#: src/components/TransactionConfirmationModal/index.tsx #: src/nft/components/collection/TransactionCompleteModal.tsx #: src/pages/CreateProposal/ProposalSubmissionModal.tsx msgid "View on Etherscan" @@ -2289,6 +2296,10 @@ msgstr "Переглянути на Etherscan" msgid "View on Explorer" msgstr "Переглянути на Explorer" +#: src/components/TransactionConfirmationModal/index.tsx +msgid "View on {0}" +msgstr "" + #: src/components/ModalViews/index.tsx #: src/components/claim/AddressClaimModal.tsx #: src/components/vote/ExecuteModal.tsx @@ -2433,10 +2444,6 @@ msgstr "Ви перший постачальник ліквідності." msgid "You can either vote on each proposal yourself or delegate your votes to a third party." msgstr "Ви можете голосувати за кожну пропозицію самостійно або делегувати свої голоси третім особам." -#: src/pages/Swap/index.tsx -msgid "You can now trade {0}" -msgstr "Тепер ви можете торгувати {0}" - #: src/pages/CreateProposal/index.tsx msgid "You don't have enough votes to submit a proposal" msgstr "" @@ -2453,10 +2460,6 @@ msgstr "" msgid "You must connect an account." msgstr "Ви маєте підключити обліковий запис." -#: src/pages/Swap/index.tsx -msgid "You must give the Uniswap smart contracts permission to use your {0}. You only have to do this once per token." -msgstr "Ви маєте дати дозвіл розумних контрактів Uniswap на використання ваших {0}. Це потрібно зробити лише один раз на токен." - #: src/pages/CreateProposal/index.tsx msgid "You must have {formattedProposalThreshold} votes to submit a proposal" msgstr "" @@ -2534,9 +2537,10 @@ msgid "Your positions" msgstr "Ваші позиції" #: src/hooks/useUniversalRouter.ts +msgid "Your swap is expected to fail." +msgstr "" + #: src/hooks/useUniversalRouter.ts -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx msgid "Your swap was modified through your wallet. If this was a mistake, please cancel immediately or risk losing your funds." msgstr "" @@ -2587,6 +2591,10 @@ msgstr "" msgid "and" msgstr "" +#: src/nft/components/card/media.tsx +msgid "available yet" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "below floor price." msgstr "" @@ -2644,7 +2652,7 @@ msgstr "" msgid "to" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "{0, plural, =1 {Resolve issue} other {{1}}}" msgstr "" @@ -2672,6 +2680,7 @@ msgstr "" #: src/components/ErrorBoundary/index.tsx #: src/components/RateToggle/index.tsx #: src/components/RateToggle/index.tsx +#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/nft/components/bag/BagFooter.tsx msgid "{0}" msgstr "{0}" @@ -2680,11 +2689,6 @@ msgstr "{0}" msgid "{0} %" msgstr "{0} %" -#: src/components/PositionListItem/index.tsx -#: src/components/PositionListItem/index.tsx -msgid "{0} <0/> per <1/>" -msgstr "{0} <0/> на <1/>" - #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx msgid "{0} Deposited" diff --git a/src/locales/vi-VN.po b/src/locales/vi-VN.po index 09ae5904837..f283bfb0bf9 100644 --- a/src/locales/vi-VN.po +++ b/src/locales/vi-VN.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: uniswap-interface\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-17 00:17\n" +"PO-Revision-Date: 2023-03-21 23:05\n" "Last-Translator: \n" "Language: vi_VN\n" "Language-Team: Vietnamese\n" @@ -116,6 +116,11 @@ msgstr "<0> Mẹo: Khi bạn thêm thanh khoản, bạn sẽ nhận được msgid "<0>Unlock voting to prepare for the next proposal." msgstr "<0>Mở khóa biểu quyết để chuẩn bị cho đề xuất tiếp theo." +#: src/components/PositionListItem/index.tsx +#: src/components/PositionListItem/index.tsx +msgid "<0>{0} <1/> per <2/>" +msgstr "" + #: src/pages/Vote/Landing.tsx msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals" msgstr "" @@ -171,6 +176,10 @@ msgstr "Thêm thanh khoản." msgid "Add more liquidity" msgstr "" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Add to bag" +msgstr "" + #: src/components/TransactionConfirmationModal/index.tsx msgid "Add {0}" msgstr "" @@ -183,11 +192,6 @@ msgstr "Thêm {0}/{1} thanh khoản V3" msgid "Added" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Added to bag" -msgstr "" - #: src/components/TransactionConfirmationModal/index.tsx msgid "Added {0}" msgstr "Đã thêm {0}" @@ -216,10 +220,6 @@ msgstr "Cho phép di chuyển mã token LP" msgid "Allow high price impact trades and skip the confirm screen. Use at your own risk." msgstr "Cho phép các giao dịch tác động đến giá cao và bỏ qua màn hình xác nhận. Sử dụng và tự gánh chịu mọi rủi ro." -#: src/pages/Swap/index.tsx -msgid "Allow the Uniswap Protocol to use your {0}" -msgstr "Cho phép Giao thức hoán đổi Uniswap sử dụng {0}" - #: src/pages/MigrateV2/MigrateV2Pair.tsx msgid "Allowed" msgstr "Được phép" @@ -353,11 +353,10 @@ msgstr "" msgid "Blocked Address" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Blocked from trading" +#: src/nft/components/card/icons.tsx +msgid "Blocked on OpenSea" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx #: src/components/WalletDropdown/AuthenticatedHeader.tsx msgid "Buy crypto" msgstr "" @@ -451,6 +450,11 @@ msgstr "Xóa tất cả" msgid "Close" msgstr "Đóng" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Close wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx #: src/pages/RemoveLiquidity/V3.tsx msgid "Closed" @@ -530,6 +534,7 @@ msgstr "" msgid "Connect" msgstr "" +#: src/nft/pages/profile/profile.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidityV2/index.tsx #: src/pages/RemoveLiquidity/index.tsx @@ -567,6 +572,11 @@ msgstr "Kết nối ví" msgid "Connected with" msgstr "" +#: src/nft/components/card/media.tsx +msgid "Content not" +msgstr "" + +#: src/nft/components/bag/Bag.tsx #: src/nft/components/profile/list/Modal/BelowFloorWarningModal.tsx msgid "Continue" msgstr "" @@ -610,10 +620,6 @@ msgstr "" msgid "Create a pair" msgstr "Tạo một cặp" -#: src/pages/Pool/index.tsx -msgid "Create a pool" -msgstr "Tạo một nhóm" - #: src/components/AccountDetails/TransactionSummary.tsx msgid "Create pool and add {0}/{1} V3 liquidity" msgstr "Tạo nhóm và thêm {0}/{1} thanh khoản V3" @@ -725,10 +731,6 @@ msgstr "" msgid "Edit listings" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Efficiency Comparison" -msgstr "" - #: src/state/burn/v3/hooks.tsx msgid "Enter a percent" msgstr "Nhập một phần trăm" @@ -916,18 +918,10 @@ msgstr "Từ (nhiều nhất)" msgid "Full Range" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Full range positions may earn less fees than concentrated positions. Learn more <0>here." -msgstr "" - #: src/components/ErrorBoundary/index.tsx msgid "Get support" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx -msgid "Get tokens at the best prices in web3 on Uniswap, powered by Moonpay." -msgstr "" - #: src/components/NavBar/MenuDropdown.tsx msgid "Help center" msgstr "" @@ -942,12 +936,11 @@ msgstr "" msgid "Hide closed positions" msgstr "Ẩn các vị trí đã đóng" -#: src/pages/Swap/index.tsx -msgid "High Price Impact" -msgstr "Tác động giá cao" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Hide resources" +msgstr "" #: src/components/TokenSafety/index.tsx -#: src/pages/AddLiquidity/index.tsx msgid "I understand" msgstr "Tôi hiểu" @@ -1031,7 +1024,6 @@ msgstr "Giá đầu vào không hợp lệ" msgid "Invalid range selected. The min price must be lower than the max price." msgstr "Đã chọn dải ô không hợp lệ. Giá tối thiểu phải thấp hơn giá tối đa." -#: src/lib/hooks/swap/useSwapCallback.tsx #: src/state/swap/hooks.tsx msgid "Invalid recipient" msgstr "Người nhận không hợp lệ" @@ -1059,6 +1051,7 @@ msgstr "" #: src/components/PrivacyPolicy/index.tsx #: src/components/PrivacyPolicy/index.tsx +#: src/components/TaxServiceModal/TaxServiceBanner.tsx #: src/components/TokenSafety/TokenSafetyMessage.tsx #: src/components/TokenSafety/index.tsx #: src/pages/Landing/index.tsx @@ -1098,6 +1091,10 @@ msgstr "Các nhà cung cấp thanh khoản kiếm được một khoản phí 0, msgid "List NFTs" msgstr "" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "List for sale" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Listing an NFT requires a one-time marketplace approval for each NFT collection." msgstr "" @@ -1219,10 +1216,6 @@ msgstr "Số tiền nhận được tối thiểu" msgid "Missing chart data" msgstr "" -#: src/lib/hooks/swap/useSwapCallback.tsx -msgid "Missing dependencies" -msgstr "Thiếu phụ thuộc" - #: src/components/Tokens/TokenDetails/PriceChart.tsx msgid "Missing price data due to recently low trading volume on Uniswap v3" msgstr "" @@ -1259,6 +1252,10 @@ msgstr "" msgid "Name not found" msgstr "" +#: src/components/NavBar/NavIcon.tsx +msgid "Navigation button" +msgstr "" + #: src/components/swap/AdvancedSwapDetails.tsx msgid "Network Fee" msgstr "" @@ -1287,6 +1284,10 @@ msgstr "Không có dữ liệu" msgid "No description." msgstr "Không có mô tả." +#: src/nft/pages/profile/profile.tsx +msgid "No items to display" +msgstr "" + #: src/pages/Pool/v2.tsx msgid "No liquidity found." msgstr "Không tìm thấy thanh khoản." @@ -1327,6 +1328,10 @@ msgstr "" msgid "Not created" msgstr "Chưa tạo" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Not listed" +msgstr "" + #: src/components/Settings/index.tsx msgid "ONLY USE THIS MODE IF YOU KNOW WHAT YOU ARE DOING." msgstr "CHỈ SỬ DỤNG CHẾ ĐỘ NÀY NẾU BẠN BIẾT BẠN ĐANG LÀM GÌ." @@ -1347,6 +1352,11 @@ msgstr "Chỉ những phiếu bầu UNI đã được tự ủy quyền hoặc msgid "Oops, take me back to Swap" msgstr "" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Open wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx msgid "Out of range" msgstr "Ngoài phạm vi" @@ -1405,7 +1415,6 @@ msgid "Please type the word \"{confirmWord}\" to enable expert mode." msgstr "Vui lòng nhập từ \"{confirmWord}\" để bật chế độ chuyên gia." #: src/components/AccountDetailsV2/TransactionBody.tsx -#: src/components/NavBar/index.tsx msgid "Pool" msgstr "Pool" @@ -1429,6 +1438,7 @@ msgstr "Nhóm mã token trong nhóm phần thưởng:" msgid "Pooled {0}:" msgstr "Pool {0}:" +#: src/components/NavBar/index.tsx #: src/pages/Pool/index.tsx #: src/pages/Pool/index.tsx msgid "Pools" @@ -1623,6 +1633,11 @@ msgstr "Xóa ủy quyền" msgid "Remove Liquidity" msgstr "Loại bỏ thanh khoản" +#: src/nft/components/collection/CollectionAsset.tsx +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Remove from bag" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "Remove item" msgstr "" @@ -1631,11 +1646,6 @@ msgstr "" msgid "Removed" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Removed from bag" -msgstr "" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Removing" msgstr "" @@ -1648,7 +1658,7 @@ msgstr "Loại bỏ {0} {1} và {2} {3}" msgid "Removing {0} {1} and{2} {3}" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Resolve {issues} issues" msgstr "" @@ -1670,6 +1680,15 @@ msgstr "" msgid "Same Price" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Save on Tax Services" +msgstr "" + +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +#: src/components/TaxServiceModal/index.tsx +msgid "Save on your crypto taxes" +msgstr "" + #: src/components/NavBar/SearchBar.tsx msgid "Search" msgstr "" @@ -1726,10 +1745,6 @@ msgstr "" msgid "Sell NFTs" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Selling ERC-1155s coming soon" -msgstr "" - #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/MigrateV2/MigrateV2Pair.tsx @@ -1740,7 +1755,7 @@ msgstr "Đặt phạm vi giá" msgid "Set Starting Price" msgstr "Đặt giá khởi điểm" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Set prices to continue" msgstr "" @@ -1778,6 +1793,10 @@ msgstr "" msgid "Show more" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Show resources" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Sign" msgstr "" @@ -1812,7 +1831,7 @@ msgstr "" msgid "Sorry, an error occured while processing your request. If you request support, be sure to provide your error ID." msgstr "" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Start listing" msgstr "" @@ -1854,11 +1873,9 @@ msgstr "Cung cấp {0} {1} và {2} {3}" #: src/components/AccountDetailsV2/TransactionBody.tsx #: src/components/NavBar/index.tsx -#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/components/swap/SwapHeader.tsx #: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx -#: src/pages/Swap/index.tsx msgid "Swap" msgstr "Hoán đổi" @@ -1866,7 +1883,6 @@ msgstr "Hoán đổi" msgid "Swap <0/> for exactly <1/>" msgstr "Hoán đổi <0 /> lấy chính xác <1 />" -#: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx msgid "Swap Anyway" msgstr "Vẫn hoán đổi" @@ -1875,11 +1891,6 @@ msgstr "Vẫn hoán đổi" msgid "Swap exactly <0/> for <1/>" msgstr "Hoán đổi chính xác <0 /> lấy <1 />" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Swap failed: {0}" -msgstr "Hoán đổi không thành công: {0}" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Swapped" msgstr "" @@ -1994,10 +2005,6 @@ msgstr "Giá của pool này nằm trong phạm vi bạn đã chọn. Vị trí msgid "The ratio of tokens you add will set the price of this pool." msgstr "Tỷ lệ mã token bạn thêm vào sẽ thiết lập giá của nhóm này." -#: src/utils/swapErrorToUserReadableMessage.tsx -msgid "The transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." -msgstr "Không thể gửi giao dịch vì đã hết thời hạn. Vui lòng kiểm tra xem thời hạn giao dịch của bạn không quá thấp." - #: src/components/LiquidityChartRangeInput/index.tsx msgid "There is no liquidity data." msgstr "" @@ -2010,10 +2017,6 @@ msgstr "" msgid "This app uses the following third-party APIs:" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -msgid "This item is not for sale" -msgstr "" - #: src/pages/AddLiquidity/index.tsx msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction." msgstr "" @@ -2042,6 +2045,10 @@ msgstr "" msgid "This tool will safely migrate your {0} liquidity to V3. The process is completely trustless thanks to the" msgstr "Công cụ này sẽ chuyển thanh khoản {0} sang V3. Quá trình này hoàn toàn không đáng tin cậy nhờ vào" +#: src/utils/swapErrorToUserReadableMessage.tsx +msgid "This transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." +msgstr "" + #: src/utils/swapErrorToUserReadableMessage.tsx 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 "Giao dịch này sẽ không thành công do biến động giá. Hãy thử tăng khả năng chịu trượt của bạn. Lưu ý: phí chuyển và mã thông báo rebase không tương thích với Uniswap V3." @@ -2073,6 +2080,10 @@ msgstr "" msgid "Token name" msgstr "" +#: src/components/TokenSafety/index.tsx +msgid "Token not found" +msgstr "" + #: src/components/NavBar/SearchBarDropdown.tsx #: src/components/NavBar/index.tsx msgid "Tokens" @@ -2121,9 +2132,6 @@ msgstr "Thời hạn giao dịch" msgid "Transaction pending" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/utils/swapErrorToUserReadableMessage.tsx #: src/utils/swapErrorToUserReadableMessage.tsx msgid "Transaction rejected" msgstr "Giao dịch bị từ chối" @@ -2161,6 +2169,10 @@ msgstr "Mã token UNI đại diện cho cổ phần có quyền biểu quyết t msgid "UNI {0}/{1} Burned" msgstr "UNI {0}/{1} đã đốt" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Unavailable for listing" +msgstr "" + #: src/pages/Pool/PositionPage.tsx msgid "Unclaimed fees" msgstr "Phí chưa nhận" @@ -2169,22 +2181,22 @@ msgstr "Phí chưa nhận" msgid "Undetermined" msgstr "" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected error. Could not estimate gas for the swap." -msgstr "Lỗi không mong đợi. Không thể ước tính khí cho hoán đổi." - -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected issue with estimating the gas. Please try again." -msgstr "Vấn đề không mong muốn với ước tính khí. Vui lòng thử lại." - #: src/pages/Vote/Landing.tsx msgid "Uniswap Governance" msgstr "Quản trị Uniswap" +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +msgid "Uniswap Labs can save you up to 20% on CoinTracker and TokenTax" +msgstr "" + #: src/components/PrivacyPolicy/index.tsx msgid "Uniswap Labs' Terms of Service" msgstr "" +#: src/pages/Pool/v2.tsx +msgid "Uniswap V2 is not available on this network." +msgstr "" + #: src/components/SwitchLocaleLink/index.tsx msgid "Uniswap available in: <0>{0}" msgstr "Uniswap có sẵn ở: <0>{0}" @@ -2253,10 +2265,6 @@ msgstr "Cập nhật ủy quyền" msgid "Use the Uniswap Labs API to get faster quotes." msgstr "" -#: src/pages/Pool/v2.tsx -msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum." -msgstr "" - #: src/pages/Pool/index.tsx msgid "V2 liquidity" msgstr "Thanh khoản V2" @@ -2278,7 +2286,6 @@ msgstr "" msgid "View more analytics" msgstr "" -#: src/components/TransactionConfirmationModal/index.tsx #: src/nft/components/collection/TransactionCompleteModal.tsx #: src/pages/CreateProposal/ProposalSubmissionModal.tsx msgid "View on Etherscan" @@ -2289,6 +2296,10 @@ msgstr "Xem trên Etherscan" msgid "View on Explorer" msgstr "Xem trên Explorer" +#: src/components/TransactionConfirmationModal/index.tsx +msgid "View on {0}" +msgstr "" + #: src/components/ModalViews/index.tsx #: src/components/claim/AddressClaimModal.tsx #: src/components/vote/ExecuteModal.tsx @@ -2433,10 +2444,6 @@ msgstr "Bạn là nhà cung cấp thanh khoản đầu tiên." msgid "You can either vote on each proposal yourself or delegate your votes to a third party." msgstr "Bạn có thể tự bỏ phiếu cho từng đề xuất hoặc ủy thác phiếu bầu của mình cho bên thứ ba." -#: src/pages/Swap/index.tsx -msgid "You can now trade {0}" -msgstr "Giờ đây, bạn có thể giao dịch {0}" - #: src/pages/CreateProposal/index.tsx msgid "You don't have enough votes to submit a proposal" msgstr "" @@ -2453,10 +2460,6 @@ msgstr "" msgid "You must connect an account." msgstr "Bạn phải kết nối một tài khoản." -#: src/pages/Swap/index.tsx -msgid "You must give the Uniswap smart contracts permission to use your {0}. You only have to do this once per token." -msgstr "Bạn phải cấp quyền cho hợp đồng thông minh Uniswap để sử dụng số {0} của bạn. Bạn chỉ phải làm điều này một lần cho mỗi mã token." - #: src/pages/CreateProposal/index.tsx msgid "You must have {formattedProposalThreshold} votes to submit a proposal" msgstr "" @@ -2534,9 +2537,10 @@ msgid "Your positions" msgstr "Vị trí của bạn" #: src/hooks/useUniversalRouter.ts +msgid "Your swap is expected to fail." +msgstr "" + #: src/hooks/useUniversalRouter.ts -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx msgid "Your swap was modified through your wallet. If this was a mistake, please cancel immediately or risk losing your funds." msgstr "" @@ -2587,6 +2591,10 @@ msgstr "" msgid "and" msgstr "" +#: src/nft/components/card/media.tsx +msgid "available yet" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "below floor price." msgstr "" @@ -2644,7 +2652,7 @@ msgstr "" msgid "to" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "{0, plural, =1 {Resolve issue} other {{1}}}" msgstr "" @@ -2672,6 +2680,7 @@ msgstr "" #: src/components/ErrorBoundary/index.tsx #: src/components/RateToggle/index.tsx #: src/components/RateToggle/index.tsx +#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/nft/components/bag/BagFooter.tsx msgid "{0}" msgstr "{0}" @@ -2680,11 +2689,6 @@ msgstr "{0}" msgid "{0} %" msgstr "{0} %" -#: src/components/PositionListItem/index.tsx -#: src/components/PositionListItem/index.tsx -msgid "{0} <0/> per <1/>" -msgstr "{0} <0/> mỗi <1/>" - #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx msgid "{0} Deposited" diff --git a/src/locales/zh-CN.po b/src/locales/zh-CN.po index 7abc66af91f..6bde40e3c81 100644 --- a/src/locales/zh-CN.po +++ b/src/locales/zh-CN.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: uniswap-interface\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-17 00:17\n" +"PO-Revision-Date: 2023-03-21 23:05\n" "Last-Translator: \n" "Language: zh_CN\n" "Language-Team: Chinese Simplified\n" @@ -116,6 +116,11 @@ msgstr "<0>提示:当您注入流动资金时,您将收到代表您份 msgid "<0>Unlock voting to prepare for the next proposal." msgstr "<0>解锁投票,以准备下一个提案。" +#: src/components/PositionListItem/index.tsx +#: src/components/PositionListItem/index.tsx +msgid "<0>{0} <1/> per <2/>" +msgstr "" + #: src/pages/Vote/Landing.tsx msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals" msgstr "提交提案所需的最低门槛为 UNI 总供应量的 0.25%" @@ -171,6 +176,10 @@ msgstr "添加流动性。" msgid "Add more liquidity" msgstr "增加更多流动性" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Add to bag" +msgstr "" + #: src/components/TransactionConfirmationModal/index.tsx msgid "Add {0}" msgstr "" @@ -183,11 +192,6 @@ msgstr "添加{0}/{1} V3流动性" msgid "Added" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Added to bag" -msgstr "" - #: src/components/TransactionConfirmationModal/index.tsx msgid "Added {0}" msgstr "已添加 {0}" @@ -216,10 +220,6 @@ msgstr "允许流动池代币迁移" msgid "Allow high price impact trades and skip the confirm screen. Use at your own risk." msgstr "允许高度影响价格的交易,并跳过确认步骤。须自行承担使用风险。" -#: src/pages/Swap/index.tsx -msgid "Allow the Uniswap Protocol to use your {0}" -msgstr "允许 Uniswap 调用您的 {0}" - #: src/pages/MigrateV2/MigrateV2Pair.tsx msgid "Allowed" msgstr "已允许" @@ -353,11 +353,10 @@ msgstr "最佳价格路由消耗的gas约为 {formattedGasPriceString}" msgid "Blocked Address" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Blocked from trading" +#: src/nft/components/card/icons.tsx +msgid "Blocked on OpenSea" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx #: src/components/WalletDropdown/AuthenticatedHeader.tsx msgid "Buy crypto" msgstr "" @@ -451,6 +450,11 @@ msgstr "全部清除" msgid "Close" msgstr "关闭" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Close wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx #: src/pages/RemoveLiquidity/V3.tsx msgid "Closed" @@ -530,6 +534,7 @@ msgstr "在钱包中确认交易" msgid "Connect" msgstr "" +#: src/nft/pages/profile/profile.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidityV2/index.tsx #: src/pages/RemoveLiquidity/index.tsx @@ -567,6 +572,11 @@ msgstr "连接钱包" msgid "Connected with" msgstr "" +#: src/nft/components/card/media.tsx +msgid "Content not" +msgstr "" + +#: src/nft/components/bag/Bag.tsx #: src/nft/components/profile/list/Modal/BelowFloorWarningModal.tsx msgid "Continue" msgstr "" @@ -610,10 +620,6 @@ msgstr "创建提案" msgid "Create a pair" msgstr "创建币对" -#: src/pages/Pool/index.tsx -msgid "Create a pool" -msgstr "创建流动池" - #: src/components/AccountDetails/TransactionSummary.tsx msgid "Create pool and add {0}/{1} V3 liquidity" msgstr "创建流动池并注入 {0}/{1} V3 流动资金" @@ -725,10 +731,6 @@ msgstr "修改" msgid "Edit listings" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Efficiency Comparison" -msgstr "效率对比" - #: src/state/burn/v3/hooks.tsx msgid "Enter a percent" msgstr "输入百分比" @@ -916,18 +918,10 @@ msgstr "来源 (最多为)" msgid "Full Range" msgstr "全范围" -#: src/pages/AddLiquidity/index.tsx -msgid "Full range positions may earn less fees than concentrated positions. Learn more <0>here." -msgstr "全范围仓位可能比集中仓位赚取更少的费用。在<0>此处了解更多。" - #: src/components/ErrorBoundary/index.tsx msgid "Get support" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx -msgid "Get tokens at the best prices in web3 on Uniswap, powered by Moonpay." -msgstr "" - #: src/components/NavBar/MenuDropdown.tsx msgid "Help center" msgstr "" @@ -942,12 +936,11 @@ msgstr "隐藏" msgid "Hide closed positions" msgstr "隐藏已关闭的仓位" -#: src/pages/Swap/index.tsx -msgid "High Price Impact" -msgstr "对兑换率有高度影响" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Hide resources" +msgstr "" #: src/components/TokenSafety/index.tsx -#: src/pages/AddLiquidity/index.tsx msgid "I understand" msgstr "我已知悉" @@ -1031,7 +1024,6 @@ msgstr "无效的兑换率输入" msgid "Invalid range selected. The min price must be lower than the max price." msgstr "选择的范围无效。最小兑换率必须低于最大兑换率。" -#: src/lib/hooks/swap/useSwapCallback.tsx #: src/state/swap/hooks.tsx msgid "Invalid recipient" msgstr "无效的接收方" @@ -1059,6 +1051,7 @@ msgstr "了解提供流动性的相关信息" #: src/components/PrivacyPolicy/index.tsx #: src/components/PrivacyPolicy/index.tsx +#: src/components/TaxServiceModal/TaxServiceBanner.tsx #: src/components/TokenSafety/TokenSafetyMessage.tsx #: src/components/TokenSafety/index.tsx #: src/pages/Landing/index.tsx @@ -1098,6 +1091,10 @@ msgstr "流动资金提供者在所有交易中按其在流动池中的份额获 msgid "List NFTs" msgstr "" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "List for sale" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Listing an NFT requires a one-time marketplace approval for each NFT collection." msgstr "" @@ -1219,10 +1216,6 @@ msgstr "收到的最低数额" msgid "Missing chart data" msgstr "" -#: src/lib/hooks/swap/useSwapCallback.tsx -msgid "Missing dependencies" -msgstr "缺少依赖套件" - #: src/components/Tokens/TokenDetails/PriceChart.tsx msgid "Missing price data due to recently low trading volume on Uniswap v3" msgstr "" @@ -1259,6 +1252,10 @@ msgstr "" msgid "Name not found" msgstr "" +#: src/components/NavBar/NavIcon.tsx +msgid "Navigation button" +msgstr "" + #: src/components/swap/AdvancedSwapDetails.tsx msgid "Network Fee" msgstr "网络费用" @@ -1287,6 +1284,10 @@ msgstr "没有数据" msgid "No description." msgstr "没有说明。" +#: src/nft/pages/profile/profile.tsx +msgid "No items to display" +msgstr "" + #: src/pages/Pool/v2.tsx msgid "No liquidity found." msgstr "未找到流动资金。" @@ -1327,6 +1328,10 @@ msgstr "" msgid "Not created" msgstr "未创建" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Not listed" +msgstr "" + #: src/components/Settings/index.tsx msgid "ONLY USE THIS MODE IF YOU KNOW WHAT YOU ARE DOING." msgstr "务必在详细了解此模式应用后才使用此模式操作。" @@ -1347,6 +1352,11 @@ msgstr "只有在 {0} 区块编号之前已自行委托或委托给另一个区 msgid "Oops, take me back to Swap" msgstr "" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Open wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx msgid "Out of range" msgstr "超出范围" @@ -1405,7 +1415,6 @@ msgid "Please type the word \"{confirmWord}\" to enable expert mode." msgstr "请输入单词 \"{confirmWord}\" 以启用专家模式。" #: src/components/AccountDetailsV2/TransactionBody.tsx -#: src/components/NavBar/index.tsx msgid "Pool" msgstr "流动池" @@ -1429,6 +1438,7 @@ msgstr "奖励池中的流动池代币:" msgid "Pooled {0}:" msgstr "流动池汇集 {0}:" +#: src/components/NavBar/index.tsx #: src/pages/Pool/index.tsx #: src/pages/Pool/index.tsx msgid "Pools" @@ -1623,6 +1633,11 @@ msgstr "去除投票权委托" msgid "Remove Liquidity" msgstr "去除流动资金" +#: src/nft/components/collection/CollectionAsset.tsx +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Remove from bag" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "Remove item" msgstr "" @@ -1631,11 +1646,6 @@ msgstr "" msgid "Removed" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Removed from bag" -msgstr "" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Removing" msgstr "" @@ -1648,7 +1658,7 @@ msgstr "正在去除 {0} {1} 和 {2} {3}" msgid "Removing {0} {1} and{2} {3}" msgstr "移除 {0} {1} 和 {2} {3}" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Resolve {issues} issues" msgstr "" @@ -1670,6 +1680,15 @@ msgstr "" msgid "Same Price" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Save on Tax Services" +msgstr "" + +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +#: src/components/TaxServiceModal/index.tsx +msgid "Save on your crypto taxes" +msgstr "" + #: src/components/NavBar/SearchBar.tsx msgid "Search" msgstr "" @@ -1726,10 +1745,6 @@ msgstr "" msgid "Sell NFTs" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Selling ERC-1155s coming soon" -msgstr "" - #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/MigrateV2/MigrateV2Pair.tsx @@ -1740,7 +1755,7 @@ msgstr "设置兑换率范围" msgid "Set Starting Price" msgstr "设置起始兑换率" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Set prices to continue" msgstr "" @@ -1778,6 +1793,10 @@ msgstr "显示已关闭的仓位" msgid "Show more" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Show resources" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Sign" msgstr "" @@ -1812,7 +1831,7 @@ msgstr "" msgid "Sorry, an error occured while processing your request. If you request support, be sure to provide your error ID." msgstr "" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Start listing" msgstr "" @@ -1854,11 +1873,9 @@ msgstr "提供 {0} {1} 和 {2} {3}" #: src/components/AccountDetailsV2/TransactionBody.tsx #: src/components/NavBar/index.tsx -#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/components/swap/SwapHeader.tsx #: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx -#: src/pages/Swap/index.tsx msgid "Swap" msgstr "兑换" @@ -1866,7 +1883,6 @@ msgstr "兑换" msgid "Swap <0/> for exactly <1/>" msgstr "将约 <0/> 兑换成 <1/>" -#: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx msgid "Swap Anyway" msgstr "仍要兑换" @@ -1875,11 +1891,6 @@ msgstr "仍要兑换" msgid "Swap exactly <0/> for <1/>" msgstr "将恰好 <0/> 兑换成 <1/>" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Swap failed: {0}" -msgstr "兑换失败: {0}" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Swapped" msgstr "" @@ -1994,10 +2005,6 @@ msgstr "此流动池的兑换率在您选定的范围内。因此您的流动资 msgid "The ratio of tokens you add will set the price of this pool." msgstr "您注入的代币比率将决定此流动池的初始兑换率。" -#: src/utils/swapErrorToUserReadableMessage.tsx -msgid "The transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." -msgstr "由于期限已过,因此无法发送交易。请检查您的交易截止期限设置。" - #: src/components/LiquidityChartRangeInput/index.tsx msgid "There is no liquidity data." msgstr "没有流动性数据。" @@ -2010,10 +2017,6 @@ msgstr "" msgid "This app uses the following third-party APIs:" msgstr "此应用程序使用以下第三方 API:" -#: src/nft/components/collection/CollectionAsset.tsx -msgid "This item is not for sale" -msgstr "" - #: src/pages/AddLiquidity/index.tsx msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction." msgstr "需要先初始化,然后再添加流动性。初始化时,请先选择起始价格,然后输入您的流动性价格范围和存款金额。因需进行初始化相关操作,Gas 费将比平时高一些。" @@ -2042,6 +2045,10 @@ msgstr "" msgid "This tool will safely migrate your {0} liquidity to V3. The process is completely trustless thanks to the" msgstr "该工具将安全地将您的 {0} 流动资金迁移到 V3。该过程完全不依赖任何信任需求" +#: src/utils/swapErrorToUserReadableMessage.tsx +msgid "This transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." +msgstr "" + #: src/utils/swapErrorToUserReadableMessage.tsx 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 "由于兑换率变动,此交易将不会成功。尝试增加您的滑点容差。注:转账时额外抽取费用(fee-on-transfer)的代币和弹性供应(rebase)代币都与Uniswap V3不兼容。" @@ -2073,6 +2080,10 @@ msgstr "" msgid "Token name" msgstr "" +#: src/components/TokenSafety/index.tsx +msgid "Token not found" +msgstr "" + #: src/components/NavBar/SearchBarDropdown.tsx #: src/components/NavBar/index.tsx msgid "Tokens" @@ -2121,9 +2132,6 @@ msgstr "交易截止期限" msgid "Transaction pending" msgstr "交易等待中" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/utils/swapErrorToUserReadableMessage.tsx #: src/utils/swapErrorToUserReadableMessage.tsx msgid "Transaction rejected" msgstr "交易被拒绝" @@ -2161,6 +2169,10 @@ msgstr "UNI代币代表了Uniswap治理中的投票份额。您可以自行为 msgid "UNI {0}/{1} Burned" msgstr "UNI {0}/{1} 被摧毁" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Unavailable for listing" +msgstr "" + #: src/pages/Pool/PositionPage.tsx msgid "Unclaimed fees" msgstr "未领取的手续费" @@ -2169,22 +2181,22 @@ msgstr "未领取的手续费" msgid "Undetermined" msgstr "未定" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected error. Could not estimate gas for the swap." -msgstr "错误。无法估计兑换所需的gas。" - -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected issue with estimating the gas. Please try again." -msgstr "估计 gas 时遇到问题。请再试一次。" - #: src/pages/Vote/Landing.tsx msgid "Uniswap Governance" msgstr "Uniswap治理" +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +msgid "Uniswap Labs can save you up to 20% on CoinTracker and TokenTax" +msgstr "" + #: src/components/PrivacyPolicy/index.tsx msgid "Uniswap Labs' Terms of Service" msgstr "Uniswap Labs 的服务条款" +#: src/pages/Pool/v2.tsx +msgid "Uniswap V2 is not available on this network." +msgstr "" + #: src/components/SwitchLocaleLink/index.tsx msgid "Uniswap available in: <0>{0}" msgstr "Uniswap可用:<0>{0}" @@ -2253,10 +2265,6 @@ msgstr "更新投票权委托" msgid "Use the Uniswap Labs API to get faster quotes." msgstr "使用 Uniswap Labs API 获得更快的报价。" -#: src/pages/Pool/v2.tsx -msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum." -msgstr "" - #: src/pages/Pool/index.tsx msgid "V2 liquidity" msgstr "V2 流动资金" @@ -2278,7 +2286,6 @@ msgstr "" msgid "View more analytics" msgstr "" -#: src/components/TransactionConfirmationModal/index.tsx #: src/nft/components/collection/TransactionCompleteModal.tsx #: src/pages/CreateProposal/ProposalSubmissionModal.tsx msgid "View on Etherscan" @@ -2289,6 +2296,10 @@ msgstr "在 Etherscan 上查看" msgid "View on Explorer" msgstr "在以太坊资源浏览器上查看" +#: src/components/TransactionConfirmationModal/index.tsx +msgid "View on {0}" +msgstr "" + #: src/components/ModalViews/index.tsx #: src/components/claim/AddressClaimModal.tsx #: src/components/vote/ExecuteModal.tsx @@ -2433,10 +2444,6 @@ msgstr "您是第一个流动资金提供者。" msgid "You can either vote on each proposal yourself or delegate your votes to a third party." msgstr "您可以对每个提案自行进行投票,也可以将您的投票权委托给第三方。" -#: src/pages/Swap/index.tsx -msgid "You can now trade {0}" -msgstr "您现在可以交易 {0}" - #: src/pages/CreateProposal/index.tsx msgid "You don't have enough votes to submit a proposal" msgstr "您没有足够的票数来提交提案" @@ -2453,10 +2460,6 @@ msgstr "您的网络连接可能断了。" msgid "You must connect an account." msgstr "您必须连接帐户。" -#: src/pages/Swap/index.tsx -msgid "You must give the Uniswap smart contracts permission to use your {0}. You only have to do this once per token." -msgstr "您必须授予 Uniswap 智能合约使用您的 {0} 的权限。每个代币只需要授权一次。" - #: src/pages/CreateProposal/index.tsx msgid "You must have {formattedProposalThreshold} votes to submit a proposal" msgstr "您必须有 {formattedProposalThreshold} 票才能提交提案" @@ -2534,9 +2537,10 @@ msgid "Your positions" msgstr "您的仓位" #: src/hooks/useUniversalRouter.ts +msgid "Your swap is expected to fail." +msgstr "" + #: src/hooks/useUniversalRouter.ts -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx msgid "Your swap was modified through your wallet. If this was a mistake, please cancel immediately or risk losing your funds." msgstr "" @@ -2587,6 +2591,10 @@ msgstr "滑点后" msgid "and" msgstr "" +#: src/nft/components/card/media.tsx +msgid "available yet" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "below floor price." msgstr "" @@ -2644,7 +2652,7 @@ msgstr "" msgid "to" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "{0, plural, =1 {Resolve issue} other {{1}}}" msgstr "" @@ -2672,6 +2680,7 @@ msgstr "" #: src/components/ErrorBoundary/index.tsx #: src/components/RateToggle/index.tsx #: src/components/RateToggle/index.tsx +#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/nft/components/bag/BagFooter.tsx msgid "{0}" msgstr "{0}" @@ -2680,11 +2689,6 @@ msgstr "{0}" msgid "{0} %" msgstr "{0} %" -#: src/components/PositionListItem/index.tsx -#: src/components/PositionListItem/index.tsx -msgid "{0} <0/> per <1/>" -msgstr "{0} <0/> 每 <1/>" - #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx msgid "{0} Deposited" diff --git a/src/locales/zh-TW.po b/src/locales/zh-TW.po index 3155996fbb6..eb8fbebc983 100644 --- a/src/locales/zh-TW.po +++ b/src/locales/zh-TW.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: uniswap-interface\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-02-17 00:17\n" +"PO-Revision-Date: 2023-03-21 23:05\n" "Last-Translator: \n" "Language: zh_TW\n" "Language-Team: Chinese Traditional\n" @@ -116,6 +116,11 @@ msgstr "<0>提示:當您註入流動資金時,您將收到代表您份 msgid "<0>Unlock voting to prepare for the next proposal." msgstr "<0>解鎖投票,以準備下一個提案。" +#: src/components/PositionListItem/index.tsx +#: src/components/PositionListItem/index.tsx +msgid "<0>{0} <1/> per <2/>" +msgstr "" + #: src/pages/Vote/Landing.tsx msgid "A minimum threshold of 0.25% of the total UNI supply is required to submit proposals" msgstr "提交提案所需的最低門檻為 UNI 總供應量的 0.25%" @@ -171,6 +176,10 @@ msgstr "註入流動資金。" msgid "Add more liquidity" msgstr "增加流動性" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Add to bag" +msgstr "" + #: src/components/TransactionConfirmationModal/index.tsx msgid "Add {0}" msgstr "" @@ -183,11 +192,6 @@ msgstr "註入 {0}/{1} V3 流動資金" msgid "Added" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Added to bag" -msgstr "" - #: src/components/TransactionConfirmationModal/index.tsx msgid "Added {0}" msgstr "已添加 {0}" @@ -216,10 +220,6 @@ msgstr "允許流動池代幣遷移" msgid "Allow high price impact trades and skip the confirm screen. Use at your own risk." msgstr "允許高兌換率影響的交易,並跳過確認步驟。須自行承擔使用風險。" -#: src/pages/Swap/index.tsx -msgid "Allow the Uniswap Protocol to use your {0}" -msgstr "允許 Uniswap 使用您的 {0}" - #: src/pages/MigrateV2/MigrateV2Pair.tsx msgid "Allowed" msgstr "已允許" @@ -353,11 +353,10 @@ msgstr "最佳價格路由消耗的gas約為 {formattedGasPriceString}" msgid "Blocked Address" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Blocked from trading" +#: src/nft/components/card/icons.tsx +msgid "Blocked on OpenSea" msgstr "" -#: src/components/FiatOnrampAnnouncement/index.tsx #: src/components/WalletDropdown/AuthenticatedHeader.tsx msgid "Buy crypto" msgstr "" @@ -451,6 +450,11 @@ msgstr "全部清除" msgid "Close" msgstr "關閉" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Close wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx #: src/pages/RemoveLiquidity/V3.tsx msgid "Closed" @@ -530,6 +534,7 @@ msgstr "在錢包中確認交易" msgid "Connect" msgstr "" +#: src/nft/pages/profile/profile.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidityV2/index.tsx #: src/pages/RemoveLiquidity/index.tsx @@ -567,6 +572,11 @@ msgstr "連接錢包" msgid "Connected with" msgstr "" +#: src/nft/components/card/media.tsx +msgid "Content not" +msgstr "" + +#: src/nft/components/bag/Bag.tsx #: src/nft/components/profile/list/Modal/BelowFloorWarningModal.tsx msgid "Continue" msgstr "" @@ -610,10 +620,6 @@ msgstr "創建提案" msgid "Create a pair" msgstr "創建幣對" -#: src/pages/Pool/index.tsx -msgid "Create a pool" -msgstr "創建流動池" - #: src/components/AccountDetails/TransactionSummary.tsx msgid "Create pool and add {0}/{1} V3 liquidity" msgstr "創建流動池並註入 {0}/{1} V3 流動資金" @@ -725,10 +731,6 @@ msgstr "修改" msgid "Edit listings" msgstr "" -#: src/pages/AddLiquidity/index.tsx -msgid "Efficiency Comparison" -msgstr "效率對比" - #: src/state/burn/v3/hooks.tsx msgid "Enter a percent" msgstr "輸入百分比" @@ -916,18 +918,10 @@ msgstr "來源 (最多為)" msgid "Full Range" msgstr "全範圍" -#: src/pages/AddLiquidity/index.tsx -msgid "Full range positions may earn less fees than concentrated positions. Learn more <0>here." -msgstr "全範圍倉位可能比集中倉位賺取更少的費用。在<0>此處了解更多。" - #: src/components/ErrorBoundary/index.tsx msgid "Get support" msgstr "獲取支援" -#: src/components/FiatOnrampAnnouncement/index.tsx -msgid "Get tokens at the best prices in web3 on Uniswap, powered by Moonpay." -msgstr "" - #: src/components/NavBar/MenuDropdown.tsx msgid "Help center" msgstr "" @@ -942,12 +936,11 @@ msgstr "隱藏" msgid "Hide closed positions" msgstr "隱藏已關閉的倉位" -#: src/pages/Swap/index.tsx -msgid "High Price Impact" -msgstr "高兌換率影響" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Hide resources" +msgstr "" #: src/components/TokenSafety/index.tsx -#: src/pages/AddLiquidity/index.tsx msgid "I understand" msgstr "我已知悉" @@ -1031,7 +1024,6 @@ msgstr "無效的兌換率輸入" msgid "Invalid range selected. The min price must be lower than the max price." msgstr "選擇的範圍無效。最小兌換率必須低於最大兌換率。" -#: src/lib/hooks/swap/useSwapCallback.tsx #: src/state/swap/hooks.tsx msgid "Invalid recipient" msgstr "無效的接收方" @@ -1059,6 +1051,7 @@ msgstr "閱讀有關提供流動資金的資訊" #: src/components/PrivacyPolicy/index.tsx #: src/components/PrivacyPolicy/index.tsx +#: src/components/TaxServiceModal/TaxServiceBanner.tsx #: src/components/TokenSafety/TokenSafetyMessage.tsx #: src/components/TokenSafety/index.tsx #: src/pages/Landing/index.tsx @@ -1098,6 +1091,10 @@ msgstr "流動資金提供者在所有交易中按其在流動池中的份額獲 msgid "List NFTs" msgstr "" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "List for sale" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Listing an NFT requires a one-time marketplace approval for each NFT collection." msgstr "" @@ -1219,10 +1216,6 @@ msgstr "收到的最低數額" msgid "Missing chart data" msgstr "" -#: src/lib/hooks/swap/useSwapCallback.tsx -msgid "Missing dependencies" -msgstr "缺少依賴套件" - #: src/components/Tokens/TokenDetails/PriceChart.tsx msgid "Missing price data due to recently low trading volume on Uniswap v3" msgstr "" @@ -1259,6 +1252,10 @@ msgstr "" msgid "Name not found" msgstr "" +#: src/components/NavBar/NavIcon.tsx +msgid "Navigation button" +msgstr "" + #: src/components/swap/AdvancedSwapDetails.tsx msgid "Network Fee" msgstr "網絡費用" @@ -1287,6 +1284,10 @@ msgstr "沒有資料" msgid "No description." msgstr "沒有說明。" +#: src/nft/pages/profile/profile.tsx +msgid "No items to display" +msgstr "" + #: src/pages/Pool/v2.tsx msgid "No liquidity found." msgstr "未找到流動資金。" @@ -1327,6 +1328,10 @@ msgstr "" msgid "Not created" msgstr "未創建" +#: src/nft/components/collection/CollectionAsset.tsx +msgid "Not listed" +msgstr "" + #: src/components/Settings/index.tsx msgid "ONLY USE THIS MODE IF YOU KNOW WHAT YOU ARE DOING." msgstr "務必在詳細了解此模式應用後才使用此模式操作。" @@ -1347,6 +1352,11 @@ msgstr "只有在 {0} 區塊編號之前已自行委托或委托給另一個區 msgid "Oops, take me back to Swap" msgstr "" +#: src/components/Web3Status/index.tsx +#: src/components/Web3Status/index.tsx +msgid "Open wallet connection options" +msgstr "" + #: src/components/Badge/RangeBadge.tsx msgid "Out of range" msgstr "超出範圍" @@ -1405,7 +1415,6 @@ msgid "Please type the word \"{confirmWord}\" to enable expert mode." msgstr "請輸入單詞“{confirmWord}”以啟用專家模式。" #: src/components/AccountDetailsV2/TransactionBody.tsx -#: src/components/NavBar/index.tsx msgid "Pool" msgstr "流動池" @@ -1429,6 +1438,7 @@ msgstr "獎勵池中的流動池代幣:" msgid "Pooled {0}:" msgstr "流動池匯集 {0}:" +#: src/components/NavBar/index.tsx #: src/pages/Pool/index.tsx #: src/pages/Pool/index.tsx msgid "Pools" @@ -1623,6 +1633,11 @@ msgstr "去除投票權代表" msgid "Remove Liquidity" msgstr "去除流動資金" +#: src/nft/components/collection/CollectionAsset.tsx +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Remove from bag" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "Remove item" msgstr "" @@ -1631,11 +1646,6 @@ msgstr "" msgid "Removed" msgstr "" -#: src/nft/components/collection/CollectionAsset.tsx -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Removed from bag" -msgstr "" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Removing" msgstr "" @@ -1648,7 +1658,7 @@ msgstr "正在去除 {0} {1} 和 {2} {3}" msgid "Removing {0} {1} and{2} {3}" msgstr "移除 {0} {1} 和 {2} {3}" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Resolve {issues} issues" msgstr "" @@ -1670,6 +1680,15 @@ msgstr "" msgid "Same Price" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Save on Tax Services" +msgstr "" + +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +#: src/components/TaxServiceModal/index.tsx +msgid "Save on your crypto taxes" +msgstr "" + #: src/components/NavBar/SearchBar.tsx msgid "Search" msgstr "" @@ -1726,10 +1745,6 @@ msgstr "" msgid "Sell NFTs" msgstr "" -#: src/nft/components/profile/view/ViewMyNftsAsset.tsx -msgid "Selling ERC-1155s coming soon" -msgstr "" - #: src/pages/AddLiquidity/index.tsx #: src/pages/AddLiquidity/index.tsx #: src/pages/MigrateV2/MigrateV2Pair.tsx @@ -1740,7 +1755,7 @@ msgstr "設置兌換率範圍" msgid "Set Starting Price" msgstr "設置起始兌換率" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Set prices to continue" msgstr "" @@ -1778,6 +1793,10 @@ msgstr "顯示已關閉的倉位" msgid "Show more" msgstr "" +#: src/components/NavBar/MenuDropdown.tsx +msgid "Show resources" +msgstr "" + #: src/nft/components/profile/list/Modal/ListModalSection.tsx msgid "Sign" msgstr "" @@ -1812,7 +1831,7 @@ msgstr "" msgid "Sorry, an error occured while processing your request. If you request support, be sure to provide your error ID." msgstr "0xf4bea2c219eb95c6745983b68185c7340c319d9e" -#: src/nft/components/profile/list/ListPage.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "Start listing" msgstr "" @@ -1854,11 +1873,9 @@ msgstr "供應 {0} {1} 和 {2} {3}" #: src/components/AccountDetailsV2/TransactionBody.tsx #: src/components/NavBar/index.tsx -#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/components/swap/SwapHeader.tsx #: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx -#: src/pages/Swap/index.tsx msgid "Swap" msgstr "兌換" @@ -1866,7 +1883,6 @@ msgstr "兌換" msgid "Swap <0/> for exactly <1/>" msgstr "將約 <0/> 兌換成 <1/>" -#: src/pages/Swap/index.tsx #: src/pages/Swap/index.tsx msgid "Swap Anyway" msgstr "仍要兌換" @@ -1875,11 +1891,6 @@ msgstr "仍要兌換" msgid "Swap exactly <0/> for <1/>" msgstr "將恰好 <0/> 兌換成 <1/>" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Swap failed: {0}" -msgstr "兑换失败: {0}" - #: src/components/AccountDetailsV2/TransactionBody.tsx msgid "Swapped" msgstr "" @@ -1994,10 +2005,6 @@ msgstr "此流動池的兌換率在您選定的範圍內。因此您的流動資 msgid "The ratio of tokens you add will set the price of this pool." msgstr "您註入的代幣比率將決定此流動池的初始兌換率。" -#: src/utils/swapErrorToUserReadableMessage.tsx -msgid "The transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." -msgstr "由於期限已過,因此無法發送交易。請檢查您的交易截止期限設置。" - #: src/components/LiquidityChartRangeInput/index.tsx msgid "There is no liquidity data." msgstr "沒有流動性數據。" @@ -2010,10 +2017,6 @@ msgstr "" msgid "This app uses the following third-party APIs:" msgstr "此應用程序使用以下第三方 API:" -#: src/nft/components/collection/CollectionAsset.tsx -msgid "This item is not for sale" -msgstr "" - #: src/pages/AddLiquidity/index.tsx msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction." msgstr "需要先初始化,然後再添加流動性。初始化時,請先選擇起始價格,然後輸入您的流動性價格範圍和存款金額。因需進行初始化相關操作,Gas 費將比平時高一些。" @@ -2042,6 +2045,10 @@ msgstr "" msgid "This tool will safely migrate your {0} liquidity to V3. The process is completely trustless thanks to the" msgstr "該工具將安全地將您的 {0} 流動資金遷移到 V3。該過程完全不依賴任何信任需求" +#: src/utils/swapErrorToUserReadableMessage.tsx +msgid "This transaction could not be sent because the deadline has passed. Please check that your transaction deadline is not too low." +msgstr "" + #: src/utils/swapErrorToUserReadableMessage.tsx 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 "由於兌換率變動,該交易將不會成功。請嘗試增加滑點容差。註:轉賬時帶扣除費用(fee-on-transfer)的代幣和會自動重新定價(rebase)的代幣都與Uniswap V3不兼容。" @@ -2073,6 +2080,10 @@ msgstr "" msgid "Token name" msgstr "Token name" +#: src/components/TokenSafety/index.tsx +msgid "Token not found" +msgstr "" + #: src/components/NavBar/SearchBarDropdown.tsx #: src/components/NavBar/index.tsx msgid "Tokens" @@ -2121,9 +2132,6 @@ msgstr "交易截止期限" msgid "Transaction pending" msgstr "交易待定" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/utils/swapErrorToUserReadableMessage.tsx #: src/utils/swapErrorToUserReadableMessage.tsx msgid "Transaction rejected" msgstr "交易被拒絕" @@ -2161,6 +2169,10 @@ msgstr "UNI 代幣代表了 Uniswap 治理中的投票份額。您可以自行 msgid "UNI {0}/{1} Burned" msgstr "UNI {0}/{1} 已銷毀" +#: src/nft/components/profile/view/ViewMyNftsAsset.tsx +msgid "Unavailable for listing" +msgstr "" + #: src/pages/Pool/PositionPage.tsx msgid "Unclaimed fees" msgstr "未領取的手續費" @@ -2169,22 +2181,22 @@ msgstr "未領取的手續費" msgid "Undetermined" msgstr "未定" -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected error. Could not estimate gas for the swap." -msgstr "錯誤。無法估計兑换所需的 gas。" - -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -msgid "Unexpected issue with estimating the gas. Please try again." -msgstr "估計 gas 時遇到問題。請再試一次。" - #: src/pages/Vote/Landing.tsx msgid "Uniswap Governance" msgstr "Uniswap治理" +#: src/components/TaxServiceModal/TaxServiceBanner.tsx +msgid "Uniswap Labs can save you up to 20% on CoinTracker and TokenTax" +msgstr "" + #: src/components/PrivacyPolicy/index.tsx msgid "Uniswap Labs' Terms of Service" msgstr "Uniswap Labs 的服務條款" +#: src/pages/Pool/v2.tsx +msgid "Uniswap V2 is not available on this network." +msgstr "" + #: src/components/SwitchLocaleLink/index.tsx msgid "Uniswap available in: <0>{0}" msgstr "Uniswap 可選語言:<0>{0}" @@ -2253,10 +2265,6 @@ msgstr "更新投票權委托" msgid "Use the Uniswap Labs API to get faster quotes." msgstr "使用 Uniswap Labs API 獲得更快的報價。" -#: src/pages/Pool/v2.tsx -msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum." -msgstr "" - #: src/pages/Pool/index.tsx msgid "V2 liquidity" msgstr "V2 流動資金" @@ -2278,7 +2286,6 @@ msgstr "" msgid "View more analytics" msgstr "" -#: src/components/TransactionConfirmationModal/index.tsx #: src/nft/components/collection/TransactionCompleteModal.tsx #: src/pages/CreateProposal/ProposalSubmissionModal.tsx msgid "View on Etherscan" @@ -2289,6 +2296,10 @@ msgstr "在Etherscan上查看" msgid "View on Explorer" msgstr "在以太坊資源瀏覽器上查看" +#: src/components/TransactionConfirmationModal/index.tsx +msgid "View on {0}" +msgstr "" + #: src/components/ModalViews/index.tsx #: src/components/claim/AddressClaimModal.tsx #: src/components/vote/ExecuteModal.tsx @@ -2433,10 +2444,6 @@ msgstr "您是第一個流動資金提供者。" msgid "You can either vote on each proposal yourself or delegate your votes to a third party." msgstr "您可以對每個提案自行進行投票,也可以將您的投票權委托給第三方。" -#: src/pages/Swap/index.tsx -msgid "You can now trade {0}" -msgstr "您現在可以交易 {0}" - #: src/pages/CreateProposal/index.tsx msgid "You don't have enough votes to submit a proposal" msgstr "您沒有足夠的票數來提交提案" @@ -2453,10 +2460,6 @@ msgstr "您的網絡連接可能斷了。" msgid "You must connect an account." msgstr "您必須連接帳戶。" -#: src/pages/Swap/index.tsx -msgid "You must give the Uniswap smart contracts permission to use your {0}. You only have to do this once per token." -msgstr "您必須授予 Uniswap 智能合約使用您的 {0} 的權限。每個代幣只需要授權一次。" - #: src/pages/CreateProposal/index.tsx msgid "You must have {formattedProposalThreshold} votes to submit a proposal" msgstr "您必須有 {formattedProposalThreshold} 票才能提交提案" @@ -2534,9 +2537,10 @@ msgid "Your positions" msgstr "您的倉位" #: src/hooks/useUniversalRouter.ts +msgid "Your swap is expected to fail." +msgstr "" + #: src/hooks/useUniversalRouter.ts -#: src/lib/hooks/swap/useSendSwapTransaction.tsx -#: src/lib/hooks/swap/useSendSwapTransaction.tsx msgid "Your swap was modified through your wallet. If this was a mistake, please cancel immediately or risk losing your funds." msgstr "" @@ -2587,6 +2591,10 @@ msgstr "滑點後" msgid "and" msgstr "" +#: src/nft/components/card/media.tsx +msgid "available yet" +msgstr "" + #: src/nft/components/profile/list/PriceTextInput.tsx msgid "below floor price." msgstr "" @@ -2644,7 +2652,7 @@ msgstr "" msgid "to" msgstr "" -#: src/nft/components/bag/profile/ListingButton.tsx +#: src/nft/components/profile/list/ListingButton.tsx msgid "{0, plural, =1 {Resolve issue} other {{1}}}" msgstr "" @@ -2672,6 +2680,7 @@ msgstr "" #: src/components/ErrorBoundary/index.tsx #: src/components/RateToggle/index.tsx #: src/components/RateToggle/index.tsx +#: src/components/Tokens/TokenDetails/MobileBalanceSummaryFooter.tsx #: src/nft/components/bag/BagFooter.tsx msgid "{0}" msgstr "{0}" @@ -2680,11 +2689,6 @@ msgstr "{0}" msgid "{0} %" msgstr "{0} %" -#: src/components/PositionListItem/index.tsx -#: src/components/PositionListItem/index.tsx -msgid "{0} <0/> per <1/>" -msgstr "{0} <0/> 每 <1/>" - #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx #: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx msgid "{0} Deposited" diff --git a/src/nft/components/collection/ActivityCells.tsx b/src/nft/components/collection/ActivityCells.tsx index 3f23e7c7327..9823b2dac88 100644 --- a/src/nft/components/collection/ActivityCells.tsx +++ b/src/nft/components/collection/ActivityCells.tsx @@ -1,6 +1,6 @@ +import { ChainId } from '@orbitalapes/smart-order-router' import { sendAnalyticsEvent, useTrace } from '@uniswap/analytics' import { InterfacePageName, NFTEventName } from '@uniswap/analytics-events' -import { ChainId } from '@uniswap/smart-order-router' import { MouseoverTooltip } from 'components/Tooltip' import { Box } from 'nft/components/Box' import { Column, Row } from 'nft/components/Flex' diff --git a/src/nft/components/collection/TransactionCompleteModal.tsx b/src/nft/components/collection/TransactionCompleteModal.tsx index 57756cc9580..9492acba83e 100644 --- a/src/nft/components/collection/TransactionCompleteModal.tsx +++ b/src/nft/components/collection/TransactionCompleteModal.tsx @@ -179,7 +179,7 @@ const TxCompleteModal = () => { - View on Etherscan + View on Explorer @@ -248,7 +248,7 @@ const TxCompleteModal = () => { color="textSecondary" className={styles.totalEthCost} > - View on Etherscan + View on Explorer diff --git a/src/nft/css/cssStringFromTheme.ts b/src/nft/css/cssStringFromTheme.ts index d3ef3d8821c..2089048156c 100644 --- a/src/nft/css/cssStringFromTheme.ts +++ b/src/nft/css/cssStringFromTheme.ts @@ -1,5 +1,4 @@ import { darkTheme } from 'nft/themes/darkTheme' -import { lightTheme } from 'nft/themes/lightTheme' import { cssObjectFromTheme } from './cssObjectFromTheme' import { Theme } from './sprinkles.css' @@ -11,5 +10,5 @@ function cssStringFromTheme(theme: Theme | (() => Theme), options: { extends?: T } export function rootCssString(isDarkMode: boolean) { - return isDarkMode ? cssStringFromTheme(darkTheme) : cssStringFromTheme(lightTheme) + return isDarkMode ? cssStringFromTheme(darkTheme) : cssStringFromTheme(darkTheme) } diff --git a/src/pages/App.tsx b/src/pages/App.tsx index de4c784402f..5d6ca4e8845 100644 --- a/src/pages/App.tsx +++ b/src/pages/App.tsx @@ -1,22 +1,15 @@ -import { getDeviceId, sendAnalyticsEvent, Trace, user } from '@uniswap/analytics' +import { sendAnalyticsEvent, Trace, user } from '@uniswap/analytics' import { CustomUserProperties, getBrowser, InterfacePageName, SharedEventName } from '@uniswap/analytics-events' -import { useWeb3React } from '@web3-react/core' import Loader from 'components/Loader' -import { MenuDropdown } from 'components/NavBar/MenuDropdown' import TopLevelModals from 'components/TopLevelModals' import { useFeatureFlagsIsLoaded } from 'featureFlags' import ApeModeQueryParamReader from 'hooks/useApeModeQueryParamReader' -import { STATSIG_DUMMY_KEY } from 'integrations' -import { Box } from 'nft/components/Box' -import { lazy, Suspense, useEffect, useMemo, useState } from 'react' +import React, { Suspense, useEffect, useState } from 'react' import { Navigate, Route, Routes, useLocation } from 'react-router-dom' import { useIsDarkMode } from 'state/user/hooks' -import { StatsigProvider, StatsigUser } from 'statsig-react' import styled from 'styled-components/macro' -import { SpinnerSVG } from 'theme/components' import { flexRowNoWrap } from 'theme/styles' import { Z_INDEX } from 'theme/zIndex' -import { getEnvName } from 'utils/env' import { getCLS, getFCP, getFID, getLCP, Metric } from 'web-vitals' import { useAnalyticsReporter } from '../components/analytics' @@ -29,27 +22,16 @@ import { useIsExpertMode } from '../state/user/hooks' import DarkModeQueryParamReader from '../theme/components/DarkModeQueryParamReader' import AddLiquidity from './AddLiquidity' import { RedirectDuplicateTokenIds } from './AddLiquidity/redirects' -import { RedirectDuplicateTokenIdsV2 } from './AddLiquidityV2/redirects' -import Landing from './Landing' import MigrateV2 from './MigrateV2' import MigrateV2Pair from './MigrateV2/MigrateV2Pair' import NotFound from './NotFound' -import Pool from './Pool' import { PositionPage } from './Pool/PositionPage' -import PoolV2 from './Pool/v2' -import PoolFinder from './PoolFinder' -import RemoveLiquidity from './RemoveLiquidity' import RemoveLiquidityV3 from './RemoveLiquidity/V3' -import Swap from './Swap' -import { RedirectPathToSwapOnly } from './Swap/redirects' -import Tokens from './Tokens' -const TokenDetails = lazy(() => import('./TokenDetails')) -const Vote = lazy(() => import('./Vote')) -const NftExplore = lazy(() => import('nft/pages/explore')) -const Collection = lazy(() => import('nft/pages/collection')) -const Profile = lazy(() => import('nft/pages/profile/profile')) -const Asset = lazy(() => import('nft/pages/asset/Asset')) +const Landing = React.lazy(() => import('./Landing')) +const Swap = React.lazy(() => import('./Swap')) +const Pools = React.lazy(() => import('./Pools')) +const Pool = React.lazy(() => import('./Pool')) const BodyWrapper = styled.div` display: flex; @@ -114,20 +96,6 @@ function getCurrentPageFromLocation(locationPathname: string): InterfacePageName } } -// this is the same svg defined in assets/images/blue-loader.svg -// it is defined here because the remote asset may not have had time to load when this file is executing -const LazyLoadSpinner = () => ( - - - -) - export default function App() { const isLoaded = useFeatureFlagsIsLoaded() @@ -176,144 +144,60 @@ export default function App() { const isHeaderTransparent = !scrolledState - const { account } = useWeb3React() - const statsigUser: StatsigUser = useMemo( - () => ({ - userID: getDeviceId(), - customIDs: { address: account ?? '' }, - }), - [account] - ) - return ( - - - - - - - - - }> - {isLoaded ? ( - - } /> - - }> - - - } /> - }> - - - } - /> - } /> - - } /> - } /> - - } /> - } /> - } /> - } /> - - }> - - - - }> - {/* this is workaround since react-router-dom v6 doesn't support optional parameters any more */} - - - - - - }> - - - - - - - } /> - } /> - - } /> - } /> - - - - - } - /> - - - - } - /> - - - - } - /> - - - - } - /> - - - - } - /> - - } /> - } /> - - ) : ( - - )} - - - - - - - - - + + + + + + + + }> + {isLoaded ? ( + + } /> + + } /> + + } /> + + } /> + } /> + + }> + {/* this is workaround since react-router-dom v6 doesn't support optional parameters any more */} + + + + + + }> + + + + + + + } /> + + } /> + } /> + + } /> + } /> + + ) : ( + + )} + + + + + ) diff --git a/src/pages/CreateProposal/ProposalSubmissionModal.tsx b/src/pages/CreateProposal/ProposalSubmissionModal.tsx index 251df89f9b4..55fd2eff2fb 100644 --- a/src/pages/CreateProposal/ProposalSubmissionModal.tsx +++ b/src/pages/CreateProposal/ProposalSubmissionModal.tsx @@ -39,7 +39,7 @@ export const ProposalSubmissionModal = ({ {hash && ( - View on Etherscan + View on Explorer )} diff --git a/src/pages/Landing/images/arrow.svg b/src/pages/Landing/images/arrow.svg new file mode 100644 index 00000000000..cfe49e031a7 --- /dev/null +++ b/src/pages/Landing/images/arrow.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/pages/Landing/images/bridge.svg b/src/pages/Landing/images/bridge.svg new file mode 100644 index 00000000000..4d73f02afc2 --- /dev/null +++ b/src/pages/Landing/images/bridge.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/pages/Landing/images/building.svg b/src/pages/Landing/images/building.svg new file mode 100644 index 00000000000..c208ce51809 --- /dev/null +++ b/src/pages/Landing/images/building.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/pages/Landing/images/code.svg b/src/pages/Landing/images/code.svg new file mode 100644 index 00000000000..2a2462e86a5 --- /dev/null +++ b/src/pages/Landing/images/code.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/pages/Landing/images/droplet.svg b/src/pages/Landing/images/droplet.svg new file mode 100644 index 00000000000..42b70eee746 --- /dev/null +++ b/src/pages/Landing/images/droplet.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/pages/Landing/images/forge-header.png b/src/pages/Landing/images/forge-header.png new file mode 100644 index 00000000000..fb00571ce01 Binary files /dev/null and b/src/pages/Landing/images/forge-header.png differ diff --git a/src/pages/Landing/images/people.svg b/src/pages/Landing/images/people.svg new file mode 100644 index 00000000000..f9e45bfb982 --- /dev/null +++ b/src/pages/Landing/images/people.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/pages/Landing/images/telegram.svg b/src/pages/Landing/images/telegram.svg new file mode 100644 index 00000000000..8ac4914e66e --- /dev/null +++ b/src/pages/Landing/images/telegram.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/pages/Landing/index.tsx b/src/pages/Landing/index.tsx index 6fb04c12874..b827fefa7af 100644 --- a/src/pages/Landing/index.tsx +++ b/src/pages/Landing/index.tsx @@ -6,7 +6,6 @@ import Card, { CardType } from 'components/About/Card' import { MAIN_CARDS, MORE_CARDS } from 'components/About/constants' import ProtocolBanner from 'components/About/ProtocolBanner' import { BaseButton } from 'components/Button' -import { useSwapWidgetEnabled } from 'featureFlags/flags/swapWidget' import Swap from 'pages/Swap' import { parse } from 'qs' import { useEffect, useRef, useState } from 'react' @@ -19,6 +18,8 @@ import styled, { css } from 'styled-components/macro' import { BREAKPOINTS } from 'theme' import { Z_INDEX } from 'theme/zIndex' +import headerBG from './images/forge-header.png' + const PageContainer = styled.div<{ isDarkMode: boolean }>` position: absolute; top: 0; @@ -29,11 +30,7 @@ const PageContainer = styled.div<{ isDarkMode: boolean }>` align-items: center; scroll-behavior: smooth; overflow-x: hidden; - - background: ${({ isDarkMode }) => - isDarkMode - ? 'linear-gradient(rgba(8, 10, 24, 0) 0%, rgb(8 10 24 / 100%) 45%)' - : 'linear-gradient(rgba(255, 255, 255, 0) 0%, rgb(255 255 255 /100%) 45%)'}; + background: linear-gradient(0deg, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0.7)); ` const Gradient = styled.div<{ isDarkMode: boolean }>` @@ -41,19 +38,17 @@ const Gradient = styled.div<{ isDarkMode: boolean }>` display: flex; align-items: center; justify-content: center; - top: 0; + top: 72px; bottom: 0; width: 100%; min-height: 550px; - background: ${({ isDarkMode }) => - isDarkMode - ? 'linear-gradient(rgba(8, 10, 24, 0) 0%, rgb(8 10 24 / 100%) 45%)' - : 'linear-gradient(rgba(255, 255, 255, 0) 0%, rgb(255 255 255 /100%) 45%)'}; + background: linear-gradient(rgba(0, 0, 0, 0) 0%, rgb(0 0 0 / 88%) 45%); z-index: ${Z_INDEX.under_dropdown}; pointer-events: none; height: ${({ theme }) => `calc(100vh - ${theme.mobileBottomBarHeight}px)`}; @media screen and (min-width: ${({ theme }) => theme.breakpoint.md}px) { - height: 100vh; + top: 72px; + height: calc(100vh - 72px); } ` @@ -62,7 +57,7 @@ const GlowContainer = styled.div` display: flex; align-items: center; justify-content: center; - top: 0; + top: 72px; bottom: 0; width: 100%; overflow-y: hidden; @@ -75,8 +70,9 @@ const GlowContainer = styled.div` const Glow = styled.div` position: absolute; top: 68px; + opacity: 0.5; bottom: 0; - background: radial-gradient(72.04% 72.04% at 50% 3.99%, #ff37eb 0%, rgba(166, 151, 255, 0) 100%); + background: radial-gradient(72.04% 72.04% at 50% 3.99%, #ed4e33 0%, rgba(166, 151, 255, 0) 100%); filter: blur(72px); border-radius: 24px; max-width: 480px; @@ -89,11 +85,11 @@ const ContentContainer = styled.div<{ isDarkMode: boolean }>` display: flex; flex-direction: column; align-items: center; - justify-content: flex-end; + justify-content: center; width: 100%; padding: 0 0 40px; - max-width: min(720px, 90%); min-height: 500px; + max-width: min(720px, 90%); z-index: ${Z_INDEX.under_dropdown}; transition: ${({ theme }) => `${theme.transition.duration.medium} ${theme.transition.timing.ease} opacity`}; height: ${({ theme }) => `calc(100vh - ${theme.navHeight + theme.mobileBottomBarHeight}px)`}; @@ -101,6 +97,11 @@ const ContentContainer = styled.div<{ isDarkMode: boolean }>` * { pointer-events: auto; } + @media screen and (min-width: ${BREAKPOINTS.xl}px) { + padding: 0 0 1rem; + justify-content: center; + top: 200px; + } ` const TitleText = styled.h1<{ isDarkMode: boolean }>` @@ -110,9 +111,10 @@ const TitleText = styled.h1<{ isDarkMode: boolean }>` font-weight: 700; text-align: center; margin: 0 0 24px; + text-transform: uppercase; background: ${({ isDarkMode }) => isDarkMode - ? 'linear-gradient(20deg, rgba(255, 244, 207, 1) 10%, rgba(255, 87, 218, 1) 100%)' + ? 'linear-gradient(20deg, rgba(255, 244, 207, 1) 10%, rgba(237, 78, 51, 1) 80%)' : 'linear-gradient(10deg, rgba(255,79,184,1) 0%, rgba(255,159,251,1) 100%)'}; background-clip: text; -webkit-background-clip: text; @@ -123,13 +125,13 @@ const TitleText = styled.h1<{ isDarkMode: boolean }>` } @media screen and (min-width: ${BREAKPOINTS.md}px) { - font-size: 64px; - line-height: 72px; + font-size: 54px; + line-height: 62px; } ` const SubText = styled.div` - color: ${({ theme }) => theme.textSecondary}; + color: #faf1e4; font-size: 16px; line-height: 24px; font-weight: 500; @@ -154,13 +156,13 @@ const LandingButton = styled(BaseButton)` ` const ButtonCTA = styled(LandingButton)` - background: linear-gradient(93.06deg, #ff00c7 2.66%, #ff9ffb 98.99%); + background: linear-gradient(93.06deg, #ed4e33 12.66%, #531c12 98.99%); border: none; color: ${({ theme }) => theme.white}; transition: ${({ theme }) => `all ${theme.transition.duration.medium} ${theme.transition.timing.ease}`}; &:hover { - box-shadow: 0px 0px 16px 0px #ff00c7; + box-shadow: 0px 0px 16px 0px #ed4e33; } ` @@ -183,7 +185,7 @@ const ActionsContainer = styled.span` const LearnMoreContainer = styled.div` align-items: center; - color: ${({ theme }) => theme.textTertiary}; + color: #faf1e4; cursor: pointer; font-size: 20px; font-weight: 600; @@ -213,11 +215,9 @@ const AboutContentContainer = styled.div<{ isDarkMode: boolean }>` align-items: center; padding: 0 24px 5rem; width: 100%; - background: ${({ isDarkMode }) => - isDarkMode - ? 'linear-gradient(179.82deg, rgba(0, 0, 0, 0) 0.16%, #050026 99.85%)' - : 'linear-gradient(179.82deg, rgba(255, 255, 255, 0) 0.16%, #eaeaea 99.85%)'}; + background: rgba(0, 0, 0, 0); @media screen and (min-width: ${BREAKPOINTS.md}px) { + margin-top: 40px; padding: 0 96px 5rem; } ` @@ -226,7 +226,7 @@ const CardGrid = styled.div<{ cols: number }>` display: grid; gap: 12px; width: 100%; - padding: 24px 0 0; + padding: 40px 0 0; max-width: 1440px; scroll-margin: ${({ theme }) => `${theme.navHeight}px 0 0`}; @@ -237,7 +237,7 @@ const CardGrid = styled.div<{ cols: number }>` Array.from(Array(cols === 2 ? 2 : 1)) .map(() => '1fr') .join(' ')}; - gap: 32px; + gap: 40px; } @media screen and (min-width: ${BREAKPOINTS.lg}px) { @@ -246,7 +246,7 @@ const CardGrid = styled.div<{ cols: number }>` Array.from(Array(cols)) .map(() => '1fr') .join(' ')}; - gap: 32px; + gap: 40px; } ` @@ -256,14 +256,21 @@ const LandingSwapContainer = styled.div` display: flex; flex-direction: column; align-items: center; - z-index: 1; + + @media screen and (min-width: ${BREAKPOINTS.md}px) { + z-index: 1; + background-image: url(${headerBG}); + background-size: cover; + background-position: -200px center; + height: calc(100vh - 72px); + } ` const SwapCss = css` * { pointer-events: none; } - + transform: scale(0.95); &:hover { transform: translateY(-4px); transition: ${({ theme }) => `transform ${theme.transition.duration.medium} ${theme.transition.timing.ease}`}; @@ -287,11 +294,6 @@ const Link = styled(NativeLink)` ${LinkCss} ` -const WidgetLandingLink = styled(NativeLink)` - ${LinkCss} - ${SwapCss} -` - export default function Landing() { const isDarkMode = useIsDarkMode() @@ -305,7 +307,7 @@ export default function Landing() { ignoreQueryPrefix: true, }) - const swapWidgetEnabled = useSwapWidgetEnabled() + const swapWidgetEnabled = false // This can be simplified significantly once the flag is removed! For now being explicit is clearer. useEffect(() => { @@ -327,12 +329,12 @@ export default function Landing() { element={InterfaceElementName.LANDING_PAGE_SWAP_ELEMENT} > {swapWidgetEnabled ? ( - - - + + + ) : ( - + )} @@ -342,9 +344,9 @@ export default function Landing() { - Trade crypto & NFTs with confidence + The strongest interchain exchange - Buy, sell, and explore tokens and NFTs + Swap, earn, and build on the premier Evmos community owned DEX - + {MAIN_CARDS.map(({ darkBackgroundImgSrc, lightBackgroundImgSrc, ...card }) => ( @@ -107,13 +102,13 @@ export default function CTACards() { - + Top pools - Explore Uniswap Analytics. + Explore top pools in Forge. diff --git a/src/pages/Pool/index.tsx b/src/pages/Pool/index.tsx index 9e8937591ce..3f1a95a9513 100644 --- a/src/pages/Pool/index.tsx +++ b/src/pages/Pool/index.tsx @@ -11,7 +11,7 @@ import { SwitchLocaleLink } from 'components/SwitchLocaleLink' import { isSupportedChain } from 'constants/chains' import { useV3Positions } from 'hooks/useV3Positions' import { useMemo } from 'react' -import { AlertTriangle, BookOpen, ChevronDown, ChevronsRight, Inbox, Layers, PlusCircle } from 'react-feather' +import { AlertTriangle, BookOpen, ChevronDown, Inbox, PlusCircle } from 'react-feather' import { Link } from 'react-router-dom' import { useToggleWalletModal } from 'state/application/hooks' import { useUserHideClosedPositions } from 'state/user/hooks' @@ -210,7 +210,6 @@ export default function Pool() { }, [[], []] ) ?? [[], []] - const filteredPositions = useMemo( () => [...openPositions, ...(userHideClosedPositions ? [] : closedPositions)], [closedPositions, openPositions, userHideClosedPositions] @@ -234,26 +233,6 @@ export default function Pool() { link: '/add/ETH', external: false, }, - { - content: ( - - Migrate - - - ), - link: '/migrate/v2', - external: false, - }, - { - content: ( - - V2 liquidity - - - ), - link: '/pool/v2', - external: false, - }, { content: ( diff --git a/src/pages/Pools/index.tsx b/src/pages/Pools/index.tsx new file mode 100644 index 00000000000..62f4cde0083 --- /dev/null +++ b/src/pages/Pools/index.tsx @@ -0,0 +1,73 @@ +import { Trans } from '@lingui/macro' +import { Trace } from '@uniswap/analytics' +import { InterfacePageName } from '@uniswap/analytics-events' +import PoolTable from 'components/Pools/PoolTable' +import { MAX_WIDTH_MEDIA_BREAKPOINT } from 'components/Tokens/constants' +import { filterStringAtom } from 'components/Tokens/state' +import { MouseoverTooltip } from 'components/Tooltip' +import { useResetAtom } from 'jotai/utils' +import { useEffect, useMemo } from 'react' +import { useLocation } from 'react-router-dom' +import styled from 'styled-components/macro' +import { ThemedText } from 'theme' + +import { usePoolDatas } from './poolData' + +const ExploreContainer = styled.div` + width: 100%; + min-width: 320px; + padding: 68px 12px 0px; + + @media only screen and (max-width: ${({ theme }) => `${theme.breakpoint.md}px`}) { + padding-top: 48px; + } + + @media only screen and (max-width: ${({ theme }) => `${theme.breakpoint.sm}px`}) { + padding-top: 20px; + } +` +const TitleContainer = styled.div` + margin-bottom: 32px; + max-width: ${MAX_WIDTH_MEDIA_BREAKPOINT}; + margin-left: auto; + margin-right: auto; + display: flex; +` +function notEmpty(value: TValue | null | undefined): value is TValue { + return value !== null && value !== undefined +} + +const Pools = () => { + const resetFilterString = useResetAtom(filterStringAtom) + const location = useLocation() + const allPoolData = usePoolDatas() + + const poolDatas = useMemo(() => { + return Object.values(allPoolData.data ?? {}) + .map((p) => p) + .filter(notEmpty) + }, [allPoolData]) + useEffect(() => { + resetFilterString() + }, [location, resetFilterString]) + + return ( + + + + This table contains the top pools by volume, sorted based on your input.} + placement="bottom" + > + + Top pools on Forge + + + + + + + ) +} + +export default Pools diff --git a/src/pages/Pools/poolData.ts b/src/pages/Pools/poolData.ts new file mode 100644 index 00000000000..abc45de540b --- /dev/null +++ b/src/pages/Pools/poolData.ts @@ -0,0 +1,441 @@ +import { ApolloClient, InMemoryCache, NormalizedCacheObject, useQuery } from '@apollo/client' +import { PoolData } from 'components/Pools/PoolTable' +import { SupportedChainId } from 'constants/chains' +import { WRAPPED_NATIVE_CURRENCY } from 'constants/tokens' +import dayjs from 'dayjs' +import gql from 'graphql-tag' +import { useEffect, useMemo, useState } from 'react' + +function formatTokenSymbol(address: string, symbol: string) { + if (address === WRAPPED_NATIVE_CURRENCY[SupportedChainId.FUJI]?.address) { + return 'AVAX' + } + return symbol +} + +function formatTokenName(address: string, name: string) { + if (address === WRAPPED_NATIVE_CURRENCY[SupportedChainId.FUJI]?.address) { + return 'AVAX' + } + return name +} + +const fujiClient = new ApolloClient({ + uri: 'https://dev.orbitmarket.io/subgraphs/name/orbital-apes-labs/v3-subgraph', + cache: new InMemoryCache({ + typePolicies: { + Token: { + // Singleton types that have no identifying field can use an empty + // array for their keyFields. + keyFields: false, + }, + Pool: { + // Singleton types that have no identifying field can use an empty + // array for their keyFields. + keyFields: false, + }, + }, + }), + queryDeduplication: true, + defaultOptions: { + watchQuery: { + fetchPolicy: 'no-cache', + }, + query: { + fetchPolicy: 'no-cache', + errorPolicy: 'all', + }, + }, +}) +const fujiBlockClient = new ApolloClient({ + uri: 'https://dev.orbitmarket.io/subgraphs/name/orbital-apes-labs/blocks-subgraph', + cache: new InMemoryCache(), + queryDeduplication: true, + defaultOptions: { + watchQuery: { + fetchPolicy: 'cache-first', + }, + query: { + fetchPolicy: 'cache-first', + errorPolicy: 'all', + }, + }, +}) + +const GET_BLOCKS = (timestamps: string[]) => { + let queryString = 'query blocks {' + queryString += timestamps.map((timestamp) => { + return `t${timestamp}:blocks(first: 1, orderBy: timestamp, orderDirection: desc, where: { timestamp_gt: ${timestamp}, timestamp_lt: ${ + timestamp + 600 + } }) { + number + }` + }) + queryString += '}' + return gql(queryString) +} + +async function splitQuery( + query: any, + client: ApolloClient, + vars: any[], + values: any[], + skipCount = 1000 +) { + let fetchedData = {} + let allFound = false + let skip = 0 + try { + while (!allFound) { + let end = values.length + if (skip + skipCount < values.length) { + end = skip + skipCount + } + const sliced = values.slice(skip, end) + const result = await client.query({ + query: query(...vars, sliced), + fetchPolicy: 'network-only', + }) + fetchedData = { + ...fetchedData, + ...result.data, + } + if (Object.keys(result.data).length < skipCount || skip + skipCount > values.length) { + allFound = true + } else { + skip += skipCount + } + } + return fetchedData + } catch (e) { + console.log(e) + return undefined + } +} + +function useBlocksFromTimestamps(timestamps: number[]): { + blocks: + | { + timestamp: string + number: any + }[] + | undefined + error: boolean +} { + const activeNetwork = { id: SupportedChainId.FUJI } + const [blocks, setBlocks] = useState() + const [error, setError] = useState(false) + + // derive blocks based on active network + const networkBlocks = blocks?.[activeNetwork.id] + + useEffect(() => { + async function fetchData() { + const results = await splitQuery(GET_BLOCKS, fujiBlockClient, [], timestamps) + if (results) { + setBlocks({ ...(blocks ?? {}), [activeNetwork.id]: results }) + } else { + setError(true) + } + } + if (!networkBlocks && !error) { + fetchData() + } + }) + + const blocksFormatted = useMemo(() => { + if (blocks?.[activeNetwork.id]) { + const networkBlocks = blocks?.[activeNetwork.id] + const formatted = [] + for (const t in networkBlocks) { + if (networkBlocks[t].length > 0) { + formatted.push({ + timestamp: t.split('t')[1], + number: networkBlocks[t][0]['number'], + }) + } + } + return formatted + } + return undefined + }, [activeNetwork.id, blocks]) + + return { + blocks: blocksFormatted, + error, + } +} + +const get2DayChange = (valueNow: string, value24HoursAgo: string, value48HoursAgo: string): [number, number] => { + // get volume info for both 24 hour periods + const currentChange = parseFloat(valueNow) - parseFloat(value24HoursAgo) + const previousChange = parseFloat(value24HoursAgo) - parseFloat(value48HoursAgo) + const adjustedPercentChange = ((currentChange - previousChange) / previousChange) * 100 + if (isNaN(adjustedPercentChange) || !isFinite(adjustedPercentChange)) { + return [currentChange, 0] + } + return [currentChange, adjustedPercentChange] +} + +function useDeltaTimestamps(): [number, number, number] { + const utcCurrentTime = dayjs() + const t1 = utcCurrentTime.subtract(1, 'day').startOf('minute').unix() + const t2 = utcCurrentTime.subtract(2, 'day').startOf('minute').unix() + const tWeek = utcCurrentTime.subtract(1, 'week').startOf('minute').unix() + return [t1, t2, tWeek] +} + +const POOLS_BULK = (block: number | undefined) => { + const queryString = + ` + query pools { + pools(` + + (block ? `block: {number: ${block}} ,` : ``) + + ` orderBy: totalValueLockedUSD, orderDirection: desc, subgraphError: allow) { + id + feeTier + liquidity + sqrtPrice + tick + token0 { + id + symbol + name + decimals + derivedETH + } + token1 { + id + symbol + name + decimals + derivedETH + } + token0Price + token1Price + volumeUSD + volumeToken0 + volumeToken1 + txCount + totalValueLockedToken0 + totalValueLockedToken1 + totalValueLockedUSD + } + bundles (where: {id: "1"}) { + ethPriceUSD + } + } + ` + return gql(queryString) +} + +interface PoolFields { + id: string + feeTier: string + liquidity: string + sqrtPrice: string + tick: string + token0: { + id: string + symbol: string + name: string + decimals: string + derivedETH: string + } + token1: { + id: string + symbol: string + name: string + decimals: string + derivedETH: string + } + token0Price: string + token1Price: string + volumeUSD: string + volumeToken0: string + volumeToken1: string + txCount: string + totalValueLockedToken0: string + totalValueLockedToken1: string + totalValueLockedUSD: string +} + +interface PoolDataResponse { + pools: PoolFields[] + bundles: { + ethPriceUSD: string + }[] +} + +/** + * Fetch top addresses by volume + */ +export function usePoolDatas(): { + loading: boolean + error: boolean + data: + | { + [address: string]: PoolData + } + | undefined +} { + // get client + const dataClient = fujiClient + // get blocks from historic timestamps + const [t24, t48, tWeek] = useDeltaTimestamps() + const { blocks, error: blockError } = useBlocksFromTimestamps([t24, t48, tWeek]) + const [block24, block48, blockWeek] = blocks ?? [] + + const { loading, error, data } = useQuery(POOLS_BULK(undefined), { + client: dataClient, + }) + + const { + loading: loading24, + error: error24, + data: data24, + } = useQuery(POOLS_BULK(block24?.number), { client: dataClient }) + const { + loading: loading48, + error: error48, + data: data48, + } = useQuery(POOLS_BULK(block48?.number), { client: dataClient }) + const { + loading: loadingWeek, + error: errorWeek, + data: dataWeek, + } = useQuery(POOLS_BULK(blockWeek?.number), { client: dataClient }) + + const anyError = Boolean(error || error24 || error48 || blockError || errorWeek) + const anyLoading = Boolean(loading || loading24 || loading48 || loadingWeek) + + // return early if not all data yet + if (anyError || anyLoading) { + return { + loading: anyLoading, + error: anyError, + data: undefined, + } + } + + const ethPriceUSD = data?.bundles?.[0]?.ethPriceUSD ? parseFloat(data?.bundles?.[0]?.ethPriceUSD) : 0 + + const parsed = data?.pools + ? data.pools.reduce((accum: { [address: string]: PoolFields }, poolData) => { + accum[poolData.id] = poolData + return accum + }, {}) + : {} + const parsed24 = data24?.pools + ? data24.pools.reduce((accum: { [address: string]: PoolFields }, poolData) => { + accum[poolData.id] = poolData + return accum + }, {}) + : {} + const parsed48 = data48?.pools + ? data48.pools.reduce((accum: { [address: string]: PoolFields }, poolData) => { + accum[poolData.id] = poolData + return accum + }, {}) + : {} + const parsedWeek = dataWeek?.pools + ? dataWeek.pools.reduce((accum: { [address: string]: PoolFields }, poolData) => { + accum[poolData.id] = poolData + return accum + }, {}) + : {} + + // format data and calculate daily changes + const formatted = data?.pools.reduce((accum: { [address: string]: PoolData }, pool) => { + const current: PoolFields | undefined = parsed[pool.id] + const oneDay: PoolFields | undefined = parsed24[pool.id] + const twoDay: PoolFields | undefined = parsed48[pool.id] + const week: PoolFields | undefined = parsedWeek[pool.id] + + const [volumeUSD, volumeUSDChange] = + current && oneDay && twoDay + ? get2DayChange(current.volumeUSD, oneDay.volumeUSD, twoDay.volumeUSD) + : current + ? [parseFloat(current.volumeUSD), 0] + : [0, 0] + + const volumeUSDWeek = + current && week + ? parseFloat(current.volumeUSD) - parseFloat(week.volumeUSD) + : current + ? parseFloat(current.volumeUSD) + : 0 + + // Hotifx: Subtract fees from TVL to correct data while subgraph is fixed. + /** + * Note: see issue desribed here https://github.com/Uniswap/v3-subgraph/issues/74 + * During subgraph deploy switch this month we lost logic to fix this accounting. + * Grafted sync pending fix now. + */ + const feePercent = current ? parseFloat(current.feeTier) / 10000 / 100 : 0 + const tvlAdjust0 = current?.volumeToken0 ? (parseFloat(current.volumeToken0) * feePercent) / 2 : 0 + const tvlAdjust1 = current?.volumeToken1 ? (parseFloat(current.volumeToken1) * feePercent) / 2 : 0 + const tvlToken0 = current ? parseFloat(current.totalValueLockedToken0) - tvlAdjust0 : 0 + const tvlToken1 = current ? parseFloat(current.totalValueLockedToken1) - tvlAdjust1 : 0 + let tvlUSD = current ? parseFloat(current.totalValueLockedUSD) : 0 + + const tvlUSDChange = + current && oneDay + ? ((parseFloat(current.totalValueLockedUSD) - parseFloat(oneDay.totalValueLockedUSD)) / + parseFloat(oneDay.totalValueLockedUSD === '0' ? '1' : oneDay.totalValueLockedUSD)) * + 100 + : 0 + + // Part of TVL fix + const tvlUpdated = current + ? tvlToken0 * parseFloat(current.token0.derivedETH) * ethPriceUSD + + tvlToken1 * parseFloat(current.token1.derivedETH) * ethPriceUSD + : undefined + if (tvlUpdated) { + tvlUSD = tvlUpdated + } + + const feeTier = current ? parseInt(current.feeTier) : 0 + + if (current) { + accum[pool.id] = { + address: pool.id, + feeTier, + liquidity: parseFloat(current.liquidity), + sqrtPrice: parseFloat(current.sqrtPrice), + tick: parseFloat(current.tick), + token0: { + address: current.token0.id, + name: formatTokenName(current.token0.id, current.token0.name), + symbol: formatTokenSymbol(current.token0.id, current.token0.symbol), + decimals: parseInt(current.token0.decimals), + derivedETH: parseFloat(current.token0.derivedETH), + }, + token1: { + address: current.token1.id, + name: formatTokenName(current.token1.id, current.token1.name), + symbol: formatTokenSymbol(current.token1.id, current.token1.symbol), + decimals: parseInt(current.token1.decimals), + derivedETH: parseFloat(current.token1.derivedETH), + }, + token0Price: parseFloat(current.token0Price), + token1Price: parseFloat(current.token1Price), + volumeUSD, + volumeUSDChange, + volumeUSDWeek, + tvlUSD, + tvlUSDChange, + tvlToken0, + tvlToken1, + } + } + + return accum + }, {}) + + return { + loading: anyLoading, + error: anyError, + data: formatted, + } +} diff --git a/src/pages/Swap/chart.tsx b/src/pages/Swap/chart.tsx new file mode 100644 index 00000000000..15aa3ebe1b0 --- /dev/null +++ b/src/pages/Swap/chart.tsx @@ -0,0 +1,85 @@ +import { ApolloClient, gql, InMemoryCache, useQuery } from '@apollo/client' + +const TOKEN_PRICE = (tokenId = '') => { + const queryString = + ` + query tokenPrice { + tokenHourDatas(where:{token_: {id:"` + + tokenId.toLocaleLowerCase() + + `"}} + orderBy: periodStartUnix, orderDirection: desc, subgraphError: allow) { + volumeUSD + volume + untrackedVolumeUSD + totalValueLockedUSD + totalValueLocked + priceUSD + open + low + id + high + feesUSD + periodStartUnix + close + } + } + ` + return gql(queryString) +} + +const fujiClient = new ApolloClient({ + uri: 'https://dev.orbitmarket.io/subgraphs/name/orbital-apes-labs/v3-subgraph', + cache: new InMemoryCache({ + typePolicies: { + Token: { + // Singleton types that have no identifying field can use an empty + // array for their keyFields. + keyFields: false, + }, + Pool: { + // Singleton types that have no identifying field can use an empty + // array for their keyFields. + keyFields: false, + }, + }, + }), + queryDeduplication: true, + defaultOptions: { + watchQuery: { + fetchPolicy: 'no-cache', + }, + query: { + fetchPolicy: 'no-cache', + errorPolicy: 'all', + }, + }, +}) + +export function useTokenPrice(token: string) { + // derive blocks based on active network + const { loading, error, data } = useQuery(TOKEN_PRICE(token), { + client: fujiClient, + }) + + if (error || loading) { + return { + loading, + error, + data: undefined, + } + } + + return { + loading, + error, + data: data?.tokenHourDatas?.map((td: any) => ({ + timestamp: td?.periodStartUnix, + time: td?.periodStartUnix, + open: parseFloat(td?.open) == 0.0 ? 0.0 : parseFloat(td?.open), + high: parseFloat(td?.high) == 0.0 ? 0.0 : parseFloat(td?.high), + low: parseFloat(td?.low) == 0.0 ? 0.0 : parseFloat(td?.low), + close: parseFloat(td?.close) == 0.0 ? 0.0 : parseFloat(td?.close), + value: parseFloat(td?.priceUSD) == 0.0 ? 0.0 : parseFloat(td?.priceUSD), + })), + } +} diff --git a/src/pages/Swap/helpers.ts b/src/pages/Swap/helpers.ts new file mode 100644 index 00000000000..029f8dd06c0 --- /dev/null +++ b/src/pages/Swap/helpers.ts @@ -0,0 +1,33 @@ +/* eslint-disable import/no-unused-modules */ +import { Currency, Token } from '@uniswap/sdk-core' +import { SupportedChainId } from 'constants/chains' +import { TEVMOS_STABLE_COINS, WRAPPED_NATIVE_CURRENCY } from 'constants/tokens' + +export function getQueryToken(currency0: Currency | null, currency1: Currency | null): Token | null { + const token0 = currency0 as Token + const token1 = currency1 as Token + + if (currency0 === null && currency1 !== null) { + return currency1 as Token + } + if (currency1 === null) { + return WRAPPED_NATIVE_CURRENCY[SupportedChainId.TESTNET] ?? null + } + if ( + (token1?.address === undefined || + token1?.address?.toLowerCase() === WRAPPED_NATIVE_CURRENCY[SupportedChainId.TESTNET]?.address?.toLowerCase()) && + !TEVMOS_STABLE_COINS.includes(token0?.address?.toLowerCase() ?? '') + ) { + return currency0 as Token + } + + if (TEVMOS_STABLE_COINS.includes(token1?.address?.toLowerCase() ?? '')) { + if (TEVMOS_STABLE_COINS.includes(token0?.address?.toLowerCase() ?? '')) { + return currency1 as Token + } else { + return currency0 as Token + } + } else { + return currency1 as Token + } +} diff --git a/src/pages/Swap/index.tsx b/src/pages/Swap/index.tsx index bc7c4739ab3..0814e48768a 100644 --- a/src/pages/Swap/index.tsx +++ b/src/pages/Swap/index.tsx @@ -13,23 +13,29 @@ import { Currency, CurrencyAmount, Percent, Token, TradeType } from '@uniswap/sd import { UNIVERSAL_ROUTER_ADDRESS } from '@uniswap/universal-router-sdk' import { useWeb3React } from '@web3-react/core' import { sendEvent } from 'components/analytics' +import CurrencyLogo from 'components/Logo/CurrencyLogo' import { NetworkAlert } from 'components/NetworkAlert/NetworkAlert' import PriceImpactWarning from 'components/swap/PriceImpactWarning' import SwapDetailsDropdown from 'components/swap/SwapDetailsDropdown' import UnsupportedCurrencyFooter from 'components/swap/UnsupportedCurrencyFooter' +import { TokenInfoContainer, TokenNameCell } from 'components/Tokens/TokenDetails/Skeleton' import TokenSafetyModal from 'components/TokenSafety/TokenSafetyModal' import { MouseoverTooltip } from 'components/Tooltip' import Widget from 'components/Widget' import { isSupportedChain } from 'constants/chains' +import { usePermit2Enabled } from 'featureFlags/flags/permit2' import { useSwapWidgetEnabled } from 'featureFlags/flags/swapWidget' -import useENSAddress from 'hooks/useENSAddress' +import { TimePeriod } from 'graphql/data/util' import usePermit2Allowance, { AllowanceState } from 'hooks/usePermit2Allowance' import { useSwapCallback } from 'hooks/useSwapCallback' +import useTransactionDeadline from 'hooks/useTransactionDeadline' +import { useAtom } from 'jotai' +import { atomWithStorage } from 'jotai/utils' import JSBI from 'jsbi' import { formatSwapQuoteReceivedEventProperties } from 'lib/utils/analytics' import { useCallback, useEffect, useMemo, useState } from 'react' import { ReactNode } from 'react' -import { ArrowDown, Info } from 'react-feather' +import { ArrowDown, CheckCircle, HelpCircle, Info } from 'react-feather' import { useNavigate } from 'react-router-dom' import { Text } from 'rebass' import { useToggleWalletModal } from 'state/application/hooks' @@ -40,7 +46,7 @@ import invariant from 'tiny-invariant' import { currencyAmountToPreciseFloat, formatTransactionAmount } from 'utils/formatNumbers' import AddressInputPanel from '../../components/AddressInputPanel' -import { ButtonError, ButtonLight, ButtonPrimary } from '../../components/Button' +import { ButtonConfirmed, ButtonError, ButtonLight, ButtonPrimary } from '../../components/Button' import { GrayCard } from '../../components/Card' import { AutoColumn } from '../../components/Column' import SwapCurrencyInputPanel from '../../components/CurrencyInputPanel/SwapCurrencyInputPanel' @@ -48,11 +54,21 @@ import Loader from '../../components/Loader' import { AutoRow } from '../../components/Row' import confirmPriceImpactWithoutFee from '../../components/swap/confirmPriceImpactWithoutFee' import ConfirmSwapModal from '../../components/swap/ConfirmSwapModal' -import { ArrowWrapper, PageWrapper, SwapCallbackError, SwapWrapper } from '../../components/swap/styleds' +import { + ArrowWrapper, + SwapCallbackError, + SwapPageWrapper, + SwapWrapper, + TokenInfoWrapper, +} from '../../components/swap/styleds' import SwapHeader from '../../components/swap/SwapHeader' import { SwitchLocaleLink } from '../../components/SwitchLocaleLink' import { TOKEN_SHORTHANDS } from '../../constants/tokens' import { useAllTokens, useCurrency } from '../../hooks/Tokens' +import { ApprovalState, useApproveCallbackFromTrade } from '../../hooks/useApproveCallback' +import useENSAddress from '../../hooks/useENSAddress' +import { useERC20PermitFromTrade, UseERC20PermitState } from '../../hooks/useERC20Permit' +import useIsArgentWallet from '../../hooks/useIsArgentWallet' import { useIsSwapUnsupported } from '../../hooks/useIsSwapUnsupported' import { useStablecoinValue } from '../../hooks/useStablecoinPrice' import useWrapCallback, { WrapErrorText, WrapType } from '../../hooks/useWrapCallback' @@ -63,12 +79,15 @@ import { useSwapActionHandlers, useSwapState, } from '../../state/swap/hooks' -import { useExpertModeManager } from '../../state/user/hooks' +import { useExpertModeManager, useGraphManager } from '../../state/user/hooks' import { LinkStyledButton, ThemedText } from '../../theme' import { computeFiatValuePriceImpact } from '../../utils/computeFiatValuePriceImpact' import { maxAmountSpend } from '../../utils/maxAmountSpend' import { computeRealizedPriceImpact, warningSeverity } from '../../utils/prices' import { supportedChainId } from '../../utils/supportedChainId' +import { useTokenPrice } from './chart' +import { getQueryToken } from './helpers' +import ChartComponent from './lighweightchart.js' const ArrowContainer = styled.div` display: inline-block; @@ -80,6 +99,11 @@ const ArrowContainer = styled.div` height: 100%; ` +const TokenSymbol = styled.span` + text-transform: uppercase; + color: ${({ theme }) => theme.textSecondary}; +` + const SwapSection = styled.div` position: relative; background-color: ${({ theme }) => theme.backgroundModule}; @@ -127,6 +151,20 @@ const DetailsSwapSection = styled(SwapSection)` border-top-right-radius: 0; ` +const PageWrapper = styled.div` + padding: 0px 8px 0px; + max-width: 480px; + width: 100%; + + @media only screen and (max-width: ${({ theme }) => `${theme.breakpoint.md}px`}) { + padding-top: 48px; + } + + @media only screen and (max-width: ${({ theme }) => `${theme.breakpoint.sm}px`}) { + padding-top: 20px; + } +` + export function getIsValidSwapQuote( trade: InterfaceTrade | undefined, tradeState: TradeState, @@ -147,14 +185,17 @@ function largerPercentValue(a?: Percent, b?: Percent) { } const TRADE_STRING = 'SwapRouter' +const pageTimePeriodAtom = atomWithStorage('tokenDetailsTimePeriod', TimePeriod.WEEK) -export default function Swap({ className }: { className?: string }) { +export default function Swap({ className, intro }: { className?: string; intro?: boolean }) { const navigate = useNavigate() const { account, chainId } = useWeb3React() const loadedUrlParams = useDefaultsFromURLSearch() const [newSwapQuoteNeedsLogging, setNewSwapQuoteNeedsLogging] = useState(true) const [fetchingSwapQuoteStartTime, setFetchingSwapQuoteStartTime] = useState() const swapWidgetEnabled = useSwapWidgetEnabled() + // eslint-disable-next-line @typescript-eslint/no-unused-vars + const [timePeriod, setTimePeriod] = useAtom(pageTimePeriodAtom) // token warning stuff const [loadedInputCurrency, loadedOutputCurrency] = [ @@ -298,16 +339,19 @@ export default function Swap({ className }: { className?: string }) { currencies[Field.INPUT] && currencies[Field.OUTPUT] && parsedAmounts[independentField]?.greaterThan(JSBI.BigInt(0)) ) + const permit2Enabled = usePermit2Enabled() const maximumAmountIn = useMemo(() => { const maximumAmountIn = trade?.maximumAmountIn(allowedSlippage) return maximumAmountIn?.currency.isToken ? (maximumAmountIn as CurrencyAmount) : undefined }, [allowedSlippage, trade]) const allowance = usePermit2Allowance( - maximumAmountIn ?? - (parsedAmounts[Field.INPUT]?.currency.isToken - ? (parsedAmounts[Field.INPUT] as CurrencyAmount) - : undefined), - chainId ? UNIVERSAL_ROUTER_ADDRESS(chainId) : undefined + permit2Enabled + ? maximumAmountIn ?? + (parsedAmounts[Field.INPUT]?.currency.isToken + ? (parsedAmounts[Field.INPUT] as CurrencyAmount) + : undefined) + : undefined, + permit2Enabled && chainId ? UNIVERSAL_ROUTER_ADDRESS(chainId) : undefined ) const isApprovalLoading = allowance.state === AllowanceState.REQUIRED && allowance.isApprovalLoading const [isAllowancePending, setIsAllowancePending] = useState(false) @@ -328,21 +372,69 @@ export default function Swap({ className }: { className?: string }) { } }, [allowance, chainId, maximumAmountIn?.currency.address, maximumAmountIn?.currency.symbol]) + // check whether the user has approved the router on the input token + const [approvalState, approveCallback] = useApproveCallbackFromTrade( + permit2Enabled ? undefined : trade, + allowedSlippage + ) + const transactionDeadline = useTransactionDeadline() + const { + state: signatureState, + signatureData, + gatherPermitSignature, + } = useERC20PermitFromTrade(permit2Enabled ? undefined : trade, allowedSlippage, transactionDeadline) + + const [approvalPending, setApprovalPending] = useState(false) + const handleApprove = useCallback(async () => { + setApprovalPending(true) + try { + if (signatureState === UseERC20PermitState.NOT_SIGNED && gatherPermitSignature) { + try { + await gatherPermitSignature() + } catch (error) { + // try to approve if gatherPermitSignature failed for any reason other than the user rejecting it + if (error?.code !== 4001) { + await approveCallback() + } + } + } else { + await approveCallback() + + sendEvent({ + category: 'Swap', + action: 'Approve', + label: [TRADE_STRING, trade?.inputAmount?.currency.symbol].join('/'), + }) + } + } finally { + setApprovalPending(false) + } + }, [signatureState, gatherPermitSignature, approveCallback, trade?.inputAmount?.currency.symbol]) + + // check if user has gone through approval process, used to show two step buttons, reset on token change + const [approvalSubmitted, setApprovalSubmitted] = useState(false) + + // mark when a user has submitted an approval, reset onTokenSelection for input field + useEffect(() => { + if (approvalState === ApprovalState.PENDING) { + setApprovalSubmitted(true) + } + }, [approvalState, approvalSubmitted]) + const maxInputAmount: CurrencyAmount | undefined = useMemo( () => maxAmountSpend(currencyBalances[Field.INPUT]), [currencyBalances] ) const showMaxButton = Boolean(maxInputAmount?.greaterThan(0) && !parsedAmounts[Field.INPUT]?.equalTo(maxInputAmount)) - const swapFiatValues = useMemo(() => { - return { amountIn: fiatValueTradeInput, amountOut: fiatValueTradeOutput } - }, [fiatValueTradeInput, fiatValueTradeOutput]) // the callback to execute the swap - const { callback: swapCallback } = useSwapCallback( + const { callback: swapCallback, error: swapCallbackError } = useSwapCallback( trade, - swapFiatValues, + { amountIn: null, amountOut: null }, allowedSlippage, - allowance.state === AllowanceState.ALLOWED ? allowance.permitSignature : undefined + allowance.state === AllowanceState.ALLOWED ? allowance.permitSignature : undefined, + recipient, + signatureData ) const handleSwap = useCallback(() => { @@ -405,6 +497,19 @@ export default function Swap({ className }: { className?: string }) { return { priceImpactSeverity: warningSeverity(largerPriceImpact), largerPriceImpact } }, [stablecoinPriceImpact, trade]) + const isArgentWallet = useIsArgentWallet() + + // show approve flow when: no error on inputs, not approved or pending, or approved in current session + // never show if price impact is above threshold in non expert mode + const showApproveFlow = + !permit2Enabled && + !isArgentWallet && + !swapInputError && + (approvalState === ApprovalState.NOT_APPROVED || + approvalState === ApprovalState.PENDING || + (approvalSubmitted && approvalState === ApprovalState.APPROVED)) && + !(priceImpactSeverity > 3 && !isExpertMode) + const handleConfirmDismiss = useCallback(() => { setSwapState({ showConfirm: false, tradeToConfirm, attemptingTxn, swapErrorMessage, txHash }) // if there was a tx hash, we want to clear the input @@ -419,6 +524,7 @@ export default function Swap({ className }: { className?: string }) { const handleInputSelect = useCallback( (inputCurrency: Currency) => { + setApprovalSubmitted(false) // reset 2 step UI for approvals onCurrencySelection(Field.INPUT, inputCurrency) }, [onCurrencySelection] @@ -474,10 +580,21 @@ export default function Swap({ className }: { className?: string }) { setSwapQuoteReceivedDate, ]) + const displayToken = getQueryToken(currencies[Field.INPUT] ?? null, currencies[Field.OUTPUT] ?? null) + const infoToken = displayToken + const priceQueryAddress = displayToken ? (displayToken?.wrapped ? displayToken?.wrapped?.address : '') : '' + const { data: tokenPriceQuery } = useTokenPrice(priceQueryAddress) + + const approveTokenButtonDisabled = + approvalState !== ApprovalState.NOT_APPROVED || approvalSubmitted || signatureState === UseERC20PermitState.SIGNED + const showDetailsDropdown = Boolean( !showWrap && userHasSpecifiedInputOutput && (trade || routeIsLoading || routeIsSyncing) ) + const { showGraph } = useGraphManager() + const _showGraph = showGraph() === 'true' ? true : false + return ( <> @@ -489,257 +606,362 @@ export default function Swap({ className }: { className?: string }) { onCancel={handleDismissTokenWarning} showCancel={true} /> - - {swapWidgetEnabled ? ( - - ) : ( - - - -
- - - From (at most) - ) : ( - From - ) - } - value={formattedAmounts[Field.INPUT]} - showMaxButton={showMaxButton} - currency={currencies[Field.INPUT] ?? null} - onUserInput={handleTypeInput} - onMax={handleMaxInput} - fiatValue={fiatValueInput ?? undefined} - onCurrencySelect={handleInputSelect} - otherCurrency={currencies[Field.OUTPUT]} - showCommonBases={true} - id={InterfaceSectionName.CURRENCY_INPUT_PANEL} - loading={independentField === Field.OUTPUT && routeIsSyncing} - /> - - - - - { - onSwitchTokens() - }} - color={theme.textPrimary} - > - - - - -
- -
- - + + {!intro && ( + + + + + + {infoToken?.name ?? Name not found} + {infoToken?.symbol ?? Symbol not found} + + + + + )} + + + {swapWidgetEnabled ? ( + + ) : ( + + + + +
+ + To (at least) + independentField === Field.OUTPUT && !showWrap ? ( + From (at most) ) : ( - To + From ) } - showMaxButton={false} - hideBalance={false} - fiatValue={fiatValueOutput ?? undefined} - priceImpact={stablecoinPriceImpact} - currency={currencies[Field.OUTPUT] ?? null} - onCurrencySelect={handleOutputSelect} - otherCurrency={currencies[Field.INPUT]} + value={formattedAmounts[Field.INPUT]} + showMaxButton={showMaxButton} + currency={currencies[Field.INPUT] ?? null} + onUserInput={handleTypeInput} + onMax={handleMaxInput} + fiatValue={fiatValueInput ?? undefined} + onCurrencySelect={handleInputSelect} + otherCurrency={currencies[Field.OUTPUT]} showCommonBases={true} - id={InterfaceSectionName.CURRENCY_OUTPUT_PANEL} - loading={independentField === Field.INPUT && routeIsSyncing} + id={InterfaceSectionName.CURRENCY_INPUT_PANEL} + loading={independentField === Field.OUTPUT && routeIsSyncing} /> - - {recipient !== null && !showWrap ? ( - <> - - - - - onChangeRecipient(null)}> - - Remove recipient - - - - - ) : null} - - {showDetailsDropdown && ( - - - - )} -
- {showPriceImpactWarning && } -
- {swapIsUnsupported ? ( - - - Unsupported Asset - - - ) : !account ? ( + + - - Connect Wallet - + { + setApprovalSubmitted(false) // reset 2 step UI for approvals + onSwitchTokens() + }} + color={theme.textPrimary} + > + + - ) : showWrap ? ( - - {wrapInputError ? ( - - ) : wrapType === WrapType.WRAP ? ( - Wrap - ) : wrapType === WrapType.UNWRAP ? ( - Unwrap - ) : null} - - ) : routeNotFound && userHasSpecifiedInputOutput && !routeIsLoading && !routeIsSyncing ? ( - - - Insufficient liquidity for this trade. - - - ) : isValid && allowance.state === AllowanceState.REQUIRED ? ( - - {isAllowancePending ? ( - <> - - Approve in your wallet - - ) : isApprovalLoading ? ( + +
+ +
+ + + To (at least) + ) : ( + To + ) + } + showMaxButton={false} + hideBalance={false} + fiatValue={fiatValueOutput ?? undefined} + priceImpact={stablecoinPriceImpact} + currency={currencies[Field.OUTPUT] ?? null} + onCurrencySelect={handleOutputSelect} + otherCurrency={currencies[Field.INPUT]} + showCommonBases={true} + id={InterfaceSectionName.CURRENCY_OUTPUT_PANEL} + loading={independentField === Field.INPUT && routeIsSyncing} + /> + + + {recipient !== null && !showWrap ? ( <> - - Approval pending + + + + + onChangeRecipient(null)}> + - Remove recipient + + + - ) : ( - <> -
- - Permission is required for Uniswap to swap each token. This will expire after one - month for your security. - + ) : null} + + {showDetailsDropdown && ( + + + + )} +
+ {showPriceImpactWarning && } +
+ {swapIsUnsupported ? ( + + + Unsupported Asset + + + ) : !account ? ( + + + Connect Wallet + + + ) : showWrap ? ( + + {wrapInputError ? ( + + ) : wrapType === WrapType.WRAP ? ( + Wrap + ) : wrapType === WrapType.UNWRAP ? ( + Unwrap + ) : null} + + ) : routeNotFound && userHasSpecifiedInputOutput && !routeIsLoading && !routeIsSyncing ? ( + + + Insufficient liquidity for this trade. + + + ) : showApproveFlow ? ( + + + + + {/* we need to shorten this string on mobile */} + {approvalState === ApprovalState.APPROVED || + signatureState === UseERC20PermitState.SIGNED ? ( + + You can now trade {currencies[Field.INPUT]?.symbol} + + ) : ( + + Allow Forge to use your {currencies[Field.INPUT]?.symbol} + + )} + + {approvalPending || approvalState === ApprovalState.PENDING ? ( + + ) : (approvalSubmitted && approvalState === ApprovalState.APPROVED) || + signatureState === UseERC20PermitState.SIGNED ? ( + + ) : ( + + You must give the Uniswap smart contracts permission to use your{' '} + {currencies[Field.INPUT]?.symbol}. You only have to do this once per token. + + } + > + + + )} + + + { + if (isExpertMode) { + handleSwap() + } else { + setSwapState({ + tradeToConfirm: trade, + attemptingTxn: false, + swapErrorMessage: undefined, + showConfirm: true, + txHash: undefined, + }) } - > - - -
- Approve use of {currencies[Field.INPUT]?.symbol} - - )} - - ) : ( - { - if (isExpertMode) { - handleSwap() - } else { - setSwapState({ - tradeToConfirm: trade, - attemptingTxn: false, - swapErrorMessage: undefined, - showConfirm: true, - txHash: undefined, - }) - } - }} - id="swap-button" - disabled={ - !isValid || - routeIsSyncing || - routeIsLoading || - priceImpactTooHigh || - allowance.state !== AllowanceState.ALLOWED - } - error={isValid && priceImpactSeverity > 2 && allowance.state === AllowanceState.ALLOWED} - > - - {swapInputError ? ( - swapInputError - ) : routeIsSyncing || routeIsLoading ? ( - Swap - ) : priceImpactTooHigh ? ( - Price Impact Too High - ) : priceImpactSeverity > 2 ? ( - Swap Anyway + }} + width="100%" + id="swap-button" + disabled={ + !isValid || + routeIsSyncing || + routeIsLoading || + (approvalState !== ApprovalState.APPROVED && + signatureState !== UseERC20PermitState.SIGNED) || + priceImpactTooHigh + } + error={isValid && priceImpactSeverity > 2} + > + + {priceImpactTooHigh ? ( + High Price Impact + ) : trade && priceImpactSeverity > 2 ? ( + Swap Anyway + ) : ( + Swap + )} + + + + + ) : isValid && allowance.state === AllowanceState.REQUIRED ? ( + + {isAllowancePending ? ( + <> + + Approve in your wallet + + ) : isApprovalLoading ? ( + <> + + Approval pending + ) : ( - Swap + <> +
+ + Permission is required for Uniswap to swap each token. This will expire after one + month for your security. + + } + > + + +
+ Approve use of {currencies[Field.INPUT]?.symbol} + )} - - - )} - {isExpertMode && swapErrorMessage ? : null} -
-
-
+ + ) : ( + { + if (isExpertMode) { + handleSwap() + } else { + setSwapState({ + tradeToConfirm: trade, + attemptingTxn: false, + swapErrorMessage: undefined, + showConfirm: true, + txHash: undefined, + }) + } + }} + id="swap-button" + disabled={ + !isValid || + routeIsSyncing || + routeIsLoading || + priceImpactTooHigh || + (permit2Enabled ? allowance.state !== AllowanceState.ALLOWED : Boolean(swapCallbackError)) + } + error={ + isValid && + priceImpactSeverity > 2 && + (permit2Enabled ? allowance.state === AllowanceState.ALLOWED : !swapCallbackError) + } + > + + {swapInputError ? ( + swapInputError + ) : routeIsSyncing || routeIsLoading ? ( + Swap + ) : priceImpactTooHigh ? ( + Price Impact Too High + ) : priceImpactSeverity > 2 ? ( + Swap Anyway + ) : ( + Swap + )} + + + )} + {isExpertMode && swapErrorMessage ? : null} +
+
+
+ )} + +
+ + {!swapIsUnsupported ? null : ( + )} - - - - {!swapIsUnsupported ? null : ( - - )} +
) diff --git a/src/pages/Swap/lighweightchart.js b/src/pages/Swap/lighweightchart.js new file mode 100644 index 00000000000..0bedba5b392 --- /dev/null +++ b/src/pages/Swap/lighweightchart.js @@ -0,0 +1,117 @@ +/* eslint-disable import/no-unused-modules */ +/* eslint-disable react/prop-types */ +import { Trans } from '@lingui/macro' +import { TokenPrice } from 'components/Tokens/TokenDetails/PriceChart' +import { createChart } from 'lightweight-charts' +import { useEffect, useRef } from 'react' +import styled, { useTheme } from 'styled-components/macro' +import { ThemedText } from 'theme' +import { textFadeIn } from 'theme/styles' +import { formatDollar } from 'utils/formatNumbers' + +const ChartHeader = styled.div` + position: relative; + ${textFadeIn}; + animation-duration: ${({ theme }) => theme.transition.duration.medium}; +` + +const MissingPrice = styled(TokenPrice)` + font-size: 24px; + line-height: 44px; + color: ${({ theme }) => theme.textTertiary}; +` + +export default function ChartComponent({ tokenPriceQuery = [] }) { + const data = tokenPriceQuery + const backgroundColor = '#0b0a09' + const textColor = 'white' + + const chartContainerRef = useRef() + + const chartAvailable = !!tokenPriceQuery && tokenPriceQuery.length > 0 + const missingPricesMessage = !chartAvailable ? ( + tokenPriceQuery.length === 0 ? ( + <> + Missing price data due to recently low trading volume on Uniswap v3 + + ) : ( + Missing chart data + ) + ) : null + + const theme = useTheme() + + useEffect(() => { + const handleResize = () => {} + + const chart = createChart(chartContainerRef.current, { + layout: { + background: { color: 'rgba(200,200,200,0)' }, + textColor: '#DDD', + }, + grid: { + vertLines: { color: '#0B0C0C' }, + horzLines: { color: '#0B0C0C' }, + }, + width: 550, + height: 350, + leftPriceScale: { + visible: true, + }, + rightPriceScale: { + visible: false, + }, + }) + chart.priceScale().applyOptions({ + borderColor: '#ed4e33', + }) + + // Setting the border color for the horizontal axis + chart.timeScale().applyOptions({ + timeVisible: true, + borderColor: '#ed4e33', + }) + chart.timeScale().fitContent() + + const newSeries = chart.addCandlestickSeries({ + upColor: '#26a69a', + downColor: '#ed4e33', + borderVisible: false, + wickUpColor: '#26a69a', + wickDownColor: '#ed4e33', + }) + newSeries.setData(data.reverse()) + + window.addEventListener('resize', handleResize) + + return () => { + window.removeEventListener('resize', handleResize) + + chart.remove() + } + }, [data, backgroundColor, textColor]) + + const headerData = data && data.length > 0 ? data[0].value : 0 + + return ( +
+ + {data && data.length > 0 ? ( + <> + {formatDollar({ num: headerData, isPrice: true })} + {/* + {formattedDelta} + {arrow} + */} + + ) : ( + <> + Price Unavailable + {missingPricesMessage} + + )} + +
+
+ ) +} diff --git a/src/pages/TokenDetails/index.tsx b/src/pages/TokenDetails/index.tsx index 8e19ffe4851..c7cb08fd7fc 100644 --- a/src/pages/TokenDetails/index.tsx +++ b/src/pages/TokenDetails/index.tsx @@ -11,6 +11,7 @@ import { getNativeTokenDBAddress } from 'utils/nativeTokens' export const pageTimePeriodAtom = atomWithStorage('tokenDetailsTimePeriod', TimePeriod.DAY) +// eslint-disable-next-line import/no-unused-modules export default function TokenDetailsPage() { const { tokenAddress, chainName } = useParams<{ tokenAddress: string; chainName?: string }>() const chain = validateUrlChainParam(chainName) diff --git a/src/state/application/hooks.ts b/src/state/application/hooks.ts index 42af1ba38dc..f65aa784a54 100644 --- a/src/state/application/hooks.ts +++ b/src/state/application/hooks.ts @@ -1,87 +1,16 @@ -import { sendAnalyticsEvent } from '@uniswap/analytics' -import { MoonpayEventName } from '@uniswap/analytics-events' +/* eslint-disable import/no-unused-modules */ import { DEFAULT_TXN_DISMISS_MS } from 'constants/misc' -import { useCallback, useEffect, useMemo, useState } from 'react' +import { useCallback, useMemo } from 'react' import { useAppDispatch, useAppSelector } from 'state/hooks' import { AppState } from '../types' -import { - addPopup, - ApplicationModal, - PopupContent, - removePopup, - setFiatOnrampAvailability, - setOpenModal, -} from './reducer' +import { addPopup, ApplicationModal, PopupContent, removePopup, setOpenModal } from './reducer' export function useModalIsOpen(modal: ApplicationModal): boolean { const openModal = useAppSelector((state: AppState) => state.application.openModal) return openModal === modal } -/** @ref https://dashboard.moonpay.com/api_reference/client_side_api#ip_addresses */ -interface MoonpayIPAddressesResponse { - alpha3?: string - isAllowed?: boolean - isBuyAllowed?: boolean - isSellAllowed?: boolean -} - -async function getMoonpayAvailability(): Promise { - const moonpayPublishableKey = process.env.REACT_APP_MOONPAY_PUBLISHABLE_KEY - if (!moonpayPublishableKey) { - throw new Error('Must provide a publishable key for moonpay.') - } - const moonpayApiURI = process.env.REACT_APP_MOONPAY_API - if (!moonpayApiURI) { - throw new Error('Must provide an api endpoint for moonpay.') - } - const res = await fetch(`${moonpayApiURI}/v4/ip_address?apiKey=${moonpayPublishableKey}`) - const data = await (res.json() as Promise) - return data.isBuyAllowed ?? false -} - -export function useFiatOnrampAvailability(shouldCheck: boolean, callback?: () => void) { - const dispatch = useAppDispatch() - const { available, availabilityChecked } = useAppSelector((state: AppState) => state.application.fiatOnramp) - const [error, setError] = useState(null) - const [loading, setLoading] = useState(false) - - useEffect(() => { - async function checkAvailability() { - setError(null) - setLoading(true) - try { - const result = await getMoonpayAvailability() - sendAnalyticsEvent(MoonpayEventName.MOONPAY_GEOCHECK_COMPLETED, { success: result }) - if (stale) return - dispatch(setFiatOnrampAvailability(result)) - if (result && callback) { - callback() - } - } catch (e) { - console.error('Error checking onramp availability', e.toString()) - if (stale) return - setError('Error, try again later.') - dispatch(setFiatOnrampAvailability(false)) - } finally { - if (!stale) setLoading(false) - } - } - - if (!availabilityChecked && shouldCheck) { - checkAvailability() - } - - let stale = false - return () => { - stale = true - } - }, [availabilityChecked, callback, dispatch, shouldCheck]) - - return { available, availabilityChecked, loading, error } -} - export function useToggleModal(modal: ApplicationModal): () => void { const isOpen = useModalIsOpen(modal) const dispatch = useAppDispatch() @@ -93,11 +22,6 @@ export function useCloseModal(): () => void { return useCallback(() => dispatch(setOpenModal(null)), [dispatch]) } -export function useOpenModal(modal: ApplicationModal): () => void { - const dispatch = useAppDispatch() - return useCallback(() => dispatch(setOpenModal(modal)), [dispatch, modal]) -} - export function useToggleWalletModal(): () => void { return useToggleModal(ApplicationModal.WALLET) } diff --git a/src/state/application/reducer.ts b/src/state/application/reducer.ts index 3d5ffd2f64e..b73039af4e7 100644 --- a/src/state/application/reducer.ts +++ b/src/state/application/reducer.ts @@ -1,3 +1,4 @@ +/* eslint-disable import/no-unused-modules */ import { createSlice, nanoid } from '@reduxjs/toolkit' import { DEFAULT_TXN_DISMISS_MS } from 'constants/misc' @@ -88,6 +89,5 @@ const applicationSlice = createSlice({ }, }) -export const { updateChainId, setFiatOnrampAvailability, setOpenModal, addPopup, removePopup } = - applicationSlice.actions +export const { updateChainId, setOpenModal, addPopup, removePopup } = applicationSlice.actions export default applicationSlice.reducer diff --git a/src/state/routing/slice.ts b/src/state/routing/slice.ts index 9d0a7c88288..4d193cff506 100644 --- a/src/state/routing/slice.ts +++ b/src/state/routing/slice.ts @@ -1,6 +1,6 @@ +import { AlphaRouter, ChainId } from '@orbitalapes/smart-order-router' import { createApi, fetchBaseQuery, FetchBaseQueryError } from '@reduxjs/toolkit/query/react' import { Protocol } from '@uniswap/router-sdk' -import { AlphaRouter, ChainId } from '@uniswap/smart-order-router' import { RPC_PROVIDERS } from 'constants/providers' import { getClientSideQuote, toSupportedChainId } from 'lib/hooks/routing/clientSideSmartOrderRouter' import ms from 'ms.macro' @@ -67,7 +67,7 @@ const PRICE_PARAMS = { export const routingApi = createApi({ reducerPath: 'routingApi', baseQuery: fetchBaseQuery({ - baseUrl: 'https://api.uniswap.org/v1/', + baseUrl: 'https://21x5w4o8d6.execute-api.us-east-1.amazonaws.com/prod/', }), endpoints: (build) => ({ getQuote: build.query< diff --git a/src/state/routing/useRoutingAPITrade.ts b/src/state/routing/useRoutingAPITrade.ts index 76e33084979..aea46da2fde 100644 --- a/src/state/routing/useRoutingAPITrade.ts +++ b/src/state/routing/useRoutingAPITrade.ts @@ -1,6 +1,6 @@ +import { IMetric, MetricLoggerUnit, setGlobalMetric } from '@orbitalapes/smart-order-router' import { skipToken } from '@reduxjs/toolkit/query/react' import { Currency, CurrencyAmount, TradeType } from '@uniswap/sdk-core' -import { IMetric, MetricLoggerUnit, setGlobalMetric } from '@uniswap/smart-order-router' import { sendTiming } from 'components/analytics' import { AVERAGE_L1_BLOCK_TIME } from 'constants/chainInfo' import { useStablecoinAmountFromFiatValue } from 'hooks/useStablecoinPrice' @@ -48,7 +48,6 @@ export function useRoutingAPITrade( // Price-fetching is informational and costly, so it's done less frequently. pollingInterval: routerPreference === RouterPreference.PRICE ? ms`2m` : AVERAGE_L1_BLOCK_TIME, }) - const quoteResult: GetQuoteResult | undefined = useIsValidBlock(Number(data?.blockNumber) || 0) ? data : undefined const route = useMemo( diff --git a/src/state/stake/hooks.tsx b/src/state/stake/hooks.tsx index 88c2a6cb664..21f6fdad13f 100644 --- a/src/state/stake/hooks.tsx +++ b/src/state/stake/hooks.tsx @@ -9,7 +9,7 @@ import JSBI from 'jsbi' import { NEVER_RELOAD, useMultipleContractSingleData } from 'lib/hooks/multicall' import { useMemo } from 'react' -import { DAI, UNI, USDC_MAINNET, USDT, WBTC, WRAPPED_NATIVE_CURRENCY } from '../../constants/tokens' +import { UNI, USDC_TEVMOS, WRAPPED_NATIVE_CURRENCY } from '../../constants/tokens' const STAKING_REWARDS_INTERFACE = new Interface(STAKING_REWARDS_ABI) @@ -23,20 +23,17 @@ const STAKING_REWARDS_INFO: { } = { 1: [ { - tokens: [WRAPPED_NATIVE_CURRENCY[SupportedChainId.MAINNET] as Token, DAI], + // TODO: replace USDC_FUJI with mainnet + tokens: [WRAPPED_NATIVE_CURRENCY[SupportedChainId.MAINNET] as Token, USDC_TEVMOS], stakingRewardAddress: '0xa1484C3aa22a66C62b77E0AE78E15258bd0cB711', }, { - tokens: [WRAPPED_NATIVE_CURRENCY[SupportedChainId.MAINNET] as Token, USDC_MAINNET], + tokens: [WRAPPED_NATIVE_CURRENCY[SupportedChainId.FUJI] as Token, USDC_TEVMOS], stakingRewardAddress: '0x7FBa4B8Dc5E7616e59622806932DBea72537A56b', }, { - tokens: [WRAPPED_NATIVE_CURRENCY[SupportedChainId.MAINNET] as Token, USDT], - stakingRewardAddress: '0x6C3e4cb2E96B01F4b866965A91ed4437839A121a', - }, - { - tokens: [WRAPPED_NATIVE_CURRENCY[SupportedChainId.MAINNET] as Token, WBTC], - stakingRewardAddress: '0xCA35e32e7926b96A9988f61d510E038108d8068e', + tokens: [WRAPPED_NATIVE_CURRENCY[SupportedChainId.TESTNET] as Token, USDC_TEVMOS], + stakingRewardAddress: '0x7FBa4B8Dc5E7616e59622806932DBea72537A56b', }, ], } diff --git a/src/state/user/hooks.tsx b/src/state/user/hooks.tsx index aeaaaee1db9..ba6726e82da 100644 --- a/src/state/user/hooks.tsx +++ b/src/state/user/hooks.tsx @@ -5,8 +5,7 @@ import { L2_CHAIN_IDS } from 'constants/chains' import { SupportedLocale } from 'constants/locales' import { L2_DEADLINE_FROM_NOW } from 'constants/misc' import JSBI from 'jsbi' -import { useCallback, useMemo } from 'react' -import { shallowEqual } from 'react-redux' +import { useCallback, useMemo, useState } from 'react' import { useAppDispatch, useAppSelector } from 'state/hooks' import { UserAddedToken } from 'types/tokens' @@ -48,15 +47,7 @@ function deserializeToken(serializedToken: SerializedToken, Class: typeof Token } export function useIsDarkMode(): boolean { - const { userDarkMode, matchesDarkMode } = useAppSelector( - ({ user: { matchesDarkMode, userDarkMode } }) => ({ - userDarkMode, - matchesDarkMode, - }), - shallowEqual - ) - - return userDarkMode === null ? matchesDarkMode : userDarkMode + return true } export function useDarkModeManager(): [boolean, () => void] { @@ -103,6 +94,44 @@ export function useExpertModeManager(): [boolean, () => void] { return [expertMode, toggleSetExpertMode] } +export function useGraphManager() { + const key = 'show-price-graph' + const [storedValue, setStoredValue] = useState({}) + + const showGraph = () => { + if (storedValue[key]) { + return storedValue[key] + } + if (typeof window === 'undefined') { + return 'true' + } + try { + const item = window.localStorage.getItem(key) + if (item === null) { + return 'true' + } + return item + } catch (error) { + return null + } + } + + const setShowGraph = (value: any) => { + try { + const valueToStore = value instanceof Function ? value(storedValue) : value + setStoredValue(valueToStore) + if (typeof window !== 'undefined') { + window.localStorage.setItem(key, JSON.stringify(valueToStore)) + setStoredValue({ ...storedValue, key: value }) + } + } catch (error) { + console.log(error) + } + } + + return { showGraph, setShowGraph } +} + export function useClientSideRouter(): [boolean, (userClientSideRouter: boolean) => void] { const dispatch = useAppDispatch() diff --git a/src/theme/colors.ts b/src/theme/colors.ts index bde8b9ea412..4970e97df8d 100644 --- a/src/theme/colors.ts +++ b/src/theme/colors.ts @@ -125,29 +125,31 @@ export const darkTheme = { userThemeColor: colors.magentaVibrant, - background: colors.gray800, + background: '#0b0a09', backgroundBackdrop: colors.gray950, - backgroundSurface: colors.gray900, - backgroundModule: colors.gray800, - backgroundInteractive: colors.gray700, + backgroundSurface: '#0b0a09', + backgroundModule: '#2d2925', + backgroundInteractive: '#4f4740', backgroundFloating: opacify(12, colors.black), - backgroundOutline: colors.gray750, - backgroundScrim: opacify(72, colors.gray900), - backgroundScrolledSurface: opacify(72, colors.gray900), + backgroundOutline: '#2d2925', + backgroundScrim: opacify(72, '#0b0a09'), + backgroundScrolledSurface: opacify(72, '#0b0a09'), textPrimary: colors.white, - textSecondary: colors.gray300, - textTertiary: colors.gray500, + textSecondary: '#918378', + textTertiary: '#918378', - accentAction: colors.blue400, - accentActive: colors.blue400, + textQuaternary: '#ed4e33', + + accentAction: '#ed4e33', + accentActive: '#ed4e33', accentSuccess: colors.green200, accentWarning: colors.gold200, accentFailure: colors.red300, accentCritical: colors.red300, - accentActionSoft: opacify(24, colors.blue400), - accentActiveSoft: opacify(24, colors.blue400), + accentActionSoft: opacify(24, '#ed4e33'), + accentActiveSoft: opacify(24, '#ed4e33'), accentSuccessSoft: opacify(24, colors.green400), accentWarningSoft: opacify(24, colors.gold200), accentFailureSoft: opacify(12, colors.red300), @@ -163,7 +165,7 @@ export const darkTheme = { deepShadow: '12px 16px 24px rgba(0, 0, 0, 0.24), 12px 8px 12px rgba(0, 0, 0, 0.24), 4px 4px 8px rgba(0, 0, 0, 0.32);', shallowShadow: '4px 4px 10px rgba(0, 0, 0, 0.24), 2px 2px 4px rgba(0, 0, 0, 0.12), 1px 2px 2px rgba(0, 0, 0, 0.12);', - networkDefaultShadow: `0px 40px 120px ${opacify(16, colors.blue400)}`, + networkDefaultShadow: `0px 40px 120px ${opacify(16, '#ed4e33')}`, stateOverlayHover: opacify(8, colors.gray300), stateOverlayPressed: opacify(24, colors.gray200), @@ -190,6 +192,7 @@ export const lightTheme: Theme = { textPrimary: colors.gray900, textSecondary: colors.gray400, textTertiary: colors.gray300, + textQuaternary: '#ed4e33', accentAction: colors.pink400, accentActive: colors.blue400, diff --git a/src/theme/components/RadialGradientByChainUpdater.ts b/src/theme/components/RadialGradientByChainUpdater.ts index ef9ef7efc5b..64a684c0cb9 100644 --- a/src/theme/components/RadialGradientByChainUpdater.ts +++ b/src/theme/components/RadialGradientByChainUpdater.ts @@ -4,7 +4,7 @@ import { useIsNftPage } from 'hooks/useIsNftPage' import { useEffect } from 'react' import { useDarkModeManager } from 'state/user/hooks' -import { darkTheme, lightTheme } from '../colors' +import { darkTheme } from '../colors' const initialStyles = { width: '200vw', @@ -42,57 +42,30 @@ export default function RadialGradientByChainUpdater(): null { setBackground(initialStyles) backgroundRadialGradientElement.style.background = darkMode ? darkTheme.backgroundBackdrop - : lightTheme.backgroundBackdrop + : darkTheme.backgroundBackdrop return } switch (chainId) { - case SupportedChainId.ARBITRUM_ONE: - case SupportedChainId.ARBITRUM_GOERLI: { + case SupportedChainId.FUJI: { setBackground(backgroundResetStyles) - const arbitrumLightGradient = - 'radial-gradient(100% 100% at 50% 0%, rgba(205, 232, 251, 0.7) 0%, rgba(252, 243, 249, 0.6536) 49.48%, rgba(255, 255, 255, 0) 100%), #FFFFFF' - const arbitrumDarkGradient = - 'radial-gradient(100% 100% at 50% 0%, rgba(10, 41, 75, 0.7) 0%, rgba(34, 30, 48, 0.6536) 49.48%, rgba(31, 33, 40, 0) 100%), #0D0E0E' - backgroundRadialGradientElement.style.background = darkMode ? arbitrumDarkGradient : arbitrumLightGradient - break - } - case SupportedChainId.OPTIMISM: - case SupportedChainId.OPTIMISM_GOERLI: { - setBackground(backgroundResetStyles) - const optimismLightGradient = - 'radial-gradient(100% 100% at 50% 0%, rgba(255, 251, 242, 0.8) 0%, rgba(255, 244, 249, 0.6958) 50.52%, rgba(255, 255, 255, 0) 100%), #FFFFFF' - const optimismDarkGradient = - 'radial-gradient(100% 100% at 50% 0%, rgba(62, 46, 56, 0.8) 0%, rgba(44, 31, 45, 0.6958) 50.52%, rgba(31, 33, 40, 0) 100%), #0D0E0E' - backgroundRadialGradientElement.style.background = darkMode ? optimismDarkGradient : optimismLightGradient - break - } - case SupportedChainId.POLYGON: - case SupportedChainId.POLYGON_MUMBAI: { - setBackground(backgroundResetStyles) - const polygonLightGradient = - 'radial-gradient(100% 100% at 50% 0%, rgba(130, 71, 229, 0.2) 0%, rgba(200, 168, 255, 0.05) 52.6%, rgba(0, 0, 0, 0) 100%), #FFFFFF' const polygonDarkGradient = - 'radial-gradient(100% 100% at 50% 0%, rgba(130, 71, 229, 0.2) 0%, rgba(200, 168, 255, 0.05) 52.6%, rgba(0, 0, 0, 0) 100%), #0D0E0E' - backgroundRadialGradientElement.style.background = darkMode ? polygonDarkGradient : polygonLightGradient + 'radial-gradient(100% 100% at 50% 0%, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.05) 52.6%, rgba(0, 0, 0, 0) 100%), #0D0E0E' + backgroundRadialGradientElement.style.background = polygonDarkGradient break } - case SupportedChainId.CELO: - case SupportedChainId.CELO_ALFAJORES: { + case SupportedChainId.TESTNET: { setBackground(backgroundResetStyles) - const celoLightGradient = - 'radial-gradient(100% 100% at 50% 0%, rgba(186, 228, 210, 0.7) 0%, rgba(252, 243, 249, 0.6536) 49.48%, rgba(255, 255, 255, 0) 100%), #FFFFFF' - const celoDarkGradient = - 'radial-gradient(100% 100% at 50% 0%, rgba(20, 49, 37, 0.29) 0%, rgba(12, 31, 23, 0.6536) 49.48%, rgba(31, 33, 40, 0) 100%, rgba(31, 33, 40, 0) 100%), #0D0E0E' - backgroundRadialGradientElement.style.background = darkMode ? celoDarkGradient : celoLightGradient + const polygonDarkGradient = + 'radial-gradient(100% 100% at 50% 0%, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.05) 52.6%, rgba(0, 0, 0, 0) 100%), #0D0E0E' + backgroundRadialGradientElement.style.background = polygonDarkGradient break } default: { setBackground(initialStyles) - const defaultLightGradient = - 'radial-gradient(100% 100% at 50% 0%, rgba(255, 184, 226, 0.51) 0%, rgba(255, 255, 255, 0) 100%), #FFFFFF' - const defaultDarkGradient = 'linear-gradient(180deg, #202738 0%, #070816 100%)' - backgroundRadialGradientElement.style.background = darkMode ? defaultDarkGradient : defaultLightGradient + const defaultDarkGradient = + 'radial-gradient(100% 100% at 50% 0%, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.05) 52.6%, rgba(0, 0, 0, 0) 100%), #0D0E0E' + backgroundRadialGradientElement.style.background = defaultDarkGradient } } }, [darkMode, chainId, isNftPage]) diff --git a/src/theme/deprecatedColors.ts b/src/theme/deprecatedColors.ts index 7f13d375b53..568705e26f6 100644 --- a/src/theme/deprecatedColors.ts +++ b/src/theme/deprecatedColors.ts @@ -9,7 +9,7 @@ function getDeprecatedTheme(darkMode: boolean) { // backgrounds / grays // we could move this to `background`, but gray50 is a bit different from #FAFAFA - deprecated_bg1: darkMode ? colors.gray800 : colors.gray50, + deprecated_bg1: darkMode ? '#2d2925' : colors.gray50, deprecated_bg3: darkMode ? colors.gray600 : colors.gray200, deprecated_bg4: darkMode ? colors.gray500 : colors.gray300, diff --git a/src/theme/index.tsx b/src/theme/index.tsx index 1c3d71d5125..7a82329892f 100644 --- a/src/theme/index.tsx +++ b/src/theme/index.tsx @@ -111,7 +111,7 @@ export default function ThemeProvider({ children }: { children: React.ReactNode export const ThemedGlobalStyle = createGlobalStyle` html { color: ${({ theme }) => theme.textPrimary}; - background-color: ${({ theme }) => theme.background} !important; + background-color: #000000; } summary::-webkit-details-marker { diff --git a/src/utils/constructSameAddressMap.ts b/src/utils/constructSameAddressMap.ts index e5a0ff21077..24deab2f6c9 100644 --- a/src/utils/constructSameAddressMap.ts +++ b/src/utils/constructSameAddressMap.ts @@ -1,6 +1,6 @@ import { SupportedChainId } from 'constants/chains' -const DEFAULT_NETWORKS = [SupportedChainId.MAINNET, SupportedChainId.GOERLI] +const DEFAULT_NETWORKS = [SupportedChainId.FUJI, SupportedChainId.MAINNET, SupportedChainId.TESTNET] export function constructSameAddressMap( address: T, diff --git a/src/utils/env.ts b/src/utils/env.ts index a8b7755989e..4247c394181 100644 --- a/src/utils/env.ts +++ b/src/utils/env.ts @@ -18,13 +18,3 @@ export function isProductionEnv(): boolean { export function isSentryEnabled(): boolean { return process.env.REACT_APP_SENTRY_ENABLED === 'true' } - -export function getEnvName(): 'production' | 'staging' | 'development' { - if (isStagingEnv()) { - return 'staging' - } - if (isProductionEnv()) { - return 'production' - } - return 'development' -} diff --git a/src/utils/getExplorerLink.ts b/src/utils/getExplorerLink.ts index 45bfa5d6336..fcdee6b0826 100644 --- a/src/utils/getExplorerLink.ts +++ b/src/utils/getExplorerLink.ts @@ -2,13 +2,8 @@ import { SupportedChainId } from 'constants/chains' const BLOCK_EXPLORER_PREFIXES: { [chainId: number]: string } = { [SupportedChainId.MAINNET]: 'https://etherscan.io', - [SupportedChainId.GOERLI]: 'https://goerli.etherscan.io', - [SupportedChainId.OPTIMISM]: 'https://optimistic.etherscan.io', - [SupportedChainId.OPTIMISM_GOERLI]: 'https://goerli-optimism.etherscan.io', - [SupportedChainId.POLYGON]: 'https://polygonscan.com', - [SupportedChainId.POLYGON_MUMBAI]: 'https://mumbai.polygonscan.com', - [SupportedChainId.CELO]: 'https://celoscan.io', - [SupportedChainId.CELO_ALFAJORES]: 'https://alfajores-blockscout.celo-testnet.org', + [SupportedChainId.FUJI]: 'https://etherscan.io', + [SupportedChainId.TESTNET]: 'https://evm.evmos.dev', } export enum ExplorerDataType { @@ -25,34 +20,6 @@ export enum ExplorerDataType { * @param type the type of the data */ export function getExplorerLink(chainId: number, data: string, type: ExplorerDataType): string { - if (chainId === SupportedChainId.ARBITRUM_ONE) { - switch (type) { - case ExplorerDataType.TRANSACTION: - return `https://arbiscan.io/tx/${data}` - case ExplorerDataType.ADDRESS: - case ExplorerDataType.TOKEN: - return `https://arbiscan.io/address/${data}` - case ExplorerDataType.BLOCK: - return `https://arbiscan.io/block/${data}` - default: - return `https://arbiscan.io/` - } - } - - if (chainId === SupportedChainId.ARBITRUM_GOERLI) { - switch (type) { - case ExplorerDataType.TRANSACTION: - return `https://goerli.arbiscan.io/tx/${data}` - case ExplorerDataType.ADDRESS: - case ExplorerDataType.TOKEN: - return `https://goerli.arbiscan.io/address/${data}` - case ExplorerDataType.BLOCK: - return `https://goerli.arbiscan.io/block/${data}` - default: - return `https://goerli.arbiscan.io/` - } - } - const prefix = BLOCK_EXPLORER_PREFIXES[chainId] ?? 'https://etherscan.io' switch (type) { @@ -63,9 +30,6 @@ export function getExplorerLink(chainId: number, data: string, type: ExplorerDat return `${prefix}/token/${data}` case ExplorerDataType.BLOCK: - if (chainId === SupportedChainId.OPTIMISM || chainId === SupportedChainId.OPTIMISM_GOERLI) { - return `${prefix}/tx/${data}` - } return `${prefix}/block/${data}` case ExplorerDataType.ADDRESS: diff --git a/src/utils/nativeTokens.ts b/src/utils/nativeTokens.ts index c1352b0982d..4f1b0a4bef7 100644 --- a/src/utils/nativeTokens.ts +++ b/src/utils/nativeTokens.ts @@ -8,13 +8,10 @@ export function getNativeTokenDBAddress(chain: Chain): string | undefined { return undefined } switch (chain) { - case Chain.Celo: - case Chain.Polygon: + case Chain.Evmos: + case Chain.Tevmos: + case Chain.Fuji: return nativeOnChain(pageChainId).wrapped.address - case Chain.Ethereum: - case Chain.Arbitrum: - case Chain.EthereumGoerli: - case Chain.Optimism: default: return undefined } diff --git a/src/utils/switchChain.ts b/src/utils/switchChain.ts index 762dc8bdac3..99eb1eb5f3f 100644 --- a/src/utils/switchChain.ts +++ b/src/utils/switchChain.ts @@ -8,7 +8,8 @@ import { FALLBACK_URLS, RPC_URLS } from 'constants/networks' function getRpcUrl(chainId: SupportedChainId): string { switch (chainId) { case SupportedChainId.MAINNET: - case SupportedChainId.GOERLI: + case SupportedChainId.TESTNET: + case SupportedChainId.FUJI: return RPC_URLS[chainId][0] // Attempting to add a chain using an infura URL will not work, as the URL will be unreachable from the MetaMask background page. // MetaMask allows switching to any publicly reachable URL, but for novel chains, it will display a warning if it is not on the "Safe" list. diff --git a/src/utils/transformSwapRouteToGetQuoteResult.ts b/src/utils/transformSwapRouteToGetQuoteResult.ts index 6a1d8502ec7..bacda33824a 100644 --- a/src/utils/transformSwapRouteToGetQuoteResult.ts +++ b/src/utils/transformSwapRouteToGetQuoteResult.ts @@ -1,6 +1,6 @@ +import { routeAmountsToString, SwapRoute } from '@orbitalapes/smart-order-router' import { Protocol } from '@uniswap/router-sdk' import { Currency, CurrencyAmount } from '@uniswap/sdk-core' -import { routeAmountsToString, SwapRoute } from '@uniswap/smart-order-router' import { Pool } from '@uniswap/v3-sdk' import { GetQuoteResult, V2PoolInRoute, V3PoolInRoute } from 'state/routing/types' diff --git a/src/utils/unwrappedToken.ts b/src/utils/unwrappedToken.ts index 315126a7835..6a6583641f7 100644 --- a/src/utils/unwrappedToken.ts +++ b/src/utils/unwrappedToken.ts @@ -6,7 +6,9 @@ import { supportedChainId } from './supportedChainId' export function unwrappedToken(currency: Currency): Currency { if (currency.isNative) return currency const formattedChainId = supportedChainId(currency.chainId) - if (formattedChainId && WRAPPED_NATIVE_CURRENCY[formattedChainId]?.equals(currency)) - return nativeOnChain(currency.chainId) + if (formattedChainId && WRAPPED_NATIVE_CURRENCY[formattedChainId]?.equals(currency)) { + const _nativeOnChain = nativeOnChain(currency.chainId) + return _nativeOnChain.wrapped ? _nativeOnChain.wrapped : _nativeOnChain + } return currency } diff --git a/yarn.lock b/yarn.lock index a1c00ab0869..a935514b57a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3298,6 +3298,62 @@ resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-4.7.0.tgz#3092d70ea60e3d1835466266b1d68ad47035a2d5" integrity sha512-52Qb+A1DdOss8QvJrijYYPSf32GUg2pGaG/yCxtaA3cu4jduouTdg4XZSMLW9op54m1jH7J8hoajhHKOPsoJFw== +"@orbitalapes/smart-order-router@^3.5.0": + version "3.5.3" + resolved "https://registry.yarnpkg.com/@orbitalapes/smart-order-router/-/smart-order-router-3.5.3.tgz#a8c2de0c72d275765cfd5d92dade098128f6448b" + integrity sha512-yTSB91U0LCbqZvsN4qXmsidw8og7031WuSQmIDjRVY0ySmXAVU1qUsVqe0wjn8XQtrOfmWzyGBRkepfihS7Cxg== + dependencies: + "@orbitalapes/smart-order-router" "^3.5.0" + "@uniswap/default-token-list" "^2.0.0" + "@uniswap/permit2-sdk" "^1.2.0" + "@uniswap/router-sdk" "^1.3.0" + "@uniswap/swap-router-contracts" "^1.3.0" + "@uniswap/token-lists" "^1.0.0-beta.25" + "@uniswap/universal-router" "^1.0.1" + "@uniswap/universal-router-sdk" "^1.3.0" + "@uniswap/v2-sdk" "^3.0.1" + "@uniswap/v3-sdk" "^3.7.0" + async-retry "^1.3.1" + await-timeout "^1.1.1" + axios "^0.21.1" + bunyan "^1.8.15" + bunyan-blackhole "^1.1.1" + ethers "^5.7.2" + graphql "^15.5.0" + graphql-request "^3.4.0" + lodash "^4.17.21" + mnemonist "^0.38.3" + node-cache "^5.1.2" + stats-lite "^2.2.0" + +"@orbitalapes/smart-order-router@^3.5.4": + version "3.5.4" + resolved "https://registry.yarnpkg.com/@orbitalapes/smart-order-router/-/smart-order-router-3.5.4.tgz#1cb153aecf5153448b943d13575ff0a41c8fed94" + integrity sha512-x6IpeENGstWTPoW/cvJ8Aq+HlgdJ16stMbJ41OnZIP3fF9d3c/ng3Soaqn5yg1hkPvRVMQiKLwnDxB960/ploA== + dependencies: + "@orbitalapes/smart-order-router" "^3.5.0" + "@uniswap/default-token-list" "^2.0.0" + "@uniswap/permit2-sdk" "^1.2.0" + "@uniswap/router-sdk" "^1.3.0" + "@uniswap/swap-router-contracts" "^1.3.0" + "@uniswap/token-lists" "^1.0.0-beta.25" + "@uniswap/universal-router" "^1.0.1" + "@uniswap/universal-router-sdk" "^1.3.0" + "@uniswap/v2-sdk" "^3.0.1" + "@uniswap/v3-sdk" "^3.7.0" + async-retry "^1.3.1" + await-timeout "^1.1.1" + axios "^0.21.1" + bunyan "^1.8.15" + bunyan-blackhole "^1.1.1" + ethers "^5.7.2" + graphql "^15.5.0" + graphql-request "^3.4.0" + lodash "^4.17.21" + mnemonist "^0.38.3" + node-cache "^5.1.2" + stats-lite "^2.2.0" + "@peculiar/asn1-schema@^2.1.6", "@peculiar/asn1-schema@^2.3.0": version "2.3.3" resolved "https://registry.yarnpkg.com/@peculiar/asn1-schema/-/asn1-schema-2.3.3.tgz#21418e1f3819e0b353ceff0c2dad8ccb61acd777" @@ -5003,11 +5059,16 @@ react "^18.2.0" react-dom "^18.2.0" -"@uniswap/conedison@^1.4.0", "@uniswap/conedison@^1.5.1": +"@uniswap/conedison@^1.5.1": version "1.5.1" resolved "https://registry.yarnpkg.com/@uniswap/conedison/-/conedison-1.5.1.tgz#91527cc9928ce0187f30a5eb4abb705b8f0cd013" integrity sha512-VJqUW4l54QVj5a4vAzAlWWd193iCcT8HMugFPB28S2Uqhs2elAg/RDQmiPOf9TOFB635MdBlD0S6xUuqo7FB4A== +"@uniswap/conedison@^1.5.3": + version "1.5.3" + resolved "https://registry.yarnpkg.com/@uniswap/conedison/-/conedison-1.5.3.tgz#2a2fc9ca848644f21944a2d087de54032a6acf93" + integrity sha512-b8j2/0FzqLU4Qq+M+QEPGzacnZxNrzAHp7yoAWRvNJiFyLjBvcgfaT9ORS8rw17M8XBLWjh83faj5Kymc+62qw== + "@uniswap/default-token-list@^2.0.0": version "2.2.0" resolved "https://registry.yarnpkg.com/@uniswap/default-token-list/-/default-token-list-2.2.0.tgz#d85a5c2520f57f4920bd989dfc9f01e1b701a567" @@ -5151,6 +5212,20 @@ resolved "https://registry.yarnpkg.com/@uniswap/token-lists/-/token-lists-1.0.0-beta.30.tgz#2103ca23b8007c59ec71718d34cdc97861c409e5" integrity sha512-HwY2VvkQ8lNR6ks5NqQfAtg+4IZqz3KV1T8d2DlI8emIn9uMmaoFbIOg0nzjqAVKKnZSbMTRRtUoAh6mmjRvog== +"@uniswap/universal-router-sdk@^1.3.0": + version "1.3.9" + resolved "https://registry.yarnpkg.com/@uniswap/universal-router-sdk/-/universal-router-sdk-1.3.9.tgz#75a1b354457b85e1e0271ecd5956ea3323a40eca" + integrity sha512-uXhdK8IDuyZZRMKiua9dJ6jj5MJ5xUrGflczWwhp6i0cb2VvXoLNQqc7aq3130NfIrKEYfkBGMjsqStZmqqKug== + dependencies: + "@uniswap/permit2-sdk" "^1.2.0" + "@uniswap/router-sdk" "^1.4.0" + "@uniswap/sdk-core" "^3.1.0" + "@uniswap/universal-router" "1.2.1" + "@uniswap/v2-sdk" "^3.0.1" + "@uniswap/v3-sdk" "^3.9.0" + bignumber.js "^9.0.2" + ethers "^5.3.1" + "@uniswap/universal-router-sdk@^1.3.6", "@uniswap/universal-router-sdk@^1.3.8": version "1.3.8" resolved "https://registry.yarnpkg.com/@uniswap/universal-router-sdk/-/universal-router-sdk-1.3.8.tgz#1e6bf1081aa6c7f5d800d5b8a20773016c98bbb6" @@ -10569,6 +10644,11 @@ eyes@^0.1.8: resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0" integrity sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ== +fancy-canvas@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fancy-canvas/-/fancy-canvas-2.1.0.tgz#44b40e40419ad8ef8304df365e4276767e918552" + integrity sha512-nifxXJ95JNLFR2NgRV4/MxVP45G9909wJTEKz5fg/TZS20JJZA6hfgRVh/bC9bwl2zBtBNcYPjiBE4njQHVBwQ== + fast-deep-equal@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz" @@ -13464,6 +13544,13 @@ lie@~3.3.0: dependencies: immediate "~3.0.5" +lightweight-charts@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/lightweight-charts/-/lightweight-charts-4.0.0.tgz#93876a4df1a9fe17c1efe6feff94dad7200f4487" + integrity sha512-0nS3mZ3WTaO3uuyWggvFWjHqe9hFYIjyddIozAZaPv1U+dYJ2ED64UlGSOmOIMuZ/Md1Ew/NLWYp3iPhcvO1Rg== + dependencies: + fancy-canvas "2.1.0" + lines-and-columns@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00"