Compare commits
37 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0a736b5e62 | ||
|
|
b44eb8877c | ||
|
|
92e61fa34b | ||
|
|
ef62fd33b2 | ||
|
|
96a42f66d4 | ||
|
|
c446f20d2f | ||
|
|
5a1ef8fb7d | ||
|
|
2863971640 | ||
|
|
dcaf10ec29 | ||
|
|
bca5113569 | ||
|
|
6779c1a024 | ||
|
|
f79ef12494 | ||
|
|
7bcda46934 | ||
|
|
f4ba24cfd5 | ||
|
|
59c6ab16dd | ||
|
|
db17dcbf2c | ||
|
|
1835de7f5f | ||
|
|
00f158209c | ||
|
|
2108ceedd5 | ||
|
|
ad080470da | ||
|
|
fc34912b53 | ||
|
|
c25d2b894c | ||
|
|
83c99b8c04 | ||
|
|
ccdf1e7575 | ||
|
|
c9faafee5e | ||
|
|
26a44fb51b | ||
|
|
1e16ac8449 | ||
|
|
5b5e76573d | ||
|
|
27cdbd0d5f | ||
|
|
b2a30b9bf1 | ||
|
|
dfad7b89ab | ||
|
|
4fe35ea42e | ||
|
|
0d852b6165 | ||
|
|
8ac3b836bd | ||
|
|
12bc5957b4 | ||
|
|
a33187c33b | ||
|
|
248bc07cf1 |
2
.github/workflows/integration-tests.yaml
vendored
2
.github/workflows/integration-tests.yaml
vendored
@@ -38,10 +38,10 @@ jobs:
|
||||
run: yarn install --frozen-lockfile
|
||||
|
||||
- run: yarn cypress install
|
||||
|
||||
- run: yarn build
|
||||
env:
|
||||
CI: false
|
||||
REACT_APP_NETWORK_URL: 'https://mainnet.infura.io/v3/4bf032f2d38a4ed6bb975b80d6340847'
|
||||
REACT_APP_SERVICE_WORKER: false
|
||||
|
||||
- run: yarn test:e2e
|
||||
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -19,6 +19,7 @@
|
||||
|
||||
# builds
|
||||
/build
|
||||
/cosmos-export
|
||||
/dist
|
||||
/dts
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
],
|
||||
"webpack": {
|
||||
"configPath": "react-scripts/config/webpack.config",
|
||||
"overridePath": "cosmos.override.js"
|
||||
"overridePath": "cosmos.override.cjs"
|
||||
},
|
||||
"port": 5001
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,16 +2,27 @@ describe('Swap', () => {
|
||||
beforeEach(() => {
|
||||
cy.visit('/swap')
|
||||
})
|
||||
|
||||
it('starts with an ETH/USDC swap and quotes it', () => {
|
||||
cy.get('#swap-currency-input .token-amount-input').should('have.value', '1')
|
||||
cy.get('#swap-currency-input .token-symbol-container').should('contain.text', 'ETH')
|
||||
cy.get('#swap-currency-output .token-amount-input').should('not.have.value', '')
|
||||
cy.get('#swap-currency-output .token-symbol-container').should('contain.text', 'USDC')
|
||||
})
|
||||
|
||||
it('can enter an amount into input', () => {
|
||||
cy.get('#swap-currency-input .token-amount-input').type('0.001', { delay: 200 }).should('have.value', '0.001')
|
||||
cy.get('#swap-currency-input .token-amount-input')
|
||||
.clear()
|
||||
.type('0.001', { delay: 200 })
|
||||
.should('have.value', '0.001')
|
||||
})
|
||||
|
||||
it('zero swap amount', () => {
|
||||
cy.get('#swap-currency-input .token-amount-input').type('0.0', { delay: 200 }).should('have.value', '0.0')
|
||||
cy.get('#swap-currency-input .token-amount-input').clear().type('0.0', { delay: 200 }).should('have.value', '0.0')
|
||||
})
|
||||
|
||||
it('invalid swap amount', () => {
|
||||
cy.get('#swap-currency-input .token-amount-input').type('\\', { delay: 200 }).should('have.value', '')
|
||||
cy.get('#swap-currency-input .token-amount-input').clear().type('\\', { delay: 200 }).should('have.value', '')
|
||||
})
|
||||
|
||||
it('can enter an amount into output', () => {
|
||||
|
||||
78
package.json
78
package.json
@@ -1,15 +1,29 @@
|
||||
{
|
||||
"name": "@uniswap/widgets",
|
||||
"version": "0.0.14-beta",
|
||||
"version": "0.0.20-beta",
|
||||
"description": "Uniswap Interface",
|
||||
"homepage": ".",
|
||||
"main": "dist/widgets.js",
|
||||
"module": "dist/widgets.esm.js",
|
||||
"types": "dist/widgets.d.ts",
|
||||
"files": [
|
||||
"lib",
|
||||
"dist"
|
||||
],
|
||||
"type": "module",
|
||||
"types": "dist/index.d.ts",
|
||||
"main": "dist/cjs/index.cjs",
|
||||
"exports": {
|
||||
".": {
|
||||
"types": "./dist/index.d.ts",
|
||||
"import": "./dist/index.js",
|
||||
"require": "./dist/cjs/index.cjs"
|
||||
},
|
||||
"./locales/*": {
|
||||
"import": "./dist/locales/*.js",
|
||||
"require": "./dist/cjs/locales/*.cjs"
|
||||
},
|
||||
"./fonts.css": {
|
||||
"import": "./dist/fonts.css",
|
||||
"require": "./dist/fonts.css"
|
||||
}
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/plugin-transform-runtime": "^7.17.0",
|
||||
"@babel/preset-env": "^7.16.11",
|
||||
@@ -21,6 +35,9 @@
|
||||
"@graphql-codegen/typescript-operations": "^1.18.2",
|
||||
"@graphql-codegen/typescript-rtk-query": "^1.1.1",
|
||||
"@lingui/cli": "^3.9.0",
|
||||
"@lingui/core": "^3.9.0",
|
||||
"@lingui/macro": "^3.9.0",
|
||||
"@lingui/react": "^3.9.0",
|
||||
"@metamask/jazzicon": "^2.0.0",
|
||||
"@reach/dialog": "^0.10.3",
|
||||
"@reach/portal": "^0.10.3",
|
||||
@@ -71,13 +88,8 @@
|
||||
"@uniswap/v2-periphery": "^1.1.0-beta.0",
|
||||
"@uniswap/v3-core": "1.0.0",
|
||||
"@uniswap/v3-periphery": "^1.1.1",
|
||||
"web3-react-abstract-connector": "npm:@web3-react/abstract-connector@^6.0.7",
|
||||
"web3-react-fortmatic-connector": "npm:@web3-react/fortmatic-connector@^6.0.9",
|
||||
"web3-react-injected-connector": "npm:@web3-react/injected-connector@^6.0.7",
|
||||
"web3-react-portis-connector": "npm:@web3-react/portis-connector@^6.0.9",
|
||||
"web3-react-types": "npm:@web3-react/types@^6.0.7",
|
||||
"web3-react-walletconnect-connector": "npm:@web3-react/walletconnect-connector@^7.0.2-alpha.0",
|
||||
"web3-react-walletlink-connector": "npm:@web3-react/walletlink-connector@^6.2.11",
|
||||
"@web3-react/metamask": "8.0.13-beta.0",
|
||||
"@web3-react/walletconnect": "8.0.18-beta.0",
|
||||
"array.prototype.flat": "^1.2.4",
|
||||
"array.prototype.flatmap": "^1.2.4",
|
||||
"babel-plugin-macros": "^3.1.0",
|
||||
@@ -108,15 +120,18 @@
|
||||
"react-ga": "^2.5.7",
|
||||
"react-is": "^17.0.2",
|
||||
"react-markdown": "^4.3.1",
|
||||
"react-redux": "^7.2.2",
|
||||
"react-router-dom": "^5.0.0",
|
||||
"react-scripts": "^4.0.3",
|
||||
"react-spring": "^8.0.27",
|
||||
"react-use-gesture": "^6.0.14",
|
||||
"redux": "^4.1.2",
|
||||
"redux-localstorage-simple": "^2.3.1",
|
||||
"rollup": "^2.63.0",
|
||||
"rollup-plugin-copy": "^3.4.0",
|
||||
"rollup-plugin-delete": "^2.0.0",
|
||||
"rollup-plugin-dts": "^4.1.0",
|
||||
"rollup-plugin-multi-input": "^1.3.1",
|
||||
"rollup-plugin-node-externals": "^3.1.2",
|
||||
"rollup-plugin-scss": "^3.0.0",
|
||||
"rollup-plugin-typescript2": "^0.31.1",
|
||||
@@ -130,6 +145,13 @@
|
||||
"use-resize-observer": "^8.0.0",
|
||||
"wcag-contrast": "^3.0.0",
|
||||
"web-vitals": "^2.1.0",
|
||||
"web3-react-abstract-connector": "npm:@web3-react/abstract-connector@^6.0.7",
|
||||
"web3-react-fortmatic-connector": "npm:@web3-react/fortmatic-connector@^6.0.9",
|
||||
"web3-react-injected-connector": "npm:@web3-react/injected-connector@^6.0.7",
|
||||
"web3-react-portis-connector": "npm:@web3-react/portis-connector@^6.0.9",
|
||||
"web3-react-types": "npm:@web3-react/types@^6.0.7",
|
||||
"web3-react-walletconnect-connector": "npm:@web3-react/walletconnect-connector@^7.0.2-alpha.0",
|
||||
"web3-react-walletlink-connector": "npm:@web3-react/walletlink-connector@^6.2.13",
|
||||
"workbox-core": "^6.1.0",
|
||||
"workbox-precaching": "^6.1.0",
|
||||
"workbox-routing": "^6.1.0"
|
||||
@@ -150,7 +172,7 @@
|
||||
"prepublishOnly": "yarn widgets:build",
|
||||
"start": "react-scripts start",
|
||||
"build": "react-scripts build",
|
||||
"test": "react-scripts test --env=./custom-test-env.js",
|
||||
"test": "react-scripts test --env=./custom-test-env.cjs",
|
||||
"test:e2e": "start-server-and-test 'serve build -l 3000' http://localhost:3000 'cypress run --record'",
|
||||
"widgets:start": "cosmos",
|
||||
"widgets:build": "rollup --config --failAfterWarnings --configPlugin typescript2"
|
||||
@@ -180,16 +202,13 @@
|
||||
"@ethersproject/contracts": "^5.4.1",
|
||||
"@ethersproject/experimental": "^5.4.0",
|
||||
"@ethersproject/hash": "^5.4.0",
|
||||
"@ethersproject/providers": "5.4.0",
|
||||
"@ethersproject/providers": "^5.4.0",
|
||||
"@ethersproject/solidity": "^5.4.0",
|
||||
"@ethersproject/strings": "^5.4.0",
|
||||
"@ethersproject/units": "^5.4.0",
|
||||
"@ethersproject/wallet": "^5.4.0",
|
||||
"@fontsource/ibm-plex-mono": "^4.5.1",
|
||||
"@fontsource/inter": "^4.5.1",
|
||||
"@lingui/core": "^3.9.0",
|
||||
"@lingui/macro": "^3.9.0",
|
||||
"@lingui/react": "^3.9.0",
|
||||
"@popperjs/core": "^2.4.4",
|
||||
"@reduxjs/toolkit": "^1.6.1",
|
||||
"@uniswap/redux-multicall": "^1.0.0",
|
||||
@@ -199,7 +218,11 @@
|
||||
"@uniswap/token-lists": "^1.0.0-beta.27",
|
||||
"@uniswap/v2-sdk": "^3.0.1",
|
||||
"@uniswap/v3-sdk": "^3.8.2",
|
||||
"web3-react-core": "npm:@web3-react/core@^6.0.9",
|
||||
"@web3-react/core": "8.0.17-beta.0",
|
||||
"@web3-react/eip1193": "8.0.12-beta.0",
|
||||
"@web3-react/empty": "8.0.10-beta.0",
|
||||
"@web3-react/types": "8.0.10-beta.0",
|
||||
"@web3-react/url": "8.0.12-beta.0",
|
||||
"ajv": "^6.12.3",
|
||||
"cids": "^1.0.0",
|
||||
"immer": "^9.0.6",
|
||||
@@ -214,25 +237,26 @@
|
||||
"popper-max-size-modifier": "^0.2.0",
|
||||
"react-feather": "^2.0.8",
|
||||
"react-popper": "^2.2.3",
|
||||
"react-redux": "^7.2.2",
|
||||
"react-virtualized-auto-sizer": "^1.0.2",
|
||||
"react-window": "^1.8.5",
|
||||
"rebass": "^4.0.7",
|
||||
"redux": "^4.1.2",
|
||||
"setimmediate": "^1.0.5",
|
||||
"styled-components": "^5.3.0",
|
||||
"tiny-invariant": "^1.2.0",
|
||||
"wcag-contrast": "^3.0.0",
|
||||
"@web3-react/core": "8.0.16-alpha.0",
|
||||
"@web3-react/eip1193": "8.0.16-alpha.0",
|
||||
"@web3-react/empty": "8.0.17-alpha.0",
|
||||
"@web3-react/metamask": "8.0.16-alpha.0",
|
||||
"@web3-react/types": "8.0.16-alpha.0",
|
||||
"@web3-react/url": "8.0.17-alpha.0",
|
||||
"web3-react-core": "npm:@web3-react/core@^6.0.9",
|
||||
"wicg-inert": "^3.1.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@babel/runtime": "^7.17.0",
|
||||
"react": "^17.0.1",
|
||||
"react-dom": "^17.0.1"
|
||||
"react-dom": "^17.0.1",
|
||||
"react-redux": "^7.2.2",
|
||||
"redux": "^4.1.2"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"bufferutil": "^4.0.6",
|
||||
"encoding": "^0.1.13",
|
||||
"utf-8-validate": "^5.0.8"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,6 +17,8 @@ import { RollupWarning } from 'rollup'
|
||||
import copy from 'rollup-plugin-copy'
|
||||
import del from 'rollup-plugin-delete'
|
||||
import dts from 'rollup-plugin-dts'
|
||||
// @ts-ignore // missing types
|
||||
import multi from 'rollup-plugin-multi-input'
|
||||
import externals from 'rollup-plugin-node-externals'
|
||||
import sass from 'rollup-plugin-scss'
|
||||
import { CompilerOptions } from 'typescript'
|
||||
@@ -24,6 +26,8 @@ import { CompilerOptions } from 'typescript'
|
||||
const REPLACEMENTS = {
|
||||
'process.env.REACT_APP_IS_WIDGET': true,
|
||||
'process.env.REACT_APP_LOCALES': '"./locales"',
|
||||
// esm requires fully-specified paths:
|
||||
'react/jsx-runtime': 'react/jsx-runtime.js',
|
||||
}
|
||||
|
||||
const EXTENSIONS = ['.js', '.jsx', '.ts', '.tsx']
|
||||
@@ -45,54 +49,85 @@ const aliases = Object.entries({ ...paths }).flatMap(([find, replacements]) => {
|
||||
|
||||
const plugins = [
|
||||
// Dependency resolution
|
||||
externals({ exclude: ['constants'], deps: true, peerDeps: true }), // marks builtins, dependencies, and peerDependencies external
|
||||
resolve({ extensions: EXTENSIONS }), // resolves third-party modules within node_modules/
|
||||
alias({ entries: aliases }), // resolves paths aliased through the tsconfig (babel does not use tsconfig path resolution)
|
||||
|
||||
// Source code transformation
|
||||
replace({ ...REPLACEMENTS, preventAssignment: true }),
|
||||
json(), // imports json; doing so type-checking allows the json to be type-checked
|
||||
json(), // imports json as ES6; doing so enables type-checking and module resolution
|
||||
]
|
||||
|
||||
const check = {
|
||||
input: 'src/lib/index.tsx',
|
||||
output: { file: 'dist/widgets.tsc' },
|
||||
output: { file: 'dist/widgets.tsc', inlineDynamicImports: true },
|
||||
external: isAsset,
|
||||
plugins: [...plugins, typescript({ tsconfig: TS_CONFIG })],
|
||||
plugins: [
|
||||
externals({ exclude: ['constants'], deps: true, peerDeps: true }), // marks builtins, dependencies, and peerDependencies external
|
||||
...plugins,
|
||||
typescript({ tsconfig: TS_CONFIG }),
|
||||
],
|
||||
onwarn: squelchTranspilationWarnings, // this pipeline is only for typechecking and generating definitions
|
||||
}
|
||||
|
||||
const type = {
|
||||
input: 'dist/dts/lib/index.d.ts',
|
||||
output: { file: 'dist/widgets.d.ts' },
|
||||
output: { file: 'dist/index.d.ts' },
|
||||
external: isAsset,
|
||||
plugins: [
|
||||
externals({ exclude: ['constants'], deps: true, peerDeps: true }),
|
||||
dts({ compilerOptions: { baseUrl: 'dist/dts' } }),
|
||||
process.env.ROLLUP_WATCH ? undefined : del({ hook: 'buildEnd', targets: ['dist/widgets.tsc', 'dist/dts'] }),
|
||||
],
|
||||
}
|
||||
|
||||
/**
|
||||
* This exports scheme works for nextjs and for CRA5.
|
||||
*
|
||||
* It will also work for CRA4 if you use direct imports:
|
||||
* instead of `import { SwapWidget } from '@uniswap/widgets'`,
|
||||
* `import { SwapWidget } from '@uniswap/widgets/dist/index.js'`.
|
||||
* I do not know why CRA4 does not seem to use exports for resolution.
|
||||
*
|
||||
* Note that chunks are enabled. This is so the tokenlist spec can be loaded async,
|
||||
* to improve first load time (due to ajv). Locales are also in separate chunks.
|
||||
*
|
||||
* Lastly, note that JSON and lingui are bundled into the library, as neither are fully
|
||||
* supported/compatible with ES Modules. Both _could_ be bundled only with esm, but this
|
||||
* yields a less complex pipeline.
|
||||
*/
|
||||
|
||||
const transpile = {
|
||||
input: 'src/lib/index.tsx',
|
||||
output: [
|
||||
{
|
||||
file: 'dist/widgets.js',
|
||||
format: 'cjs',
|
||||
dir: 'dist',
|
||||
format: 'esm',
|
||||
sourcemap: false,
|
||||
},
|
||||
{
|
||||
file: 'dist/widgets.esm.js',
|
||||
format: 'esm',
|
||||
dir: 'dist/cjs',
|
||||
entryFileNames: '[name].cjs',
|
||||
chunkFileNames: '[name]-[hash].cjs',
|
||||
format: 'cjs',
|
||||
sourcemap: false,
|
||||
},
|
||||
],
|
||||
plugins: [
|
||||
externals({
|
||||
exclude: [
|
||||
'constants',
|
||||
/@lingui\/(core|react)/, // @lingui incorrectly exports esm, so it must be bundled in
|
||||
/\.json$/, // esm does not support JSON loading, so it must be bundled in
|
||||
],
|
||||
deps: true,
|
||||
peerDeps: true,
|
||||
}),
|
||||
...plugins,
|
||||
|
||||
// Source code transformation
|
||||
url({ include: ASSET_EXTENSIONS.map((extname) => '**/*' + extname) }), // imports assets as data URIs
|
||||
url({ include: ASSET_EXTENSIONS.map((extname) => '**/*' + extname), limit: Infinity }), // imports assets as data URIs
|
||||
svgr({ exportType: 'named', svgo: false }), // imports svgs as React components
|
||||
sass({ insert: true }), // imports inlined sass styles
|
||||
sass({ output: 'dist/fonts.css' }), // generates fonts.css
|
||||
commonjs(), // transforms cjs dependencies into tree-shakeable ES modules
|
||||
|
||||
babel({
|
||||
@@ -104,16 +139,30 @@ const transpile = {
|
||||
'@babel/plugin-transform-runtime', // embeds the babel runtime for library distribution
|
||||
],
|
||||
}),
|
||||
|
||||
copy({
|
||||
copyOnce: true,
|
||||
targets: [{ src: 'src/locales/*.js', dest: 'dist/locales' }],
|
||||
}),
|
||||
],
|
||||
onwarn: squelchTypeWarnings, // this pipeline is only for transpilation
|
||||
}
|
||||
|
||||
const config = [check, type, transpile]
|
||||
const locales = {
|
||||
input: 'src/locales/*.js',
|
||||
output: [
|
||||
{
|
||||
dir: 'dist',
|
||||
format: 'esm',
|
||||
sourcemap: false,
|
||||
},
|
||||
],
|
||||
plugins: [
|
||||
copy({
|
||||
copyOnce: true,
|
||||
targets: [{ src: 'src/locales/*.js', dest: 'dist/cjs/locales', rename: (name) => `${name}.cjs` }],
|
||||
}),
|
||||
commonjs(),
|
||||
multi(),
|
||||
],
|
||||
}
|
||||
|
||||
const config = [check, type, transpile, locales]
|
||||
export default config
|
||||
|
||||
function squelchTranspilationWarnings(warning: RollupWarning, warn: (warning: RollupWarning) => void) {
|
||||
|
||||
BIN
src/assets/images/ukraine.png
Normal file
BIN
src/assets/images/ukraine.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 121 KiB |
@@ -1,16 +1,5 @@
|
||||
<svg width="170" height="168" viewBox="0 0 170 168" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0)">
|
||||
<path opacity="0.6" d="M85.05 168C132.022 168 170.1 130.105 170.1 83.3593C170.1 36.6135 0 36.6135 0 83.3593C0 130.105 38.0782 168 85.05 168Z" fill="#FF505F"/>
|
||||
<path opacity="0.6" d="M85.05 168C132.022 168 170.1 130.105 170.1 83.3593C170.1 36.6135 0 36.6135 0 83.3593C0 130.105 38.0782 168 85.05 168Z" fill="#FF0320"/>
|
||||
<path d="M85.05 0C132.022 0 170.1 37.8949 170.1 84.6407C170.1 131.386 0 131.386 0 84.6407C0 37.8949 38.0782 0 85.05 0Z" fill="white"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M144.665 64.0394L112.444 12.3742L89.0263 78.9477L144.665 64.0394Z" fill="#FF4E65"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M143.777 64.215L112.444 12.3742L165.349 58.4347L143.777 64.215Z" fill="white"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M144.551 63.613L142.479 124.467L88.912 78.5213L144.551 63.613Z" fill="#D0001A"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M143.663 63.7886L142.479 124.467L165.235 58.0083L143.663 63.7886Z" fill="#FF697B"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0">
|
||||
<rect width="170" height="168" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<svg width="500" height="500" viewBox="0 0 500 500" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="250" cy="250" r="250" fill="#FF0420"/>
|
||||
<path d="M177.133 316.446C162.247 316.446 150.051 312.943 140.544 305.938C131.162 298.808 126.471 288.676 126.471 275.541C126.471 272.789 126.784 269.411 127.409 265.408C129.036 256.402 131.35 245.581 134.352 232.947C142.858 198.547 164.812 181.347 200.213 181.347C209.845 181.347 218.476 182.973 226.107 186.225C233.738 189.352 239.742 194.106 244.12 200.486C248.498 206.74 250.688 214.246 250.688 223.002C250.688 225.629 250.375 228.944 249.749 232.947C247.873 244.08 245.621 254.901 242.994 265.408C238.616 282.546 231.048 295.368 220.29 303.874C209.532 312.255 195.147 316.446 177.133 316.446ZM179.76 289.426C186.766 289.426 192.707 287.362 197.586 283.234C202.59 279.106 206.155 272.789 208.281 264.283C211.158 252.524 213.348 242.266 214.849 233.51C215.349 230.883 215.599 228.194 215.599 225.441C215.599 214.058 209.657 208.366 197.774 208.366C190.768 208.366 184.764 210.43 179.76 214.558C174.882 218.687 171.379 225.004 169.253 233.51C167.001 241.891 164.749 252.149 162.498 264.283C161.997 266.784 161.747 269.411 161.747 272.163C161.747 283.672 167.752 289.426 179.76 289.426Z" fill="white"/>
|
||||
<path d="M259.303 314.57C257.927 314.57 256.863 314.132 256.113 313.256C255.487 312.255 255.3 311.13 255.55 309.879L281.444 187.914C281.694 186.538 282.382 185.412 283.508 184.536C284.634 183.661 285.822 183.223 287.073 183.223H336.985C350.87 183.223 362.003 186.1 370.384 191.854C378.891 197.609 383.144 205.927 383.144 216.81C383.144 219.937 382.769 223.19 382.018 226.567C378.891 240.953 372.574 251.586 363.067 258.466C353.685 265.346 340.8 268.786 324.413 268.786H299.082L290.451 309.879C290.2 311.255 289.512 312.38 288.387 313.256C287.261 314.132 286.072 314.57 284.822 314.57H259.303ZM325.727 242.892C330.98 242.892 335.546 241.453 339.424 238.576C343.427 235.699 346.054 231.571 347.305 226.192C347.68 224.065 347.868 222.189 347.868 220.563C347.868 216.935 346.805 214.183 344.678 212.307C342.551 210.305 338.924 209.305 333.795 209.305H311.278L304.148 242.892H325.727Z" fill="white"/>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 2.1 KiB |
@@ -51,6 +51,16 @@ const FlyoutHeader = styled.div`
|
||||
font-weight: 400;
|
||||
`
|
||||
const FlyoutMenu = styled.div`
|
||||
position: absolute;
|
||||
top: 54px;
|
||||
width: 272px;
|
||||
z-index: 99;
|
||||
padding-top: 10px;
|
||||
@media screen and (min-width: ${MEDIA_WIDTHS.upToSmall}px) {
|
||||
top: 40px;
|
||||
}
|
||||
`
|
||||
const FlyoutMenuContents = styled.div`
|
||||
align-items: flex-start;
|
||||
background-color: ${({ theme }) => theme.bg0};
|
||||
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),
|
||||
@@ -61,16 +71,9 @@ const FlyoutMenu = styled.div`
|
||||
font-size: 16px;
|
||||
overflow: auto;
|
||||
padding: 16px;
|
||||
position: absolute;
|
||||
top: 64px;
|
||||
width: 272px;
|
||||
z-index: 99;
|
||||
& > *:not(:last-child) {
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
@media screen and (min-width: ${MEDIA_WIDTHS.upToSmall}px) {
|
||||
top: 50px;
|
||||
}
|
||||
`
|
||||
const FlyoutRow = styled.div<{ active: boolean }>`
|
||||
align-items: center;
|
||||
@@ -305,21 +308,23 @@ export default function NetworkSelector() {
|
||||
}
|
||||
|
||||
return (
|
||||
<SelectorWrapper ref={node as any}>
|
||||
<SelectorControls onClick={toggle} interactive>
|
||||
<SelectorWrapper ref={node as any} onMouseEnter={toggle} onMouseLeave={toggle}>
|
||||
<SelectorControls interactive>
|
||||
<SelectorLogo interactive src={info.logoUrl} />
|
||||
<SelectorLabel>{info.label}</SelectorLabel>
|
||||
<StyledChevronDown />
|
||||
</SelectorControls>
|
||||
{open && (
|
||||
<FlyoutMenu onMouseLeave={toggle}>
|
||||
<FlyoutHeader>
|
||||
<Trans>Select a network</Trans>
|
||||
</FlyoutHeader>
|
||||
<Row onSelectChain={handleChainSwitch} targetChain={SupportedChainId.MAINNET} />
|
||||
<Row onSelectChain={handleChainSwitch} targetChain={SupportedChainId.POLYGON} />
|
||||
<Row onSelectChain={handleChainSwitch} targetChain={SupportedChainId.OPTIMISM} />
|
||||
<Row onSelectChain={handleChainSwitch} targetChain={SupportedChainId.ARBITRUM_ONE} />
|
||||
<FlyoutMenu>
|
||||
<FlyoutMenuContents>
|
||||
<FlyoutHeader>
|
||||
<Trans>Select a network</Trans>
|
||||
</FlyoutHeader>
|
||||
<Row onSelectChain={handleChainSwitch} targetChain={SupportedChainId.MAINNET} />
|
||||
<Row onSelectChain={handleChainSwitch} targetChain={SupportedChainId.POLYGON} />
|
||||
<Row onSelectChain={handleChainSwitch} targetChain={SupportedChainId.OPTIMISM} />
|
||||
<Row onSelectChain={handleChainSwitch} targetChain={SupportedChainId.ARBITRUM_ONE} />
|
||||
</FlyoutMenuContents>
|
||||
</FlyoutMenu>
|
||||
)}
|
||||
</SelectorWrapper>
|
||||
|
||||
139
src/components/Popups/DonationLink.tsx
Normal file
139
src/components/Popups/DonationLink.tsx
Normal file
@@ -0,0 +1,139 @@
|
||||
import { Trans } from '@lingui/macro'
|
||||
import FlagImage from 'assets/images/ukraine.png'
|
||||
import { AutoColumn } from 'components/Column'
|
||||
import { RowBetween, RowFixed } from 'components/Row'
|
||||
import { X } from 'react-feather'
|
||||
import ReactGA from 'react-ga'
|
||||
import { useDarkModeManager, useShowDonationLink } from 'state/user/hooks'
|
||||
import styled from 'styled-components/macro'
|
||||
import { ExternalLink, ThemedText, Z_INDEX } from 'theme'
|
||||
|
||||
const darkGradient = `radial-gradient(87.53% 3032.45% at 5.16% 10.13%, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0) 100%),
|
||||
linear-gradient(0deg, rgba(0, 91, 187, 0.35), rgba(0, 91, 187, 0.35)), #000000;`
|
||||
const lightGradient = `radial-gradient(87.53% 3032.45% at 5.16% 10.13%, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0) 100%), linear-gradient(0deg, #CBE4FF, #CBE4FF), linear-gradient(0deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.09)), radial-gradient(100% 93.36% at 0% 6.64%, #8BC4FF 0%, #FFF5BF 100%);`
|
||||
|
||||
const Wrapper = styled(AutoColumn)<{ darkMode: boolean }>`
|
||||
background: #edeef2;
|
||||
position: fixed;
|
||||
bottom: 40px;
|
||||
border-radius: 12px;
|
||||
padding: 18px;
|
||||
max-width: 360px;
|
||||
background: ${({ darkMode }) => (darkMode ? darkGradient : lightGradient)};
|
||||
color: ${({ theme }) => theme.text1};
|
||||
z-index: ${Z_INDEX.deprecated_content};
|
||||
|
||||
:hover {
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
& > * {
|
||||
z-index: ${Z_INDEX.fixed};
|
||||
}
|
||||
|
||||
overflow: hidden;
|
||||
|
||||
:before {
|
||||
background-image: url(${FlagImage});
|
||||
background-repeat: no-repeat;
|
||||
overflow: hidden;
|
||||
background-size: 300px;
|
||||
content: '';
|
||||
height: 1200px;
|
||||
width: 400px;
|
||||
opacity: 0.1;
|
||||
position: absolute;
|
||||
transform: rotate(25deg) translate(-140px, -60px);
|
||||
width: 300px;
|
||||
z-index: ${Z_INDEX.deprecated_zero};
|
||||
}
|
||||
|
||||
${({ theme }) => theme.mediaWidth.upToSmall`
|
||||
max-width: 100%;
|
||||
`}
|
||||
|
||||
${({ theme }) => theme.mediaWidth.upToMedium`
|
||||
position: relative;
|
||||
bottom: unset;
|
||||
`}
|
||||
`
|
||||
|
||||
const WrappedCloseIcon = styled(X)`
|
||||
stroke: ${({ theme }) => theme.text2};
|
||||
z-index: ${Z_INDEX.tooltip};
|
||||
:hover {
|
||||
cursor: pointer;
|
||||
opacity: 0.8;
|
||||
}
|
||||
`
|
||||
|
||||
export const StyledFlagImage = styled.div`
|
||||
margin-right: 12px;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
border-radius: 100%;
|
||||
&:before,
|
||||
&:after {
|
||||
content: '';
|
||||
width: 9px;
|
||||
height: 18px;
|
||||
}
|
||||
&:before {
|
||||
float: left;
|
||||
border-top-left-radius: 9px;
|
||||
border-bottom-left-radius: 9px;
|
||||
background: #005bbb;
|
||||
}
|
||||
&:after {
|
||||
float: right;
|
||||
border-top-right-radius: 9px;
|
||||
border-bottom-right-radius: 9px;
|
||||
background: #ffd500;
|
||||
}
|
||||
transform: rotate(90deg);
|
||||
`
|
||||
|
||||
const StyledLink = styled(ExternalLink)`
|
||||
text-decoration: none !important;
|
||||
`
|
||||
|
||||
export default function DonationLink() {
|
||||
const [darkMode] = useDarkModeManager()
|
||||
const [, setVisible] = useShowDonationLink()
|
||||
|
||||
return (
|
||||
<Wrapper
|
||||
gap="10px"
|
||||
darkMode={darkMode}
|
||||
as={StyledLink}
|
||||
target="https://donate.uniswap.org/#/swap"
|
||||
href="https://donate.uniswap.org/#/swap"
|
||||
onClickCapture={() => {
|
||||
ReactGA.event({
|
||||
category: 'Donate',
|
||||
action: 'Link to Ukraine site.',
|
||||
})
|
||||
}}
|
||||
>
|
||||
<RowBetween>
|
||||
<RowFixed>
|
||||
<StyledFlagImage />
|
||||
<ThemedText.Body fontWeight={600} fontSize={'18px'}>
|
||||
<Trans>Donate to Ukraine</Trans>
|
||||
</ThemedText.Body>
|
||||
</RowFixed>
|
||||
<WrappedCloseIcon
|
||||
onClick={(e) => {
|
||||
e.preventDefault()
|
||||
e.stopPropagation()
|
||||
setVisible(false)
|
||||
return false
|
||||
}}
|
||||
/>
|
||||
</RowBetween>
|
||||
<ThemedText.Body fontWeight={400} fontSize="12px" color="text2">
|
||||
<Trans>Directly support the Ukrainian government by donating tokens.</Trans>
|
||||
</ThemedText.Body>
|
||||
</Wrapper>
|
||||
)
|
||||
}
|
||||
@@ -1,12 +1,14 @@
|
||||
import { SupportedChainId } from 'constants/chains'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useLocation } from 'react-router-dom'
|
||||
import styled from 'styled-components/macro'
|
||||
import { MEDIA_WIDTHS } from 'theme'
|
||||
|
||||
import { useActivePopups } from '../../state/application/hooks'
|
||||
import { useURLWarningVisible } from '../../state/user/hooks'
|
||||
import { useShowDonationLink, useURLWarningVisible } from '../../state/user/hooks'
|
||||
import { AutoColumn } from '../Column'
|
||||
import ClaimPopup from './ClaimPopup'
|
||||
import DonationLink from './DonationLink'
|
||||
import PopupItem from './PopupItem'
|
||||
|
||||
const MobilePopupWrapper = styled.div<{ height: string | number }>`
|
||||
@@ -14,11 +16,12 @@ const MobilePopupWrapper = styled.div<{ height: string | number }>`
|
||||
max-width: 100%;
|
||||
height: ${({ height }) => height};
|
||||
margin: ${({ height }) => (height ? '0 auto;' : 0)};
|
||||
margin-bottom: ${({ height }) => (height ? '20px' : 0)}};
|
||||
margin-bottom: ${({ height }) => (height ? '20px' : 0)};
|
||||
|
||||
display: none;
|
||||
${({ theme }) => theme.mediaWidth.upToSmall`
|
||||
display: block;
|
||||
padding-top: 20px;
|
||||
`};
|
||||
`
|
||||
|
||||
@@ -65,6 +68,11 @@ export default function Popups() {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const isNotOnMainnet = Boolean(chainId && chainId !== SupportedChainId.MAINNET)
|
||||
|
||||
const location = useLocation()
|
||||
const isOnSwapPage = location.pathname.includes('swap')
|
||||
const [donationVisible] = useShowDonationLink()
|
||||
const showDonation = donationVisible && isOnSwapPage
|
||||
|
||||
return (
|
||||
<>
|
||||
<FixedPopupColumn gap="20px" extraPadding={urlWarningActive} xlPadding={isNotOnMainnet}>
|
||||
@@ -72,9 +80,11 @@ export default function Popups() {
|
||||
{activePopups.map((item) => (
|
||||
<PopupItem key={item.key} content={item.content} popKey={item.key} removeAfterMs={item.removeAfterMs} />
|
||||
))}
|
||||
{showDonation ? <DonationLink /> : null}
|
||||
</FixedPopupColumn>
|
||||
<MobilePopupWrapper height={activePopups?.length > 0 ? 'fit-content' : 0}>
|
||||
<MobilePopupWrapper height={activePopups?.length > 0 || showDonation ? 'fit-content' : 0}>
|
||||
<MobilePopupInner>
|
||||
{showDonation ? <DonationLink /> : null}
|
||||
{activePopups // reverse so new items up front
|
||||
.slice(0)
|
||||
.reverse()
|
||||
|
||||
@@ -19,7 +19,7 @@ import { PositionDetails } from 'types/position'
|
||||
import { formatTickPrice } from 'utils/formatTickPrice'
|
||||
import { unwrappedToken } from 'utils/unwrappedToken'
|
||||
|
||||
import { DAI, USDC, USDT, WBTC, WRAPPED_NATIVE_CURRENCY } from '../../constants/tokens'
|
||||
import { DAI, USDC_MAINNET, USDT, WBTC, WRAPPED_NATIVE_CURRENCY } from '../../constants/tokens'
|
||||
|
||||
const LinkRow = styled(Link)`
|
||||
align-items: center;
|
||||
@@ -145,7 +145,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, USDT]
|
||||
const stables = [DAI, USDC_MAINNET, USDT]
|
||||
if (stables.some((stable) => stable.equals(token0))) {
|
||||
return {
|
||||
priceLower: position.token0PriceUpper.invert(),
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Protocol } from '@uniswap/router-sdk'
|
||||
import { Currency, Percent } from '@uniswap/sdk-core'
|
||||
import { FeeAmount } from '@uniswap/v3-sdk'
|
||||
import { DAI, USDC, WBTC } from 'constants/tokens'
|
||||
import { DAI, USDC_MAINNET, WBTC } from 'constants/tokens'
|
||||
import { render } from 'test-utils'
|
||||
|
||||
import RoutingDiagram, { RoutingDiagramEntry } from './RoutingDiagram'
|
||||
@@ -10,16 +10,16 @@ const percent = (strings: TemplateStringsArray) => new Percent(parseInt(strings[
|
||||
|
||||
const singleRoute: RoutingDiagramEntry = {
|
||||
percent: percent`100`,
|
||||
path: [[USDC, DAI, FeeAmount.LOW]],
|
||||
path: [[USDC_MAINNET, DAI, FeeAmount.LOW]],
|
||||
protocol: Protocol.V3,
|
||||
}
|
||||
|
||||
const multiRoute: RoutingDiagramEntry[] = [
|
||||
{ percent: percent`75`, path: [[USDC, DAI, FeeAmount.LOWEST]], protocol: Protocol.V2 },
|
||||
{ percent: percent`75`, path: [[USDC_MAINNET, DAI, FeeAmount.LOWEST]], protocol: Protocol.V2 },
|
||||
{
|
||||
percent: percent`25`,
|
||||
path: [
|
||||
[USDC, WBTC, FeeAmount.MEDIUM],
|
||||
[USDC_MAINNET, WBTC, FeeAmount.MEDIUM],
|
||||
[WBTC, DAI, FeeAmount.HIGH],
|
||||
],
|
||||
protocol: Protocol.V3,
|
||||
@@ -47,16 +47,16 @@ jest.mock('hooks/useTokenInfoFromActiveList', () => ({
|
||||
}))
|
||||
|
||||
it('renders when no routes are provided', () => {
|
||||
const { asFragment } = render(<RoutingDiagram currencyIn={DAI} currencyOut={USDC} routes={[]} />)
|
||||
const { asFragment } = render(<RoutingDiagram currencyIn={DAI} currencyOut={USDC_MAINNET} routes={[]} />)
|
||||
expect(asFragment()).toMatchSnapshot()
|
||||
})
|
||||
|
||||
it('renders single route', () => {
|
||||
const { asFragment } = render(<RoutingDiagram currencyIn={USDC} currencyOut={DAI} routes={[singleRoute]} />)
|
||||
const { asFragment } = render(<RoutingDiagram currencyIn={USDC_MAINNET} currencyOut={DAI} routes={[singleRoute]} />)
|
||||
expect(asFragment()).toMatchSnapshot()
|
||||
})
|
||||
|
||||
it('renders multi route', () => {
|
||||
const { asFragment } = render(<RoutingDiagram currencyIn={USDC} currencyOut={DAI} routes={multiRoute} />)
|
||||
const { asFragment } = render(<RoutingDiagram currencyIn={USDC_MAINNET} currencyOut={DAI} routes={multiRoute} />)
|
||||
expect(asFragment()).toMatchSnapshot()
|
||||
})
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import { Trans } from '@lingui/macro'
|
||||
import { Protocol } from '@uniswap/router-sdk'
|
||||
import { Currency, Percent } from '@uniswap/sdk-core'
|
||||
import { Currency } from '@uniswap/sdk-core'
|
||||
import { FeeAmount } from '@uniswap/v3-sdk'
|
||||
import Badge from 'components/Badge'
|
||||
import CurrencyLogo from 'components/CurrencyLogo'
|
||||
import DoubleCurrencyLogo from 'components/DoubleLogo'
|
||||
import Row, { AutoRow } from 'components/Row'
|
||||
import { useTokenInfoFromActiveList } from 'hooks/useTokenInfoFromActiveList'
|
||||
import { RoutingDiagramEntry } from 'lib/components/Swap/RoutingDiagram/utils'
|
||||
import { Box } from 'rebass'
|
||||
import styled from 'styled-components/macro'
|
||||
import { ThemedText, Z_INDEX } from 'theme'
|
||||
@@ -14,12 +14,6 @@ import { ThemedText, Z_INDEX } from 'theme'
|
||||
import { ReactComponent as DotLine } from '../../assets/svg/dot_line.svg'
|
||||
import { MouseoverTooltip } from '../Tooltip'
|
||||
|
||||
export interface RoutingDiagramEntry {
|
||||
percent: Percent
|
||||
path: [Currency, Currency, FeeAmount][]
|
||||
protocol: Protocol
|
||||
}
|
||||
|
||||
const Wrapper = styled(Box)`
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
|
||||
@@ -48,7 +48,7 @@ export function ImportToken(props: ImportProps) {
|
||||
<RowBetween>
|
||||
{onBack ? <ArrowLeft style={{ cursor: 'pointer' }} onClick={onBack} /> : <div />}
|
||||
<ThemedText.MediumHeader>
|
||||
<Plural value={tokens.length} one="Import token" other="Import tokens" />
|
||||
<Plural value={tokens.length} _1="Import token" other="Import tokens" />
|
||||
</ThemedText.MediumHeader>
|
||||
{onDismiss ? <CloseIcon onClick={onDismiss} /> : <div />}
|
||||
</RowBetween>
|
||||
|
||||
@@ -1,15 +1,14 @@
|
||||
import { Trans } from '@lingui/macro'
|
||||
import { Trade } from '@uniswap/router-sdk'
|
||||
import { Currency, Percent, TradeType } from '@uniswap/sdk-core'
|
||||
import { Pair } from '@uniswap/v2-sdk'
|
||||
import { Currency, TradeType } from '@uniswap/sdk-core'
|
||||
import AnimatedDropdown from 'components/AnimatedDropdown'
|
||||
import { AutoColumn } from 'components/Column'
|
||||
import { LoadingRows } from 'components/Loader/styled'
|
||||
import RoutingDiagram, { RoutingDiagramEntry } from 'components/RoutingDiagram/RoutingDiagram'
|
||||
import RoutingDiagram from 'components/RoutingDiagram/RoutingDiagram'
|
||||
import { AutoRow, RowBetween } from 'components/Row'
|
||||
import { SUPPORTED_GAS_ESTIMATE_CHAIN_IDS } from 'constants/chains'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import useAutoRouterSupported from 'hooks/useAutoRouterSupported'
|
||||
import { getTokenPath } from 'lib/components/Swap/RoutingDiagram/utils'
|
||||
import { memo, useState } from 'react'
|
||||
import { Plus } from 'react-feather'
|
||||
import { InterfaceTrade } from 'state/routing/types'
|
||||
@@ -39,8 +38,6 @@ const OpenCloseIcon = styled(Plus)<{ open?: boolean }>`
|
||||
}
|
||||
`
|
||||
|
||||
const V2_DEFAULT_FEE_TIER = 3000
|
||||
|
||||
interface SwapRouteProps extends React.HTMLAttributes<HTMLDivElement> {
|
||||
trade: InterfaceTrade<Currency, Currency, TradeType>
|
||||
syncing: boolean
|
||||
@@ -109,35 +106,3 @@ export default memo(function SwapRoute({ trade, syncing, fixedOpen = false, ...r
|
||||
</Wrapper>
|
||||
)
|
||||
})
|
||||
|
||||
function getTokenPath(trade: Trade<Currency, Currency, TradeType>): RoutingDiagramEntry[] {
|
||||
return trade.swaps.map(({ route: { path: tokenPath, pools, protocol }, inputAmount, outputAmount }) => {
|
||||
const portion =
|
||||
trade.tradeType === TradeType.EXACT_INPUT
|
||||
? inputAmount.divide(trade.inputAmount)
|
||||
: outputAmount.divide(trade.outputAmount)
|
||||
|
||||
const percent = new Percent(portion.numerator, portion.denominator)
|
||||
|
||||
const path: RoutingDiagramEntry['path'] = []
|
||||
for (let i = 0; i < pools.length; i++) {
|
||||
const nextPool = pools[i]
|
||||
const tokenIn = tokenPath[i]
|
||||
const tokenOut = tokenPath[i + 1]
|
||||
|
||||
const entry: RoutingDiagramEntry['path'][0] = [
|
||||
tokenIn,
|
||||
tokenOut,
|
||||
nextPool instanceof Pair ? V2_DEFAULT_FEE_TIER : nextPool.fee,
|
||||
]
|
||||
|
||||
path.push(entry)
|
||||
}
|
||||
|
||||
return {
|
||||
percent,
|
||||
path,
|
||||
protocol,
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@@ -12,6 +12,8 @@ export const COMMON_CONTRACT_NAMES: Record<number, { [address: string]: string }
|
||||
[TIMELOCK_ADDRESS[SupportedChainId.MAINNET]]: 'Timelock',
|
||||
[GOVERNANCE_ALPHA_V0_ADDRESSES[SupportedChainId.MAINNET]]: 'Governance (V0)',
|
||||
[GOVERNANCE_ALPHA_V1_ADDRESSES[SupportedChainId.MAINNET]]: 'Governance',
|
||||
'0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e': 'ENS Registry',
|
||||
'0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41': 'ENS Public Resolver',
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
@@ -18,8 +18,8 @@ import {
|
||||
sETH2,
|
||||
SWISE,
|
||||
TRIBE,
|
||||
USDC,
|
||||
USDC_ARBITRUM,
|
||||
USDC_MAINNET,
|
||||
USDC_OPTIMISM,
|
||||
USDC_POLYGON,
|
||||
USDT,
|
||||
@@ -50,7 +50,13 @@ 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, USDT, WBTC],
|
||||
[SupportedChainId.MAINNET]: [
|
||||
...WRAPPED_NATIVE_CURRENCIES_ONLY[SupportedChainId.MAINNET],
|
||||
DAI,
|
||||
USDC_MAINNET,
|
||||
USDT,
|
||||
WBTC,
|
||||
],
|
||||
[SupportedChainId.OPTIMISM]: [
|
||||
...WRAPPED_NATIVE_CURRENCIES_ONLY[SupportedChainId.OPTIMISM],
|
||||
DAI_OPTIMISM,
|
||||
@@ -101,7 +107,7 @@ export const COMMON_BASES: ChainCurrencyList = {
|
||||
[SupportedChainId.MAINNET]: [
|
||||
nativeOnChain(SupportedChainId.MAINNET),
|
||||
DAI,
|
||||
USDC,
|
||||
USDC_MAINNET,
|
||||
USDT,
|
||||
WBTC,
|
||||
WRAPPED_NATIVE_CURRENCY[SupportedChainId.MAINNET],
|
||||
@@ -154,7 +160,13 @@ export const COMMON_BASES: ChainCurrencyList = {
|
||||
// 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, USDT, WBTC],
|
||||
[SupportedChainId.MAINNET]: [
|
||||
...WRAPPED_NATIVE_CURRENCIES_ONLY[SupportedChainId.MAINNET],
|
||||
DAI,
|
||||
USDC_MAINNET,
|
||||
USDT,
|
||||
WBTC,
|
||||
],
|
||||
}
|
||||
export const PINNED_PAIRS: { readonly [chainId: number]: [Token, Token][] } = {
|
||||
[SupportedChainId.MAINNET]: [
|
||||
@@ -168,7 +180,7 @@ export const PINNED_PAIRS: { readonly [chainId: number]: [Token, Token][] } = {
|
||||
'Compound USD Coin'
|
||||
),
|
||||
],
|
||||
[USDC, USDT],
|
||||
[USDC_MAINNET, USDT],
|
||||
[DAI, USDT],
|
||||
],
|
||||
}
|
||||
|
||||
@@ -1101,6 +1101,13 @@
|
||||
"name": "BMEX",
|
||||
"symbol": "BMEX",
|
||||
"decimals": 18
|
||||
},
|
||||
{
|
||||
"chainId": 1,
|
||||
"address": "0x322A46E88fa3C78F9c9E3DBb0254b61664a06109",
|
||||
"name": "Ukraine DAO",
|
||||
"symbol": "Ukraine",
|
||||
"decimals": 18
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,8 +1,23 @@
|
||||
import { Currency, Ether, NativeCurrency, Token, WETH9 } from '@uniswap/sdk-core'
|
||||
import {
|
||||
USDC_ARBITRUM,
|
||||
USDC_ARBITRUM_RINKEBY,
|
||||
USDC_GÖRLI,
|
||||
USDC_KOVAN,
|
||||
USDC_MAINNET,
|
||||
USDC_OPTIMISM,
|
||||
USDC_OPTIMISTIC_KOVAN,
|
||||
USDC_POLYGON,
|
||||
USDC_POLYGON_MUMBAI,
|
||||
USDC_RINKEBY,
|
||||
USDC_ROPSTEN,
|
||||
} from '@uniswap/smart-order-router'
|
||||
|
||||
import { UNI_ADDRESS } from './addresses'
|
||||
import { SupportedChainId } from './chains'
|
||||
|
||||
export { USDC_ARBITRUM, USDC_MAINNET, USDC_OPTIMISM, USDC_POLYGON }
|
||||
|
||||
export const AMPL = new Token(
|
||||
SupportedChainId.MAINNET,
|
||||
'0xD46bA6D942050d489DBd938a2C909A5d5039A161',
|
||||
@@ -31,27 +46,19 @@ export const DAI_OPTIMISM = new Token(
|
||||
'DAI',
|
||||
'Dai stable coin'
|
||||
)
|
||||
export const USDC = new Token(
|
||||
SupportedChainId.MAINNET,
|
||||
'0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
|
||||
6,
|
||||
'USDC',
|
||||
'USD//C'
|
||||
)
|
||||
export const USDC_ARBITRUM = new Token(
|
||||
SupportedChainId.ARBITRUM_ONE,
|
||||
'0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8',
|
||||
6,
|
||||
'USDC',
|
||||
'USD//C'
|
||||
)
|
||||
export const USDC_POLYGON = new Token(
|
||||
SupportedChainId.POLYGON,
|
||||
'0x2791bca1f2de4661ed88a30c99a7a9449aa84174',
|
||||
6,
|
||||
'USDC',
|
||||
'USD//C'
|
||||
)
|
||||
export const USDC: { [chainId in SupportedChainId]: Token } = {
|
||||
[SupportedChainId.MAINNET]: USDC_MAINNET,
|
||||
[SupportedChainId.ARBITRUM_ONE]: USDC_ARBITRUM,
|
||||
[SupportedChainId.OPTIMISM]: USDC_OPTIMISM,
|
||||
[SupportedChainId.ARBITRUM_RINKEBY]: USDC_ARBITRUM_RINKEBY,
|
||||
[SupportedChainId.OPTIMISTIC_KOVAN]: USDC_OPTIMISTIC_KOVAN,
|
||||
[SupportedChainId.POLYGON]: USDC_POLYGON,
|
||||
[SupportedChainId.POLYGON_MUMBAI]: USDC_POLYGON_MUMBAI,
|
||||
[SupportedChainId.GOERLI]: USDC_GÖRLI,
|
||||
[SupportedChainId.RINKEBY]: USDC_RINKEBY,
|
||||
[SupportedChainId.KOVAN]: USDC_KOVAN,
|
||||
[SupportedChainId.ROPSTEN]: USDC_ROPSTEN,
|
||||
}
|
||||
export const DAI_POLYGON = new Token(
|
||||
SupportedChainId.POLYGON,
|
||||
'0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063',
|
||||
@@ -73,13 +80,6 @@ export const WBTC_POLYGON = new Token(
|
||||
'WBTC',
|
||||
'Wrapped BTC'
|
||||
)
|
||||
export const USDC_OPTIMISM = new Token(
|
||||
SupportedChainId.OPTIMISM,
|
||||
'0x7F5c764cBc14f9669B88837ca1490cCa17c31607',
|
||||
6,
|
||||
'USDC',
|
||||
'USD//C'
|
||||
)
|
||||
export const USDT = new Token(
|
||||
SupportedChainId.MAINNET,
|
||||
'0xdAC17F958D2ee523a2206206994597C13D831ec7',
|
||||
@@ -296,3 +296,19 @@ export function nativeOnChain(chainId: number): NativeCurrency {
|
||||
: ExtendedEther.onChain(chainId))
|
||||
)
|
||||
}
|
||||
|
||||
export const TOKEN_SHORTHANDS: { [shorthand: string]: { [chainId in SupportedChainId]?: string } } = {
|
||||
USDC: {
|
||||
[SupportedChainId.MAINNET]: USDC_MAINNET.address,
|
||||
[SupportedChainId.ARBITRUM_ONE]: USDC_ARBITRUM.address,
|
||||
[SupportedChainId.OPTIMISM]: USDC_OPTIMISM.address,
|
||||
[SupportedChainId.ARBITRUM_RINKEBY]: USDC_ARBITRUM_RINKEBY.address,
|
||||
[SupportedChainId.OPTIMISTIC_KOVAN]: USDC_OPTIMISTIC_KOVAN.address,
|
||||
[SupportedChainId.POLYGON]: USDC_POLYGON.address,
|
||||
[SupportedChainId.POLYGON_MUMBAI]: USDC_POLYGON_MUMBAI.address,
|
||||
[SupportedChainId.GOERLI]: USDC_GÖRLI.address,
|
||||
[SupportedChainId.RINKEBY]: USDC_RINKEBY.address,
|
||||
[SupportedChainId.KOVAN]: USDC_KOVAN.address,
|
||||
[SupportedChainId.ROPSTEN]: USDC_ROPSTEN.address,
|
||||
},
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ import { Currency, Token } from '@uniswap/sdk-core'
|
||||
import { CHAIN_INFO } from 'constants/chainInfo'
|
||||
import { L2_CHAIN_IDS, SupportedChainId, SupportedL2ChainId } from 'constants/chains'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useCurrencyFromMap, useTokenFromMap } from 'lib/hooks/useCurrency'
|
||||
import { useCurrencyFromMap, useTokenFromMapOrNetwork } from 'lib/hooks/useCurrency'
|
||||
import { getTokenFilter } from 'lib/hooks/useTokenList/filtering'
|
||||
import { useMemo } from 'react'
|
||||
|
||||
@@ -159,7 +159,7 @@ export function useIsUserAddedToken(currency: Currency | undefined | null): bool
|
||||
// otherwise returns the token
|
||||
export function useToken(tokenAddress?: string | null): Token | null | undefined {
|
||||
const tokens = useAllTokens()
|
||||
return useTokenFromMap(tokens, tokenAddress)
|
||||
return useTokenFromMapOrNetwork(tokens, tokenAddress)
|
||||
}
|
||||
|
||||
export function useCurrency(currencyId?: string | null): Currency | null | undefined {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { renderHook } from '@testing-library/react-hooks'
|
||||
import { CurrencyAmount, TradeType } from '@uniswap/sdk-core'
|
||||
import { DAI, USDC } from 'constants/tokens'
|
||||
import { DAI, USDC_MAINNET } from 'constants/tokens'
|
||||
import { TradeState } from 'state/routing/types'
|
||||
|
||||
import { useRoutingAPITrade } from '../state/routing/useRoutingAPITrade'
|
||||
@@ -10,7 +10,7 @@ import { useClientSideV3Trade } from './useClientSideV3Trade'
|
||||
import useDebounce from './useDebounce'
|
||||
import useIsWindowVisible from './useIsWindowVisible'
|
||||
|
||||
const USDCAmount = CurrencyAmount.fromRawAmount(USDC, '10000')
|
||||
const USDCAmount = CurrencyAmount.fromRawAmount(USDC_MAINNET, '10000')
|
||||
const DAIAmount = CurrencyAmount.fromRawAmount(DAI, '10000')
|
||||
|
||||
jest.mock('./useAutoRouterSupported')
|
||||
@@ -126,10 +126,10 @@ describe('#useBestV3Trade ExactOut', () => {
|
||||
expectRouterMock(TradeState.INVALID)
|
||||
expectClientSideMock(TradeState.VALID)
|
||||
|
||||
const { result } = renderHook(() => useBestTrade(TradeType.EXACT_OUTPUT, DAIAmount, USDC))
|
||||
const { result } = renderHook(() => useBestTrade(TradeType.EXACT_OUTPUT, DAIAmount, USDC_MAINNET))
|
||||
|
||||
expect(mockUseRoutingAPITrade).toHaveBeenCalledWith(TradeType.EXACT_OUTPUT, undefined, USDC)
|
||||
expect(mockUseClientSideV3Trade).toHaveBeenCalledWith(TradeType.EXACT_OUTPUT, DAIAmount, USDC)
|
||||
expect(mockUseRoutingAPITrade).toHaveBeenCalledWith(TradeType.EXACT_OUTPUT, undefined, USDC_MAINNET)
|
||||
expect(mockUseClientSideV3Trade).toHaveBeenCalledWith(TradeType.EXACT_OUTPUT, DAIAmount, USDC_MAINNET)
|
||||
expect(result.current).toEqual({ state: TradeState.VALID, trade: undefined })
|
||||
})
|
||||
|
||||
@@ -138,17 +138,17 @@ describe('#useBestV3Trade ExactOut', () => {
|
||||
expectRouterMock(TradeState.NO_ROUTE_FOUND)
|
||||
expectClientSideMock(TradeState.VALID)
|
||||
|
||||
const { result } = renderHook(() => useBestTrade(TradeType.EXACT_OUTPUT, DAIAmount, USDC))
|
||||
const { result } = renderHook(() => useBestTrade(TradeType.EXACT_OUTPUT, DAIAmount, USDC_MAINNET))
|
||||
|
||||
expect(mockUseRoutingAPITrade).toHaveBeenCalledWith(TradeType.EXACT_OUTPUT, undefined, USDC)
|
||||
expect(mockUseClientSideV3Trade).toHaveBeenCalledWith(TradeType.EXACT_OUTPUT, DAIAmount, USDC)
|
||||
expect(mockUseRoutingAPITrade).toHaveBeenCalledWith(TradeType.EXACT_OUTPUT, undefined, USDC_MAINNET)
|
||||
expect(mockUseClientSideV3Trade).toHaveBeenCalledWith(TradeType.EXACT_OUTPUT, DAIAmount, USDC_MAINNET)
|
||||
expect(result.current).toEqual({ state: TradeState.VALID, trade: undefined })
|
||||
})
|
||||
describe('when routing api is in non-error state', () => {
|
||||
it('does not compute client side v3 trade if routing api is LOADING', () => {
|
||||
expectRouterMock(TradeState.LOADING)
|
||||
|
||||
const { result } = renderHook(() => useBestTrade(TradeType.EXACT_OUTPUT, DAIAmount, USDC))
|
||||
const { result } = renderHook(() => useBestTrade(TradeType.EXACT_OUTPUT, DAIAmount, USDC_MAINNET))
|
||||
|
||||
expect(mockUseClientSideV3Trade).toHaveBeenCalledWith(TradeType.EXACT_OUTPUT, undefined, undefined)
|
||||
expect(result.current).toEqual({ state: TradeState.LOADING, trade: undefined })
|
||||
@@ -157,7 +157,7 @@ describe('#useBestV3Trade ExactOut', () => {
|
||||
it('does not compute client side v3 trade if routing api is VALID', () => {
|
||||
expectRouterMock(TradeState.VALID)
|
||||
|
||||
const { result } = renderHook(() => useBestTrade(TradeType.EXACT_OUTPUT, DAIAmount, USDC))
|
||||
const { result } = renderHook(() => useBestTrade(TradeType.EXACT_OUTPUT, DAIAmount, USDC_MAINNET))
|
||||
|
||||
expect(mockUseClientSideV3Trade).toHaveBeenCalledWith(TradeType.EXACT_OUTPUT, undefined, undefined)
|
||||
expect(result.current).toEqual({ state: TradeState.VALID, trade: undefined })
|
||||
@@ -166,7 +166,7 @@ describe('#useBestV3Trade ExactOut', () => {
|
||||
it('does not compute client side v3 trade if routing api is SYNCING', () => {
|
||||
expectRouterMock(TradeState.SYNCING)
|
||||
|
||||
const { result } = renderHook(() => useBestTrade(TradeType.EXACT_OUTPUT, DAIAmount, USDC))
|
||||
const { result } = renderHook(() => useBestTrade(TradeType.EXACT_OUTPUT, DAIAmount, USDC_MAINNET))
|
||||
|
||||
expect(mockUseClientSideV3Trade).toHaveBeenCalledWith(TradeType.EXACT_OUTPUT, undefined, undefined)
|
||||
expect(result.current).toEqual({ state: TradeState.SYNCING, trade: undefined })
|
||||
@@ -178,7 +178,7 @@ describe('#useBestV3Trade ExactOut', () => {
|
||||
expectRouterMock(TradeState.INVALID)
|
||||
expectClientSideMock(TradeState.VALID)
|
||||
|
||||
renderHook(() => useBestTrade(TradeType.EXACT_OUTPUT, DAIAmount, USDC))
|
||||
renderHook(() => useBestTrade(TradeType.EXACT_OUTPUT, DAIAmount, USDC_MAINNET))
|
||||
|
||||
expect(mockUseClientSideV3Trade).toHaveBeenCalledWith(TradeType.EXACT_OUTPUT, undefined, undefined)
|
||||
})
|
||||
@@ -187,9 +187,9 @@ describe('#useBestV3Trade ExactOut', () => {
|
||||
expectRouterMock(TradeState.NO_ROUTE_FOUND)
|
||||
expectClientSideMock(TradeState.VALID)
|
||||
|
||||
const { result } = renderHook(() => useBestTrade(TradeType.EXACT_OUTPUT, DAIAmount, USDC))
|
||||
const { result } = renderHook(() => useBestTrade(TradeType.EXACT_OUTPUT, DAIAmount, USDC_MAINNET))
|
||||
|
||||
expect(mockUseClientSideV3Trade).toHaveBeenCalledWith(TradeType.EXACT_OUTPUT, DAIAmount, USDC)
|
||||
expect(mockUseClientSideV3Trade).toHaveBeenCalledWith(TradeType.EXACT_OUTPUT, DAIAmount, USDC_MAINNET)
|
||||
expect(result.current).toEqual({ state: TradeState.VALID, trade: undefined })
|
||||
})
|
||||
})
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Token } from '@uniswap/sdk-core'
|
||||
import { SupportedChainId } from 'constants/chains'
|
||||
import uriToHttp from 'lib/utils/uriToHttp'
|
||||
import Vibrant from 'node-vibrant/lib/bundle'
|
||||
import Vibrant from 'node-vibrant/lib/bundle.js'
|
||||
import { shade } from 'polished'
|
||||
import { useLayoutEffect, useState } from 'react'
|
||||
import { WrappedTokenInfo } from 'state/lists/wrappedTokenInfo'
|
||||
|
||||
@@ -10,7 +10,7 @@ import { useSingleCallResult } from 'lib/hooks/multicall'
|
||||
import { useMemo, useState } from 'react'
|
||||
|
||||
import { SWAP_ROUTER_ADDRESSES, V3_ROUTER_ADDRESS } from '../constants/addresses'
|
||||
import { DAI, UNI, USDC } from '../constants/tokens'
|
||||
import { DAI, UNI, USDC_MAINNET } from '../constants/tokens'
|
||||
import { useEIP2612Contract } from './useContract'
|
||||
import useIsArgentWallet from './useIsArgentWallet'
|
||||
|
||||
@@ -36,7 +36,7 @@ const PERMITTABLE_TOKENS: {
|
||||
}
|
||||
} = {
|
||||
1: {
|
||||
[USDC.address]: { type: PermitType.AMOUNT, name: 'USD Coin', version: '2' },
|
||||
[USDC_MAINNET.address]: { type: PermitType.AMOUNT, name: 'USD Coin', version: '2' },
|
||||
[DAI.address]: { type: PermitType.ALLOWED, name: 'Dai Stablecoin', version: '1' },
|
||||
[UNI[1].address]: { type: PermitType.AMOUNT, name: 'Uniswap' },
|
||||
},
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
import { useCallback, useEffect, useState } from 'react'
|
||||
|
||||
const VISIBILITY_STATE_SUPPORTED = 'visibilityState' in document
|
||||
function isVisibilityStateSupported() {
|
||||
return 'visibilityState' in document
|
||||
}
|
||||
|
||||
function isWindowVisible() {
|
||||
return !VISIBILITY_STATE_SUPPORTED || document.visibilityState !== 'hidden'
|
||||
return !isVisibilityStateSupported() || document.visibilityState !== 'hidden'
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -16,7 +18,7 @@ export default function useIsWindowVisible(): boolean {
|
||||
}, [setFocused])
|
||||
|
||||
useEffect(() => {
|
||||
if (!VISIBILITY_STATE_SUPPORTED) return undefined
|
||||
if (!isVisibilityStateSupported()) return undefined
|
||||
|
||||
document.addEventListener('visibilitychange', listener)
|
||||
return () => {
|
||||
|
||||
@@ -4,14 +4,14 @@ import tryParseCurrencyAmount from 'lib/utils/tryParseCurrencyAmount'
|
||||
import { useMemo } from 'react'
|
||||
|
||||
import { SupportedChainId } from '../constants/chains'
|
||||
import { DAI_OPTIMISM, USDC, USDC_ARBITRUM, USDC_POLYGON } from '../constants/tokens'
|
||||
import { DAI_OPTIMISM, USDC_ARBITRUM, USDC_MAINNET, USDC_POLYGON } from '../constants/tokens'
|
||||
import { useBestV2Trade } from './useBestV2Trade'
|
||||
import { useClientSideV3Trade } from './useClientSideV3Trade'
|
||||
|
||||
// Stablecoin amounts used when calculating spot price for a given currency.
|
||||
// The amount is large enough to filter low liquidity pairs.
|
||||
export const STABLECOIN_AMOUNT_OUT: { [chainId: number]: CurrencyAmount<Token> } = {
|
||||
[SupportedChainId.MAINNET]: CurrencyAmount.fromRawAmount(USDC, 100_000e6),
|
||||
[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),
|
||||
|
||||
@@ -73,4 +73,3 @@ ReactDOM.render(
|
||||
if (process.env.REACT_APP_SERVICE_WORKER !== 'false') {
|
||||
serviceWorkerRegistration.register()
|
||||
}
|
||||
export { INFURA_NETWORK_URLS } from 'constants/infura'
|
||||
|
||||
10
src/lib/assets/svg/auto_router.svg
Normal file
10
src/lib/assets/svg/auto_router.svg
Normal file
@@ -0,0 +1,10 @@
|
||||
<svg width="23" height="20" viewBox="0 0 23 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<defs>
|
||||
<linearGradient id="gradient" x1="0" y1="0" x2="1" y2="0" gradientTransform="rotate(95)">
|
||||
<stop id="stop1" offset="0" stop-color="#2274E2"/>
|
||||
<stop id="stop1" offset="0.5" stop-color="#2274E2"/>
|
||||
<stop id="stop2" offset="1" stop-color="#3FB672" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<path d="M16 16C10 16 9 10 5 10M16 16C16 17.6569 17.3431 19 19 19C20.6569 19 22 17.6569 22 16C22 14.3431 20.6569 13 19 13C17.3431 13 16 14.3431 16 16ZM5 10C9 10 10 4 16 4M5 10H1.5M16 4C16 5.65685 17.3431 7 19 7C20.6569 7 22 5.65685 22 4C22 2.34315 20.6569 1 19 1C17.3431 1 16 2.34315 16 4Z" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke="url(#gradient)" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 780 B |
@@ -61,14 +61,13 @@ export interface Action {
|
||||
children: ReactNode
|
||||
}
|
||||
|
||||
export interface ActionButtonProps {
|
||||
export interface BaseProps {
|
||||
color?: Color
|
||||
disabled?: boolean
|
||||
action?: Action
|
||||
onClick: () => void
|
||||
children: ReactNode
|
||||
}
|
||||
|
||||
export type ActionButtonProps = BaseProps & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, keyof BaseProps>
|
||||
|
||||
export default function ActionButton({ color = 'accent', disabled, action, onClick, children }: ActionButtonProps) {
|
||||
const textColor = useMemo(() => (color === 'accent' && !disabled ? 'onAccent' : 'currentColor'), [color, disabled])
|
||||
return (
|
||||
|
||||
11
src/lib/components/Badge.tsx
Normal file
11
src/lib/components/Badge.tsx
Normal file
@@ -0,0 +1,11 @@
|
||||
import styled, { Color } from 'lib/theme'
|
||||
|
||||
import Row from './Row'
|
||||
|
||||
const Badge = styled(Row)<{ borderRadius?: number; padding?: string; color?: Color }>`
|
||||
background-color: ${({ theme, color = 'outline' }) => theme[color]};
|
||||
border-radius: ${({ borderRadius }) => `${borderRadius ?? 0.5}em`};
|
||||
padding: ${({ padding }) => padding ?? '0.25em 0.375em'};
|
||||
`
|
||||
|
||||
export default Badge
|
||||
@@ -10,6 +10,7 @@ export const BaseButton = styled.button`
|
||||
cursor: pointer;
|
||||
font-size: inherit;
|
||||
font-weight: inherit;
|
||||
height: inherit;
|
||||
line-height: inherit;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
|
||||
@@ -40,7 +40,10 @@ export function Provider({ value, children }: ProviderProps) {
|
||||
}
|
||||
}, [active])
|
||||
return (
|
||||
<div ref={ref}>
|
||||
<div
|
||||
ref={ref}
|
||||
style={{ isolation: 'isolate' }} // creates a new stacking context, preventing the dialog from intercepting non-dialog clicks
|
||||
>
|
||||
<Context.Provider value={context}>{children}</Context.Provider>
|
||||
</div>
|
||||
)
|
||||
|
||||
@@ -12,6 +12,7 @@ import Rule from '../Rule'
|
||||
|
||||
const HeaderIcon = styled(LargeIcon)`
|
||||
flex-grow: 1;
|
||||
transition: height 0.25s, width 0.25s;
|
||||
|
||||
svg {
|
||||
transition: height 0.25s, width 0.25s;
|
||||
@@ -66,7 +67,7 @@ const ExpandoColumn = styled(Column)<{ open: boolean }>`
|
||||
transition: flex-grow 0.25s;
|
||||
|
||||
${Column} {
|
||||
height: 100%;
|
||||
height: 6.825em;
|
||||
padding: ${({ open }) => (open ? '0.5em 0' : 0)};
|
||||
transition: padding 0.25s;
|
||||
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
import { SupportedChainId } from 'constants/chains'
|
||||
import useActiveWeb3React from 'lib/hooks/useActiveWeb3React'
|
||||
import { Link } from 'lib/icons'
|
||||
import styled, { Color } from 'lib/theme'
|
||||
import { ReactNode, useMemo } from 'react'
|
||||
import { ExplorerDataType, getExplorerLink } from 'utils/getExplorerLink'
|
||||
|
||||
import ExternalLink from './ExternalLink'
|
||||
import Row from './Row'
|
||||
|
||||
const Link = styled(ExternalLink)<{ color: Color }>`
|
||||
const StyledExternalLink = styled(ExternalLink)<{ color: Color }>`
|
||||
color: ${({ theme, color }) => theme[color]};
|
||||
text-decoration: none;
|
||||
`
|
||||
@@ -25,8 +27,10 @@ export default function EtherscanLink({ data, type, color = 'currentColor', chil
|
||||
[chainId, data, type]
|
||||
)
|
||||
return (
|
||||
<Link href={url} color={color} target="_blank">
|
||||
{children}
|
||||
</Link>
|
||||
<StyledExternalLink href={url} color={color} target="_blank">
|
||||
<Row gap={0.25}>
|
||||
{children} <Link />
|
||||
</Row>
|
||||
</StyledExternalLink>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -21,7 +21,9 @@ const PopoverContainer = styled.div<{ show: boolean }>`
|
||||
`
|
||||
|
||||
const Reference = styled.div`
|
||||
align-self: flex-start;
|
||||
display: inline-block;
|
||||
height: 1em;
|
||||
`
|
||||
|
||||
const Arrow = styled.div`
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { useLingui } from '@lingui/react'
|
||||
import { Currency, CurrencyAmount } from '@uniswap/sdk-core'
|
||||
import { useUSDCValue } from 'hooks/useUSDCPrice'
|
||||
import { loadingOpacityCss } from 'lib/css/loading'
|
||||
import {
|
||||
@@ -45,12 +46,33 @@ export interface InputProps {
|
||||
focused: boolean
|
||||
}
|
||||
|
||||
interface UseFormattedFieldAmountArguments {
|
||||
disabled: boolean
|
||||
currencyAmount?: CurrencyAmount<Currency>
|
||||
fieldAmount?: string
|
||||
}
|
||||
|
||||
export function useFormattedFieldAmount({ disabled, currencyAmount, fieldAmount }: UseFormattedFieldAmountArguments) {
|
||||
return useMemo(() => {
|
||||
if (disabled) {
|
||||
return ''
|
||||
}
|
||||
if (fieldAmount !== undefined) {
|
||||
return fieldAmount
|
||||
}
|
||||
if (currencyAmount) {
|
||||
return currencyAmount.toSignificant(6)
|
||||
}
|
||||
return ''
|
||||
}, [disabled, currencyAmount, fieldAmount])
|
||||
}
|
||||
|
||||
export default function Input({ disabled, focused }: InputProps) {
|
||||
const { i18n } = useLingui()
|
||||
const {
|
||||
trade: { state: tradeState },
|
||||
currencyBalances: { [Field.INPUT]: balance },
|
||||
currencyAmounts: { [Field.INPUT]: swapInputCurrencyAmount },
|
||||
trade: { state: tradeState },
|
||||
tradeCurrencyAmounts: { [Field.INPUT]: swapInputCurrencyAmount },
|
||||
} = useSwapInfo()
|
||||
const inputUSDC = useUSDCValue(swapInputCurrencyAmount)
|
||||
|
||||
@@ -69,14 +91,10 @@ export default function Input({ disabled, focused }: InputProps) {
|
||||
const mockApproved = true
|
||||
|
||||
// account for gas needed if using max on native token
|
||||
const maxAmount = useMemo(() => maxAmountSpend(balance), [balance])
|
||||
|
||||
const onMax = useMemo(() => {
|
||||
if (maxAmount?.greaterThan(0)) {
|
||||
return () => updateSwapInputAmount(maxAmount.toExact())
|
||||
}
|
||||
return
|
||||
}, [maxAmount, updateSwapInputAmount])
|
||||
const max = useMemo(() => {
|
||||
const maxAmount = maxAmountSpend(balance)
|
||||
return maxAmount?.greaterThan(0) ? maxAmount.toExact() : undefined
|
||||
}, [balance])
|
||||
|
||||
const balanceColor = useMemo(() => {
|
||||
const insufficientBalance =
|
||||
@@ -85,13 +103,19 @@ export default function Input({ disabled, focused }: InputProps) {
|
||||
return insufficientBalance ? 'error' : undefined
|
||||
}, [balance, inputCurrencyAmount, swapInputCurrencyAmount])
|
||||
|
||||
const amount = useFormattedFieldAmount({
|
||||
disabled,
|
||||
currencyAmount: inputCurrencyAmount,
|
||||
fieldAmount: swapInputAmount,
|
||||
})
|
||||
|
||||
return (
|
||||
<InputColumn gap={0.5} approved={mockApproved}>
|
||||
<TokenInput
|
||||
currency={swapInputCurrency}
|
||||
amount={(swapInputAmount !== undefined ? swapInputAmount : swapInputCurrencyAmount?.toSignificant(6)) ?? ''}
|
||||
amount={amount}
|
||||
max={max}
|
||||
disabled={disabled}
|
||||
onMax={onMax}
|
||||
onChangeInput={updateSwapInputAmount}
|
||||
onChangeCurrency={updateSwapInputCurrency}
|
||||
loading={isLoading}
|
||||
|
||||
@@ -16,7 +16,7 @@ import { getPriceImpactWarning } from 'utils/prices'
|
||||
|
||||
import Column from '../Column'
|
||||
import Row from '../Row'
|
||||
import { Balance, InputProps, LoadingRow } from './Input'
|
||||
import { Balance, InputProps, LoadingRow, useFormattedFieldAmount } from './Input'
|
||||
import TokenInput from './TokenInput'
|
||||
|
||||
export const colorAtom = atom<string | undefined>(undefined)
|
||||
@@ -41,9 +41,9 @@ export default function Output({ disabled, focused, children }: PropsWithChildre
|
||||
const { i18n } = useLingui()
|
||||
|
||||
const {
|
||||
trade: { state: tradeState },
|
||||
currencyBalances: { [Field.OUTPUT]: balance },
|
||||
currencyAmounts: { [Field.INPUT]: inputCurrencyAmount, [Field.OUTPUT]: outputCurrencyAmount },
|
||||
trade: { state: tradeState },
|
||||
tradeCurrencyAmounts: { [Field.INPUT]: inputCurrencyAmount, [Field.OUTPUT]: outputCurrencyAmount },
|
||||
} = useSwapInfo()
|
||||
|
||||
const [swapOutputAmount, updateSwapOutputAmount] = useSwapAmount(Field.OUTPUT)
|
||||
@@ -78,6 +78,12 @@ export default function Output({ disabled, focused, children }: PropsWithChildre
|
||||
)
|
||||
}, [inputUSDC, outputUSDC])
|
||||
|
||||
const amount = useFormattedFieldAmount({
|
||||
disabled,
|
||||
currencyAmount: outputCurrencyAmount,
|
||||
fieldAmount: swapOutputAmount,
|
||||
})
|
||||
|
||||
return (
|
||||
<DynamicThemeProvider color={color}>
|
||||
<OutputColumn hasColor={hasColor} gap={0.5}>
|
||||
@@ -88,7 +94,7 @@ export default function Output({ disabled, focused, children }: PropsWithChildre
|
||||
</Row>
|
||||
<TokenInput
|
||||
currency={swapOutputCurrency}
|
||||
amount={(swapOutputAmount !== undefined ? swapOutputAmount : outputCurrencyAmount?.toSignificant(6)) ?? ''}
|
||||
amount={amount}
|
||||
disabled={disabled}
|
||||
onChangeInput={updateSwapOutputAmount}
|
||||
onChangeCurrency={updateSwapOutputCurrency}
|
||||
@@ -97,7 +103,7 @@ export default function Output({ disabled, focused, children }: PropsWithChildre
|
||||
<ThemedText.Body2 color="secondary">
|
||||
<Row>
|
||||
<LoadingRow gap={0.5} $loading={isLoading}>
|
||||
{outputUSDC?.toFixed(2)} {priceImpact}
|
||||
{outputUSDC ? `$${outputUSDC.toFixed(2)}` : '-'} {priceImpact}
|
||||
</LoadingRow>
|
||||
{balance && (
|
||||
<Balance focused={focused}>
|
||||
|
||||
143
src/lib/components/Swap/RoutingDiagram/index.tsx
Normal file
143
src/lib/components/Swap/RoutingDiagram/index.tsx
Normal file
@@ -0,0 +1,143 @@
|
||||
import { Plural, Trans } from '@lingui/macro'
|
||||
import { Currency, TradeType } from '@uniswap/sdk-core'
|
||||
import { FeeAmount } from '@uniswap/v3-sdk'
|
||||
import { ReactComponent as DotLineImage } from 'assets/svg/dot_line.svg'
|
||||
import Badge from 'lib/components/Badge'
|
||||
import Column from 'lib/components/Column'
|
||||
import Row from 'lib/components/Row'
|
||||
import Rule from 'lib/components/Rule'
|
||||
import TokenImg from 'lib/components/TokenImg'
|
||||
import { AutoRouter } from 'lib/icons'
|
||||
import styled, { Layer, ThemedText } from 'lib/theme'
|
||||
import { useMemo } from 'react'
|
||||
import { InterfaceTrade } from 'state/routing/types'
|
||||
|
||||
import { getTokenPath, RoutingDiagramEntry } from './utils'
|
||||
|
||||
const Wrapper = styled(Column)`
|
||||
padding: 0.25em;
|
||||
`
|
||||
|
||||
const RouteRow = styled(Row)`
|
||||
grid-template-columns: 1em 1.15em 1fr 1em;
|
||||
min-width: 430px;
|
||||
`
|
||||
|
||||
const RouteDetailsContainer = styled(Row)`
|
||||
padding: 0.1em 0.5em;
|
||||
position: relative;
|
||||
`
|
||||
|
||||
const DotsContainer = styled.div`
|
||||
align-items: center;
|
||||
display: flex;
|
||||
opacity: 0.5;
|
||||
position: absolute;
|
||||
width: calc(100% - 1em);
|
||||
z-index: ${Layer.UNDERLAYER};
|
||||
`
|
||||
|
||||
const DotsContainerShort = styled(DotsContainer)`
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
width: 71px;
|
||||
`
|
||||
|
||||
const Dots = styled(DotLineImage)`
|
||||
path {
|
||||
stroke: ${({ theme }) => theme.secondary};
|
||||
}
|
||||
`
|
||||
|
||||
const DetailsRow = styled(Row)`
|
||||
display: grid;
|
||||
grid-template-columns: 4.8125em 1fr;
|
||||
width: 100%;
|
||||
`
|
||||
|
||||
const StyledAutoRouterLabel = styled(ThemedText.ButtonSmall)`
|
||||
@supports (-webkit-background-clip: text) and (-webkit-text-fill-color: transparent) {
|
||||
background-image: linear-gradient(90deg, #2172e5 0%, #54e521 163.16%);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
}
|
||||
`
|
||||
|
||||
function Pool({
|
||||
originCurrency,
|
||||
targetCurrency,
|
||||
feeAmount,
|
||||
}: {
|
||||
originCurrency: Currency
|
||||
targetCurrency: Currency
|
||||
feeAmount: FeeAmount
|
||||
}) {
|
||||
return (
|
||||
<Badge padding="0 4px" color="dialog">
|
||||
<Badge gap={0.375}>
|
||||
<Row>
|
||||
<TokenImg token={originCurrency} />
|
||||
<TokenImg token={targetCurrency} />
|
||||
</Row>
|
||||
<ThemedText.Subhead2>{feeAmount / 10_000}%</ThemedText.Subhead2>
|
||||
</Badge>
|
||||
</Badge>
|
||||
)
|
||||
}
|
||||
|
||||
export default function RoutingDiagram({ trade }: { trade: InterfaceTrade<Currency, Currency, TradeType> }) {
|
||||
const routes: RoutingDiagramEntry[] = useMemo(() => getTokenPath(trade), [trade])
|
||||
|
||||
return (
|
||||
<Wrapper gap={0.75}>
|
||||
<Row justify="space-between">
|
||||
<Row gap={0.25}>
|
||||
<AutoRouter />
|
||||
<StyledAutoRouterLabel color="primary" lineHeight={'16px'}>
|
||||
<Trans>Auto Router</Trans>
|
||||
</StyledAutoRouterLabel>
|
||||
</Row>
|
||||
<ThemedText.ButtonSmall>
|
||||
<Plural value={routes.length} _1="Best route via 1 hop" other="Best route via # hops" />
|
||||
</ThemedText.ButtonSmall>
|
||||
</Row>
|
||||
<Rule />
|
||||
{routes.map((route, index) => (
|
||||
<RouteRow key={index} align="center">
|
||||
<TokenImg token={trade.inputAmount.currency} />
|
||||
<DotsContainerShort>
|
||||
<Dots />
|
||||
</DotsContainerShort>
|
||||
<RouteDetailsContainer justify="flex-start" flex>
|
||||
<DotsContainer>
|
||||
<Dots />
|
||||
</DotsContainer>
|
||||
<DetailsRow>
|
||||
<Badge padding="0 4px" color="dialog">
|
||||
<Badge gap={0.375}>
|
||||
<ThemedText.ButtonSmall color="secondary">{route.percent.toSignificant(2)}%</ThemedText.ButtonSmall>
|
||||
<Badge padding="0.125em" borderRadius={0.25} color="module">
|
||||
<ThemedText.Badge color="secondary" fontSize={'0.5rem'}>
|
||||
{route.protocol.toUpperCase()}
|
||||
</ThemedText.Badge>
|
||||
</Badge>
|
||||
</Badge>
|
||||
</Badge>
|
||||
<Row justify="space-evenly" flex style={{ width: '100%' }}>
|
||||
{route.path.map(([originCurrency, targetCurrency, feeAmount], index) => (
|
||||
<Pool
|
||||
key={index}
|
||||
originCurrency={originCurrency}
|
||||
targetCurrency={targetCurrency}
|
||||
feeAmount={feeAmount}
|
||||
/>
|
||||
))}
|
||||
</Row>
|
||||
</DetailsRow>
|
||||
</RouteDetailsContainer>
|
||||
<TokenImg token={trade.outputAmount.currency} />
|
||||
</RouteRow>
|
||||
))}
|
||||
</Wrapper>
|
||||
)
|
||||
}
|
||||
43
src/lib/components/Swap/RoutingDiagram/utils.ts
Normal file
43
src/lib/components/Swap/RoutingDiagram/utils.ts
Normal file
@@ -0,0 +1,43 @@
|
||||
import { Protocol } from '@uniswap/router-sdk'
|
||||
import { Currency, Percent, TradeType } from '@uniswap/sdk-core'
|
||||
import { Pair } from '@uniswap/v2-sdk'
|
||||
import { FeeAmount } from '@uniswap/v3-sdk'
|
||||
import { InterfaceTrade } from 'state/routing/types'
|
||||
|
||||
export interface RoutingDiagramEntry {
|
||||
percent: Percent
|
||||
path: [Currency, Currency, FeeAmount][]
|
||||
protocol: Protocol
|
||||
}
|
||||
|
||||
const V2_DEFAULT_FEE_TIER = 3000
|
||||
|
||||
/**
|
||||
* Loops through all routes on a trade and returns an array of diagram entries.
|
||||
*/
|
||||
export function getTokenPath(trade: InterfaceTrade<Currency, Currency, TradeType>): RoutingDiagramEntry[] {
|
||||
return trade.swaps.map(({ route: { path: tokenPath, pools, protocol }, inputAmount, outputAmount }) => {
|
||||
const portion =
|
||||
trade.tradeType === TradeType.EXACT_INPUT
|
||||
? inputAmount.divide(trade.inputAmount)
|
||||
: outputAmount.divide(trade.outputAmount)
|
||||
const percent = new Percent(portion.numerator, portion.denominator)
|
||||
const path: RoutingDiagramEntry['path'] = []
|
||||
for (let i = 0; i < pools.length; i++) {
|
||||
const nextPool = pools[i]
|
||||
const tokenIn = tokenPath[i]
|
||||
const tokenOut = tokenPath[i + 1]
|
||||
const entry: RoutingDiagramEntry['path'][0] = [
|
||||
tokenIn,
|
||||
tokenOut,
|
||||
nextPool instanceof Pair ? V2_DEFAULT_FEE_TIER : nextPool.fee,
|
||||
]
|
||||
path.push(entry)
|
||||
}
|
||||
return {
|
||||
percent,
|
||||
path,
|
||||
protocol,
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -6,7 +6,7 @@ import { getSlippageWarning, toPercent } from 'lib/hooks/useAllowedSlippage'
|
||||
import { AlertTriangle, Check, Icon, LargeIcon, XOctagon } from 'lib/icons'
|
||||
import { autoSlippageAtom, maxSlippageAtom } from 'lib/state/settings'
|
||||
import styled, { ThemedText } from 'lib/theme'
|
||||
import { forwardRef, memo, ReactNode, useCallback, useMemo, useRef, useState } from 'react'
|
||||
import { forwardRef, memo, ReactNode, useCallback, useEffect, useMemo, useRef, useState } from 'react'
|
||||
|
||||
import { BaseButton, TextButton } from '../../Button'
|
||||
import Column from '../../Column'
|
||||
@@ -88,7 +88,6 @@ export default function MaxSlippageSelect() {
|
||||
const [autoSlippage, setAutoSlippage] = useAtom(autoSlippageAtom)
|
||||
const [maxSlippage, setMaxSlippage] = useAtom(maxSlippageAtom)
|
||||
const maxSlippageInput = useMemo(() => maxSlippage?.toString() || '', [maxSlippage])
|
||||
const [warning, setWarning] = useState<'warning' | 'error' | undefined>(getSlippageWarning(toPercent(maxSlippage)))
|
||||
|
||||
const option = useRef<HTMLButtonElement>(null)
|
||||
const showTooltip = useTooltip(option.current)
|
||||
@@ -96,20 +95,27 @@ export default function MaxSlippageSelect() {
|
||||
const input = useRef<HTMLInputElement>(null)
|
||||
const focus = useCallback(() => input.current?.focus(), [input])
|
||||
|
||||
const [warning, setWarning] = useState<'warning' | 'error' | undefined>(getSlippageWarning(toPercent(maxSlippage)))
|
||||
useEffect(() => {
|
||||
setWarning(getSlippageWarning(toPercent(maxSlippage)))
|
||||
}, [maxSlippage])
|
||||
|
||||
const onInputSelect = useCallback(() => {
|
||||
focus()
|
||||
const percent = toPercent(maxSlippage)
|
||||
const warning = getSlippageWarning(percent)
|
||||
setAutoSlippage(!percent || warning === 'error')
|
||||
}, [focus, maxSlippage, setAutoSlippage])
|
||||
|
||||
const processValue = useCallback(
|
||||
(value: number | undefined) => {
|
||||
const percent = toPercent(value)
|
||||
const warning = getSlippageWarning(percent)
|
||||
setWarning(warning)
|
||||
setMaxSlippage(value)
|
||||
setAutoSlippage(!percent || warning === 'error')
|
||||
},
|
||||
[setAutoSlippage, setMaxSlippage]
|
||||
)
|
||||
const onInputSelect = useCallback(() => {
|
||||
focus()
|
||||
processValue(maxSlippage)
|
||||
}, [focus, maxSlippage, processValue])
|
||||
|
||||
return (
|
||||
<Column gap={0.75}>
|
||||
@@ -130,7 +136,7 @@ export default function MaxSlippageSelect() {
|
||||
>
|
||||
<Row color={warning === 'error' ? 'error' : undefined}>
|
||||
<DecimalInput
|
||||
size={Math.max(maxSlippageInput.length, 3)}
|
||||
size={Math.max(maxSlippageInput.length, 4)}
|
||||
value={maxSlippageInput}
|
||||
onChange={(input) => processValue(+input)}
|
||||
placeholder={placeholder}
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
import { Trans } from '@lingui/macro'
|
||||
import ErrorDialog, { StatusHeader } from 'lib/components/Error/ErrorDialog'
|
||||
import EtherscanLink from 'lib/components/EtherscanLink'
|
||||
import SwapSummary from 'lib/components/Swap/Summary'
|
||||
import useInterval from 'lib/hooks/useInterval'
|
||||
import { CheckCircle, Clock, Spinner } from 'lib/icons'
|
||||
import { SwapTransactionInfo, Transaction } from 'lib/state/transactions'
|
||||
import { SwapTransactionInfo, Transaction, TransactionType, WrapTransactionInfo } from 'lib/state/transactions'
|
||||
import styled, { ThemedText } from 'lib/theme'
|
||||
import ms from 'ms.macro'
|
||||
import { useCallback, useMemo, useState } from 'react'
|
||||
@@ -12,7 +13,6 @@ import { ExplorerDataType } from 'utils/getExplorerLink'
|
||||
import ActionButton from '../../ActionButton'
|
||||
import Column from '../../Column'
|
||||
import Row from '../../Row'
|
||||
import Summary from '../Summary'
|
||||
|
||||
const errorMessage = (
|
||||
<Trans>
|
||||
@@ -26,7 +26,9 @@ const TransactionRow = styled(Row)`
|
||||
flex-direction: row-reverse;
|
||||
`
|
||||
|
||||
function ElapsedTime({ tx }: { tx: Transaction<SwapTransactionInfo> }) {
|
||||
type PendingTransaction = Transaction<SwapTransactionInfo | WrapTransactionInfo>
|
||||
|
||||
function ElapsedTime({ tx }: { tx: PendingTransaction }) {
|
||||
const [elapsedMs, setElapsedMs] = useState(0)
|
||||
|
||||
useInterval(() => setElapsedMs(Date.now() - tx.addedTime), tx.receipt ? null : ms`1s`)
|
||||
@@ -54,7 +56,7 @@ function ElapsedTime({ tx }: { tx: Transaction<SwapTransactionInfo> }) {
|
||||
}
|
||||
|
||||
interface TransactionStatusProps {
|
||||
tx: Transaction<SwapTransactionInfo>
|
||||
tx: PendingTransaction
|
||||
onClose: () => void
|
||||
}
|
||||
|
||||
@@ -63,14 +65,24 @@ function TransactionStatus({ tx, onClose }: TransactionStatusProps) {
|
||||
return tx.receipt?.status ? CheckCircle : Spinner
|
||||
}, [tx.receipt?.status])
|
||||
const heading = useMemo(() => {
|
||||
return tx.receipt?.status ? <Trans>Transaction submitted</Trans> : <Trans>Transaction pending</Trans>
|
||||
}, [tx.receipt?.status])
|
||||
if (tx.info.type === TransactionType.SWAP) {
|
||||
return tx.receipt?.status ? <Trans>Swap confirmed</Trans> : <Trans>Swap pending</Trans>
|
||||
} else if (tx.info.type === TransactionType.WRAP) {
|
||||
if (tx.info.unwrapped) {
|
||||
return tx.receipt?.status ? <Trans>Unwrap confirmed</Trans> : <Trans>Unwrap pending</Trans>
|
||||
}
|
||||
return tx.receipt?.status ? <Trans>Wrap confirmed</Trans> : <Trans>Wrap pending</Trans>
|
||||
}
|
||||
return tx.receipt?.status ? <Trans>Transaction confirmed</Trans> : <Trans>Transaction pending</Trans>
|
||||
}, [tx.info, tx.receipt?.status])
|
||||
|
||||
return (
|
||||
<Column flex padded gap={0.75} align="stretch" style={{ height: '100%' }}>
|
||||
<StatusHeader icon={Icon} iconColor={tx.receipt?.status ? 'success' : undefined}>
|
||||
<ThemedText.Subhead1>{heading}</ThemedText.Subhead1>
|
||||
<Summary input={tx.info.inputCurrencyAmount} output={tx.info.outputCurrencyAmount} />
|
||||
{tx.info.type === TransactionType.SWAP ? (
|
||||
<SwapSummary input={tx.info.inputCurrencyAmount} output={tx.info.outputCurrencyAmount} />
|
||||
) : null}
|
||||
</StatusHeader>
|
||||
<TransactionRow flex>
|
||||
<ThemedText.ButtonSmall>
|
||||
|
||||
@@ -158,7 +158,7 @@ export function SummaryDialog({ trade, allowedSlippage, onConfirm }: SummaryDial
|
||||
</Column>
|
||||
</DetailsColumn>
|
||||
<Estimate color="secondary">
|
||||
<Trans>Output is estimated.</Trans>
|
||||
<Trans>Output is estimated.</Trans>{' '}
|
||||
{tradeType === TradeType.EXACT_INPUT && (
|
||||
<Trans>
|
||||
You will receive at least{' '}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { tokens } from '@uniswap/default-token-list'
|
||||
import { DAI, USDC } from 'constants/tokens'
|
||||
import { DAI, USDC_MAINNET } from 'constants/tokens'
|
||||
import { useUpdateAtom } from 'jotai/utils'
|
||||
import { useEffect } from 'react'
|
||||
import { useSelect, useValue } from 'react-cosmos/fixture'
|
||||
@@ -41,7 +41,7 @@ function Fixture() {
|
||||
none: '',
|
||||
Native: 'NATIVE',
|
||||
DAI: DAI.address,
|
||||
USDC: USDC.address,
|
||||
USDC: USDC_MAINNET.address,
|
||||
}
|
||||
const addressOptions = Object.keys(optionsToAddressMap)
|
||||
const [defaultInput] = useSelect('defaultInputAddress', {
|
||||
@@ -71,6 +71,7 @@ function Fixture() {
|
||||
defaultOutputAddress={optionsToAddressMap[defaultOutput]}
|
||||
defaultOutputAmount={defaultOutputAmount}
|
||||
tokenList={tokens}
|
||||
onConnectWallet={() => console.log('onConnectWallet')} // this handler is included as a test of functionality, but only logs
|
||||
/>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ import { Trans } from '@lingui/macro'
|
||||
import { Token } from '@uniswap/sdk-core'
|
||||
import { useERC20PermitFromTrade } from 'hooks/useERC20Permit'
|
||||
import { useUpdateAtom } from 'jotai/utils'
|
||||
import { WrapErrorText } from 'lib/components/Swap/WrapErrorText'
|
||||
import { useSwapCurrencyAmount, useSwapInfo, useSwapTradeType } from 'lib/hooks/swap'
|
||||
import useSwapApproval, {
|
||||
ApprovalState,
|
||||
@@ -9,11 +10,12 @@ import useSwapApproval, {
|
||||
useSwapRouterAddress,
|
||||
} from 'lib/hooks/swap/useSwapApproval'
|
||||
import { useSwapCallback } from 'lib/hooks/swap/useSwapCallback'
|
||||
import useWrapCallback, { WrapError, WrapType } from 'lib/hooks/swap/useWrapCallback'
|
||||
import { useAddTransaction } from 'lib/hooks/transactions'
|
||||
import { usePendingApproval } from 'lib/hooks/transactions'
|
||||
import useActiveWeb3React from 'lib/hooks/useActiveWeb3React'
|
||||
import useTransactionDeadline from 'lib/hooks/useTransactionDeadline'
|
||||
import { Link, Spinner } from 'lib/icons'
|
||||
import { Spinner } from 'lib/icons'
|
||||
import { displayTxHashAtom, Field } from 'lib/state/swap'
|
||||
import { TransactionType } from 'lib/state/transactions'
|
||||
import { useTheme } from 'lib/theme'
|
||||
@@ -24,7 +26,6 @@ import { ExplorerDataType } from 'utils/getExplorerLink'
|
||||
import ActionButton, { ActionButtonProps } from '../ActionButton'
|
||||
import Dialog from '../Dialog'
|
||||
import EtherscanLink from '../EtherscanLink'
|
||||
import Row from '../Row'
|
||||
import { SummaryDialog } from './Summary'
|
||||
|
||||
interface SwapButtonProps {
|
||||
@@ -41,12 +42,12 @@ export default function SwapButton({ disabled }: SwapButtonProps) {
|
||||
const { tokenColorExtraction } = useTheme()
|
||||
|
||||
const {
|
||||
trade,
|
||||
allowedSlippage,
|
||||
currencies: { [Field.INPUT]: inputCurrency },
|
||||
currencyBalances: { [Field.INPUT]: inputCurrencyBalance },
|
||||
currencyAmounts: { [Field.INPUT]: inputCurrencyAmount, [Field.OUTPUT]: outputCurrencyAmount },
|
||||
feeOptions,
|
||||
trade,
|
||||
tradeCurrencyAmounts: { [Field.INPUT]: inputTradeCurrencyAmount, [Field.OUTPUT]: outputTradeCurrencyAmount },
|
||||
} = useSwapInfo()
|
||||
|
||||
const tradeType = useSwapTradeType()
|
||||
@@ -56,6 +57,11 @@ export default function SwapButton({ disabled }: SwapButtonProps) {
|
||||
setActiveTrade((activeTrade) => activeTrade && trade.trade)
|
||||
}, [trade])
|
||||
|
||||
// clear active trade on chain change
|
||||
useEffect(() => {
|
||||
setActiveTrade(undefined)
|
||||
}, [chainId])
|
||||
|
||||
// TODO(zzmp): Return an optimized trade directly from useSwapInfo.
|
||||
const optimizedTrade =
|
||||
// Use trade.trade if there is no swap optimized trade. This occurs if approvals are still pending.
|
||||
@@ -82,8 +88,13 @@ export default function SwapButton({ disabled }: SwapButtonProps) {
|
||||
})
|
||||
}, [addTransaction, getApproval])
|
||||
|
||||
const { type: wrapType, callback: wrapCallback, error: wrapError, loading: wrapLoading } = useWrapCallback()
|
||||
|
||||
const actionProps = useMemo((): Partial<ActionButtonProps> | undefined => {
|
||||
if (disabled || wrapLoading) return { disabled: true }
|
||||
if (!disabled && chainId) {
|
||||
const hasSufficientInputForTrade =
|
||||
inputTradeCurrencyAmount && inputCurrencyBalance && !inputCurrencyBalance.lessThan(inputTradeCurrencyAmount)
|
||||
if (approval === ApprovalState.NOT_APPROVED) {
|
||||
const currency = inputCurrency || approvalCurrencyAmount?.currency
|
||||
invariant(currency)
|
||||
@@ -100,11 +111,7 @@ export default function SwapButton({ disabled }: SwapButtonProps) {
|
||||
action: {
|
||||
message: (
|
||||
<EtherscanLink type={ExplorerDataType.TRANSACTION} data={approvalHash}>
|
||||
<Row gap={0.25}>
|
||||
<Trans>
|
||||
Approval pending <Link />
|
||||
</Trans>
|
||||
</Row>
|
||||
<Trans>Approval pending</Trans>
|
||||
</EtherscanLink>
|
||||
),
|
||||
icon: Spinner,
|
||||
@@ -112,7 +119,7 @@ export default function SwapButton({ disabled }: SwapButtonProps) {
|
||||
children: <Trans>Approve</Trans>,
|
||||
},
|
||||
}
|
||||
} else if (inputCurrencyAmount && inputCurrencyBalance && !inputCurrencyBalance.lessThan(inputCurrencyAmount)) {
|
||||
} else if (hasSufficientInputForTrade || (wrapType !== WrapType.NOT_APPLICABLE && !wrapError)) {
|
||||
return {}
|
||||
}
|
||||
}
|
||||
@@ -125,8 +132,11 @@ export default function SwapButton({ disabled }: SwapButtonProps) {
|
||||
chainId,
|
||||
disabled,
|
||||
inputCurrency,
|
||||
inputCurrencyAmount,
|
||||
inputCurrencyBalance,
|
||||
inputTradeCurrencyAmount,
|
||||
wrapError,
|
||||
wrapLoading,
|
||||
wrapType,
|
||||
])
|
||||
|
||||
const deadline = useTransactionDeadline()
|
||||
@@ -149,13 +159,13 @@ export default function SwapButton({ disabled }: SwapButtonProps) {
|
||||
swapCallback?.()
|
||||
.then((response) => {
|
||||
setDisplayTxHash(response.hash)
|
||||
invariant(inputCurrencyAmount && outputCurrencyAmount)
|
||||
invariant(inputTradeCurrencyAmount && outputTradeCurrencyAmount)
|
||||
addTransaction({
|
||||
response,
|
||||
type: TransactionType.SWAP,
|
||||
tradeType,
|
||||
inputCurrencyAmount,
|
||||
outputCurrencyAmount,
|
||||
inputCurrencyAmount: inputTradeCurrencyAmount,
|
||||
outputCurrencyAmount: outputTradeCurrencyAmount,
|
||||
})
|
||||
})
|
||||
.catch((error) => {
|
||||
@@ -165,19 +175,54 @@ export default function SwapButton({ disabled }: SwapButtonProps) {
|
||||
.finally(() => {
|
||||
setActiveTrade(undefined)
|
||||
})
|
||||
}, [addTransaction, inputCurrencyAmount, outputCurrencyAmount, setDisplayTxHash, swapCallback, tradeType])
|
||||
}, [addTransaction, inputTradeCurrencyAmount, outputTradeCurrencyAmount, setDisplayTxHash, swapCallback, tradeType])
|
||||
|
||||
const ButtonText = useCallback(() => {
|
||||
if (wrapError !== WrapError.NO_ERROR) {
|
||||
return <WrapErrorText wrapError={wrapError} />
|
||||
}
|
||||
switch (wrapType) {
|
||||
case WrapType.UNWRAP:
|
||||
return <Trans>Unwrap</Trans>
|
||||
case WrapType.WRAP:
|
||||
return <Trans>Wrap</Trans>
|
||||
case WrapType.NOT_APPLICABLE:
|
||||
default:
|
||||
return <Trans>Review swap</Trans>
|
||||
}
|
||||
}, [wrapError, wrapType])
|
||||
|
||||
const handleDialogClose = useCallback(() => {
|
||||
setActiveTrade(undefined)
|
||||
}, [])
|
||||
|
||||
const handleActionButtonClick = useCallback(async () => {
|
||||
if (wrapType === WrapType.NOT_APPLICABLE) {
|
||||
setActiveTrade(trade.trade)
|
||||
} else {
|
||||
const transaction = await wrapCallback()
|
||||
addTransaction({
|
||||
response: transaction,
|
||||
type: TransactionType.WRAP,
|
||||
unwrapped: wrapType === WrapType.UNWRAP,
|
||||
currencyAmountRaw: transaction.value?.toString() ?? '0',
|
||||
chainId,
|
||||
})
|
||||
setDisplayTxHash(transaction.hash)
|
||||
}
|
||||
}, [addTransaction, chainId, setDisplayTxHash, trade.trade, wrapCallback, wrapType])
|
||||
|
||||
return (
|
||||
<>
|
||||
<ActionButton
|
||||
color={tokenColorExtraction ? 'interactive' : 'accent'}
|
||||
onClick={() => setActiveTrade(trade.trade)}
|
||||
onClick={handleActionButtonClick}
|
||||
{...actionProps}
|
||||
>
|
||||
<Trans>Review swap</Trans>
|
||||
<ButtonText />
|
||||
</ActionButton>
|
||||
{activeTrade && (
|
||||
<Dialog color="dialog" onClose={() => setActiveTrade(undefined)}>
|
||||
<Dialog color="dialog" onClose={handleDialogClose}>
|
||||
<SummaryDialog trade={activeTrade} allowedSlippage={allowedSlippage} onConfirm={onConfirm} />
|
||||
</Dialog>
|
||||
)}
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
import 'setimmediate'
|
||||
|
||||
import { Trans } from '@lingui/macro'
|
||||
import { Currency } from '@uniswap/sdk-core'
|
||||
import { loadingOpacityCss } from 'lib/css/loading'
|
||||
import styled, { keyframes, ThemedText } from 'lib/theme'
|
||||
import { FocusEvent, ReactNode, useCallback, useRef, useState } from 'react'
|
||||
import { ReactNode, useCallback, useEffect, useMemo, useRef, useState } from 'react'
|
||||
|
||||
import Button from '../Button'
|
||||
import Column from '../Column'
|
||||
@@ -50,8 +52,8 @@ const MaxButton = styled(Button)`
|
||||
interface TokenInputProps {
|
||||
currency?: Currency
|
||||
amount: string
|
||||
max?: string
|
||||
disabled?: boolean
|
||||
onMax?: () => void
|
||||
onChangeInput: (input: string) => void
|
||||
onChangeCurrency: (currency: Currency) => void
|
||||
loading?: boolean
|
||||
@@ -61,38 +63,49 @@ interface TokenInputProps {
|
||||
export default function TokenInput({
|
||||
currency,
|
||||
amount,
|
||||
max,
|
||||
disabled,
|
||||
onMax,
|
||||
onChangeInput,
|
||||
onChangeCurrency,
|
||||
loading,
|
||||
children,
|
||||
}: TokenInputProps) {
|
||||
const max = useRef<HTMLButtonElement>(null)
|
||||
const [showMax, setShowMax] = useState(false)
|
||||
const onFocus = useCallback(() => setShowMax(Boolean(onMax)), [onMax])
|
||||
const onBlur = useCallback((e: FocusEvent) => {
|
||||
if (e.relatedTarget !== max.current && e.relatedTarget !== input.current) {
|
||||
setShowMax(false)
|
||||
}
|
||||
}, [])
|
||||
|
||||
const input = useRef<HTMLInputElement>(null)
|
||||
const onSelect = useCallback(
|
||||
(currency: Currency) => {
|
||||
onChangeCurrency(currency)
|
||||
setTimeout(() => input.current?.focus(), 0)
|
||||
setImmediate(() => input.current?.focus())
|
||||
},
|
||||
[onChangeCurrency]
|
||||
)
|
||||
|
||||
const maxButton = useRef<HTMLButtonElement>(null)
|
||||
const hasMax = useMemo(() => Boolean(max && max !== amount), [max, amount])
|
||||
const [showMax, setShowMax] = useState<boolean>(hasMax)
|
||||
useEffect(() => setShowMax((hasMax && input.current?.contains(document.activeElement)) ?? false), [hasMax])
|
||||
const onBlur = useCallback((e) => {
|
||||
// Filters out clicks on input or maxButton, because onBlur fires before onClickMax.
|
||||
if (!input.current?.contains(e.relatedTarget) && !maxButton.current?.contains(e.relatedTarget)) {
|
||||
setShowMax(false)
|
||||
}
|
||||
}, [])
|
||||
const onClickMax = useCallback(() => {
|
||||
onChangeInput(max || '')
|
||||
setShowMax(false)
|
||||
setImmediate(() => {
|
||||
input.current?.focus()
|
||||
// Brings the start of the input into view. NB: This only works for clicks, not eg keyboard interactions.
|
||||
input.current?.setSelectionRange(0, null)
|
||||
})
|
||||
}, [max, onChangeInput])
|
||||
|
||||
return (
|
||||
<Column gap={0.25}>
|
||||
<TokenInputRow gap={0.5} onBlur={onBlur}>
|
||||
<ThemedText.H2>
|
||||
<ValueInput
|
||||
value={amount}
|
||||
onFocus={onFocus}
|
||||
onFocus={() => setShowMax(hasMax)}
|
||||
onChange={onChangeInput}
|
||||
disabled={disabled || !currency}
|
||||
$loading={Boolean(loading)}
|
||||
@@ -100,8 +113,9 @@ export default function TokenInput({
|
||||
></ValueInput>
|
||||
</ThemedText.H2>
|
||||
{showMax && (
|
||||
<MaxButton onClick={onMax} ref={max}>
|
||||
<ThemedText.ButtonMedium>
|
||||
<MaxButton onClick={onClickMax} ref={maxButton}>
|
||||
{/* Without a tab index, Safari would not populate the FocusEvent.relatedTarget needed by onBlur. */}
|
||||
<ThemedText.ButtonMedium tabIndex={-1}>
|
||||
<Trans>Max</Trans>
|
||||
</ThemedText.ButtonMedium>
|
||||
</MaxButton>
|
||||
|
||||
@@ -1,14 +1,16 @@
|
||||
import { Trans } from '@lingui/macro'
|
||||
import { Currency, TradeType } from '@uniswap/sdk-core'
|
||||
import useUSDCPrice from 'hooks/useUSDCPrice'
|
||||
import Tooltip from 'lib/components/Tooltip'
|
||||
import { WrapType } from 'lib/hooks/swap/useWrapCallback'
|
||||
import { AlertTriangle, Icon, Info, Spinner } from 'lib/icons'
|
||||
import { ThemedText } from 'lib/theme'
|
||||
import { ReactNode, useMemo, useState } from 'react'
|
||||
import { ReactNode, useCallback, useMemo, useState } from 'react'
|
||||
import { InterfaceTrade } from 'state/routing/types'
|
||||
|
||||
import { TextButton } from '../../Button'
|
||||
import Row from '../../Row'
|
||||
import RoutingTooltip from './RoutingTooltip'
|
||||
import RoutingDiagram from '../RoutingDiagram'
|
||||
|
||||
interface CaptionProps {
|
||||
icon?: Icon
|
||||
@@ -27,22 +29,38 @@ function Caption({ icon: Icon = AlertTriangle, caption }: CaptionProps) {
|
||||
export function ConnectWallet() {
|
||||
return <Caption caption={<Trans>Connect wallet to swap</Trans>} />
|
||||
}
|
||||
|
||||
export function UnsupportedNetwork() {
|
||||
return <Caption caption={<Trans>Unsupported network - switch to another to trade.</Trans>} />
|
||||
}
|
||||
|
||||
export function InsufficientBalance({ currency }: { currency: Currency }) {
|
||||
return <Caption caption={<Trans>Insufficient {currency?.symbol} balance</Trans>} />
|
||||
}
|
||||
|
||||
export function InsufficientLiquidity() {
|
||||
return <Caption caption={<Trans>Insufficient liquidity in the pool for your trade</Trans>} />
|
||||
}
|
||||
|
||||
export function Empty() {
|
||||
return <Caption icon={Info} caption={<Trans>Enter an amount</Trans>} />
|
||||
}
|
||||
|
||||
export function LoadingTrade() {
|
||||
return <Caption icon={Spinner} caption={<Trans>Fetching best price…</Trans>} />
|
||||
}
|
||||
|
||||
export function WrapCurrency({ loading, wrapType }: { loading: boolean; wrapType: WrapType.UNWRAP | WrapType.WRAP }) {
|
||||
const WrapText = useCallback(() => {
|
||||
if (wrapType === WrapType.WRAP) {
|
||||
return loading ? <Trans>Wrapping native currency.</Trans> : <Trans>Wrap native currency.</Trans>
|
||||
}
|
||||
return loading ? <Trans>Unwrapping native currency.</Trans> : <Trans>Unwrap native currency.</Trans>
|
||||
}, [loading, wrapType])
|
||||
|
||||
return <Caption icon={Info} caption={<WrapText />} />
|
||||
}
|
||||
|
||||
export function Trade({ trade }: { trade: InterfaceTrade<Currency, Currency, TradeType> }) {
|
||||
const [flip, setFlip] = useState(true)
|
||||
const { inputAmount, outputAmount, executionPrice } = trade
|
||||
@@ -72,7 +90,9 @@ export function Trade({ trade }: { trade: InterfaceTrade<Currency, Currency, Tra
|
||||
|
||||
return (
|
||||
<>
|
||||
<RoutingTooltip />
|
||||
<Tooltip placement="bottom" icon={Info}>
|
||||
<RoutingDiagram trade={trade} />
|
||||
</Tooltip>
|
||||
<TextButton color="primary" onClick={() => setFlip(!flip)}>
|
||||
{ratio}
|
||||
</TextButton>
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
import { Info } from 'lib/icons'
|
||||
|
||||
export default function RoutingTooltip() {
|
||||
return <Info color="secondary" />
|
||||
/* TODO(zzmp): Implement post-beta launch.
|
||||
return (
|
||||
<Tooltip icon={Info} placement="bottom">
|
||||
<ThemeProvider>
|
||||
<ThemedText.Subhead2>TODO: Routing Tooltip</ThemedText.Subhead2>
|
||||
</ThemeProvider>
|
||||
</Tooltip>
|
||||
)
|
||||
*/
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
import { ALL_SUPPORTED_CHAIN_IDS } from 'constants/chains'
|
||||
import { useIsAmountPopulated, useSwapInfo } from 'lib/hooks/swap'
|
||||
import useWrapCallback, { WrapType } from 'lib/hooks/swap/useWrapCallback'
|
||||
import useActiveWeb3React from 'lib/hooks/useActiveWeb3React'
|
||||
import { largeIconCss } from 'lib/icons'
|
||||
import { Field } from 'lib/state/swap'
|
||||
@@ -25,7 +26,7 @@ export default function Toolbar({ disabled }: { disabled?: boolean }) {
|
||||
} = useSwapInfo()
|
||||
const isRouteLoading = state === TradeState.SYNCING || state === TradeState.LOADING
|
||||
const isAmountPopulated = useIsAmountPopulated()
|
||||
|
||||
const { type: wrapType, loading: wrapLoading } = useWrapCallback()
|
||||
const caption = useMemo(() => {
|
||||
if (disabled) {
|
||||
return <Caption.ConnectWallet />
|
||||
@@ -36,6 +37,9 @@ export default function Toolbar({ disabled }: { disabled?: boolean }) {
|
||||
}
|
||||
|
||||
if (inputCurrency && outputCurrency && isAmountPopulated) {
|
||||
if (wrapType !== WrapType.NOT_APPLICABLE) {
|
||||
return <Caption.WrapCurrency wrapType={wrapType} loading={wrapLoading} />
|
||||
}
|
||||
if (isRouteLoading) {
|
||||
return <Caption.LoadingTrade />
|
||||
}
|
||||
@@ -51,7 +55,18 @@ export default function Toolbar({ disabled }: { disabled?: boolean }) {
|
||||
}
|
||||
|
||||
return <Caption.Empty />
|
||||
}, [balance, chainId, disabled, inputCurrency, isAmountPopulated, isRouteLoading, outputCurrency, trade])
|
||||
}, [
|
||||
balance,
|
||||
chainId,
|
||||
disabled,
|
||||
inputCurrency,
|
||||
isAmountPopulated,
|
||||
isRouteLoading,
|
||||
outputCurrency,
|
||||
trade,
|
||||
wrapLoading,
|
||||
wrapType,
|
||||
])
|
||||
|
||||
return (
|
||||
<>
|
||||
|
||||
22
src/lib/components/Swap/WrapErrorText.tsx
Normal file
22
src/lib/components/Swap/WrapErrorText.tsx
Normal file
@@ -0,0 +1,22 @@
|
||||
import { Trans } from '@lingui/macro'
|
||||
import { WrapError } from 'lib/hooks/swap/useWrapCallback'
|
||||
import useNativeCurrency from 'lib/hooks/useNativeCurrency'
|
||||
|
||||
export function WrapErrorText({ wrapError }: { wrapError: WrapError }) {
|
||||
const native = useNativeCurrency()
|
||||
const wrapped = native?.wrapped
|
||||
|
||||
switch (wrapError) {
|
||||
case WrapError.ENTER_NATIVE_AMOUNT:
|
||||
return <Trans>Enter {native?.symbol} amount</Trans>
|
||||
case WrapError.ENTER_WRAPPED_AMOUNT:
|
||||
return <Trans>Enter {wrapped?.symbol} amount</Trans>
|
||||
case WrapError.INSUFFICIENT_NATIVE_BALANCE:
|
||||
return <Trans>Insufficient {native?.symbol} balance</Trans>
|
||||
case WrapError.INSUFFICIENT_WRAPPED_BALANCE:
|
||||
return <Trans>Insufficient {wrapped?.symbol} balance</Trans>
|
||||
case WrapError.NO_ERROR:
|
||||
default:
|
||||
return null
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,5 @@
|
||||
import { Trans } from '@lingui/macro'
|
||||
import { TokenInfo } from '@uniswap/token-lists'
|
||||
import { ALL_SUPPORTED_CHAIN_IDS } from 'constants/chains'
|
||||
import { useAtom } from 'jotai'
|
||||
import { SwapInfoUpdater } from 'lib/hooks/swap/useSwapInfo'
|
||||
import useSyncConvenienceFee from 'lib/hooks/swap/useSyncConvenienceFee'
|
||||
@@ -8,9 +7,10 @@ import useSyncSwapDefaults from 'lib/hooks/swap/useSyncSwapDefaults'
|
||||
import { usePendingTransactions } from 'lib/hooks/transactions'
|
||||
import useActiveWeb3React from 'lib/hooks/useActiveWeb3React'
|
||||
import useHasFocus from 'lib/hooks/useHasFocus'
|
||||
import useOnSupportedNetwork from 'lib/hooks/useOnSupportedNetwork'
|
||||
import useTokenList, { useSyncTokenList } from 'lib/hooks/useTokenList'
|
||||
import { displayTxHashAtom } from 'lib/state/swap'
|
||||
import { SwapTransactionInfo, Transaction, TransactionType } from 'lib/state/transactions'
|
||||
import { SwapTransactionInfo, Transaction, TransactionType, WrapTransactionInfo } from 'lib/state/transactions'
|
||||
import { useMemo, useState } from 'react'
|
||||
|
||||
import Dialog from '../Dialog'
|
||||
@@ -28,12 +28,18 @@ import Toolbar from './Toolbar'
|
||||
|
||||
export type DefaultAddress = string | { [chainId: number]: string | 'NATIVE' } | 'NATIVE'
|
||||
|
||||
function getSwapTx(txs: { [hash: string]: Transaction }, hash?: string): Transaction<SwapTransactionInfo> | undefined {
|
||||
function getTransactionFromMap(
|
||||
txs: { [hash: string]: Transaction },
|
||||
hash?: string
|
||||
): Transaction<SwapTransactionInfo | WrapTransactionInfo> | undefined {
|
||||
if (hash) {
|
||||
const tx = txs[hash]
|
||||
if (tx?.info?.type === TransactionType.SWAP) {
|
||||
return tx as Transaction<SwapTransactionInfo>
|
||||
}
|
||||
if (tx?.info?.type === TransactionType.WRAP) {
|
||||
return tx as Transaction<WrapTransactionInfo>
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
@@ -54,35 +60,38 @@ export default function Swap(props: SwapProps) {
|
||||
useSyncSwapDefaults(props)
|
||||
useSyncConvenienceFee(props)
|
||||
|
||||
const { active, account, chainId } = useActiveWeb3React()
|
||||
const { active, account } = useActiveWeb3React()
|
||||
const [wrapper, setWrapper] = useState<HTMLDivElement | null>(null)
|
||||
|
||||
const [displayTxHash, setDisplayTxHash] = useAtom(displayTxHashAtom)
|
||||
const pendingTxs = usePendingTransactions()
|
||||
const displayTx = getSwapTx(pendingTxs, displayTxHash)
|
||||
const displayTx = getTransactionFromMap(pendingTxs, displayTxHash)
|
||||
|
||||
const tokenList = useTokenList()
|
||||
const onSupportedNetwork = useOnSupportedNetwork()
|
||||
const isSwapSupported = useMemo(
|
||||
() => Boolean(chainId && ALL_SUPPORTED_CHAIN_IDS.includes(chainId) && tokenList?.length),
|
||||
[chainId, tokenList]
|
||||
() => Boolean(active && onSupportedNetwork && tokenList?.length),
|
||||
[active, onSupportedNetwork, tokenList?.length]
|
||||
)
|
||||
|
||||
const focused = useHasFocus(wrapper)
|
||||
|
||||
const isInteractive = Boolean(active && onSupportedNetwork)
|
||||
|
||||
return (
|
||||
<SwapPropValidator {...props}>
|
||||
{isSwapSupported && <SwapInfoUpdater />}
|
||||
<Header title={<Trans>Swap</Trans>}>
|
||||
{active && <Wallet disabled={!account} onClick={props.onConnectWallet} />}
|
||||
<Settings disabled={!active} />
|
||||
<Settings disabled={!isInteractive} />
|
||||
</Header>
|
||||
<div ref={setWrapper}>
|
||||
<BoundaryProvider value={wrapper}>
|
||||
<Input disabled={!active} focused={focused} />
|
||||
<ReverseButton disabled={!active} />
|
||||
<Output disabled={!active} focused={focused}>
|
||||
<Input disabled={!isInteractive} focused={focused} />
|
||||
<ReverseButton disabled={!isInteractive} />
|
||||
<Output disabled={!isInteractive} focused={focused}>
|
||||
<Toolbar disabled={!active} />
|
||||
<SwapButton disabled={!account} />
|
||||
<SwapButton disabled={!isSwapSupported} />
|
||||
</Output>
|
||||
</BoundaryProvider>
|
||||
</div>
|
||||
|
||||
@@ -73,7 +73,6 @@ const TokenBalance = styled.div<{ isLoading: boolean }>`
|
||||
background-color: ${({ theme, isLoading }) => isLoading && theme.secondary};
|
||||
border-radius: 0.25em;
|
||||
padding: 0.375em 0;
|
||||
width: 1.5em;
|
||||
`
|
||||
|
||||
function TokenOption({ index, value, style }: TokenOptionProps) {
|
||||
|
||||
@@ -55,7 +55,7 @@ export function TokenSelectDialog({ value, onSelect }: TokenSelectDialogProps) {
|
||||
// Give the balance-less tokens a small block period to avoid layout thrashing from re-sorting.
|
||||
useEffect(() => {
|
||||
if (!isLoaded) {
|
||||
const timeout = setTimeout(() => setIsLoaded(true), 1500)
|
||||
const timeout = setTimeout(() => setIsLoaded(true), 250)
|
||||
return () => clearTimeout(timeout)
|
||||
}
|
||||
return
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
import { Trans } from '@lingui/macro'
|
||||
import { Wallet as WalletIcon } from 'lib/icons'
|
||||
import styled, { ThemedText } from 'lib/theme'
|
||||
import { ThemedText } from 'lib/theme'
|
||||
|
||||
import { TextButton } from './Button'
|
||||
import Row from './Row'
|
||||
|
||||
interface WalletProps {
|
||||
@@ -9,17 +10,15 @@ interface WalletProps {
|
||||
onClick?: () => void
|
||||
}
|
||||
|
||||
const ClickableRow = styled(Row)<{ onClick?: unknown }>`
|
||||
cursor: ${({ onClick }) => onClick && 'pointer'};
|
||||
`
|
||||
|
||||
export default function Wallet({ disabled, onClick }: WalletProps) {
|
||||
return disabled ? (
|
||||
<ThemedText.Caption color="secondary">
|
||||
<ClickableRow gap={0.5} onClick={onClick}>
|
||||
<WalletIcon />
|
||||
<Trans>Connect your wallet</Trans>
|
||||
</ClickableRow>
|
||||
</ThemedText.Caption>
|
||||
<TextButton disabled={!onClick} onClick={onClick} color="secondary" style={{ filter: 'none' }}>
|
||||
<ThemedText.Caption>
|
||||
<Row gap={0.5}>
|
||||
<WalletIcon />
|
||||
<Trans>Connect your wallet</Trans>
|
||||
</Row>
|
||||
</ThemedText.Caption>
|
||||
</TextButton>
|
||||
) : null
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import { initializeConnector, Web3ReactHooks } from '@web3-react/core'
|
||||
import { initializeConnector } from '@web3-react/core'
|
||||
import { EIP1193 } from '@web3-react/eip1193'
|
||||
import { Actions, Connector, Provider as Eip1193Provider } from '@web3-react/types'
|
||||
import { Url } from '@web3-react/url'
|
||||
import { SetStateAction } from 'jotai'
|
||||
import { RESET, useUpdateAtom } from 'jotai/utils'
|
||||
import { injectedAtom, urlAtom } from 'lib/state/web3'
|
||||
import { injectedAtom, urlAtom, Web3ReactState } from 'lib/state/web3'
|
||||
import { ReactNode, useEffect } from 'react'
|
||||
|
||||
interface Web3ProviderProps {
|
||||
@@ -16,12 +16,13 @@ interface Web3ProviderProps {
|
||||
function useConnector<T extends { new (actions: Actions, initializer: I): Connector }, I>(
|
||||
Connector: T,
|
||||
initializer: I | undefined,
|
||||
setContext: (update: typeof RESET | SetStateAction<[Connector, Web3ReactHooks]>) => void
|
||||
setContext: (update: typeof RESET | SetStateAction<Web3ReactState>) => void
|
||||
) {
|
||||
return useEffect(() => {
|
||||
if (initializer) {
|
||||
const [connector, hooks] = initializeConnector((actions) => new Connector(actions, initializer))
|
||||
setContext([connector, hooks])
|
||||
const state = initializeConnector((actions) => new Connector(actions, initializer))
|
||||
state[0].activate()
|
||||
setContext(state)
|
||||
} else {
|
||||
setContext(RESET)
|
||||
}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import { Provider as EthersProvider } from '@ethersproject/abstract-provider'
|
||||
import { Signer as EthersSigner } from '@ethersproject/abstract-signer'
|
||||
import { Provider as Eip1193Provider } from '@web3-react/types'
|
||||
import { DEFAULT_LOCALE, SupportedLocale } from 'constants/locales'
|
||||
import { Provider as AtomProvider } from 'jotai'
|
||||
@@ -35,12 +34,12 @@ const WidgetWrapper = styled.div<{ width?: number | string }>`
|
||||
min-width: 300px;
|
||||
padding: 0.25em;
|
||||
position: relative;
|
||||
user-select: none;
|
||||
width: ${({ width }) => width && (isNaN(Number(width)) ? width : `${width}px`)};
|
||||
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
font-family: ${({ theme }) => theme.fontFamily};
|
||||
user-select: none;
|
||||
|
||||
@supports (font-variation-settings: normal) {
|
||||
font-family: ${({ theme }) => theme.fontFamilyVariable};
|
||||
@@ -94,7 +93,7 @@ function Updaters() {
|
||||
export type WidgetProps = {
|
||||
theme?: Theme
|
||||
locale?: SupportedLocale
|
||||
provider?: Eip1193Provider | EthersProvider | { provider: EthersProvider; signer: EthersSigner }
|
||||
provider?: Eip1193Provider | EthersProvider
|
||||
jsonRpcEndpoint?: string
|
||||
width?: string | number
|
||||
dialog?: HTMLElement | null
|
||||
|
||||
@@ -1,14 +1,19 @@
|
||||
import { initializeConnector } from '@web3-react/core'
|
||||
import { MetaMask } from '@web3-react/metamask'
|
||||
import { Connector } from '@web3-react/types'
|
||||
import { WalletConnect } from '@web3-react/walletconnect'
|
||||
import { SupportedChainId } from 'constants/chains'
|
||||
import { INFURA_NETWORK_URLS } from 'constants/infura'
|
||||
import { DEFAULT_LOCALE, SUPPORTED_LOCALES } from 'constants/locales'
|
||||
import Widget from 'lib/components/Widget'
|
||||
import { darkTheme, defaultTheme, lightTheme } from 'lib/theme'
|
||||
import { ReactNode, useEffect, useMemo } from 'react'
|
||||
import { ReactNode, useEffect, useState } from 'react'
|
||||
import { useSelect, useValue } from 'react-cosmos/fixture'
|
||||
|
||||
export const [metaMask] = initializeConnector<MetaMask>((actions) => new MetaMask(actions))
|
||||
const [metaMask] = initializeConnector<MetaMask>((actions) => new MetaMask(actions))
|
||||
const [walletConnect] = initializeConnector<WalletConnect>(
|
||||
(actions) => new WalletConnect(actions, { rpc: INFURA_NETWORK_URLS })
|
||||
)
|
||||
|
||||
export default function Wrapper({ children }: { children: ReactNode }) {
|
||||
const [width] = useValue('width', { defaultValue: 360 })
|
||||
@@ -27,21 +32,40 @@ export default function Wrapper({ children }: { children: ReactNode }) {
|
||||
options: [NO_JSON_RPC, ...Object.values(INFURA_NETWORK_URLS).sort()],
|
||||
})
|
||||
|
||||
const NO_PROVIDER = 'None'
|
||||
const NO_CONNECTOR = 'None'
|
||||
const META_MASK = 'MetaMask'
|
||||
const [providerType] = useSelect('Provider', {
|
||||
defaultValue: NO_PROVIDER,
|
||||
options: [NO_PROVIDER, META_MASK],
|
||||
const WALLET_CONNECT = 'WalletConnect'
|
||||
const [connectorType] = useSelect('Provider', {
|
||||
defaultValue: NO_CONNECTOR,
|
||||
options: [NO_CONNECTOR, META_MASK, WALLET_CONNECT],
|
||||
})
|
||||
const provider = useMemo(() => {
|
||||
switch (providerType) {
|
||||
case META_MASK:
|
||||
metaMask.activate()
|
||||
return metaMask.provider
|
||||
default:
|
||||
return undefined
|
||||
const [connector, setConnector] = useState<Connector>()
|
||||
useEffect(() => {
|
||||
let stale = false
|
||||
activateConnector(connectorType)
|
||||
return () => {
|
||||
stale = true
|
||||
}
|
||||
}, [providerType])
|
||||
|
||||
async function activateConnector(connectorType: 'None' | 'MetaMask' | 'WalletConnect') {
|
||||
let connector: Connector
|
||||
switch (connectorType) {
|
||||
case META_MASK:
|
||||
await metaMask.activate()
|
||||
connector = metaMask
|
||||
break
|
||||
case WALLET_CONNECT:
|
||||
await walletConnect.activate()
|
||||
connector = walletConnect
|
||||
}
|
||||
if (!stale) {
|
||||
setConnector((oldConnector) => {
|
||||
oldConnector?.deactivate?.()
|
||||
return connector
|
||||
})
|
||||
}
|
||||
}
|
||||
}, [connectorType])
|
||||
|
||||
return (
|
||||
<Widget
|
||||
@@ -49,7 +73,7 @@ export default function Wrapper({ children }: { children: ReactNode }) {
|
||||
theme={theme}
|
||||
locale={locale}
|
||||
jsonRpcEndpoint={jsonRpcEndpoint === NO_JSON_RPC ? undefined : jsonRpcEndpoint}
|
||||
provider={provider}
|
||||
provider={connector?.provider}
|
||||
>
|
||||
{children}
|
||||
</Widget>
|
||||
|
||||
@@ -4,7 +4,9 @@ import JSBI from 'jsbi'
|
||||
import { GetQuoteResult } from 'state/routing/types'
|
||||
import { transformSwapRouteToGetQuoteResult } from 'utils/transformSwapRouteToGetQuoteResult'
|
||||
|
||||
export const AUTO_ROUTER_SUPPORTED_CHAINS: ChainId[] = Object.values(ChainId) as number[]
|
||||
export const AUTO_ROUTER_SUPPORTED_CHAINS: ChainId[] = Object.values(ChainId).filter((chainId): chainId is ChainId =>
|
||||
Number.isInteger(chainId)
|
||||
)
|
||||
|
||||
async function getQuote(
|
||||
{
|
||||
|
||||
@@ -7,6 +7,7 @@ import { useEffect, useMemo, useState } from 'react'
|
||||
import { GetQuoteResult, InterfaceTrade, TradeState } from 'state/routing/types'
|
||||
import { computeRoutes, transformRoutesToTrade } from 'state/routing/utils'
|
||||
|
||||
import useWrapCallback, { WrapType } from '../swap/useWrapCallback'
|
||||
import useActiveWeb3React from '../useActiveWeb3React'
|
||||
import { getClientSideQuote } from './clientSideSmartOrderRouter'
|
||||
import { useRoutingAPIArguments } from './useRoutingAPIArguments'
|
||||
@@ -74,9 +75,13 @@ export default function useClientSideSmartOrderRouterTrade<TTradeType extends Tr
|
||||
error?: unknown
|
||||
}>({ error: undefined })
|
||||
const config = useMemo(() => getConfig(chainId), [chainId])
|
||||
const { type: wrapType } = useWrapCallback()
|
||||
|
||||
// When arguments update, make a new call to SOR for updated quote
|
||||
useEffect(() => {
|
||||
if (wrapType !== WrapType.NOT_APPLICABLE) {
|
||||
return
|
||||
}
|
||||
setLoading(true)
|
||||
if (isDebouncing) return
|
||||
|
||||
@@ -101,7 +106,7 @@ export default function useClientSideSmartOrderRouterTrade<TTradeType extends Tr
|
||||
}
|
||||
}
|
||||
}
|
||||
}, [queryArgs, params, config, isDebouncing])
|
||||
}, [queryArgs, params, config, isDebouncing, wrapType])
|
||||
|
||||
const route = useMemo(
|
||||
() => computeRoutes(currencyIn, currencyOut, tradeType, quoteResult),
|
||||
|
||||
@@ -17,7 +17,7 @@ import { useBestTrade } from './useBestTrade'
|
||||
interface SwapInfo {
|
||||
currencies: { [field in Field]?: Currency }
|
||||
currencyBalances: { [field in Field]?: CurrencyAmount<Currency> }
|
||||
currencyAmounts: { [field in Field]?: CurrencyAmount<Currency> }
|
||||
tradeCurrencyAmounts: { [field in Field]?: CurrencyAmount<Currency> }
|
||||
trade: {
|
||||
trade?: InterfaceTrade<Currency, Currency, TradeType>
|
||||
state: TradeState
|
||||
@@ -52,7 +52,7 @@ function useComputeSwapInfo(): SwapInfo {
|
||||
useMemo(() => [inputCurrency ?? undefined, outputCurrency ?? undefined], [inputCurrency, outputCurrency])
|
||||
)
|
||||
|
||||
const isExactIn: boolean = independentField === Field.INPUT
|
||||
const isExactIn = independentField === Field.INPUT
|
||||
const parsedAmount = useMemo(
|
||||
() => tryParseCurrencyAmount(amount, (isExactIn ? inputCurrency : outputCurrency) ?? undefined),
|
||||
[inputCurrency, isExactIn, outputCurrency, amount]
|
||||
@@ -81,7 +81,7 @@ function useComputeSwapInfo(): SwapInfo {
|
||||
[relevantTokenBalances]
|
||||
)
|
||||
|
||||
const currencyAmounts = useMemo(
|
||||
const tradeCurrencyAmounts = useMemo(
|
||||
() => ({
|
||||
[Field.INPUT]: trade.trade?.inputAmount,
|
||||
[Field.OUTPUT]: trade.trade?.outputAmount,
|
||||
@@ -129,21 +129,21 @@ function useComputeSwapInfo(): SwapInfo {
|
||||
() => ({
|
||||
currencies,
|
||||
currencyBalances,
|
||||
currencyAmounts,
|
||||
inputError,
|
||||
trade,
|
||||
tradeCurrencyAmounts,
|
||||
allowedSlippage,
|
||||
feeOptions,
|
||||
}),
|
||||
[currencies, currencyBalances, currencyAmounts, inputError, trade, allowedSlippage, feeOptions]
|
||||
[currencies, currencyBalances, inputError, trade, tradeCurrencyAmounts, allowedSlippage, feeOptions]
|
||||
)
|
||||
}
|
||||
|
||||
const swapInfoAtom = atom<SwapInfo>({
|
||||
currencies: {},
|
||||
currencyBalances: {},
|
||||
currencyAmounts: {},
|
||||
trade: { state: TradeState.INVALID },
|
||||
tradeCurrencyAmounts: {},
|
||||
allowedSlippage: new Percent(0),
|
||||
feeOptions: undefined,
|
||||
})
|
||||
|
||||
137
src/lib/hooks/swap/useWrapCallback.tsx
Normal file
137
src/lib/hooks/swap/useWrapCallback.tsx
Normal file
@@ -0,0 +1,137 @@
|
||||
import { ContractTransaction } from '@ethersproject/contracts'
|
||||
import { useWETHContract } from 'hooks/useContract'
|
||||
import { atom, useAtom } from 'jotai'
|
||||
import { useAtomValue } from 'jotai/utils'
|
||||
import { Field, swapAtom } from 'lib/state/swap'
|
||||
import tryParseCurrencyAmount from 'lib/utils/tryParseCurrencyAmount'
|
||||
import { useCallback, useEffect, useMemo } from 'react'
|
||||
|
||||
import { WRAPPED_NATIVE_CURRENCY } from '../../../constants/tokens'
|
||||
import useActiveWeb3React from '../useActiveWeb3React'
|
||||
import { useCurrencyBalances } from '../useCurrencyBalance'
|
||||
|
||||
export enum WrapType {
|
||||
NOT_APPLICABLE,
|
||||
WRAP,
|
||||
UNWRAP,
|
||||
}
|
||||
interface UseWrapCallbackReturns {
|
||||
callback: () => Promise<ContractTransaction>
|
||||
error: WrapError
|
||||
loading: boolean
|
||||
type: WrapType
|
||||
}
|
||||
|
||||
export enum WrapError {
|
||||
NO_ERROR = 0, // must be equal to 0 so all other errors are truthy
|
||||
ENTER_NATIVE_AMOUNT,
|
||||
ENTER_WRAPPED_AMOUNT,
|
||||
INSUFFICIENT_NATIVE_BALANCE,
|
||||
INSUFFICIENT_WRAPPED_BALANCE,
|
||||
}
|
||||
|
||||
interface WrapState {
|
||||
loading: boolean
|
||||
error: WrapError
|
||||
}
|
||||
|
||||
const wrapState = atom<WrapState>({
|
||||
loading: false,
|
||||
error: WrapError.NO_ERROR,
|
||||
})
|
||||
|
||||
export default function useWrapCallback(): UseWrapCallbackReturns {
|
||||
const { account, chainId } = useActiveWeb3React()
|
||||
const [{ loading, error }, setWrapState] = useAtom(wrapState)
|
||||
const wrappedNativeCurrencyContract = useWETHContract()
|
||||
const {
|
||||
amount,
|
||||
independentField,
|
||||
[Field.INPUT]: inputCurrency,
|
||||
[Field.OUTPUT]: outputCurrency,
|
||||
} = useAtomValue(swapAtom)
|
||||
|
||||
const wrapType = useMemo(() => {
|
||||
if (!inputCurrency || !outputCurrency || !chainId) {
|
||||
return WrapType.NOT_APPLICABLE
|
||||
}
|
||||
const wrappedNativeCurrency = WRAPPED_NATIVE_CURRENCY[chainId]
|
||||
if (inputCurrency.isNative && wrappedNativeCurrency.equals(outputCurrency)) {
|
||||
return WrapType.WRAP
|
||||
}
|
||||
if (wrappedNativeCurrency.equals(inputCurrency) && outputCurrency.isNative) {
|
||||
return WrapType.UNWRAP
|
||||
}
|
||||
return WrapType.NOT_APPLICABLE
|
||||
}, [chainId, inputCurrency, outputCurrency])
|
||||
|
||||
const isExactIn = independentField === Field.INPUT
|
||||
const parsedAmount = useMemo(
|
||||
() => tryParseCurrencyAmount(amount, (isExactIn ? inputCurrency : outputCurrency) ?? undefined),
|
||||
[inputCurrency, isExactIn, outputCurrency, amount]
|
||||
)
|
||||
const parsedAmountIn = isExactIn ? parsedAmount : undefined
|
||||
|
||||
const relevantTokenBalances = useCurrencyBalances(
|
||||
account,
|
||||
useMemo(() => [inputCurrency ?? undefined, outputCurrency ?? undefined], [inputCurrency, outputCurrency])
|
||||
)
|
||||
const currencyBalances = useMemo(
|
||||
() => ({
|
||||
[Field.INPUT]: relevantTokenBalances[0],
|
||||
[Field.OUTPUT]: relevantTokenBalances[1],
|
||||
}),
|
||||
[relevantTokenBalances]
|
||||
)
|
||||
|
||||
const hasInputAmount = Boolean(parsedAmount?.greaterThan('0'))
|
||||
const sufficientBalance = parsedAmountIn && !currencyBalances[Field.INPUT]?.lessThan(parsedAmountIn)
|
||||
|
||||
useEffect(() => {
|
||||
if (sufficientBalance) {
|
||||
setWrapState((state) => ({ ...state, error: WrapError.NO_ERROR }))
|
||||
} else if (wrapType === WrapType.WRAP) {
|
||||
setWrapState((state) => ({
|
||||
...state,
|
||||
error: hasInputAmount ? WrapError.INSUFFICIENT_NATIVE_BALANCE : WrapError.ENTER_NATIVE_AMOUNT,
|
||||
}))
|
||||
} else if (wrapType === WrapType.UNWRAP) {
|
||||
setWrapState((state) => ({
|
||||
...state,
|
||||
error: hasInputAmount ? WrapError.INSUFFICIENT_WRAPPED_BALANCE : WrapError.ENTER_WRAPPED_AMOUNT,
|
||||
}))
|
||||
}
|
||||
}, [hasInputAmount, setWrapState, sufficientBalance, wrapType])
|
||||
|
||||
const callback = useCallback(async () => {
|
||||
if (!parsedAmountIn) {
|
||||
return Promise.reject('Must provide an input amount to wrap.')
|
||||
}
|
||||
if (wrapType === WrapType.NOT_APPLICABLE) {
|
||||
return Promise.reject('Wrapping not applicable to this asset.')
|
||||
}
|
||||
if (!sufficientBalance) {
|
||||
return Promise.reject('Insufficient balance to wrap desired amount.')
|
||||
}
|
||||
if (!wrappedNativeCurrencyContract) {
|
||||
return Promise.reject('Wrap contract not found.')
|
||||
}
|
||||
setWrapState((state) => ({ ...state, loading: true }))
|
||||
const result = await (wrapType === WrapType.WRAP
|
||||
? wrappedNativeCurrencyContract.deposit({ value: `0x${parsedAmountIn.quotient.toString(16)}` })
|
||||
: wrappedNativeCurrencyContract.withdraw(`0x${parsedAmountIn.quotient.toString(16)}`))
|
||||
// resolve loading state after one confirmation
|
||||
result.wait(1).finally(() => setWrapState((state) => ({ ...state, loading: false })))
|
||||
return Promise.resolve(result)
|
||||
}, [wrappedNativeCurrencyContract, sufficientBalance, parsedAmountIn, wrapType, setWrapState])
|
||||
|
||||
return useMemo(
|
||||
() => ({
|
||||
callback,
|
||||
error,
|
||||
loading,
|
||||
type: wrapType,
|
||||
}),
|
||||
[callback, error, loading, wrapType]
|
||||
)
|
||||
}
|
||||
@@ -25,7 +25,8 @@ function useBlock() {
|
||||
|
||||
useEffect(() => {
|
||||
if (library && chainId && windowVisible) {
|
||||
setState({ chainId })
|
||||
// If chainId hasn't changed, don't clear the block. This prevents re-fetching still valid data.
|
||||
setState((state) => (state.chainId === chainId ? state : { chainId }))
|
||||
|
||||
library
|
||||
.getBlockNumber()
|
||||
|
||||
@@ -7,9 +7,10 @@ import { NEVER_RELOAD, useSingleCallResult } from 'lib/hooks/multicall'
|
||||
import useNativeCurrency from 'lib/hooks/useNativeCurrency'
|
||||
import { useMemo } from 'react'
|
||||
|
||||
import { TOKEN_SHORTHANDS } from '../../constants/tokens'
|
||||
import { isAddress } from '../../utils'
|
||||
import { useTokenMap } from './useTokenList'
|
||||
import { TokenMap } from './useTokenList'
|
||||
import { supportedChainId } from '../../utils/supportedChainId'
|
||||
import { TokenMap, useTokenMap } from './useTokenList'
|
||||
|
||||
// parse a name or symbol from a token response
|
||||
const BYTES32_REGEX = /^0x[a-fA-F0-9]{64}$/
|
||||
@@ -28,35 +29,27 @@ function parseStringOrBytes32(str: string | undefined, bytes32: string | undefin
|
||||
* Returns null if token is loading or null was passed.
|
||||
* Returns undefined if tokenAddress is invalid or token does not exist.
|
||||
*/
|
||||
export function useTokenFromMap(tokens: TokenMap, tokenAddress?: string | null): Token | null | undefined {
|
||||
export function useTokenFromNetwork(tokenAddress: string | null | undefined): Token | null | undefined {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
|
||||
const address = isAddress(tokenAddress)
|
||||
const formattedAddress = isAddress(tokenAddress)
|
||||
|
||||
const tokenContract = useTokenContract(address ? address : undefined, false)
|
||||
const tokenContractBytes32 = useBytes32TokenContract(address ? address : undefined, false)
|
||||
const token: Token | undefined = address ? tokens[address] : undefined
|
||||
const tokenContract = useTokenContract(formattedAddress ? formattedAddress : undefined, false)
|
||||
const tokenContractBytes32 = useBytes32TokenContract(formattedAddress ? formattedAddress : undefined, false)
|
||||
|
||||
const tokenName = useSingleCallResult(token ? undefined : tokenContract, 'name', undefined, NEVER_RELOAD)
|
||||
const tokenNameBytes32 = useSingleCallResult(
|
||||
token ? undefined : tokenContractBytes32,
|
||||
'name',
|
||||
undefined,
|
||||
NEVER_RELOAD
|
||||
)
|
||||
const symbol = useSingleCallResult(token ? undefined : tokenContract, 'symbol', undefined, NEVER_RELOAD)
|
||||
const symbolBytes32 = useSingleCallResult(token ? undefined : tokenContractBytes32, 'symbol', undefined, NEVER_RELOAD)
|
||||
const decimals = useSingleCallResult(token ? undefined : tokenContract, 'decimals', undefined, NEVER_RELOAD)
|
||||
const tokenName = useSingleCallResult(tokenContract, 'name', undefined, NEVER_RELOAD)
|
||||
const tokenNameBytes32 = useSingleCallResult(tokenContractBytes32, 'name', undefined, NEVER_RELOAD)
|
||||
const symbol = useSingleCallResult(tokenContract, 'symbol', undefined, NEVER_RELOAD)
|
||||
const symbolBytes32 = useSingleCallResult(tokenContractBytes32, 'symbol', undefined, NEVER_RELOAD)
|
||||
const decimals = useSingleCallResult(tokenContract, 'decimals', undefined, NEVER_RELOAD)
|
||||
|
||||
return useMemo(() => {
|
||||
if (token) return token
|
||||
if (tokenAddress === null) return null
|
||||
if (!chainId || !address) return undefined
|
||||
if (typeof tokenAddress !== 'string' || !chainId || !formattedAddress) return undefined
|
||||
if (decimals.loading || symbol.loading || tokenName.loading) return null
|
||||
if (decimals.result) {
|
||||
return new Token(
|
||||
chainId,
|
||||
address,
|
||||
formattedAddress,
|
||||
decimals.result[0],
|
||||
parseStringOrBytes32(symbol.result?.[0], symbolBytes32.result?.[0], 'UNKNOWN'),
|
||||
parseStringOrBytes32(tokenName.result?.[0], tokenNameBytes32.result?.[0], 'Unknown Token')
|
||||
@@ -64,14 +57,13 @@ export function useTokenFromMap(tokens: TokenMap, tokenAddress?: string | null):
|
||||
}
|
||||
return undefined
|
||||
}, [
|
||||
address,
|
||||
formattedAddress,
|
||||
chainId,
|
||||
decimals.loading,
|
||||
decimals.result,
|
||||
symbol.loading,
|
||||
symbol.result,
|
||||
symbolBytes32.result,
|
||||
token,
|
||||
tokenAddress,
|
||||
tokenName.loading,
|
||||
tokenName.result,
|
||||
@@ -79,6 +71,20 @@ export function useTokenFromMap(tokens: TokenMap, tokenAddress?: string | null):
|
||||
])
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a Token from the tokenAddress.
|
||||
* Returns null if token is loading or null was passed.
|
||||
* Returns undefined if tokenAddress is invalid or token does not exist.
|
||||
*/
|
||||
export function useTokenFromMapOrNetwork(tokens: TokenMap, tokenAddress?: string | null): Token | null | undefined {
|
||||
const address = isAddress(tokenAddress)
|
||||
const token: Token | undefined = address ? tokens[address] : undefined
|
||||
|
||||
const tokenFromNetwork = useTokenFromNetwork(token ? undefined : address ? address : undefined)
|
||||
|
||||
return tokenFromNetwork ?? token
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a Token from the tokenAddress.
|
||||
* Returns null if token is loading or null was passed.
|
||||
@@ -86,7 +92,7 @@ export function useTokenFromMap(tokens: TokenMap, tokenAddress?: string | null):
|
||||
*/
|
||||
export function useToken(tokenAddress?: string | null): Token | null | undefined {
|
||||
const tokens = useTokenMap()
|
||||
return useTokenFromMap(tokens, tokenAddress)
|
||||
return useTokenFromMapOrNetwork(tokens, tokenAddress)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -96,8 +102,14 @@ export function useToken(tokenAddress?: string | null): Token | null | undefined
|
||||
*/
|
||||
export function useCurrencyFromMap(tokens: TokenMap, currencyId?: string | null): Currency | null | undefined {
|
||||
const nativeCurrency = useNativeCurrency()
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const isNative = Boolean(nativeCurrency && currencyId?.toUpperCase() === 'ETH')
|
||||
const token = useTokenFromMap(tokens, isNative ? undefined : currencyId)
|
||||
const shorthandMatchAddress = useMemo(() => {
|
||||
const chain = supportedChainId(chainId)
|
||||
return chain && currencyId ? TOKEN_SHORTHANDS[currencyId.toUpperCase()]?.[chain] : undefined
|
||||
}, [chainId, currencyId])
|
||||
|
||||
const token = useTokenFromMapOrNetwork(tokens, isNative ? undefined : shorthandMatchAddress ?? currencyId)
|
||||
|
||||
if (currencyId === null || currencyId === undefined) return currencyId
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Currency } from '@uniswap/sdk-core'
|
||||
import { useTheme } from 'lib/theme'
|
||||
import Vibrant from 'node-vibrant/lib/bundle'
|
||||
import Vibrant from 'node-vibrant/lib/bundle.js'
|
||||
import { useEffect, useLayoutEffect, useState } from 'react'
|
||||
|
||||
import useCurrencyLogoURIs from './useCurrencyLogoURIs'
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
import { Provider as EthersProvider } from '@ethersproject/abstract-provider'
|
||||
import { Signer as EthersSigner } from '@ethersproject/abstract-signer'
|
||||
import { VoidSigner } from '@ethersproject/abstract-signer'
|
||||
import { Eip1193Bridge as ExperimentalEip1193Bridge } from '@ethersproject/experimental'
|
||||
import { JsonRpcProvider } from '@ethersproject/providers'
|
||||
import { JsonRpcProvider, JsonRpcSigner } from '@ethersproject/providers'
|
||||
import { Provider as Eip1193Provider } from '@web3-react/types'
|
||||
import { ZERO_ADDRESS } from 'constants/misc'
|
||||
import { useMemo } from 'react'
|
||||
@@ -17,32 +16,42 @@ class Eip1193Bridge extends ExperimentalEip1193Bridge {
|
||||
const result = await this.provider.getNetwork()
|
||||
return '0x' + result.chainId.toString(16)
|
||||
}
|
||||
case 'eth_sendTransaction': {
|
||||
if (!this.signer) break
|
||||
|
||||
// TODO(zzmp): JsonRpcProvider filters from/gas fields from the params.
|
||||
const req = JsonRpcProvider.hexlifyTransaction(params?.[0], { from: true, gas: true })
|
||||
const tx = await this.signer.sendTransaction(req)
|
||||
return tx.hash
|
||||
}
|
||||
default:
|
||||
return super.send(method, params)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
interface EthersSigningProvider extends EthersProvider {
|
||||
getSigner(): JsonRpcSigner
|
||||
}
|
||||
|
||||
export default function useEip1193Provider(
|
||||
provider?: Eip1193Provider | EthersProvider | JsonRpcProvider | { provider: EthersProvider; signer: EthersSigner }
|
||||
provider?: Eip1193Provider | EthersSigningProvider | EthersProvider
|
||||
): Eip1193Provider | undefined {
|
||||
return useMemo(() => {
|
||||
if (provider) {
|
||||
if (provider instanceof EthersProvider) {
|
||||
// A JsonRpcProvider includes its own Signer, otherwise use a VoidSigner.
|
||||
if (EthersProvider.isProvider(provider)) {
|
||||
const signer = 'getSigner' in provider ? provider.getSigner() : null ?? voidSigner
|
||||
return new Eip1193Bridge(signer, provider)
|
||||
}
|
||||
|
||||
if ('provider' in provider && 'signer' in provider) {
|
||||
return new Eip1193Bridge(provider.signer, provider.provider)
|
||||
}
|
||||
|
||||
// See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1193.md.
|
||||
if ('request' in provider && 'on' in provider && 'removeListener' in provider) {
|
||||
return provider
|
||||
} else if (EthersProvider.isProvider((provider as ExperimentalEip1193Bridge).provider)) {
|
||||
/*
|
||||
* Direct users to use our own wrapper to avoid any pitfalls:
|
||||
* - Eip1193Bridge is experimental
|
||||
* - signer is not straightforward
|
||||
* - bugs out if chainId>8
|
||||
*/
|
||||
throw new Error('Eip1193Bridge is experimental: pass your ethers Provider directly')
|
||||
}
|
||||
}
|
||||
return
|
||||
return provider
|
||||
}, [provider])
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { useCallback, useEffect, useState } from 'react'
|
||||
|
||||
export default function useHasFocus(node: Node | null | undefined): boolean {
|
||||
const [hasFocus, setHasFocus] = useState(node?.contains(document.activeElement) ?? false)
|
||||
const [hasFocus, setHasFocus] = useState(node?.contains(document?.activeElement) ?? false)
|
||||
const onFocus = useCallback(() => setHasFocus(true), [])
|
||||
const onBlur = useCallback((e) => setHasFocus(node?.contains(e.relatedTarget) ?? false), [node])
|
||||
useEffect(() => {
|
||||
|
||||
11
src/lib/hooks/useOnSupportedNetwork.ts
Normal file
11
src/lib/hooks/useOnSupportedNetwork.ts
Normal file
@@ -0,0 +1,11 @@
|
||||
import { ALL_SUPPORTED_CHAIN_IDS } from 'constants/chains'
|
||||
import { useMemo } from 'react'
|
||||
|
||||
import useActiveWeb3React from './useActiveWeb3React'
|
||||
|
||||
function useOnSupportedNetwork() {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
return useMemo(() => chainId && ALL_SUPPORTED_CHAIN_IDS.includes(chainId), [chainId])
|
||||
}
|
||||
|
||||
export default useOnSupportedNetwork
|
||||
@@ -82,7 +82,8 @@ export async function dynamicActivate(locale: SupportedLocale) {
|
||||
// see https://github.com/lingui/js-lingui/issues/388#issuecomment-497779030
|
||||
const catalog =
|
||||
locale === DEFAULT_LOCALE ? DEFAULT_CATALOG : await import(`${process.env.REACT_APP_LOCALES}/${locale}`)
|
||||
i18n.load(locale, catalog.messages)
|
||||
// Bundlers will either export it as default or as a named export named default.
|
||||
i18n.load(locale, catalog.messages || catalog.default.messages)
|
||||
i18n.activate(locale)
|
||||
}
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import { ReactComponent as RouterIcon } from 'lib/assets/svg/auto_router.svg'
|
||||
import { ReactComponent as CheckIcon } from 'lib/assets/svg/check.svg'
|
||||
import { ReactComponent as ExpandoIcon } from 'lib/assets/svg/expando.svg'
|
||||
import { ReactComponent as LogoIcon } from 'lib/assets/svg/logo.svg'
|
||||
@@ -82,6 +83,7 @@ export const Clock = icon(ClockIcon)
|
||||
export const HelpCircle = icon(HelpCircleIcon)
|
||||
export const Info = icon(InfoIcon)
|
||||
export const Link = icon(LinkIcon)
|
||||
export const AutoRouter = icon(RouterIcon)
|
||||
export const Settings = icon(SettingsIcon)
|
||||
export const Slash = icon(SlashIcon)
|
||||
export const Trash2 = icon(Trash2Icon)
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
import Swap, { SwapProps } from './components/Swap'
|
||||
import Widget, { WidgetProps } from './components/Widget'
|
||||
export { darkTheme, lightTheme } from './theme'
|
||||
export type { Theme } from './theme/theme'
|
||||
export { SUPPORTED_LOCALES } from 'constants/locales'
|
||||
|
||||
type SwapWidgetProps = SwapProps & WidgetProps
|
||||
|
||||
@@ -5,6 +5,7 @@ import { atomWithImmer } from 'jotai/immer'
|
||||
export enum TransactionType {
|
||||
APPROVAL,
|
||||
SWAP,
|
||||
WRAP,
|
||||
}
|
||||
|
||||
interface BaseTransactionInfo {
|
||||
@@ -37,7 +38,14 @@ export interface OutputSwapTransactionInfo extends SwapTransactionInfo {
|
||||
maximumInputCurrencyAmount: string
|
||||
}
|
||||
|
||||
export type TransactionInfo = ApprovalTransactionInfo | SwapTransactionInfo
|
||||
export interface WrapTransactionInfo extends BaseTransactionInfo {
|
||||
type: TransactionType.WRAP
|
||||
unwrapped: boolean
|
||||
currencyAmountRaw: string
|
||||
chainId?: number
|
||||
}
|
||||
|
||||
export type TransactionInfo = ApprovalTransactionInfo | SwapTransactionInfo | WrapTransactionInfo
|
||||
|
||||
export interface Transaction<T extends TransactionInfo = TransactionInfo> {
|
||||
addedTime: number
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import { initializeConnector, Web3ReactHooks } from '@web3-react/core'
|
||||
import { EMPTY } from '@web3-react/empty'
|
||||
import { Connector } from '@web3-react/types'
|
||||
import { Connector, Web3ReactStore } from '@web3-react/types'
|
||||
import { atomWithDefault } from 'jotai/utils'
|
||||
|
||||
export type Web3ReactState = [Connector, Web3ReactHooks, Web3ReactStore]
|
||||
|
||||
const EMPTY_CONNECTOR = initializeConnector(() => EMPTY)
|
||||
|
||||
export type Web3ReactState = [Connector, Web3ReactHooks]
|
||||
|
||||
export const urlAtom = atomWithDefault<Web3ReactState>(() => EMPTY_CONNECTOR)
|
||||
export const injectedAtom = atomWithDefault<Web3ReactState>(() => EMPTY_CONNECTOR)
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
export enum Layer {
|
||||
UNDERLAYER = -1,
|
||||
OVERLAY = 100,
|
||||
DIALOG = 1000,
|
||||
TOOLTIP = 2000,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* eslint-disable no-restricted-imports */
|
||||
import styled, {
|
||||
import styledDefault, {
|
||||
css as styledCss,
|
||||
keyframes as styledKeyframes,
|
||||
ThemedBaseStyledInterface,
|
||||
@@ -11,8 +11,13 @@ import styled, {
|
||||
|
||||
import { ComputedTheme } from './theme'
|
||||
|
||||
export default styled as unknown as ThemedBaseStyledInterface<ComputedTheme>
|
||||
export const css = styledCss as unknown as ThemedCssFunction<ComputedTheme>
|
||||
export const keyframes = styledKeyframes
|
||||
export const useTheme = useStyled as unknown as () => ComputedTheme
|
||||
export const ThemedProvider = StyledProvider as unknown as ThemeProviderComponent<ComputedTheme>
|
||||
|
||||
// nextjs imports all of styled-components/macro instead of its default. Check for and resolve this at runtime.
|
||||
const styled = (styledDefault instanceof Function
|
||||
? styledDefault
|
||||
: (styledDefault as { default: typeof styledDefault }).default) as unknown as ThemedBaseStyledInterface<ComputedTheme>
|
||||
export default styled
|
||||
|
||||
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: 2022-02-11 04:07\n"
|
||||
"PO-Revision-Date: 2022-03-02 19:10\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: af_ZA\n"
|
||||
"Language-Team: Afrikaans\n"
|
||||
@@ -217,8 +217,8 @@ msgid "An error occurred when trying to execute this swap. You may need to incre
|
||||
msgstr "'N Fout het voorgekom tydens die uitvoering van hierdie ruil. U moet dalk u glyverdraagsaamheid verhoog. As dit nie werk nie, kan daar 'n onversoenbaarheid wees met die teken wat u verhandel. Opmerking: fooi vir oordrag en herbasis-tokens is nie versoenbaar met Uniswap V3 nie."
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
msgid "Approval pending <0/>"
|
||||
msgstr "Goedkeuring hangende <0/>"
|
||||
msgid "Approval pending"
|
||||
msgstr "Goedkeuring hangende"
|
||||
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
@@ -288,6 +288,10 @@ msgstr "Minstens {0} {1} en {2} {3} sal aan u beursie terugbetaal word weens die
|
||||
msgid "Auto"
|
||||
msgstr "Outomaties"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "Auto Router"
|
||||
msgstr "Outo-roeteerder"
|
||||
|
||||
#: src/components/Settings/index.tsx
|
||||
msgid "Auto Router API"
|
||||
msgstr "Auto Router API"
|
||||
@@ -747,6 +751,8 @@ msgstr "Voer geldige tekenadres in"
|
||||
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
msgid "Enter {0} amount"
|
||||
msgstr "Voer {0} bedrag in"
|
||||
|
||||
@@ -959,6 +965,8 @@ msgstr "Onvoldoende likiditeit in die swembad vir jou handel"
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/hooks/swap/useSwapInfo.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
@@ -1700,6 +1708,10 @@ msgstr "Ruil <0/> vir presies <1/>"
|
||||
msgid "Swap Anyway"
|
||||
msgstr "Ruil in elk geval"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap confirmed"
|
||||
msgstr "Ruil bevestig"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap details"
|
||||
msgstr "Ruil besonderhede uit"
|
||||
@@ -1713,6 +1725,10 @@ msgstr "Ruil presies <0/> vir <1/>"
|
||||
msgid "Swap failed: {0}"
|
||||
msgstr "Ruil misluk: {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap pending"
|
||||
msgstr "Ruil hangende"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap summary"
|
||||
msgstr "Ruil opsomming"
|
||||
@@ -1906,6 +1922,10 @@ msgstr "Transaksie ingedien"
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Transaksie voltooi in"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction confirmed"
|
||||
msgstr "Transaksie is bevestig"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
#: src/lib/components/Swap/Settings/TransactionTtlInput.tsx
|
||||
msgid "Transaction deadline"
|
||||
@@ -1920,10 +1940,6 @@ msgstr "Transaksie hangende"
|
||||
msgid "Transaction rejected."
|
||||
msgstr "Transaksie verwerp."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction submitted"
|
||||
msgstr "Transaksie ingedien"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalActionSelector.tsx
|
||||
msgid "Transfer Token"
|
||||
msgstr "Oordragtoken"
|
||||
@@ -2044,6 +2060,7 @@ msgstr "Nie-ondersteunde netwerk - skakel oor na 'n ander om handel te dryf."
|
||||
msgid "Untitled"
|
||||
msgstr "Naamloos"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Unwrap"
|
||||
msgstr "Maak oop"
|
||||
@@ -2052,6 +2069,22 @@ msgstr "Maak oop"
|
||||
msgid "Unwrap <0/> to {0}"
|
||||
msgstr "Pak <0/> tot {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap confirmed"
|
||||
msgstr "Ontwikkel bevestig"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrap native currency."
|
||||
msgstr "Ontwikkel inheemse geldeenheid."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap pending"
|
||||
msgstr "Ontwikkel hangende"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrapping native currency."
|
||||
msgstr "Ontwikkel inheemse geldeenheid."
|
||||
|
||||
#: src/pages/Vote/Landing.tsx
|
||||
msgid "Update Delegation"
|
||||
msgstr "Delegasie op te dateer"
|
||||
@@ -2220,6 +2253,7 @@ msgstr "Onttrek {0} UNI-V2"
|
||||
msgid "Withdrew UNI-V2!"
|
||||
msgstr "UNI-V2 onttrek!"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Wrap"
|
||||
msgstr "Draai toe"
|
||||
@@ -2228,6 +2262,22 @@ msgstr "Draai toe"
|
||||
msgid "Wrap <0/> to {0}"
|
||||
msgstr "Wikkel <0/> tot {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap confirmed"
|
||||
msgstr "Wrap bevestig"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrap native currency."
|
||||
msgstr "Wikkel inheemse geldeenheid."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap pending"
|
||||
msgstr "Wikkel hangende"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrapping native currency."
|
||||
msgstr "Omhul inheemse geldeenheid."
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Wrong Network"
|
||||
@@ -2443,9 +2493,13 @@ msgstr "via {0}"
|
||||
msgid "via {0} token list"
|
||||
msgstr "via {0} tekenlys"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "{0, plural, =1 {Best route via 1 hop} other {Best route via # hops}}"
|
||||
msgstr "{0, plural, =1 {Beste roete via 1 hop} other {Beste roete via # hops}}"
|
||||
|
||||
#: src/components/SearchModal/ImportToken.tsx
|
||||
msgid "{0, plural, one {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, one {Invoer token} other {Voer tokens in}}"
|
||||
msgid "{0, plural, =1 {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, =1 {Voer teken in} other {Voer tekens in}}"
|
||||
|
||||
#: src/components/RateToggle/index.tsx
|
||||
#: src/components/RateToggle/index.tsx
|
||||
|
||||
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: 2022-02-11 04:07\n"
|
||||
"PO-Revision-Date: 2022-03-02 19:10\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: ar_SA\n"
|
||||
"Language-Team: Arabic\n"
|
||||
@@ -217,8 +217,8 @@ msgid "An error occurred when trying to execute this swap. You may need to incre
|
||||
msgstr "حدث خطأ أثناء محاولة تنفيذ هذا التبادل. قد تحتاج إلى زيادة تحملك للانزلاق. إذا لم يفلح ذلك ، فقد يكون هناك عدم توافق مع الرمز الذي تتداوله. ملاحظة: رسوم النقل وإعادة الرموز المميزة غير متوافقة مع Uniswap V3."
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
msgid "Approval pending <0/>"
|
||||
msgstr "الموافقة معلقة <0/>"
|
||||
msgid "Approval pending"
|
||||
msgstr "في انتظار الموافقة"
|
||||
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
@@ -288,6 +288,10 @@ msgstr "سيتم استرداد {0} {1} و {2} {3} على الأقل إلى مح
|
||||
msgid "Auto"
|
||||
msgstr "تلقائي"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "Auto Router"
|
||||
msgstr "جهاز التوجيه التلقائي"
|
||||
|
||||
#: src/components/Settings/index.tsx
|
||||
msgid "Auto Router API"
|
||||
msgstr "API جهاز التوجيه التلقائي"
|
||||
@@ -747,6 +751,8 @@ msgstr "أدخل عنوان رمز صالح"
|
||||
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
msgid "Enter {0} amount"
|
||||
msgstr "أدخل مبلغ {0}"
|
||||
|
||||
@@ -959,6 +965,8 @@ msgstr "سيولة غير كافية في المجمع لتداولك"
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/hooks/swap/useSwapInfo.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
@@ -1700,6 +1708,10 @@ msgstr "استبدل <0 /> بـ <1 /> بالضبط"
|
||||
msgid "Swap Anyway"
|
||||
msgstr "مبادلة على أي حال"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap confirmed"
|
||||
msgstr "تم تأكيد المبادلة"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap details"
|
||||
msgstr "تفاصيل المبادلة"
|
||||
@@ -1713,6 +1725,10 @@ msgstr "استبدل بالضبط <0 /> بـ <1 />"
|
||||
msgid "Swap failed: {0}"
|
||||
msgstr "فشل المبادلة: {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap pending"
|
||||
msgstr "المبادلة معلقة"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap summary"
|
||||
msgstr "ملخص المبادلة"
|
||||
@@ -1906,6 +1922,10 @@ msgstr "تم إرسال المعاملة"
|
||||
msgid "Transaction completed in"
|
||||
msgstr "اكتملت المعاملة في"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction confirmed"
|
||||
msgstr "تم تأكيد الصفقة"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
#: src/lib/components/Swap/Settings/TransactionTtlInput.tsx
|
||||
msgid "Transaction deadline"
|
||||
@@ -1920,10 +1940,6 @@ msgstr "المعاملة معلقة"
|
||||
msgid "Transaction rejected."
|
||||
msgstr "الصفقة مرفوضة."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction submitted"
|
||||
msgstr "تم إرسال المعاملة"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalActionSelector.tsx
|
||||
msgid "Transfer Token"
|
||||
msgstr "رمز التحويل"
|
||||
@@ -2044,6 +2060,7 @@ msgstr "شبكة غير مدعومة - قم بالتبديل إلى شبكة أ
|
||||
msgid "Untitled"
|
||||
msgstr "بدون عنوان"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Unwrap"
|
||||
msgstr "Unwrap"
|
||||
@@ -2052,6 +2069,22 @@ msgstr "Unwrap"
|
||||
msgid "Unwrap <0/> to {0}"
|
||||
msgstr "قم بفك التفاف <0/> إلى {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap confirmed"
|
||||
msgstr "أكد Unwrap"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrap native currency."
|
||||
msgstr "فك العملة المحلية."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap pending"
|
||||
msgstr "فك التفاف معلق"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrapping native currency."
|
||||
msgstr "فك التفاف العملة المحلية."
|
||||
|
||||
#: src/pages/Vote/Landing.tsx
|
||||
msgid "Update Delegation"
|
||||
msgstr "تحديث التفويض"
|
||||
@@ -2220,6 +2253,7 @@ msgstr "سحب {0} UNI-V2"
|
||||
msgid "Withdrew UNI-V2!"
|
||||
msgstr "سحب UNI-V2!"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Wrap"
|
||||
msgstr "التفاف"
|
||||
@@ -2228,6 +2262,22 @@ msgstr "التفاف"
|
||||
msgid "Wrap <0/> to {0}"
|
||||
msgstr "لف من <0/> إلى {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap confirmed"
|
||||
msgstr "أكد التفاف"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrap native currency."
|
||||
msgstr "لف العملة المحلية."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap pending"
|
||||
msgstr "التفاف معلق"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrapping native currency."
|
||||
msgstr "التفاف العملة المحلية."
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Wrong Network"
|
||||
@@ -2443,9 +2493,13 @@ msgstr "عبر {0}"
|
||||
msgid "via {0} token list"
|
||||
msgstr "عبر قائمة الرموز {0}"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "{0, plural, =1 {Best route via 1 hop} other {Best route via # hops}}"
|
||||
msgstr "{0, plural, =1 {أفضل طريق عبر قفزة واحدة} other {أفضل مسار عبر # قفزات}}"
|
||||
|
||||
#: src/components/SearchModal/ImportToken.tsx
|
||||
msgid "{0, plural, one {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, one {استيراد رمز} other {استيراد رموز}}"
|
||||
msgid "{0, plural, =1 {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, =1 {رمز الاستيراد} other {استيراد الرموز}}"
|
||||
|
||||
#: src/components/RateToggle/index.tsx
|
||||
#: src/components/RateToggle/index.tsx
|
||||
|
||||
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: 2022-02-11 04:07\n"
|
||||
"PO-Revision-Date: 2022-03-02 19:11\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: ca_ES\n"
|
||||
"Language-Team: Catalan\n"
|
||||
@@ -217,8 +217,8 @@ msgid "An error occurred when trying to execute this swap. You may need to incre
|
||||
msgstr "S'ha produït un error en intentar executar aquest intercanvi. És possible que hàgiu d'augmentar la tolerància a la relliscada. Si això no funciona, és possible que hi hagi una incompatibilitat amb el testimoni que esteu negociant. Nota: els tokens de transferència i rebase no són compatibles amb Uniswap V3."
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
msgid "Approval pending <0/>"
|
||||
msgstr "Aprovació pendent <0/>"
|
||||
msgid "Approval pending"
|
||||
msgstr "Aprovació pendent"
|
||||
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
@@ -288,6 +288,10 @@ msgstr "Com a mínim {0} {1} i {2} {3} seran reemborsats a la cartera a causa de
|
||||
msgid "Auto"
|
||||
msgstr "Automàtic"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "Auto Router"
|
||||
msgstr "Encaminador automàtic"
|
||||
|
||||
#: src/components/Settings/index.tsx
|
||||
msgid "Auto Router API"
|
||||
msgstr "Auto Router API"
|
||||
@@ -747,6 +751,8 @@ msgstr "Introduïu una adreça de fitxa vàlida"
|
||||
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
msgid "Enter {0} amount"
|
||||
msgstr "Introduïu {0} import"
|
||||
|
||||
@@ -959,6 +965,8 @@ msgstr "Liquiditat insuficient al pool per al vostre comerç"
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/hooks/swap/useSwapInfo.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
@@ -1700,6 +1708,10 @@ msgstr "Canvieu <0 /> per <1 /> exactament"
|
||||
msgid "Swap Anyway"
|
||||
msgstr "Intercanviar de totes maneres"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap confirmed"
|
||||
msgstr "Canvi confirmat"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap details"
|
||||
msgstr "Intercanviar detalls"
|
||||
@@ -1713,6 +1725,10 @@ msgstr "Canvieu exactament <0 /> per <1 />"
|
||||
msgid "Swap failed: {0}"
|
||||
msgstr "Ha fallat l'intercanvi: {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap pending"
|
||||
msgstr "Canvi pendent"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap summary"
|
||||
msgstr "Resum d'intercanvi"
|
||||
@@ -1906,6 +1922,10 @@ msgstr "Transacció enviada"
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Transacció finalitzada el"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction confirmed"
|
||||
msgstr "Transacció confirmada"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
#: src/lib/components/Swap/Settings/TransactionTtlInput.tsx
|
||||
msgid "Transaction deadline"
|
||||
@@ -1920,10 +1940,6 @@ msgstr "Transacció pendent"
|
||||
msgid "Transaction rejected."
|
||||
msgstr "S'ha rebutjat la transacció."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction submitted"
|
||||
msgstr "Transacció enviada"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalActionSelector.tsx
|
||||
msgid "Transfer Token"
|
||||
msgstr "Transferir el testimoni"
|
||||
@@ -2044,6 +2060,7 @@ msgstr "Xarxa no compatible: canvieu a una altra per operar."
|
||||
msgid "Untitled"
|
||||
msgstr "Sense títol"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Unwrap"
|
||||
msgstr "Desembolicar"
|
||||
@@ -2052,6 +2069,22 @@ msgstr "Desembolicar"
|
||||
msgid "Unwrap <0/> to {0}"
|
||||
msgstr "Desembolica de <0/> a {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap confirmed"
|
||||
msgstr "Desembolcall confirmat"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrap native currency."
|
||||
msgstr "Desembolica la moneda nativa."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap pending"
|
||||
msgstr "Desembolcall pendent"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrapping native currency."
|
||||
msgstr "Desembolcall de la moneda nativa."
|
||||
|
||||
#: src/pages/Vote/Landing.tsx
|
||||
msgid "Update Delegation"
|
||||
msgstr "Actualitza la delegació"
|
||||
@@ -2220,6 +2253,7 @@ msgstr "Retirant {0} UNI-V2"
|
||||
msgid "Withdrew UNI-V2!"
|
||||
msgstr "Va retirar UNI-V2!"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Wrap"
|
||||
msgstr "Embolicar"
|
||||
@@ -2228,6 +2262,22 @@ msgstr "Embolicar"
|
||||
msgid "Wrap <0/> to {0}"
|
||||
msgstr "Embolcalla de <0/> a {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap confirmed"
|
||||
msgstr "Embolcall confirmat"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrap native currency."
|
||||
msgstr "Embolica la moneda nativa."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap pending"
|
||||
msgstr "Embolcall pendent"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrapping native currency."
|
||||
msgstr "Embolcall de moneda nativa."
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Wrong Network"
|
||||
@@ -2443,9 +2493,13 @@ msgstr "mitjançant {0}"
|
||||
msgid "via {0} token list"
|
||||
msgstr "mitjançant la llista de tokens {0}"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "{0, plural, =1 {Best route via 1 hop} other {Best route via # hops}}"
|
||||
msgstr "{0, plural, =1 {La millor ruta amb 1 salt} other {La millor ruta amb # hops}}"
|
||||
|
||||
#: src/components/SearchModal/ImportToken.tsx
|
||||
msgid "{0, plural, one {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, one {Importa el testimoni.} other {Importeu fitxes.}}"
|
||||
msgid "{0, plural, =1 {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, =1 {Fitxa d'importació} other {Importa fitxes}}"
|
||||
|
||||
#: src/components/RateToggle/index.tsx
|
||||
#: src/components/RateToggle/index.tsx
|
||||
|
||||
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: 2022-02-11 04:07\n"
|
||||
"PO-Revision-Date: 2022-03-02 19:11\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: cs_CZ\n"
|
||||
"Language-Team: Czech\n"
|
||||
@@ -217,8 +217,8 @@ msgid "An error occurred when trying to execute this swap. You may need to incre
|
||||
msgstr "Při pokusu o provedení tohoto swapu došlo k chybě. Možná budete muset zvýšit toleranci skluzu. Pokud to nefunguje, může dojít k nekompatibilitě s tokenem, s nímž obchodujete. Poznámka: Poplatky za tokeny za převody a rebase nejsou kompatibilní s Uniswap V3."
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
msgid "Approval pending <0/>"
|
||||
msgstr "Čeká na schválení <0/>"
|
||||
msgid "Approval pending"
|
||||
msgstr "Čeká se na schválení"
|
||||
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
@@ -288,6 +288,10 @@ msgstr "Alespoň {0} {1} a {2} {3} budou kvůli vybranému cenovému rozpětí v
|
||||
msgid "Auto"
|
||||
msgstr "Automaticky"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "Auto Router"
|
||||
msgstr "Auto Router"
|
||||
|
||||
#: src/components/Settings/index.tsx
|
||||
msgid "Auto Router API"
|
||||
msgstr "Auto Router API"
|
||||
@@ -747,6 +751,8 @@ msgstr "Zadejte platnou adresu žetonu"
|
||||
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
msgid "Enter {0} amount"
|
||||
msgstr "Zadejte částku {0}"
|
||||
|
||||
@@ -959,6 +965,8 @@ msgstr "Nedostatečná likvidita v poolu pro váš obchod"
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/hooks/swap/useSwapInfo.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
@@ -1700,6 +1708,10 @@ msgstr "Vyměňte <0/> za přesně <1/>"
|
||||
msgid "Swap Anyway"
|
||||
msgstr "Přesto prohodit"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap confirmed"
|
||||
msgstr "Výměna potvrzena"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap details"
|
||||
msgstr "Vyměňte si detaily"
|
||||
@@ -1713,6 +1725,10 @@ msgstr "Vyměňte přesně <0/> za <1/>"
|
||||
msgid "Swap failed: {0}"
|
||||
msgstr "Výměna se nezdařila: {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap pending"
|
||||
msgstr "Čeká se na výměnu"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap summary"
|
||||
msgstr "Swap shrnutí"
|
||||
@@ -1906,6 +1922,10 @@ msgstr "Transakce odeslána"
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Transakce dokončena v"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction confirmed"
|
||||
msgstr "Transakce potvrzena"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
#: src/lib/components/Swap/Settings/TransactionTtlInput.tsx
|
||||
msgid "Transaction deadline"
|
||||
@@ -1920,10 +1940,6 @@ msgstr "Transakce čeká na vyřízení"
|
||||
msgid "Transaction rejected."
|
||||
msgstr "Transakce zamítnuta."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction submitted"
|
||||
msgstr "Transakce odeslána"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalActionSelector.tsx
|
||||
msgid "Transfer Token"
|
||||
msgstr "Přenosový token"
|
||||
@@ -2044,6 +2060,7 @@ msgstr "Nepodporovaná síť – přepněte na jinou a obchodujte."
|
||||
msgid "Untitled"
|
||||
msgstr "Nepojmenovaná"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Unwrap"
|
||||
msgstr "Rozbalit"
|
||||
@@ -2052,6 +2069,22 @@ msgstr "Rozbalit"
|
||||
msgid "Unwrap <0/> to {0}"
|
||||
msgstr "Rozbalte <0/> až {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap confirmed"
|
||||
msgstr "Rozbalení potvrzeno"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrap native currency."
|
||||
msgstr "Rozbalte nativní měnu."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap pending"
|
||||
msgstr "Rozbalení čeká na vyřízení"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrapping native currency."
|
||||
msgstr "Rozbalení nativní měny."
|
||||
|
||||
#: src/pages/Vote/Landing.tsx
|
||||
msgid "Update Delegation"
|
||||
msgstr "Aktualizovat delegaci"
|
||||
@@ -2220,6 +2253,7 @@ msgstr "Výběr {0} UNI-V2"
|
||||
msgid "Withdrew UNI-V2!"
|
||||
msgstr "UNI-V2 vybráno!"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Wrap"
|
||||
msgstr "Zalomit"
|
||||
@@ -2228,6 +2262,22 @@ msgstr "Zalomit"
|
||||
msgid "Wrap <0/> to {0}"
|
||||
msgstr "Zabalit <0/> až {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap confirmed"
|
||||
msgstr "Zabalení potvrzeno"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrap native currency."
|
||||
msgstr "Zabalit nativní měnu."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap pending"
|
||||
msgstr "Čeká se na zabalení"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrapping native currency."
|
||||
msgstr "Balení nativní měny."
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Wrong Network"
|
||||
@@ -2443,9 +2493,13 @@ msgstr "přes {0}"
|
||||
msgid "via {0} token list"
|
||||
msgstr "prostřednictvím seznamu žetonů {0}"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "{0, plural, =1 {Best route via 1 hop} other {Best route via # hops}}"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/SearchModal/ImportToken.tsx
|
||||
msgid "{0, plural, one {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, one {Importovat žeton} other {Importovat žetony}}"
|
||||
msgid "{0, plural, =1 {Import token} other {Import tokens}}"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/RateToggle/index.tsx
|
||||
#: src/components/RateToggle/index.tsx
|
||||
|
||||
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: 2022-02-11 04:07\n"
|
||||
"PO-Revision-Date: 2022-03-02 19:11\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: da_DK\n"
|
||||
"Language-Team: Danish\n"
|
||||
@@ -217,8 +217,8 @@ msgid "An error occurred when trying to execute this swap. You may need to incre
|
||||
msgstr "Der opstod en fejl under forsøg på at udføre denne swap. Det kan være nødvendigt at øge din glidningstolerance. Hvis det ikke virker, kan der være en uforenelighed med det token, du handler. Bemærk: gebyr ved overførsel og rebase-tokens er inkompatibelt med Uniswap V3."
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
msgid "Approval pending <0/>"
|
||||
msgstr "Godkendelse afventer <0/>"
|
||||
msgid "Approval pending"
|
||||
msgstr "Godkendelse afventer"
|
||||
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
@@ -288,6 +288,10 @@ msgstr "Mindst {0} {1} og {2} {3} vil blive refunderet til din tegnebog på grun
|
||||
msgid "Auto"
|
||||
msgstr "Automatisk"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "Auto Router"
|
||||
msgstr "Auto router"
|
||||
|
||||
#: src/components/Settings/index.tsx
|
||||
msgid "Auto Router API"
|
||||
msgstr "Auto Router API"
|
||||
@@ -747,6 +751,8 @@ msgstr "Indtast gyldig tokenadresse"
|
||||
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
msgid "Enter {0} amount"
|
||||
msgstr "Indtast {0} beløb"
|
||||
|
||||
@@ -959,6 +965,8 @@ msgstr "Utilstrækkelig likviditet i puljen til din handel"
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/hooks/swap/useSwapInfo.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
@@ -1700,6 +1708,10 @@ msgstr "Skift <0/> for nøjagtigt <1/>"
|
||||
msgid "Swap Anyway"
|
||||
msgstr "Ombyt alligevel"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap confirmed"
|
||||
msgstr "Bytte bekræftet"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap details"
|
||||
msgstr "Byt detaljer"
|
||||
@@ -1713,6 +1725,10 @@ msgstr "Skift nøjagtigt <0/> for <1/>"
|
||||
msgid "Swap failed: {0}"
|
||||
msgstr "Skift mislykkedes: {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap pending"
|
||||
msgstr "Swap afventer"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap summary"
|
||||
msgstr "Swap oversigt"
|
||||
@@ -1906,6 +1922,10 @@ msgstr "Transaktion indsendt"
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Transaktion gennemført i"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction confirmed"
|
||||
msgstr "Transaktionen bekræftet"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
#: src/lib/components/Swap/Settings/TransactionTtlInput.tsx
|
||||
msgid "Transaction deadline"
|
||||
@@ -1920,10 +1940,6 @@ msgstr "Transaktion afventer"
|
||||
msgid "Transaction rejected."
|
||||
msgstr "Transaktionen blev afvist."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction submitted"
|
||||
msgstr "Transaktion indsendt"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalActionSelector.tsx
|
||||
msgid "Transfer Token"
|
||||
msgstr "Overførselstoken"
|
||||
@@ -2044,6 +2060,7 @@ msgstr "Ikke-understøttet netværk - skift til et andet for at handle."
|
||||
msgid "Untitled"
|
||||
msgstr "Unavngivet"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Unwrap"
|
||||
msgstr "Pak ud"
|
||||
@@ -2052,6 +2069,22 @@ msgstr "Pak ud"
|
||||
msgid "Unwrap <0/> to {0}"
|
||||
msgstr "Pak <0/> til {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap confirmed"
|
||||
msgstr "Udpakning bekræftet"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrap native currency."
|
||||
msgstr "Pak den oprindelige valuta ud."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap pending"
|
||||
msgstr "Udpakning afventer"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrapping native currency."
|
||||
msgstr "Udpakning af indfødt valuta."
|
||||
|
||||
#: src/pages/Vote/Landing.tsx
|
||||
msgid "Update Delegation"
|
||||
msgstr "Opdater delegation"
|
||||
@@ -2220,6 +2253,7 @@ msgstr "Udbetal {0} UNI-V2"
|
||||
msgid "Withdrew UNI-V2!"
|
||||
msgstr "Hæv UNI-V2!"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Wrap"
|
||||
msgstr "Ombryd"
|
||||
@@ -2228,6 +2262,22 @@ msgstr "Ombryd"
|
||||
msgid "Wrap <0/> to {0}"
|
||||
msgstr "Ombryd <0/> til {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap confirmed"
|
||||
msgstr "Indpakning bekræftet"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrap native currency."
|
||||
msgstr "Indpak den oprindelige valuta."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap pending"
|
||||
msgstr "Indpakning afventer"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrapping native currency."
|
||||
msgstr "Indpakning af indfødt valuta."
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Wrong Network"
|
||||
@@ -2443,9 +2493,13 @@ msgstr "via {0}"
|
||||
msgid "via {0} token list"
|
||||
msgstr "via {0} token-liste"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "{0, plural, =1 {Best route via 1 hop} other {Best route via # hops}}"
|
||||
msgstr "{0, plural, =1 {Bedste rute via 1 hop} other {Bedste rute via # hop}}"
|
||||
|
||||
#: src/components/SearchModal/ImportToken.tsx
|
||||
msgid "{0, plural, one {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, one {Importer token} other {Importer tokens}}"
|
||||
msgid "{0, plural, =1 {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, =1 {Importer token} other {Importer tokens}}"
|
||||
|
||||
#: src/components/RateToggle/index.tsx
|
||||
#: src/components/RateToggle/index.tsx
|
||||
|
||||
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: 2022-02-11 04:07\n"
|
||||
"PO-Revision-Date: 2022-03-02 19:11\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: de_DE\n"
|
||||
"Language-Team: German\n"
|
||||
@@ -217,8 +217,8 @@ msgid "An error occurred when trying to execute this swap. You may need to incre
|
||||
msgstr "Beim Versuch, diesen Swap auszuführen, ist ein Fehler aufgetreten. Möglicherweise müssen Sie Ihre Schlupftoleranz erhöhen. Wenn dies nicht funktioniert, liegt möglicherweise eine Inkompatibilität mit dem Token vor, den Sie handeln. Hinweis: Gebühren für Transfer- und Rebase-Token sind nicht mit Uniswap V3 kompatibel."
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
msgid "Approval pending <0/>"
|
||||
msgstr "Genehmigung ausstehend <0/>"
|
||||
msgid "Approval pending"
|
||||
msgstr "Bestätigung ausstehend"
|
||||
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
@@ -288,6 +288,10 @@ msgstr "Mindestens {0} {1} und {2} {3} werden aufgrund des gewählten Preisberei
|
||||
msgid "Auto"
|
||||
msgstr "Autom."
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "Auto Router"
|
||||
msgstr "Automatischer Router"
|
||||
|
||||
#: src/components/Settings/index.tsx
|
||||
msgid "Auto Router API"
|
||||
msgstr "Auto-Router-API"
|
||||
@@ -747,6 +751,8 @@ msgstr "Gültige Token-Adresse eingeben"
|
||||
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
msgid "Enter {0} amount"
|
||||
msgstr "{0} Betrag eingeben"
|
||||
|
||||
@@ -959,6 +965,8 @@ msgstr "Unzureichende Liquidität im Pool für Ihren Handel"
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/hooks/swap/useSwapInfo.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
@@ -1700,6 +1708,10 @@ msgstr "Tausche <0/> gegen genau <1/>"
|
||||
msgid "Swap Anyway"
|
||||
msgstr "Trotzdem tauschen"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap confirmed"
|
||||
msgstr "Tausch bestätigt"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap details"
|
||||
msgstr "Swap-Details"
|
||||
@@ -1713,6 +1725,10 @@ msgstr "Tausche genau <0/> gegen <1/>"
|
||||
msgid "Swap failed: {0}"
|
||||
msgstr "Tausch fehlgeschlagen: {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap pending"
|
||||
msgstr "Tausch anstehend"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap summary"
|
||||
msgstr "Swap-Zusammenfassung"
|
||||
@@ -1906,6 +1922,10 @@ msgstr "Transaktion gesendet"
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Transaktion abgeschlossen in"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction confirmed"
|
||||
msgstr "Transaktion bestätigt"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
#: src/lib/components/Swap/Settings/TransactionTtlInput.tsx
|
||||
msgid "Transaction deadline"
|
||||
@@ -1920,10 +1940,6 @@ msgstr "Transaktion ausstehend"
|
||||
msgid "Transaction rejected."
|
||||
msgstr "Transaktion abgelehnt."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction submitted"
|
||||
msgstr "Transaktion übermittelt"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalActionSelector.tsx
|
||||
msgid "Transfer Token"
|
||||
msgstr "Token übertragen"
|
||||
@@ -2044,6 +2060,7 @@ msgstr "Nicht unterstütztes Netzwerk - Wechseln Sie zu einem anderen, um zu han
|
||||
msgid "Untitled"
|
||||
msgstr "Ohne Titel"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Unwrap"
|
||||
msgstr "Unwrap"
|
||||
@@ -2052,6 +2069,22 @@ msgstr "Unwrap"
|
||||
msgid "Unwrap <0/> to {0}"
|
||||
msgstr "Auspacken <0/> bis {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap confirmed"
|
||||
msgstr "Auspacken bestätigt"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrap native currency."
|
||||
msgstr "Packen Sie die einheimische Währung aus."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap pending"
|
||||
msgstr "Auspacken steht an"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrapping native currency."
|
||||
msgstr "Auspacken der einheimischen Währung."
|
||||
|
||||
#: src/pages/Vote/Landing.tsx
|
||||
msgid "Update Delegation"
|
||||
msgstr "Delegation aktualisieren"
|
||||
@@ -2220,6 +2253,7 @@ msgstr "Hebe {0} UNI-V2 ab"
|
||||
msgid "Withdrew UNI-V2!"
|
||||
msgstr "UNI-V2 abgehoben!"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Wrap"
|
||||
msgstr "Wrap"
|
||||
@@ -2228,6 +2262,22 @@ msgstr "Wrap"
|
||||
msgid "Wrap <0/> to {0}"
|
||||
msgstr "Wrap <0/> bis {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap confirmed"
|
||||
msgstr "Wrap bestätigt"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrap native currency."
|
||||
msgstr "Wickeln Sie die einheimische Währung ein."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap pending"
|
||||
msgstr "Umbruch ausstehend"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrapping native currency."
|
||||
msgstr "Verpackung der einheimischen Währung."
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Wrong Network"
|
||||
@@ -2443,9 +2493,13 @@ msgstr "über {0}"
|
||||
msgid "via {0} token list"
|
||||
msgstr "über {0} Token-Liste"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "{0, plural, =1 {Best route via 1 hop} other {Best route via # hops}}"
|
||||
msgstr "{0, plural, =1 {Beste Route über 1 Hop} other {Beste Route über # Hops}}"
|
||||
|
||||
#: src/components/SearchModal/ImportToken.tsx
|
||||
msgid "{0, plural, one {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, one {Token importieren} other {Token importieren}}"
|
||||
msgid "{0, plural, =1 {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, =1 {Token importieren} other {Token importieren}}"
|
||||
|
||||
#: src/components/RateToggle/index.tsx
|
||||
#: src/components/RateToggle/index.tsx
|
||||
|
||||
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: 2022-02-11 04:07\n"
|
||||
"PO-Revision-Date: 2022-03-02 19:11\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: el_GR\n"
|
||||
"Language-Team: Greek\n"
|
||||
@@ -217,8 +217,8 @@ msgid "An error occurred when trying to execute this swap. You may need to incre
|
||||
msgstr "Παρουσιάστηκε σφάλμα κατά την προσπάθεια εκτέλεσης αυτής της ανταλλαγής. Ίσως χρειαστεί να αυξήσετε την ανοχή ολίσθησης. Εάν αυτό δεν λειτουργεί, μπορεί να υπάρχει ασυμβατότητα με το διακριτικό που διαπραγματεύεστε. Σημείωση: τα τέλη μεταφοράς και επαναφοράς δεν είναι συμβατά με το Uniswap V3."
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
msgid "Approval pending <0/>"
|
||||
msgstr "Η έγκριση εκκρεμεί <0/>"
|
||||
msgid "Approval pending"
|
||||
msgstr "Η έγκριση εκκρεμεί"
|
||||
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
@@ -288,6 +288,10 @@ msgstr "Τουλάχιστον {0} {1} και {2} {3} θα επιστραφού
|
||||
msgid "Auto"
|
||||
msgstr "Αυτόματο"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "Auto Router"
|
||||
msgstr "Αυτόματος δρομολογητής"
|
||||
|
||||
#: src/components/Settings/index.tsx
|
||||
msgid "Auto Router API"
|
||||
msgstr "Auto Router API"
|
||||
@@ -747,6 +751,8 @@ msgstr "Εισάγετε μια διεύθυνση έγκυρης μάρκας"
|
||||
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
msgid "Enter {0} amount"
|
||||
msgstr "Εισαγάγετε {0} ποσό"
|
||||
|
||||
@@ -959,6 +965,8 @@ msgstr "Ανεπαρκής ρευστότητα στο pool για τις συν
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/hooks/swap/useSwapInfo.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
@@ -1700,6 +1708,10 @@ msgstr "Αντικαταστήστε <0/> με ακριβώς <1/>"
|
||||
msgid "Swap Anyway"
|
||||
msgstr "Ανταλλάξτε ούτως ή άλλως"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap confirmed"
|
||||
msgstr "Η ανταλλαγή επιβεβαιώθηκε"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap details"
|
||||
msgstr "Ανταλλαγή λεπτομερειών"
|
||||
@@ -1713,6 +1725,10 @@ msgstr "Αντικαταστήστε ακριβώς <0/> με <1/>"
|
||||
msgid "Swap failed: {0}"
|
||||
msgstr "Η ανταλλαγή απέτυχε: {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap pending"
|
||||
msgstr "Ανταλλαγή σε εκκρεμότητα"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap summary"
|
||||
msgstr "Περίληψη ανταλλαγής"
|
||||
@@ -1906,6 +1922,10 @@ msgstr "Συναλλαγή Υποβλήθηκε"
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Η συναλλαγή ολοκληρώθηκε στις"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction confirmed"
|
||||
msgstr "Η συναλλαγή επιβεβαιώθηκε"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
#: src/lib/components/Swap/Settings/TransactionTtlInput.tsx
|
||||
msgid "Transaction deadline"
|
||||
@@ -1920,10 +1940,6 @@ msgstr "Συναλλαγή σε εκκρεμότητα"
|
||||
msgid "Transaction rejected."
|
||||
msgstr "Η συναλλαγή απορρίφθηκε."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction submitted"
|
||||
msgstr "Η συναλλαγή υποβλήθηκε"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalActionSelector.tsx
|
||||
msgid "Transfer Token"
|
||||
msgstr "Μεταφορά κουπονιού"
|
||||
@@ -2044,6 +2060,7 @@ msgstr "Μη υποστηριζόμενο δίκτυο - μεταβείτε σε
|
||||
msgid "Untitled"
|
||||
msgstr "Χωρίς τίτλο"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Unwrap"
|
||||
msgstr "Αποκαλύπτω"
|
||||
@@ -2052,6 +2069,22 @@ msgstr "Αποκαλύπτω"
|
||||
msgid "Unwrap <0/> to {0}"
|
||||
msgstr "Ξετυλίξτε <0/> προς {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap confirmed"
|
||||
msgstr "Το ξετύλιγμα επιβεβαιώθηκε"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrap native currency."
|
||||
msgstr "Ξετυλίξτε το εγγενές νόμισμα."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap pending"
|
||||
msgstr "Εκκρεμεί το ξετύλιγμα"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrapping native currency."
|
||||
msgstr "Ξετυλίγοντας το εγγενές νόμισμα."
|
||||
|
||||
#: src/pages/Vote/Landing.tsx
|
||||
msgid "Update Delegation"
|
||||
msgstr "Ενημέρωση Ανάθεσης"
|
||||
@@ -2220,6 +2253,7 @@ msgstr "Ανάληψη {0} UNI-V2"
|
||||
msgid "Withdrew UNI-V2!"
|
||||
msgstr "Πραγματοποιήθηκε ανάληψη UNI-V2!"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Wrap"
|
||||
msgstr "Καλύπτω"
|
||||
@@ -2228,6 +2262,22 @@ msgstr "Καλύπτω"
|
||||
msgid "Wrap <0/> to {0}"
|
||||
msgstr "Τυλίξτε <0/> προς {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap confirmed"
|
||||
msgstr "Η αναδίπλωση επιβεβαιώθηκε"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrap native currency."
|
||||
msgstr "Τυλίξτε το εγγενές νόμισμα."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap pending"
|
||||
msgstr "Ανακύκλωση σε εκκρεμότητα"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrapping native currency."
|
||||
msgstr "Αναδίπλωση εγγενούς νομίσματος."
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Wrong Network"
|
||||
@@ -2443,9 +2493,13 @@ msgstr "μέσω {0}"
|
||||
msgid "via {0} token list"
|
||||
msgstr "μέσω {0} λίστας μάρκας"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "{0, plural, =1 {Best route via 1 hop} other {Best route via # hops}}"
|
||||
msgstr "{0, plural, =1 {Η καλύτερη διαδρομή μέσω 1 hop} other {Η καλύτερη διαδρομή μέσω # λυκίσκου}}"
|
||||
|
||||
#: src/components/SearchModal/ImportToken.tsx
|
||||
msgid "{0, plural, one {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, one {Εισαγωγή διακριτικού} other {Εισαγωγή διακριτικών}}"
|
||||
msgid "{0, plural, =1 {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, =1 {Εισαγωγή διακριτικού} other {Εισαγάγετε μάρκες}}"
|
||||
|
||||
#: src/components/RateToggle/index.tsx
|
||||
#: src/components/RateToggle/index.tsx
|
||||
|
||||
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: 2022-02-11 04:07\n"
|
||||
"PO-Revision-Date: 2022-03-02 19:11\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: es_ES\n"
|
||||
"Language-Team: Spanish\n"
|
||||
@@ -217,8 +217,8 @@ msgid "An error occurred when trying to execute this swap. You may need to incre
|
||||
msgstr "Se produjo un error al intentar ejecutar este intercambio. Es posible que deba aumentar su tolerancia al deslizamiento. Si eso no funciona, puede haber una incompatibilidad con el token que está negociando. Nota: la tarifa de transferencia y los tokens de rebase son incompatibles con Uniswap V3."
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
msgid "Approval pending <0/>"
|
||||
msgstr "Aprobación pendiente <0/>"
|
||||
msgid "Approval pending"
|
||||
msgstr "Aprobación pendiente"
|
||||
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
@@ -288,6 +288,10 @@ msgstr "Al menos {0} {1} y {2} {3} serán reembolsados a su cartera debido al ra
|
||||
msgid "Auto"
|
||||
msgstr "Auto"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "Auto Router"
|
||||
msgstr "Enrutador automático"
|
||||
|
||||
#: src/components/Settings/index.tsx
|
||||
msgid "Auto Router API"
|
||||
msgstr "API de enrutador automático"
|
||||
@@ -747,6 +751,8 @@ msgstr "Introduzca una dirección de token válida"
|
||||
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
msgid "Enter {0} amount"
|
||||
msgstr "Ingrese {0} monto"
|
||||
|
||||
@@ -959,6 +965,8 @@ msgstr "Liquidez insuficiente en el grupo para su operación"
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/hooks/swap/useSwapInfo.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
@@ -1700,6 +1708,10 @@ msgstr "Cambiar <0 /> por exactamente <1 />"
|
||||
msgid "Swap Anyway"
|
||||
msgstr "Intercambiar de todos modos"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap confirmed"
|
||||
msgstr "Intercambio confirmado"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap details"
|
||||
msgstr "Intercambiar detalles"
|
||||
@@ -1713,6 +1725,10 @@ msgstr "Cambiar exactamente <0 /> por <1 />"
|
||||
msgid "Swap failed: {0}"
|
||||
msgstr "Error de intercambio: {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap pending"
|
||||
msgstr "Intercambio pendiente"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap summary"
|
||||
msgstr "Resumen de intercambio"
|
||||
@@ -1906,6 +1922,10 @@ msgstr "Transacción enviada"
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Transacción completada en"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction confirmed"
|
||||
msgstr "Transacción confirmada"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
#: src/lib/components/Swap/Settings/TransactionTtlInput.tsx
|
||||
msgid "Transaction deadline"
|
||||
@@ -1920,10 +1940,6 @@ msgstr "Transacción pendiente"
|
||||
msgid "Transaction rejected."
|
||||
msgstr "Transacción rechazada."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction submitted"
|
||||
msgstr "Transacción enviada"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalActionSelector.tsx
|
||||
msgid "Transfer Token"
|
||||
msgstr "Token de transferencia"
|
||||
@@ -2044,6 +2060,7 @@ msgstr "Red no admitida: cambie a otra para comerciar."
|
||||
msgid "Untitled"
|
||||
msgstr "Intitulado"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Unwrap"
|
||||
msgstr "Unwrap"
|
||||
@@ -2052,6 +2069,22 @@ msgstr "Unwrap"
|
||||
msgid "Unwrap <0/> to {0}"
|
||||
msgstr "Desenvolver <0/> a {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap confirmed"
|
||||
msgstr "Desenvolver confirmado"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrap native currency."
|
||||
msgstr "Desenvuelva la moneda nativa."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap pending"
|
||||
msgstr "Desenvolver pendiente"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrapping native currency."
|
||||
msgstr "Desenvolviendo la moneda nativa."
|
||||
|
||||
#: src/pages/Vote/Landing.tsx
|
||||
msgid "Update Delegation"
|
||||
msgstr "Actualizar delegación"
|
||||
@@ -2220,6 +2253,7 @@ msgstr "Retirando {0} UNI-V2"
|
||||
msgid "Withdrew UNI-V2!"
|
||||
msgstr "¡Retirado UNI-V2!"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Wrap"
|
||||
msgstr "Envoltura"
|
||||
@@ -2228,6 +2262,22 @@ msgstr "Envoltura"
|
||||
msgid "Wrap <0/> to {0}"
|
||||
msgstr "Envuelva <0/> a {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap confirmed"
|
||||
msgstr "Envoltura confirmada"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrap native currency."
|
||||
msgstr "Envuelva la moneda nativa."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap pending"
|
||||
msgstr "Envoltura pendiente"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrapping native currency."
|
||||
msgstr "Envolviendo moneda nativa."
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Wrong Network"
|
||||
@@ -2443,9 +2493,13 @@ msgstr "vía {0}"
|
||||
msgid "via {0} token list"
|
||||
msgstr "a través de la lista de fichas {0}"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "{0, plural, =1 {Best route via 1 hop} other {Best route via # hops}}"
|
||||
msgstr "{0, plural, =1 {¡La mejor ruta a través de 1 salto} other {¡La mejor ruta a través de #hops}}"
|
||||
|
||||
#: src/components/SearchModal/ImportToken.tsx
|
||||
msgid "{0, plural, one {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, one {Importar token} other {Importa tokens}}"
|
||||
msgid "{0, plural, =1 {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, =1 {Ficha de importación} other {¡Importar fichas}}"
|
||||
|
||||
#: src/components/RateToggle/index.tsx
|
||||
#: src/components/RateToggle/index.tsx
|
||||
|
||||
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: 2022-02-11 04:07\n"
|
||||
"PO-Revision-Date: 2022-03-02 19:11\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: fi_FI\n"
|
||||
"Language-Team: Finnish\n"
|
||||
@@ -217,8 +217,8 @@ msgid "An error occurred when trying to execute this swap. You may need to incre
|
||||
msgstr "Tapahtui virhe yritettäessä suorittaa tämä vaihto. Saatat joutua lisäämään luistonsietokykyäsi. Jos se ei toimi, kaupankäynnin kohteena olevan tunnuksen kanssa saattaa olla ristiriita. Huomautus: siirto- ja uudelleentase-tunnusten maksu ei ole yhteensopiva Uniswap V3: n kanssa."
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
msgid "Approval pending <0/>"
|
||||
msgstr "Hyväksyntä odottaa <0/>"
|
||||
msgid "Approval pending"
|
||||
msgstr "Hyväksyntä odottaa"
|
||||
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
@@ -288,6 +288,10 @@ msgstr "Vähintään {0} {1} ja {2} {3} palautetaan lompakkoosi valitun hinta-al
|
||||
msgid "Auto"
|
||||
msgstr "Automaattinen"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "Auto Router"
|
||||
msgstr "Automaattinen reititin"
|
||||
|
||||
#: src/components/Settings/index.tsx
|
||||
msgid "Auto Router API"
|
||||
msgstr "Auto Router API"
|
||||
@@ -747,6 +751,8 @@ msgstr "Syötä kelvollinen rahakeosoite"
|
||||
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
msgid "Enter {0} amount"
|
||||
msgstr "Syötä {0} summa"
|
||||
|
||||
@@ -959,6 +965,8 @@ msgstr "Poolissa ei ole tarpeeksi likviditeettiä kauppaasi varten"
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/hooks/swap/useSwapInfo.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
@@ -1700,6 +1708,10 @@ msgstr "Vaihda <0/> täsmälleen <1/>"
|
||||
msgid "Swap Anyway"
|
||||
msgstr "Vaihda silti"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap confirmed"
|
||||
msgstr "Vaihto varmistettu"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap details"
|
||||
msgstr "Vaihda tiedot"
|
||||
@@ -1713,6 +1725,10 @@ msgstr "Vaihda täsmälleen <0/> arvoon <1/>"
|
||||
msgid "Swap failed: {0}"
|
||||
msgstr "Vaihto epäonnistui: {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap pending"
|
||||
msgstr "Vaihto vireillä"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap summary"
|
||||
msgstr "Yhteenveto vaihdosta"
|
||||
@@ -1906,6 +1922,10 @@ msgstr "Tapahtuma lähetetty"
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Kauppa suoritettu vuonna"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction confirmed"
|
||||
msgstr "Kauppa vahvistettu"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
#: src/lib/components/Swap/Settings/TransactionTtlInput.tsx
|
||||
msgid "Transaction deadline"
|
||||
@@ -1920,10 +1940,6 @@ msgstr "Tapahtuma vireillä"
|
||||
msgid "Transaction rejected."
|
||||
msgstr "Tapahtuma hylätty."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction submitted"
|
||||
msgstr "Tapahtuma lähetetty"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalActionSelector.tsx
|
||||
msgid "Transfer Token"
|
||||
msgstr "Siirtotunnus"
|
||||
@@ -2044,6 +2060,7 @@ msgstr "Ei tuettu verkko - vaihda toiseen käydäksesi kauppaa."
|
||||
msgid "Untitled"
|
||||
msgstr "Nimetön"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Unwrap"
|
||||
msgstr "Unwrap"
|
||||
@@ -2052,6 +2069,22 @@ msgstr "Unwrap"
|
||||
msgid "Unwrap <0/> to {0}"
|
||||
msgstr "Pakkaus <0/> kohteeseen {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap confirmed"
|
||||
msgstr "Purkaminen vahvistettu"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrap native currency."
|
||||
msgstr "Pura kotivaluutta."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap pending"
|
||||
msgstr "Purkaminen odottaa"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrapping native currency."
|
||||
msgstr "Kotimaan valuutan purkaminen."
|
||||
|
||||
#: src/pages/Vote/Landing.tsx
|
||||
msgid "Update Delegation"
|
||||
msgstr "Päivitä delegointi"
|
||||
@@ -2220,6 +2253,7 @@ msgstr "Vedetään pois {0} UNI-V2"
|
||||
msgid "Withdrew UNI-V2!"
|
||||
msgstr "UNI-V2 vedetty pois!"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Wrap"
|
||||
msgstr "Wrap"
|
||||
@@ -2228,6 +2262,22 @@ msgstr "Wrap"
|
||||
msgid "Wrap <0/> to {0}"
|
||||
msgstr "Wrap <0/> kohteeseen {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap confirmed"
|
||||
msgstr "Wrap vahvistettu"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrap native currency."
|
||||
msgstr "Kääri alkuperäinen valuutta."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap pending"
|
||||
msgstr "Wrap odottaa"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrapping native currency."
|
||||
msgstr "Kotimaan valuutan kääriminen."
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Wrong Network"
|
||||
@@ -2443,9 +2493,13 @@ msgstr "kohteen {0} kautta"
|
||||
msgid "via {0} token list"
|
||||
msgstr "rahakeluettelon {0} kautta"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "{0, plural, =1 {Best route via 1 hop} other {Best route via # hops}}"
|
||||
msgstr "{0, plural, =1 {Paras reitti yhden hypyn kautta} other {Paras reitti # hopin kautta}}"
|
||||
|
||||
#: src/components/SearchModal/ImportToken.tsx
|
||||
msgid "{0, plural, one {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, one {Tuo rahake} other {Tuo rahakkeita}}"
|
||||
msgid "{0, plural, =1 {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, =1 {Tuo tunnus} other {Tuo tunnuksia}}"
|
||||
|
||||
#: src/components/RateToggle/index.tsx
|
||||
#: src/components/RateToggle/index.tsx
|
||||
|
||||
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: 2022-02-11 04:07\n"
|
||||
"PO-Revision-Date: 2022-03-02 19:11\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: fr_FR\n"
|
||||
"Language-Team: French\n"
|
||||
@@ -217,8 +217,8 @@ msgid "An error occurred when trying to execute this swap. You may need to incre
|
||||
msgstr "Une erreur s'est produite lors de la tentative d'exécution de cet échange. Vous devrez peut-être augmenter votre tolérance au slippage. Si cela ne fonctionne pas, il peut y avoir une incompatibilité avec le token que vous échangez. Remarque : les frais sur les token de transfert et de rebase sont incompatibles avec Uniswap V3."
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
msgid "Approval pending <0/>"
|
||||
msgstr "Approbation en attente <0/>"
|
||||
msgid "Approval pending"
|
||||
msgstr "En attente d'approbation"
|
||||
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
@@ -288,6 +288,10 @@ msgstr "Au moins {0} {1} et {2} {3} seront remboursés sur votre portefeuille en
|
||||
msgid "Auto"
|
||||
msgstr "Automatique"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "Auto Router"
|
||||
msgstr "Routeur automatique"
|
||||
|
||||
#: src/components/Settings/index.tsx
|
||||
msgid "Auto Router API"
|
||||
msgstr "API de routeur automatique"
|
||||
@@ -747,6 +751,8 @@ msgstr "Saisissez une adresse de jeton valide"
|
||||
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
msgid "Enter {0} amount"
|
||||
msgstr "Entrez {0} montant"
|
||||
|
||||
@@ -959,6 +965,8 @@ msgstr "Liquidité insuffisante dans le pool pour votre transaction"
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/hooks/swap/useSwapInfo.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
@@ -1700,6 +1708,10 @@ msgstr "Remplacez <0/> par exactement <1/>"
|
||||
msgid "Swap Anyway"
|
||||
msgstr "Échanger quand même"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap confirmed"
|
||||
msgstr "Échange confirmé"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap details"
|
||||
msgstr "Détails de l'échange"
|
||||
@@ -1713,6 +1725,10 @@ msgstr "Remplacez exactement <0/> par <1/>"
|
||||
msgid "Swap failed: {0}"
|
||||
msgstr "Échec de l'échange : {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap pending"
|
||||
msgstr "Échange en attente"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap summary"
|
||||
msgstr "Résumé de l'échange"
|
||||
@@ -1906,6 +1922,10 @@ msgstr "Transaction envoyée"
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Transaction réalisée en"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction confirmed"
|
||||
msgstr "Transaction confirmée"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
#: src/lib/components/Swap/Settings/TransactionTtlInput.tsx
|
||||
msgid "Transaction deadline"
|
||||
@@ -1920,10 +1940,6 @@ msgstr "Transaction en attente"
|
||||
msgid "Transaction rejected."
|
||||
msgstr "Transaction rejetée."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction submitted"
|
||||
msgstr "Transaction soumise"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalActionSelector.tsx
|
||||
msgid "Transfer Token"
|
||||
msgstr "Token de transfert"
|
||||
@@ -2044,6 +2060,7 @@ msgstr "Réseau non pris en charge - passez à un autre pour échanger."
|
||||
msgid "Untitled"
|
||||
msgstr "Sans titre"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Unwrap"
|
||||
msgstr "Unwrap"
|
||||
@@ -2052,6 +2069,22 @@ msgstr "Unwrap"
|
||||
msgid "Unwrap <0/> to {0}"
|
||||
msgstr "Déballer <0/> à {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap confirmed"
|
||||
msgstr "Déballage confirmé"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrap native currency."
|
||||
msgstr "Déballez la devise native."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap pending"
|
||||
msgstr "Déballer en attente"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrapping native currency."
|
||||
msgstr "Déballage de la devise native."
|
||||
|
||||
#: src/pages/Vote/Landing.tsx
|
||||
msgid "Update Delegation"
|
||||
msgstr "Mettre à jour la délégation"
|
||||
@@ -2220,6 +2253,7 @@ msgstr "Retrait de {0} UNI-V2"
|
||||
msgid "Withdrew UNI-V2!"
|
||||
msgstr "Retrait de UNI-V2 !"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Wrap"
|
||||
msgstr "Envelopper"
|
||||
@@ -2228,6 +2262,22 @@ msgstr "Envelopper"
|
||||
msgid "Wrap <0/> to {0}"
|
||||
msgstr "Envelopper <0/> à {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap confirmed"
|
||||
msgstr "Emballage confirmé"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrap native currency."
|
||||
msgstr "Enveloppez la devise locale."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap pending"
|
||||
msgstr "Wrap en attente"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrapping native currency."
|
||||
msgstr "Emballage de la monnaie locale."
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Wrong Network"
|
||||
@@ -2443,9 +2493,13 @@ msgstr "via {0}"
|
||||
msgid "via {0} token list"
|
||||
msgstr "via {0} liste de jetons"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "{0, plural, =1 {Best route via 1 hop} other {Best route via # hops}}"
|
||||
msgstr "{0, plural, =1 {Meilleur itinéraire via 1 saut} other {Meilleur itinéraire via # sauts }}"
|
||||
|
||||
#: src/components/SearchModal/ImportToken.tsx
|
||||
msgid "{0, plural, one {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, one {Jeton d'importation } other {Importez des jetons}}"
|
||||
msgid "{0, plural, =1 {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, =1 {Importer le jeton } other {Importez des jetons }}"
|
||||
|
||||
#: src/components/RateToggle/index.tsx
|
||||
#: src/components/RateToggle/index.tsx
|
||||
|
||||
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: 2022-02-11 04:07\n"
|
||||
"PO-Revision-Date: 2022-03-02 19:11\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: he_IL\n"
|
||||
"Language-Team: Hebrew\n"
|
||||
@@ -217,8 +217,8 @@ msgid "An error occurred when trying to execute this swap. You may need to incre
|
||||
msgstr "אירעה שגיאה בניסיון לבצע החלפה זו. יתכן שתצטרך להגביר את סובלנות ההחלקה שלך. אם זה לא עובד, ייתכן שיש אי התאמה לאסימון שאתה סוחר בו. הערה: עמלה על אסימון העברה וריבוס אינם תואמים ל- Uniswap V3."
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
msgid "Approval pending <0/>"
|
||||
msgstr "אישור בהמתנה <0/>"
|
||||
msgid "Approval pending"
|
||||
msgstr "מחכה לאישור"
|
||||
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
@@ -288,6 +288,10 @@ msgstr "לפחות {0} {1} ו {2} {3} יוחזרו לארנק שלך בגלל ט
|
||||
msgid "Auto"
|
||||
msgstr "אוטומטי"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "Auto Router"
|
||||
msgstr "נתב אוטומטי"
|
||||
|
||||
#: src/components/Settings/index.tsx
|
||||
msgid "Auto Router API"
|
||||
msgstr "ממשק API של נתב אוטומטי"
|
||||
@@ -747,6 +751,8 @@ msgstr "הזן כתובת אסימון חוקית"
|
||||
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
msgid "Enter {0} amount"
|
||||
msgstr "הזן סכום {0}"
|
||||
|
||||
@@ -959,6 +965,8 @@ msgstr "אין מספיק נזילות במאגר למסחר שלך"
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/hooks/swap/useSwapInfo.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
@@ -1700,6 +1708,10 @@ msgstr "החלף את <0/> בדיוק ל <1/>"
|
||||
msgid "Swap Anyway"
|
||||
msgstr "החלף בכל מקרה"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap confirmed"
|
||||
msgstr "ההחלפה אושרה"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap details"
|
||||
msgstr "החלף פרטים"
|
||||
@@ -1713,6 +1725,10 @@ msgstr "החלף בדיוק <0/> עבור <1/>"
|
||||
msgid "Swap failed: {0}"
|
||||
msgstr "החלפה נכשלה: {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap pending"
|
||||
msgstr "ההחלפה בהמתנה"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap summary"
|
||||
msgstr "סיכום החלפה"
|
||||
@@ -1906,6 +1922,10 @@ msgstr "העסקה הוגשה"
|
||||
msgid "Transaction completed in"
|
||||
msgstr "העסקה הושלמה בשנת"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction confirmed"
|
||||
msgstr "העסקה אושרה"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
#: src/lib/components/Swap/Settings/TransactionTtlInput.tsx
|
||||
msgid "Transaction deadline"
|
||||
@@ -1920,10 +1940,6 @@ msgstr "העסקה בהמתנה"
|
||||
msgid "Transaction rejected."
|
||||
msgstr "העסקה נדחתה."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction submitted"
|
||||
msgstr "העסקה הוגשה"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalActionSelector.tsx
|
||||
msgid "Transfer Token"
|
||||
msgstr "העברת אסימון"
|
||||
@@ -2044,6 +2060,7 @@ msgstr "רשת לא נתמכת - עבור לרשת אחרת כדי לסחור."
|
||||
msgid "Untitled"
|
||||
msgstr "ללא כותרת"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Unwrap"
|
||||
msgstr "לְגוֹלֵל"
|
||||
@@ -2052,6 +2069,22 @@ msgstr "לְגוֹלֵל"
|
||||
msgid "Unwrap <0/> to {0}"
|
||||
msgstr "פרק <0/> עד {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap confirmed"
|
||||
msgstr "אישור ביטול הגלישה"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrap native currency."
|
||||
msgstr "שחרר את המטבע המקומי."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap pending"
|
||||
msgstr "ביטול הגלישה בהמתנה"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrapping native currency."
|
||||
msgstr "ביטול גלישת המטבע המקומי."
|
||||
|
||||
#: src/pages/Vote/Landing.tsx
|
||||
msgid "Update Delegation"
|
||||
msgstr "עדכן משלחת"
|
||||
@@ -2220,6 +2253,7 @@ msgstr "משיכת {0} UNI-V2"
|
||||
msgid "Withdrew UNI-V2!"
|
||||
msgstr "משך את UNI-V2!"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Wrap"
|
||||
msgstr "לַעֲטוֹף"
|
||||
@@ -2228,6 +2262,22 @@ msgstr "לַעֲטוֹף"
|
||||
msgid "Wrap <0/> to {0}"
|
||||
msgstr "עטוף <0/> ל {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap confirmed"
|
||||
msgstr "גלישה אושרה"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrap native currency."
|
||||
msgstr "עטוף מטבע מקומי."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap pending"
|
||||
msgstr "גלישה בהמתנה"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrapping native currency."
|
||||
msgstr "עטיפת מטבע מקומי."
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Wrong Network"
|
||||
@@ -2443,9 +2493,13 @@ msgstr "דרך {0}"
|
||||
msgid "via {0} token list"
|
||||
msgstr "דרך רשימת אסימונים {0}"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "{0, plural, =1 {Best route via 1 hop} other {Best route via # hops}}"
|
||||
msgstr "{0, plural, =1 {המסלול הטוב ביותר דרך 1 הופ} other {המסלול הטוב ביותר דרך # הופס}}"
|
||||
|
||||
#: src/components/SearchModal/ImportToken.tsx
|
||||
msgid "{0, plural, one {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, one {ייבוא אסימון} other {ייבא אסימונים}}"
|
||||
msgid "{0, plural, =1 {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, =1 {ייבוא אסימון} other {ייבוא אסימונים}}"
|
||||
|
||||
#: src/components/RateToggle/index.tsx
|
||||
#: src/components/RateToggle/index.tsx
|
||||
|
||||
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: 2022-02-11 04:07\n"
|
||||
"PO-Revision-Date: 2022-03-02 19:11\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: hu_HU\n"
|
||||
"Language-Team: Hungarian\n"
|
||||
@@ -217,8 +217,8 @@ msgid "An error occurred when trying to execute this swap. You may need to incre
|
||||
msgstr "Hiba történt a csere végrehajtása során. Lehet, hogy növelnie kell a csúszási toleranciát. Ha ez nem működik, akkor összeférhetetlenség állhat fenn az Ön által forgalmazott tokennel. Megjegyzés: az átviteli és újrabázis tokenek díja nem kompatibilis az Uniswap V3 verzióval."
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
msgid "Approval pending <0/>"
|
||||
msgstr "Jóváhagyás függőben <0/>"
|
||||
msgid "Approval pending"
|
||||
msgstr "Kérelem folyamatban"
|
||||
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
@@ -288,6 +288,10 @@ msgstr "Legalább {0} {1} és {2} {3} visszatérítésre kerül a pénztárcáj
|
||||
msgid "Auto"
|
||||
msgstr "Auto"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "Auto Router"
|
||||
msgstr "Auto Router"
|
||||
|
||||
#: src/components/Settings/index.tsx
|
||||
msgid "Auto Router API"
|
||||
msgstr "Auto Router API"
|
||||
@@ -747,6 +751,8 @@ msgstr "Adja meg az érvényes token címet"
|
||||
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
msgid "Enter {0} amount"
|
||||
msgstr "Adjon meg {0} összeget"
|
||||
|
||||
@@ -960,6 +966,8 @@ msgstr "Nincs elegendő likviditás a poolban a kereskedéshez"
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/hooks/swap/useSwapInfo.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
@@ -1701,6 +1709,10 @@ msgstr "Cserélje le a <0/> pontot <1/> értékre"
|
||||
msgid "Swap Anyway"
|
||||
msgstr "Swap mindenképp"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap confirmed"
|
||||
msgstr "A csere megerősítve"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap details"
|
||||
msgstr "Cserélje ki a részleteket"
|
||||
@@ -1714,6 +1726,10 @@ msgstr "Pontosan cserélje ki a <0/> értéket a <1/> értékre"
|
||||
msgid "Swap failed: {0}"
|
||||
msgstr "A csere nem sikerült: {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap pending"
|
||||
msgstr "Csere függőben"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap summary"
|
||||
msgstr "Csere összefoglaló"
|
||||
@@ -1907,6 +1923,10 @@ msgstr "Tranzakció benyújtva"
|
||||
msgid "Transaction completed in"
|
||||
msgstr "A tranzakció befejeződött"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction confirmed"
|
||||
msgstr "Az ügylet megerősítve"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
#: src/lib/components/Swap/Settings/TransactionTtlInput.tsx
|
||||
msgid "Transaction deadline"
|
||||
@@ -1921,10 +1941,6 @@ msgstr "Tranzakció függőben"
|
||||
msgid "Transaction rejected."
|
||||
msgstr "A tranzakció elutasítva."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction submitted"
|
||||
msgstr "Tranzakció elküldve"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalActionSelector.tsx
|
||||
msgid "Transfer Token"
|
||||
msgstr "Transfer Token"
|
||||
@@ -2045,6 +2061,7 @@ msgstr "Nem támogatott hálózat – váltson másikra a kereskedéshez."
|
||||
msgid "Untitled"
|
||||
msgstr "Névtelen"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Unwrap"
|
||||
msgstr "Kicsomagolás"
|
||||
@@ -2053,6 +2070,22 @@ msgstr "Kicsomagolás"
|
||||
msgid "Unwrap <0/> to {0}"
|
||||
msgstr "Kicsomagolás <0/> tól {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap confirmed"
|
||||
msgstr "Kibontás megerősítve"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrap native currency."
|
||||
msgstr "Bontsa ki a natív valutát."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap pending"
|
||||
msgstr "Felbontás függőben"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrapping native currency."
|
||||
msgstr "A natív valuta kibontása."
|
||||
|
||||
#: src/pages/Vote/Landing.tsx
|
||||
msgid "Update Delegation"
|
||||
msgstr "Delegálás frissítése"
|
||||
@@ -2221,6 +2254,7 @@ msgstr "{0} UNI-V2 visszavonása"
|
||||
msgid "Withdrew UNI-V2!"
|
||||
msgstr "Visszavonta az UNI-V2-t!"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Wrap"
|
||||
msgstr "Becsomagolás"
|
||||
@@ -2229,6 +2263,22 @@ msgstr "Becsomagolás"
|
||||
msgid "Wrap <0/> to {0}"
|
||||
msgstr "Tekerje <0/> tól {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap confirmed"
|
||||
msgstr "Wrap megerősítve"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrap native currency."
|
||||
msgstr "Wrap natív valuta."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap pending"
|
||||
msgstr "Becsomagolás függőben"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrapping native currency."
|
||||
msgstr "A natív valuta csomagolása."
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Wrong Network"
|
||||
@@ -2444,9 +2494,13 @@ msgstr "{0}-on keresztül"
|
||||
msgid "via {0} token list"
|
||||
msgstr "{0} token listán keresztül"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "{0, plural, =1 {Best route via 1 hop} other {Best route via # hops}}"
|
||||
msgstr "{0, plural, =1 {A legjobb útvonal 1 ugrással} other {A legjobb útvonal # ugráson keresztül}}"
|
||||
|
||||
#: src/components/SearchModal/ImportToken.tsx
|
||||
msgid "{0, plural, one {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, one {Import token} other {Import tokenek}}"
|
||||
msgid "{0, plural, =1 {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, =1 {Import token} other {Import tokenek}}"
|
||||
|
||||
#: src/components/RateToggle/index.tsx
|
||||
#: src/components/RateToggle/index.tsx
|
||||
|
||||
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: 2022-02-11 04:07\n"
|
||||
"PO-Revision-Date: 2022-03-02 19:11\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: id_ID\n"
|
||||
"Language-Team: Indonesian\n"
|
||||
@@ -217,8 +217,8 @@ msgid "An error occurred when trying to execute this swap. You may need to incre
|
||||
msgstr "Terjadi kesalahan saat mengeksekusi swap ini. Anda mungkin memerlukan peningkatan toleransi slip Anda. Jika tidak berhasil, kemungkinan token yang anda perdagangkan tidak cocok. Catatan: biaya transfer token rebase tidak cocok dengan Uniswap V3."
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
msgid "Approval pending <0/>"
|
||||
msgstr "Persetujuan tertunda <0/>"
|
||||
msgid "Approval pending"
|
||||
msgstr "Persetujuan Tertunda"
|
||||
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
@@ -288,6 +288,10 @@ msgstr "Setidaknya {0} {1} dan {2} {3} akan dikembalikan ke dompet Anda akibat r
|
||||
msgid "Auto"
|
||||
msgstr "Otomatis"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "Auto Router"
|
||||
msgstr "Router Otomatis"
|
||||
|
||||
#: src/components/Settings/index.tsx
|
||||
msgid "Auto Router API"
|
||||
msgstr "API Router Otomatis"
|
||||
@@ -747,6 +751,8 @@ msgstr "Masukkan alamat token yang valid"
|
||||
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
msgid "Enter {0} amount"
|
||||
msgstr "Masukkan {0} jumlah"
|
||||
|
||||
@@ -959,6 +965,8 @@ msgstr "Likuiditas tidak mencukupi di kumpulan untuk perdagangan Anda"
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/hooks/swap/useSwapInfo.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
@@ -1700,6 +1708,10 @@ msgstr "Tukar <0/> dengan tepat <1/>"
|
||||
msgid "Swap Anyway"
|
||||
msgstr "Tukar Saja"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap confirmed"
|
||||
msgstr "Pertukaran dikonfirmasi"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap details"
|
||||
msgstr "Pertukaran detail"
|
||||
@@ -1713,6 +1725,10 @@ msgstr "Tukar persis <0/> untuk <1/>"
|
||||
msgid "Swap failed: {0}"
|
||||
msgstr "Tukar gagal: {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap pending"
|
||||
msgstr "Tukar tertunda"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap summary"
|
||||
msgstr "Pertukaran ringkasan"
|
||||
@@ -1906,6 +1922,10 @@ msgstr "Transaksi Dikirim"
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Transaksi selesai pada"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction confirmed"
|
||||
msgstr "Transaksi dikonfirmasi"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
#: src/lib/components/Swap/Settings/TransactionTtlInput.tsx
|
||||
msgid "Transaction deadline"
|
||||
@@ -1920,10 +1940,6 @@ msgstr "Transaksi tertunda"
|
||||
msgid "Transaction rejected."
|
||||
msgstr "Transaksi ditolak."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction submitted"
|
||||
msgstr "Transaksi terkirim"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalActionSelector.tsx
|
||||
msgid "Transfer Token"
|
||||
msgstr "Transfer Token"
|
||||
@@ -2044,6 +2060,7 @@ msgstr "Jaringan tidak didukung - beralih ke yang lain untuk berdagang."
|
||||
msgid "Untitled"
|
||||
msgstr "Tanpa Judul"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Unwrap"
|
||||
msgstr "Membuka"
|
||||
@@ -2052,6 +2069,22 @@ msgstr "Membuka"
|
||||
msgid "Unwrap <0/> to {0}"
|
||||
msgstr "Buka bungkus <0/> hingga {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap confirmed"
|
||||
msgstr "Buka bungkus dikonfirmasi"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrap native currency."
|
||||
msgstr "Buka bungkus mata uang asli."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap pending"
|
||||
msgstr "Buka bungkus tertunda"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrapping native currency."
|
||||
msgstr "Membuka bungkus mata uang asli."
|
||||
|
||||
#: src/pages/Vote/Landing.tsx
|
||||
msgid "Update Delegation"
|
||||
msgstr "Perbarui Delegasi"
|
||||
@@ -2220,6 +2253,7 @@ msgstr "Menarik {0} UNI-V2"
|
||||
msgid "Withdrew UNI-V2!"
|
||||
msgstr "Menarik UNI-V2!"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Wrap"
|
||||
msgstr "Wrap"
|
||||
@@ -2228,6 +2262,22 @@ msgstr "Wrap"
|
||||
msgid "Wrap <0/> to {0}"
|
||||
msgstr "Bungkus <0/> hingga {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap confirmed"
|
||||
msgstr "Bungkus dikonfirmasi"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrap native currency."
|
||||
msgstr "Bungkus mata uang asli."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap pending"
|
||||
msgstr "Bungkus tertunda"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrapping native currency."
|
||||
msgstr "Membungkus mata uang asli."
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Wrong Network"
|
||||
@@ -2443,9 +2493,13 @@ msgstr "melalui {0}"
|
||||
msgid "via {0} token list"
|
||||
msgstr "melalui {0} daftar token"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "{0, plural, =1 {Best route via 1 hop} other {Best route via # hops}}"
|
||||
msgstr "{0, plural, =1 {Rute terbaik melalui 1 hop} other {Rute terbaik melalui # hop}}"
|
||||
|
||||
#: src/components/SearchModal/ImportToken.tsx
|
||||
msgid "{0, plural, one {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, one {Impor token} other {Impor token}}"
|
||||
msgid "{0, plural, =1 {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, =1 {Impor tanda} other {Impor token}}"
|
||||
|
||||
#: src/components/RateToggle/index.tsx
|
||||
#: src/components/RateToggle/index.tsx
|
||||
|
||||
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: 2022-02-11 04:07\n"
|
||||
"PO-Revision-Date: 2022-03-02 19:11\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: it_IT\n"
|
||||
"Language-Team: Italian\n"
|
||||
@@ -217,8 +217,8 @@ msgid "An error occurred when trying to execute this swap. You may need to incre
|
||||
msgstr "Si è verificato un errore durante il tentativo di eseguire questo scambio. Potrebbe essere necessario aumentare la tolleranza allo slittamento. Se ciò non funziona, potrebbe esserci un'incompatibilità con il token che stai scambiando. Nota: la commissione sui token di trasferimento e rebase non è compatibile con Uniswap V3."
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
msgid "Approval pending <0/>"
|
||||
msgstr "In attesa di approvazione <0/>"
|
||||
msgid "Approval pending"
|
||||
msgstr "In attesa di approvazione"
|
||||
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
@@ -288,6 +288,10 @@ msgstr "Almeno {0} {1} e {2} {3} saranno rimborsati al tuo portafoglio a causa d
|
||||
msgid "Auto"
|
||||
msgstr "Automatico"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "Auto Router"
|
||||
msgstr "Router automatico"
|
||||
|
||||
#: src/components/Settings/index.tsx
|
||||
msgid "Auto Router API"
|
||||
msgstr "API del router automatico"
|
||||
@@ -747,6 +751,8 @@ msgstr "Inserisci un indirizzo di token valido"
|
||||
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
msgid "Enter {0} amount"
|
||||
msgstr "Inserisci {0} importo"
|
||||
|
||||
@@ -959,6 +965,8 @@ msgstr "Liquidità insufficiente nel pool per il tuo trade"
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/hooks/swap/useSwapInfo.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
@@ -1700,6 +1708,10 @@ msgstr "Scambia <0/> con esattamente <1/>"
|
||||
msgid "Swap Anyway"
|
||||
msgstr "Scambia Comunque"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap confirmed"
|
||||
msgstr "Scambio confermato"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap details"
|
||||
msgstr "Scambia i dettagli"
|
||||
@@ -1713,6 +1725,10 @@ msgstr "Scambia esattamente <0/> con <1/>"
|
||||
msgid "Swap failed: {0}"
|
||||
msgstr "Scambio fallito: {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap pending"
|
||||
msgstr "Scambio in attesa"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap summary"
|
||||
msgstr "Riepilogo scambio"
|
||||
@@ -1906,6 +1922,10 @@ msgstr "Transazione Inviata"
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Transazione completata in"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction confirmed"
|
||||
msgstr "Transazione confermata"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
#: src/lib/components/Swap/Settings/TransactionTtlInput.tsx
|
||||
msgid "Transaction deadline"
|
||||
@@ -1920,10 +1940,6 @@ msgstr "Transazione in sospeso"
|
||||
msgid "Transaction rejected."
|
||||
msgstr "Transazione rifiutata."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction submitted"
|
||||
msgstr "Transazione inviata"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalActionSelector.tsx
|
||||
msgid "Transfer Token"
|
||||
msgstr "Token di trasferimento"
|
||||
@@ -2044,6 +2060,7 @@ msgstr "Rete non supportata: passa a un'altra per fare trading."
|
||||
msgid "Untitled"
|
||||
msgstr "Senza titolo"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Unwrap"
|
||||
msgstr "Unwrap"
|
||||
@@ -2052,6 +2069,22 @@ msgstr "Unwrap"
|
||||
msgid "Unwrap <0/> to {0}"
|
||||
msgstr "Scarta da <0/> a {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap confirmed"
|
||||
msgstr "Scarto confermato"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrap native currency."
|
||||
msgstr "Scartare la valuta nativa."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap pending"
|
||||
msgstr "Scartare in attesa"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrapping native currency."
|
||||
msgstr "Scartare la valuta nativa."
|
||||
|
||||
#: src/pages/Vote/Landing.tsx
|
||||
msgid "Update Delegation"
|
||||
msgstr "Aggiorna la delega"
|
||||
@@ -2220,6 +2253,7 @@ msgstr "Ritiro {0} UNI-V2"
|
||||
msgid "Withdrew UNI-V2!"
|
||||
msgstr "UNI-V2 ritirato!"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Wrap"
|
||||
msgstr "Avvolgi"
|
||||
@@ -2228,6 +2262,22 @@ msgstr "Avvolgi"
|
||||
msgid "Wrap <0/> to {0}"
|
||||
msgstr "Avvolgi da <0/> a {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap confirmed"
|
||||
msgstr "Avvolgimento confermato"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrap native currency."
|
||||
msgstr "Avvolgi la valuta nativa."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap pending"
|
||||
msgstr "Avvolgimento in attesa"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrapping native currency."
|
||||
msgstr "Avvolgimento della valuta nativa."
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Wrong Network"
|
||||
@@ -2443,9 +2493,13 @@ msgstr "via {0}"
|
||||
msgid "via {0} token list"
|
||||
msgstr "tramite {0} elenco token"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "{0, plural, =1 {Best route via 1 hop} other {Best route via # hops}}"
|
||||
msgstr "{0, plural, =1 {Il miglior percorso con 1 salto} other {Il miglior percorso con # luppoli}}"
|
||||
|
||||
#: src/components/SearchModal/ImportToken.tsx
|
||||
msgid "{0, plural, one {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, one {Importa token} other {Importa token}}"
|
||||
msgid "{0, plural, =1 {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, =1 {Importa token} other {Importa token}}"
|
||||
|
||||
#: src/components/RateToggle/index.tsx
|
||||
#: src/components/RateToggle/index.tsx
|
||||
|
||||
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: 2022-02-18 00:12\n"
|
||||
"PO-Revision-Date: 2022-03-02 19:11\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: ja_JP\n"
|
||||
"Language-Team: Japanese\n"
|
||||
@@ -217,8 +217,8 @@ msgid "An error occurred when trying to execute this swap. You may need to incre
|
||||
msgstr "スワップ実行時にエラーが発生しました。スリッページの許容範囲を広げる必要がある可能性があります。それでも上手くいかない場合、取引しているトークンとの互換性がない可能性があります。注:転送時に手数料が発生するトークンおよびリベースするトークンは、UniswapV3と互換性がありません。"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
msgid "Approval pending <0/>"
|
||||
msgstr "承認待ち <0/>"
|
||||
msgid "Approval pending"
|
||||
msgstr "承認待ち"
|
||||
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
@@ -241,7 +241,7 @@ msgstr "{0} を承認する"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
msgid "Approve {0} first"
|
||||
msgstr "最初に {0} 承認する"
|
||||
msgstr "最初に {0} を承認する"
|
||||
|
||||
#: src/pages/RemoveLiquidity/index.tsx
|
||||
msgid "Approved"
|
||||
@@ -269,7 +269,7 @@ msgstr "Arbitrumブリッジ"
|
||||
|
||||
#: src/components/DowntimeWarning/index.tsx
|
||||
msgid "Arbitrum is in Beta and may experience downtime. During downtime, your position will not earn fees and you will be unable to remove liquidity. <0>Read more.</0>"
|
||||
msgstr "Arbitrumはベータ版であり、ダウンタイムが発生する可能性があります。ダウンタイム中、あなたのポジションは手数料を獲得せず、流動性を取り除くことができなくなります。 <0>続きを読む。</0>"
|
||||
msgstr "Arbitrumはベータ版であり、ダウンタイムが発生する可能性があります。ダウンタイム中、あなたのポジションは手数料を獲得せず、流動性を解除することができなくなります。 <0>続きを読む。</0>"
|
||||
|
||||
#: src/components/Settings/index.tsx
|
||||
msgid "Are you sure?"
|
||||
@@ -288,6 +288,10 @@ msgstr "少なくとも {0} の {1} と {2} の {3} は設定した価格範囲
|
||||
msgid "Auto"
|
||||
msgstr "自動"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "Auto Router"
|
||||
msgstr "自動ルーター"
|
||||
|
||||
#: src/components/Settings/index.tsx
|
||||
msgid "Auto Router API"
|
||||
msgstr "自動ルーターAPI"
|
||||
@@ -747,6 +751,8 @@ msgstr "有効なトークンアドレスを入力してください"
|
||||
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
msgid "Enter {0} amount"
|
||||
msgstr "{0} 金額を入力してください"
|
||||
|
||||
@@ -959,6 +965,8 @@ msgstr "あなたの取引のためのプールの不十分な流動性"
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/hooks/swap/useSwapInfo.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
@@ -1064,7 +1072,7 @@ msgstr "読み込み中"
|
||||
|
||||
#: src/components/CurrencyInputPanel/index.tsx
|
||||
msgid "MAX"
|
||||
msgstr "MAX"
|
||||
msgstr "最大"
|
||||
|
||||
#: src/components/PositionCard/V2.tsx
|
||||
#: src/components/PositionCard/V2.tsx
|
||||
@@ -1500,7 +1508,7 @@ msgstr "ページを再読み込みする"
|
||||
#: src/pages/RemoveLiquidity/V3.tsx
|
||||
#: src/pages/RemoveLiquidity/index.tsx
|
||||
msgid "Remove"
|
||||
msgstr "削除"
|
||||
msgstr "解除"
|
||||
|
||||
#: src/components/AccountDetails/TransactionSummary.tsx
|
||||
msgid "Remove <0/> and <1/>"
|
||||
@@ -1518,7 +1526,7 @@ msgstr "委任を削除"
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
#: src/pages/RemoveLiquidity/V3.tsx
|
||||
msgid "Remove Liquidity"
|
||||
msgstr "流動性を削除"
|
||||
msgstr "流動性を解除"
|
||||
|
||||
#: src/components/SearchModal/ManageLists.tsx
|
||||
msgid "Remove list"
|
||||
@@ -1700,6 +1708,10 @@ msgstr "<0/> を <1/>にスワップ"
|
||||
msgid "Swap Anyway"
|
||||
msgstr "問題発生の可能性があるが、スワップする"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap confirmed"
|
||||
msgstr "スワップが確認されました"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap details"
|
||||
msgstr "スワップの詳細"
|
||||
@@ -1713,6 +1725,10 @@ msgstr "<0/>を<1/>にスワップ"
|
||||
msgid "Swap failed: {0}"
|
||||
msgstr "スワップに失敗しました: {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap pending"
|
||||
msgstr "スワップ保留中"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap summary"
|
||||
msgstr "スワップの概要"
|
||||
@@ -1906,6 +1922,10 @@ msgstr "取引が送信されました"
|
||||
msgid "Transaction completed in"
|
||||
msgstr "で完了した取引"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction confirmed"
|
||||
msgstr "取引が確認されました"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
#: src/lib/components/Swap/Settings/TransactionTtlInput.tsx
|
||||
msgid "Transaction deadline"
|
||||
@@ -1920,10 +1940,6 @@ msgstr "保留中の取引"
|
||||
msgid "Transaction rejected."
|
||||
msgstr "取引が拒否されました"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction submitted"
|
||||
msgstr "取引は送信されました"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalActionSelector.tsx
|
||||
msgid "Transfer Token"
|
||||
msgstr "トークンを転送する"
|
||||
@@ -2044,6 +2060,7 @@ msgstr "サポートされていないネットワーク-別のネットワー
|
||||
msgid "Untitled"
|
||||
msgstr "タイトル未設定"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Unwrap"
|
||||
msgstr "アンラップ"
|
||||
@@ -2052,6 +2069,22 @@ msgstr "アンラップ"
|
||||
msgid "Unwrap <0/> to {0}"
|
||||
msgstr "<0/> から {0} にアンラップ"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap confirmed"
|
||||
msgstr "開封確認済み"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrap native currency."
|
||||
msgstr "自国通貨をアンラップします。"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap pending"
|
||||
msgstr "保留中のアンラップ"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrapping native currency."
|
||||
msgstr "自国通貨の開封。"
|
||||
|
||||
#: src/pages/Vote/Landing.tsx
|
||||
msgid "Update Delegation"
|
||||
msgstr "委任を更新"
|
||||
@@ -2197,7 +2230,7 @@ msgstr "引き出すと、コントラクトはあなたに代わって自動的
|
||||
|
||||
#: src/components/earn/UnstakingModal.tsx
|
||||
msgid "When you withdraw, your UNI is claimed and your liquidity is removed from the mining pool."
|
||||
msgstr "引き出すと、UNIが請求され、流動性はマイニングプールから削除されます。"
|
||||
msgstr "引き出すと、UNIが請求され、流動性はマイニングプールから解除されます。"
|
||||
|
||||
#: src/components/earn/UnstakingModal.tsx
|
||||
#: src/pages/Earn/Manage.tsx
|
||||
@@ -2220,6 +2253,7 @@ msgstr "{0} UNI-V2を引き出し中"
|
||||
msgid "Withdrew UNI-V2!"
|
||||
msgstr "UNI-V2を引き出しました"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Wrap"
|
||||
msgstr "ラップ"
|
||||
@@ -2228,6 +2262,22 @@ msgstr "ラップ"
|
||||
msgid "Wrap <0/> to {0}"
|
||||
msgstr "<0/> から {0} にラップ"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap confirmed"
|
||||
msgstr "ラップが確認されました"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrap native currency."
|
||||
msgstr "自国通貨をラップします。"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap pending"
|
||||
msgstr "ラップ保留中"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrapping native currency."
|
||||
msgstr "自国通貨のラッピング。"
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Wrong Network"
|
||||
@@ -2443,9 +2493,13 @@ msgstr "{0} から"
|
||||
msgid "via {0} token list"
|
||||
msgstr "{0} トークンリストから"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "{0, plural, =1 {Best route via 1 hop} other {Best route via # hops}}"
|
||||
msgstr "{0, plural, =1 {1ホップ経由のベストルート} other {#ホップ経由の最適ルート}}"
|
||||
|
||||
#: src/components/SearchModal/ImportToken.tsx
|
||||
msgid "{0, plural, one {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, one {トークンをインポート} other {トークンをインポート}}"
|
||||
msgid "{0, plural, =1 {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, =1 {トークンをインポートしてください} other {トークンをインポートしてください}}"
|
||||
|
||||
#: src/components/RateToggle/index.tsx
|
||||
#: src/components/RateToggle/index.tsx
|
||||
|
||||
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: 2022-02-11 04:07\n"
|
||||
"PO-Revision-Date: 2022-03-02 19:11\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: ko_KR\n"
|
||||
"Language-Team: Korean\n"
|
||||
@@ -217,8 +217,8 @@ msgid "An error occurred when trying to execute this swap. You may need to incre
|
||||
msgstr "교환을 실행하는 중에 오류가 발생했습니다. 가격변동 허용치를 높여야 할 수도 있습니다. 그래도 작동하지 않으면 교환중인 토큰이 Uniswap과 호환되지 않는 것일 수 있습니다. 참고: 전송 수수료 및 리베이스 토큰은 Uniswap V3와 호환되지 않습니다."
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
msgid "Approval pending <0/>"
|
||||
msgstr "승인 대기 중 <0/>"
|
||||
msgid "Approval pending"
|
||||
msgstr "승인 대기 중"
|
||||
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
@@ -288,6 +288,10 @@ msgstr "선택한 가격 범위로 인해 최소 {0} {1} 및 {2} {3} 이 지갑
|
||||
msgid "Auto"
|
||||
msgstr "자동"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "Auto Router"
|
||||
msgstr "자동 라우터"
|
||||
|
||||
#: src/components/Settings/index.tsx
|
||||
msgid "Auto Router API"
|
||||
msgstr "자동 라우터 API"
|
||||
@@ -747,6 +751,8 @@ msgstr "유효한 토큰 주소를 입력하세요."
|
||||
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
msgid "Enter {0} amount"
|
||||
msgstr "{0} 금액을 입력하세요"
|
||||
|
||||
@@ -959,6 +965,8 @@ msgstr "거래를 위한 풀의 유동성 부족"
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/hooks/swap/useSwapInfo.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
@@ -1700,6 +1708,10 @@ msgstr "<0/>을 정확히 <1/>로 바꿉니다."
|
||||
msgid "Swap Anyway"
|
||||
msgstr "어쨌든 스왑"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap confirmed"
|
||||
msgstr "스왑 확인됨"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap details"
|
||||
msgstr "세부정보 교환"
|
||||
@@ -1713,6 +1725,10 @@ msgstr "<1/>에 대해 정확히 <0/> 스왑"
|
||||
msgid "Swap failed: {0}"
|
||||
msgstr "스왑 실패: {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap pending"
|
||||
msgstr "스왑 보류"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap summary"
|
||||
msgstr "스왑 요약"
|
||||
@@ -1906,6 +1922,10 @@ msgstr "제출된 거래"
|
||||
msgid "Transaction completed in"
|
||||
msgstr "거래 완료"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction confirmed"
|
||||
msgstr "거래 확인됨"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
#: src/lib/components/Swap/Settings/TransactionTtlInput.tsx
|
||||
msgid "Transaction deadline"
|
||||
@@ -1920,10 +1940,6 @@ msgstr "거래 보류 중"
|
||||
msgid "Transaction rejected."
|
||||
msgstr "거래가 거부되었습니다."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction submitted"
|
||||
msgstr "거래 제출"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalActionSelector.tsx
|
||||
msgid "Transfer Token"
|
||||
msgstr "이전 토큰"
|
||||
@@ -2044,6 +2060,7 @@ msgstr "지원되지 않는 네트워크 - 거래하려면 다른 네트워크
|
||||
msgid "Untitled"
|
||||
msgstr "제목 없음"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Unwrap"
|
||||
msgstr "언랩"
|
||||
@@ -2052,6 +2069,22 @@ msgstr "언랩"
|
||||
msgid "Unwrap <0/> to {0}"
|
||||
msgstr "<0/> 에서 {0}풀기"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap confirmed"
|
||||
msgstr "포장 풀기 확인"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrap native currency."
|
||||
msgstr "기본 통화 포장을 풉니다."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap pending"
|
||||
msgstr "언래핑 보류"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrapping native currency."
|
||||
msgstr "기본 통화 포장 풀기."
|
||||
|
||||
#: src/pages/Vote/Landing.tsx
|
||||
msgid "Update Delegation"
|
||||
msgstr "위임 업데이트"
|
||||
@@ -2220,6 +2253,7 @@ msgstr "{0} UNI-V2 인출"
|
||||
msgid "Withdrew UNI-V2!"
|
||||
msgstr "UNI-V2 인출!"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Wrap"
|
||||
msgstr "랩"
|
||||
@@ -2228,6 +2262,22 @@ msgstr "랩"
|
||||
msgid "Wrap <0/> to {0}"
|
||||
msgstr "<0/> 에서 {0}바꿈"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap confirmed"
|
||||
msgstr "랩 확인됨"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrap native currency."
|
||||
msgstr "기본 통화를 포장합니다."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap pending"
|
||||
msgstr "랩 대기 중"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrapping native currency."
|
||||
msgstr "기본 통화 래핑."
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Wrong Network"
|
||||
@@ -2443,9 +2493,13 @@ msgstr "{0} 경유"
|
||||
msgid "via {0} token list"
|
||||
msgstr "{0} 토큰 목록을 통해"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "{0, plural, =1 {Best route via 1 hop} other {Best route via # hops}}"
|
||||
msgstr "{0, plural, =1 {1 홉을 통한 최적의 경로} other {# 홉을 통한 최적의 경로}}"
|
||||
|
||||
#: src/components/SearchModal/ImportToken.tsx
|
||||
msgid "{0, plural, one {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, one {토큰 가져 오기} other {토큰 가져 오기}}"
|
||||
msgid "{0, plural, =1 {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, =1 {토큰 가져오기} other {토큰 가져오기}}"
|
||||
|
||||
#: src/components/RateToggle/index.tsx
|
||||
#: src/components/RateToggle/index.tsx
|
||||
|
||||
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: 2022-02-11 04:07\n"
|
||||
"PO-Revision-Date: 2022-03-02 19:11\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: nl_NL\n"
|
||||
"Language-Team: Dutch\n"
|
||||
@@ -217,8 +217,8 @@ msgid "An error occurred when trying to execute this swap. You may need to incre
|
||||
msgstr "Er is een fout opgetreden bij het uitvoeren van deze swap. Mogelijk moet u uw sliptolerantie verhogen. Als dat niet werkt, is er mogelijk een incompatibiliteit met het token dat u verhandelt. Let op: kosten voor overdracht en rebase tokens zijn niet compatibel met Uniswap V3."
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
msgid "Approval pending <0/>"
|
||||
msgstr "Goedkeuring in behandeling <0/>"
|
||||
msgid "Approval pending"
|
||||
msgstr "In afwachting van goedkeuring"
|
||||
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
@@ -288,6 +288,10 @@ msgstr "Tenminste {0} {1} en {2} {3} zullen worden teruggestort naar uw portemon
|
||||
msgid "Auto"
|
||||
msgstr "Automatisch"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "Auto Router"
|
||||
msgstr "Automatische router"
|
||||
|
||||
#: src/components/Settings/index.tsx
|
||||
msgid "Auto Router API"
|
||||
msgstr "Automatische router-API"
|
||||
@@ -747,6 +751,8 @@ msgstr "Voer geldig tokenadres in"
|
||||
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
msgid "Enter {0} amount"
|
||||
msgstr "Voer {0} bedrag in"
|
||||
|
||||
@@ -959,6 +965,8 @@ msgstr "Onvoldoende liquiditeit in de pool voor uw transactie"
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/hooks/swap/useSwapInfo.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
@@ -1700,6 +1708,10 @@ msgstr "Verwissel <0/> voor precies <1/>"
|
||||
msgid "Swap Anyway"
|
||||
msgstr "Toch wisselen"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap confirmed"
|
||||
msgstr "Ruil bevestigd"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap details"
|
||||
msgstr "Ruil details"
|
||||
@@ -1713,6 +1725,10 @@ msgstr "Wissel exact <0/> in voor <1/>"
|
||||
msgid "Swap failed: {0}"
|
||||
msgstr "Wissel mislukt: {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap pending"
|
||||
msgstr "Ruil in behandeling"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap summary"
|
||||
msgstr "Overzicht omwisselen"
|
||||
@@ -1906,6 +1922,10 @@ msgstr "Transactie verzonden"
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Transactie voltooid in"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction confirmed"
|
||||
msgstr "Transactie bevestigd"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
#: src/lib/components/Swap/Settings/TransactionTtlInput.tsx
|
||||
msgid "Transaction deadline"
|
||||
@@ -1920,10 +1940,6 @@ msgstr "Transactie in behandeling"
|
||||
msgid "Transaction rejected."
|
||||
msgstr "Transactie afgewezen."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction submitted"
|
||||
msgstr "Transactie ingediend"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalActionSelector.tsx
|
||||
msgid "Transfer Token"
|
||||
msgstr "Token overdragen"
|
||||
@@ -2044,6 +2060,7 @@ msgstr "Niet-ondersteund netwerk - schakel over naar een ander om te handelen."
|
||||
msgid "Untitled"
|
||||
msgstr "Ongetiteld"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Unwrap"
|
||||
msgstr "Uitpakken"
|
||||
@@ -2052,6 +2069,22 @@ msgstr "Uitpakken"
|
||||
msgid "Unwrap <0/> to {0}"
|
||||
msgstr "Uitpakken <0/> tot {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap confirmed"
|
||||
msgstr "Uitpakken bevestigd"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrap native currency."
|
||||
msgstr "Pak de oorspronkelijke valuta uit."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap pending"
|
||||
msgstr "In behandeling uitpakken"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrapping native currency."
|
||||
msgstr "Inheemse valuta uitpakken."
|
||||
|
||||
#: src/pages/Vote/Landing.tsx
|
||||
msgid "Update Delegation"
|
||||
msgstr "Werk delegatie bij"
|
||||
@@ -2220,6 +2253,7 @@ msgstr "Opnemen van {0} UNI-V2"
|
||||
msgid "Withdrew UNI-V2!"
|
||||
msgstr "UNI-V2 opgenomen!"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Wrap"
|
||||
msgstr "Omloop"
|
||||
@@ -2228,6 +2262,22 @@ msgstr "Omloop"
|
||||
msgid "Wrap <0/> to {0}"
|
||||
msgstr "Wikkel <0/> tot {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap confirmed"
|
||||
msgstr "Omslag bevestigd"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrap native currency."
|
||||
msgstr "Verpak de eigen valuta."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap pending"
|
||||
msgstr "Wikkel in behandeling"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrapping native currency."
|
||||
msgstr "Inpakken van inheemse valuta."
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Wrong Network"
|
||||
@@ -2443,9 +2493,13 @@ msgstr "via {0}"
|
||||
msgid "via {0} token list"
|
||||
msgstr "via {0} tokenlijst"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "{0, plural, =1 {Best route via 1 hop} other {Best route via # hops}}"
|
||||
msgstr "{0, plural, =1 {Beste route via 1 hop} other {Beste route via # hop}}"
|
||||
|
||||
#: src/components/SearchModal/ImportToken.tsx
|
||||
msgid "{0, plural, one {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, one {Import token} other {Import tokens}}"
|
||||
msgid "{0, plural, =1 {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, =1 {Token importeren} other {Tokens importeren}}"
|
||||
|
||||
#: src/components/RateToggle/index.tsx
|
||||
#: src/components/RateToggle/index.tsx
|
||||
|
||||
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: 2022-02-11 04:07\n"
|
||||
"PO-Revision-Date: 2022-03-02 19:11\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: no_NO\n"
|
||||
"Language-Team: Norwegian\n"
|
||||
@@ -217,8 +217,8 @@ msgid "An error occurred when trying to execute this swap. You may need to incre
|
||||
msgstr "Det oppstod en feil under forsøket på å utføre dette byttet. Det kan hende du må øke glidetoleransen. Hvis det ikke fungerer, kan det være en inkompatibilitet med symbolet du handler. Merk: gebyr ved overføring og rebase-tokens er inkompatibelt med Uniswap V3."
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
msgid "Approval pending <0/>"
|
||||
msgstr "Godkjenning venter <0/>"
|
||||
msgid "Approval pending"
|
||||
msgstr "Venter på godkjenning"
|
||||
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
@@ -288,6 +288,10 @@ msgstr "Minst {0} {1} og {2} {3} vil bli refundert til lommeboken på grunn av v
|
||||
msgid "Auto"
|
||||
msgstr "Auto"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "Auto Router"
|
||||
msgstr "Auto-ruter"
|
||||
|
||||
#: src/components/Settings/index.tsx
|
||||
msgid "Auto Router API"
|
||||
msgstr "Auto Router API"
|
||||
@@ -747,6 +751,8 @@ msgstr "Oppgi gyldig pollettadresse"
|
||||
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
msgid "Enter {0} amount"
|
||||
msgstr "Skriv inn {0} beløp"
|
||||
|
||||
@@ -959,6 +965,8 @@ msgstr "Utilstrekkelig likviditet i bassenget for handelen din"
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/hooks/swap/useSwapInfo.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
@@ -1700,6 +1708,10 @@ msgstr "Bytt <0/> for nøyaktig <1/>"
|
||||
msgid "Swap Anyway"
|
||||
msgstr "Bytt uansett"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap confirmed"
|
||||
msgstr "Bytte bekreftet"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap details"
|
||||
msgstr "Bytt detaljer"
|
||||
@@ -1713,6 +1725,10 @@ msgstr "Bytt nøyaktig <0/> for <1/>"
|
||||
msgid "Swap failed: {0}"
|
||||
msgstr "Bytting mislyktes: {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap pending"
|
||||
msgstr "Bytte venter"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap summary"
|
||||
msgstr "Bytte sammendrag"
|
||||
@@ -1906,6 +1922,10 @@ msgstr "Transaksjon sendt"
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Transaksjonen fullført i"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction confirmed"
|
||||
msgstr "Transaksjonen bekreftet"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
#: src/lib/components/Swap/Settings/TransactionTtlInput.tsx
|
||||
msgid "Transaction deadline"
|
||||
@@ -1920,10 +1940,6 @@ msgstr "Transaksjonen venter"
|
||||
msgid "Transaction rejected."
|
||||
msgstr "Transaksjonen ble avvist."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction submitted"
|
||||
msgstr "Transaksjonen er sendt inn"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalActionSelector.tsx
|
||||
msgid "Transfer Token"
|
||||
msgstr "Overfør token"
|
||||
@@ -2044,6 +2060,7 @@ msgstr "Ikke støttet nettverk - bytt til et annet for å handle."
|
||||
msgid "Untitled"
|
||||
msgstr "Uten navn"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Unwrap"
|
||||
msgstr "Pakk opp"
|
||||
@@ -2052,6 +2069,22 @@ msgstr "Pakk opp"
|
||||
msgid "Unwrap <0/> to {0}"
|
||||
msgstr "Pakk ut <0/> til {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap confirmed"
|
||||
msgstr "Utpakking bekreftet"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrap native currency."
|
||||
msgstr "Pakk opp den opprinnelige valutaen."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap pending"
|
||||
msgstr "Utpakning venter"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrapping native currency."
|
||||
msgstr "Utpakning av innfødt valuta."
|
||||
|
||||
#: src/pages/Vote/Landing.tsx
|
||||
msgid "Update Delegation"
|
||||
msgstr "Oppdater delegasjon"
|
||||
@@ -2220,6 +2253,7 @@ msgstr "Trekker tilbake {0} UNI-V2"
|
||||
msgid "Withdrew UNI-V2!"
|
||||
msgstr "Avsluttet UNI-V2!"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Wrap"
|
||||
msgstr "Bryt"
|
||||
@@ -2228,6 +2262,22 @@ msgstr "Bryt"
|
||||
msgid "Wrap <0/> to {0}"
|
||||
msgstr "Pakk <0/> til {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap confirmed"
|
||||
msgstr "Wrap bekreftet"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrap native currency."
|
||||
msgstr "Pakk inn innfødt valuta."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap pending"
|
||||
msgstr "Innpakning venter"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrapping native currency."
|
||||
msgstr "Innpakning av innfødt valuta."
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Wrong Network"
|
||||
@@ -2443,9 +2493,13 @@ msgstr "via {0}"
|
||||
msgid "via {0} token list"
|
||||
msgstr "via {0} pollett-liste"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "{0, plural, =1 {Best route via 1 hop} other {Best route via # hops}}"
|
||||
msgstr "{0, plural, =1 {Beste rute via 1 hopp} other {Beste rute via # hopp}}"
|
||||
|
||||
#: src/components/SearchModal/ImportToken.tsx
|
||||
msgid "{0, plural, one {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, one {Importer token} other {Importer tokens}}"
|
||||
msgid "{0, plural, =1 {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, =1 {Importer token} other {Importer tokens}}"
|
||||
|
||||
#: src/components/RateToggle/index.tsx
|
||||
#: src/components/RateToggle/index.tsx
|
||||
|
||||
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: 2022-02-11 04:07\n"
|
||||
"PO-Revision-Date: 2022-03-02 19:11\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: pl_PL\n"
|
||||
"Language-Team: Polish\n"
|
||||
@@ -217,8 +217,8 @@ msgid "An error occurred when trying to execute this swap. You may need to incre
|
||||
msgstr "Wystąpił błąd podczas próby wykonania tej wymiany. Może być konieczne zwiększenie tolerancji na poślizg. Jeśli to nie zadziała, może występować niezgodność z tokenem, którym handlujesz. Uwaga: opłata za transfer i rebase tokeny są niezgodne z Uniswap V3."
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
msgid "Approval pending <0/>"
|
||||
msgstr "Oczekuje na zatwierdzenie <0/>"
|
||||
msgid "Approval pending"
|
||||
msgstr "Oczekuje na zatwierdzenie"
|
||||
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
@@ -288,6 +288,10 @@ msgstr "Co najmniej {0} {1} i {2} {3} zostaną zwrócone do twojego portfela z p
|
||||
msgid "Auto"
|
||||
msgstr "Auto"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "Auto Router"
|
||||
msgstr "Automatyczny router"
|
||||
|
||||
#: src/components/Settings/index.tsx
|
||||
msgid "Auto Router API"
|
||||
msgstr "Interfejs API automatycznego routera"
|
||||
@@ -747,6 +751,8 @@ msgstr "Wprowadź prawidłowy adres tokenu"
|
||||
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
msgid "Enter {0} amount"
|
||||
msgstr "Wpisz kwotę {0}"
|
||||
|
||||
@@ -959,6 +965,8 @@ msgstr "Niewystarczająca płynność w puli dla Twojej transakcji"
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/hooks/swap/useSwapInfo.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
@@ -1700,6 +1708,10 @@ msgstr "Zamień <0/> na dokładnie <1/>"
|
||||
msgid "Swap Anyway"
|
||||
msgstr "Zamień mimo to"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap confirmed"
|
||||
msgstr "Zamiana potwierdzona"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap details"
|
||||
msgstr "Zamień szczegóły"
|
||||
@@ -1713,6 +1725,10 @@ msgstr "Zamień dokładnie <0/> na <1/>"
|
||||
msgid "Swap failed: {0}"
|
||||
msgstr "Zamiana nie powiodła się: {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap pending"
|
||||
msgstr "Zamiana w toku"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap summary"
|
||||
msgstr "Podsumowanie wymiany"
|
||||
@@ -1906,6 +1922,10 @@ msgstr "Transakcja przesłana"
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Transakcja zakończona w"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction confirmed"
|
||||
msgstr "Transakcja potwierdzona"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
#: src/lib/components/Swap/Settings/TransactionTtlInput.tsx
|
||||
msgid "Transaction deadline"
|
||||
@@ -1920,10 +1940,6 @@ msgstr "Transakcja w toku"
|
||||
msgid "Transaction rejected."
|
||||
msgstr "Transakcja odrzucona."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction submitted"
|
||||
msgstr "Transakcja przesłana"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalActionSelector.tsx
|
||||
msgid "Transfer Token"
|
||||
msgstr "Transfer tokena"
|
||||
@@ -2044,6 +2060,7 @@ msgstr "Nieobsługiwana sieć - przełącz się na inną, aby handlować."
|
||||
msgid "Untitled"
|
||||
msgstr "Nieuprawny"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Unwrap"
|
||||
msgstr "Unwrap"
|
||||
@@ -2052,6 +2069,22 @@ msgstr "Unwrap"
|
||||
msgid "Unwrap <0/> to {0}"
|
||||
msgstr "Rozpakuj od <0/> do {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap confirmed"
|
||||
msgstr "Potwierdzone rozpakowanie"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrap native currency."
|
||||
msgstr "Rozpakuj natywną walutę."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap pending"
|
||||
msgstr "Oczekiwanie na rozpakowanie"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrapping native currency."
|
||||
msgstr "Rozpakowywanie rodzimej waluty."
|
||||
|
||||
#: src/pages/Vote/Landing.tsx
|
||||
msgid "Update Delegation"
|
||||
msgstr "Zaktualizuj delegację"
|
||||
@@ -2220,6 +2253,7 @@ msgstr "Wycofanie {0} UNI-V2"
|
||||
msgid "Withdrew UNI-V2!"
|
||||
msgstr "Wycofano UNI-V2!"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Wrap"
|
||||
msgstr "Zawijanie"
|
||||
@@ -2228,6 +2262,22 @@ msgstr "Zawijanie"
|
||||
msgid "Wrap <0/> to {0}"
|
||||
msgstr "Zawijaj od <0/> do {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap confirmed"
|
||||
msgstr "Zawinięcie potwierdzone"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrap native currency."
|
||||
msgstr "Zawijaj natywną walutę."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap pending"
|
||||
msgstr "Oczekiwanie na zawijanie"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrapping native currency."
|
||||
msgstr "Pakowanie rodzimej waluty."
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Wrong Network"
|
||||
@@ -2443,9 +2493,13 @@ msgstr "przez {0}"
|
||||
msgid "via {0} token list"
|
||||
msgstr "przez {0} listy tokenów"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "{0, plural, =1 {Best route via 1 hop} other {Best route via # hops}}"
|
||||
msgstr "{0, plural, =1 {Najlepsza trasa przez 1 przeskok} other {Najlepsza trasa przez # przeskoków}}"
|
||||
|
||||
#: src/components/SearchModal/ImportToken.tsx
|
||||
msgid "{0, plural, one {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, one {Importuj token} other {Importuj tokeny}}"
|
||||
msgid "{0, plural, =1 {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, =1 {Importuj token} other {Importuj tokeny}}"
|
||||
|
||||
#: src/components/RateToggle/index.tsx
|
||||
#: src/components/RateToggle/index.tsx
|
||||
|
||||
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: 2022-02-11 04:07\n"
|
||||
"PO-Revision-Date: 2022-03-02 19:11\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: pt_BR\n"
|
||||
"Language-Team: Portuguese, Brazilian\n"
|
||||
@@ -217,8 +217,8 @@ msgid "An error occurred when trying to execute this swap. You may need to incre
|
||||
msgstr "Ocorreu um erro ao tentar executar esta troca. Pode ser necessário aumentar sua tolerância ao deslizamento. Se isso não funcionar, pode haver uma incompatibilidade com o token que você está negociando. Nota: a taxa de transferência e tokens de rebase são incompatíveis com Uniswap V3."
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
msgid "Approval pending <0/>"
|
||||
msgstr "Aprovação pendente <0/>"
|
||||
msgid "Approval pending"
|
||||
msgstr "Aprovação pendente"
|
||||
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
@@ -288,6 +288,10 @@ msgstr "Pelo menos {0} {1} e {2} {3} serão reembolsados na sua carteira, devido
|
||||
msgid "Auto"
|
||||
msgstr "Automático"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "Auto Router"
|
||||
msgstr "Roteador automático"
|
||||
|
||||
#: src/components/Settings/index.tsx
|
||||
msgid "Auto Router API"
|
||||
msgstr "API Auto Router"
|
||||
@@ -747,6 +751,8 @@ msgstr "Digite um endereço válido para os tokens"
|
||||
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
msgid "Enter {0} amount"
|
||||
msgstr "Insira o valor {0}"
|
||||
|
||||
@@ -959,6 +965,8 @@ msgstr "Liquidez insuficiente no pool para sua negociação"
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/hooks/swap/useSwapInfo.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
@@ -1700,6 +1708,10 @@ msgstr "Troque <0 /> exatamente por <1 />"
|
||||
msgid "Swap Anyway"
|
||||
msgstr "Converter assim mesmo"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap confirmed"
|
||||
msgstr "Troca confirmada"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap details"
|
||||
msgstr "Trocar detalhes"
|
||||
@@ -1713,6 +1725,10 @@ msgstr "Troque exatamente <0 /> por <1 />"
|
||||
msgid "Swap failed: {0}"
|
||||
msgstr "A troca falhou: {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap pending"
|
||||
msgstr "Troca pendente"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap summary"
|
||||
msgstr "Resumo da troca"
|
||||
@@ -1906,6 +1922,10 @@ msgstr "Operação enviada"
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Transação concluída em"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction confirmed"
|
||||
msgstr "Transação confirmada"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
#: src/lib/components/Swap/Settings/TransactionTtlInput.tsx
|
||||
msgid "Transaction deadline"
|
||||
@@ -1920,10 +1940,6 @@ msgstr "Transação pendente"
|
||||
msgid "Transaction rejected."
|
||||
msgstr "Transação rejeitada."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction submitted"
|
||||
msgstr "Transação enviada"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalActionSelector.tsx
|
||||
msgid "Transfer Token"
|
||||
msgstr "Token de transferência"
|
||||
@@ -2044,6 +2060,7 @@ msgstr "Rede não suportada - mude para outra para negociar."
|
||||
msgid "Untitled"
|
||||
msgstr "Sem título"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Unwrap"
|
||||
msgstr "Desacobertar"
|
||||
@@ -2052,6 +2069,22 @@ msgstr "Desacobertar"
|
||||
msgid "Unwrap <0/> to {0}"
|
||||
msgstr "Desembrulhe <0/> a {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap confirmed"
|
||||
msgstr "Desembrulhar confirmado"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrap native currency."
|
||||
msgstr "Desembrulhe a moeda nativa."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap pending"
|
||||
msgstr "Desempacotar pendente"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrapping native currency."
|
||||
msgstr "Desembrulhando moeda nativa."
|
||||
|
||||
#: src/pages/Vote/Landing.tsx
|
||||
msgid "Update Delegation"
|
||||
msgstr "Atualizar Delegação"
|
||||
@@ -2220,6 +2253,7 @@ msgstr "Sacar {0} UNI-V2"
|
||||
msgid "Withdrew UNI-V2!"
|
||||
msgstr "Sacou UNI-V2!"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Wrap"
|
||||
msgstr "Cobrir"
|
||||
@@ -2228,6 +2262,22 @@ msgstr "Cobrir"
|
||||
msgid "Wrap <0/> to {0}"
|
||||
msgstr "Wrap <0/> a {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap confirmed"
|
||||
msgstr "Envelopamento confirmado"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrap native currency."
|
||||
msgstr "Embrulhe a moeda nativa."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap pending"
|
||||
msgstr "Encerramento pendente"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrapping native currency."
|
||||
msgstr "Embrulhar moeda nativa."
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Wrong Network"
|
||||
@@ -2443,9 +2493,13 @@ msgstr "por meio de {0}"
|
||||
msgid "via {0} token list"
|
||||
msgstr "por meio da lista de tokens {0}"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "{0, plural, =1 {Best route via 1 hop} other {Best route via # hops}}"
|
||||
msgstr "{0, plural, =1 {Melhor rota via 1 hop} other {Melhor rota via # hops}}"
|
||||
|
||||
#: src/components/SearchModal/ImportToken.tsx
|
||||
msgid "{0, plural, one {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, one {Import token} other {Import tokens}}"
|
||||
msgid "{0, plural, =1 {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, =1 {Importar token} other {Importar fichas}}"
|
||||
|
||||
#: src/components/RateToggle/index.tsx
|
||||
#: src/components/RateToggle/index.tsx
|
||||
|
||||
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: 2022-02-11 04:07\n"
|
||||
"PO-Revision-Date: 2022-03-02 19:11\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: pt_PT\n"
|
||||
"Language-Team: Portuguese\n"
|
||||
@@ -217,8 +217,8 @@ msgid "An error occurred when trying to execute this swap. You may need to incre
|
||||
msgstr "Ocorreu um erro ao tentar executar esta troca. Pode ser necessário aumentar sua tolerância ao deslizamento. Se isso não funcionar, pode haver uma incompatibilidade com o token que você está negociando. Nota: a taxa de transferência e tokens de rebase são incompatíveis com Uniswap V3."
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
msgid "Approval pending <0/>"
|
||||
msgstr "Aprovação pendente <0/>"
|
||||
msgid "Approval pending"
|
||||
msgstr "Aprovação pendente"
|
||||
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
@@ -288,6 +288,10 @@ msgstr "Pelo menos {0} {1} e {2} {3} serão reembolsados para a sua carteira dev
|
||||
msgid "Auto"
|
||||
msgstr "Automático"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "Auto Router"
|
||||
msgstr "Roteador automático"
|
||||
|
||||
#: src/components/Settings/index.tsx
|
||||
msgid "Auto Router API"
|
||||
msgstr "API Auto Router"
|
||||
@@ -747,6 +751,8 @@ msgstr "Insira um endereço de token válido"
|
||||
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
msgid "Enter {0} amount"
|
||||
msgstr "Insira o valor {0}"
|
||||
|
||||
@@ -959,6 +965,8 @@ msgstr "Liquidez insuficiente no pool para sua negociação"
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/hooks/swap/useSwapInfo.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
@@ -1700,6 +1708,10 @@ msgstr "Troque <0 /> exatamente por <1 />"
|
||||
msgid "Swap Anyway"
|
||||
msgstr "Trocar mesmo assim"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap confirmed"
|
||||
msgstr "Troca confirmada"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap details"
|
||||
msgstr "Trocar detalhes"
|
||||
@@ -1713,6 +1725,10 @@ msgstr "Troque exatamente <0 /> por <1 />"
|
||||
msgid "Swap failed: {0}"
|
||||
msgstr "A troca falhou: {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap pending"
|
||||
msgstr "Troca pendente"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap summary"
|
||||
msgstr "Resumo da troca"
|
||||
@@ -1906,6 +1922,10 @@ msgstr "Transação Enviada"
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Transação concluída em"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction confirmed"
|
||||
msgstr "Transação confirmada"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
#: src/lib/components/Swap/Settings/TransactionTtlInput.tsx
|
||||
msgid "Transaction deadline"
|
||||
@@ -1920,10 +1940,6 @@ msgstr "Transação pendente"
|
||||
msgid "Transaction rejected."
|
||||
msgstr "Transação rejeitada."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction submitted"
|
||||
msgstr "Transação enviada"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalActionSelector.tsx
|
||||
msgid "Transfer Token"
|
||||
msgstr "Token de transferência"
|
||||
@@ -2044,6 +2060,7 @@ msgstr "Rede não suportada - mude para outra para negociar."
|
||||
msgid "Untitled"
|
||||
msgstr "Sem título"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Unwrap"
|
||||
msgstr "Desembrulhar"
|
||||
@@ -2052,6 +2069,22 @@ msgstr "Desembrulhar"
|
||||
msgid "Unwrap <0/> to {0}"
|
||||
msgstr "Desembrulhe <0/> a {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap confirmed"
|
||||
msgstr "Desembrulhar confirmado"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrap native currency."
|
||||
msgstr "Desembrulhe a moeda nativa."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap pending"
|
||||
msgstr "Desempacotar pendente"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrapping native currency."
|
||||
msgstr "Desembrulhando moeda nativa."
|
||||
|
||||
#: src/pages/Vote/Landing.tsx
|
||||
msgid "Update Delegation"
|
||||
msgstr "Atualizar Delegação"
|
||||
@@ -2220,6 +2253,7 @@ msgstr "Retirando {0} UNI-V2"
|
||||
msgid "Withdrew UNI-V2!"
|
||||
msgstr "Levantou UNI-V2!"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Wrap"
|
||||
msgstr "Embrulhar"
|
||||
@@ -2228,6 +2262,22 @@ msgstr "Embrulhar"
|
||||
msgid "Wrap <0/> to {0}"
|
||||
msgstr "Wrap <0/> a {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap confirmed"
|
||||
msgstr "Envelopamento confirmado"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrap native currency."
|
||||
msgstr "Embrulhe a moeda nativa."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap pending"
|
||||
msgstr "Encerramento pendente"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrapping native currency."
|
||||
msgstr "Embrulhar moeda nativa."
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Wrong Network"
|
||||
@@ -2443,9 +2493,13 @@ msgstr "através de {0}"
|
||||
msgid "via {0} token list"
|
||||
msgstr "através de {0} lista de token"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "{0, plural, =1 {Best route via 1 hop} other {Best route via # hops}}"
|
||||
msgstr "{0, plural, =1 {Melhor rota via 1 hop} other {Melhor rota via # hops}}"
|
||||
|
||||
#: src/components/SearchModal/ImportToken.tsx
|
||||
msgid "{0, plural, one {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, one {Importar tokens} other {Importar token}}"
|
||||
msgid "{0, plural, =1 {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, =1 {Importar token} other {Importar fichas}}"
|
||||
|
||||
#: src/components/RateToggle/index.tsx
|
||||
#: src/components/RateToggle/index.tsx
|
||||
|
||||
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: 2022-02-11 04:07\n"
|
||||
"PO-Revision-Date: 2022-03-02 19:11\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: ro_RO\n"
|
||||
"Language-Team: Romanian\n"
|
||||
@@ -217,8 +217,8 @@ msgid "An error occurred when trying to execute this swap. You may need to incre
|
||||
msgstr "A apărut o eroare la încercarea de a executa acest swap. Este posibil să fie nevoie să vă măriți toleranța la alunecare. Dacă acest lucru nu funcționează, poate exista o incompatibilitate cu jetonul pe care îl tranzacționați. Notă: taxa pentru jetoane de transfer și rebase sunt incompatibile cu Uniswap V3."
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
msgid "Approval pending <0/>"
|
||||
msgstr "Aprobare în așteptare <0/>"
|
||||
msgid "Approval pending"
|
||||
msgstr "În curs de aprobare"
|
||||
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
@@ -288,6 +288,10 @@ msgstr "Cel puțin {0} {1} și {2} {3} vor fi rambursați în portofelul tău da
|
||||
msgid "Auto"
|
||||
msgstr "Automat"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "Auto Router"
|
||||
msgstr "Router automat"
|
||||
|
||||
#: src/components/Settings/index.tsx
|
||||
msgid "Auto Router API"
|
||||
msgstr "Auto Router API"
|
||||
@@ -747,6 +751,8 @@ msgstr "Introdu o adresă valabilă a grupului"
|
||||
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
msgid "Enter {0} amount"
|
||||
msgstr "Introduceți {0} sumă"
|
||||
|
||||
@@ -959,6 +965,8 @@ msgstr "Lichiditate insuficientă în pool pentru tranzacția dvs"
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/hooks/swap/useSwapInfo.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
@@ -1700,6 +1708,10 @@ msgstr "Schimbați <0 /> pentru exact <1 />"
|
||||
msgid "Swap Anyway"
|
||||
msgstr "Schimbă Oricum"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap confirmed"
|
||||
msgstr "Schimbarea a fost confirmată"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap details"
|
||||
msgstr "Schimbați detalii"
|
||||
@@ -1713,6 +1725,10 @@ msgstr "Schimbați exact <0 /> cu <1 />"
|
||||
msgid "Swap failed: {0}"
|
||||
msgstr "Schimbarea a eșuat: {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap pending"
|
||||
msgstr "Schimb în așteptare"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap summary"
|
||||
msgstr "Rezumat schimb"
|
||||
@@ -1906,6 +1922,10 @@ msgstr "Tranzacție Trimisă"
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Tranzacție finalizată în"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction confirmed"
|
||||
msgstr "Tranzacție confirmată"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
#: src/lib/components/Swap/Settings/TransactionTtlInput.tsx
|
||||
msgid "Transaction deadline"
|
||||
@@ -1920,10 +1940,6 @@ msgstr "Tranzacție în așteptare"
|
||||
msgid "Transaction rejected."
|
||||
msgstr "Tranzacția respinsă."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction submitted"
|
||||
msgstr "Tranzacție trimisă"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalActionSelector.tsx
|
||||
msgid "Transfer Token"
|
||||
msgstr "Jeton de transfer"
|
||||
@@ -2044,6 +2060,7 @@ msgstr "Rețea neacceptată - comutați la alta pentru a tranzacționa."
|
||||
msgid "Untitled"
|
||||
msgstr "Fără titlu"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Unwrap"
|
||||
msgstr "Despachetează"
|
||||
@@ -2052,6 +2069,22 @@ msgstr "Despachetează"
|
||||
msgid "Unwrap <0/> to {0}"
|
||||
msgstr "Desfaceți <0/> la {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap confirmed"
|
||||
msgstr "Desfacere confirmată"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrap native currency."
|
||||
msgstr "Desfaceți moneda nativă."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap pending"
|
||||
msgstr "Desfacere în așteptare"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrapping native currency."
|
||||
msgstr "Desfacerea monedei native."
|
||||
|
||||
#: src/pages/Vote/Landing.tsx
|
||||
msgid "Update Delegation"
|
||||
msgstr "Actualizează Delegarea"
|
||||
@@ -2220,6 +2253,7 @@ msgstr "Retragere {0} UNI-V2"
|
||||
msgid "Withdrew UNI-V2!"
|
||||
msgstr "S-au retras UNI-V2!"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Wrap"
|
||||
msgstr "Împachetează"
|
||||
@@ -2228,6 +2262,22 @@ msgstr "Împachetează"
|
||||
msgid "Wrap <0/> to {0}"
|
||||
msgstr "Înfășurați <0/> la {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap confirmed"
|
||||
msgstr "Wrap confirmat"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrap native currency."
|
||||
msgstr "Încheiați moneda nativă."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap pending"
|
||||
msgstr "Wrap în așteptare"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrapping native currency."
|
||||
msgstr "Încheierea monedei native."
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Wrong Network"
|
||||
@@ -2443,9 +2493,13 @@ msgstr "prin {0}"
|
||||
msgid "via {0} token list"
|
||||
msgstr "prin {0} lista de jetoane"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "{0, plural, =1 {Best route via 1 hop} other {Best route via # hops}}"
|
||||
msgstr "{0, plural, =1 {Cel mai bun traseu printr-un hop} other {Cel mai bun traseu prin # hamei}}"
|
||||
|
||||
#: src/components/SearchModal/ImportToken.tsx
|
||||
msgid "{0, plural, one {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, one {Importă jetonul} other {Importă jetoane}}"
|
||||
msgid "{0, plural, =1 {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, =1 {Import token} other {Importați jetoane}}"
|
||||
|
||||
#: src/components/RateToggle/index.tsx
|
||||
#: src/components/RateToggle/index.tsx
|
||||
|
||||
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: 2022-02-12 15:07\n"
|
||||
"PO-Revision-Date: 2022-03-02 19:11\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: ru_RU\n"
|
||||
"Language-Team: Russian\n"
|
||||
@@ -217,8 +217,8 @@ msgid "An error occurred when trying to execute this swap. You may need to incre
|
||||
msgstr "Произошла ошибка при попытке произвести этот обмен. Возможно, нужно увеличить допустимое проскальзывание. Если это не сработает, возможно, имеет место несовместимость с токеном, которым вы торгуете. Обратите внимание: токены с комиссией за перевод или изменяемой базой несовместимы с Uniswap V3."
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
msgid "Approval pending <0/>"
|
||||
msgstr "Ожидается одобрение <0/>"
|
||||
msgid "Approval pending"
|
||||
msgstr "Ожидается подтверждение"
|
||||
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
@@ -288,6 +288,10 @@ msgstr "Не менее {0} {1} и {2} {3} будут возвращены на
|
||||
msgid "Auto"
|
||||
msgstr "Авто"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "Auto Router"
|
||||
msgstr "Автомаршрутизатор"
|
||||
|
||||
#: src/components/Settings/index.tsx
|
||||
msgid "Auto Router API"
|
||||
msgstr "API автомаршрутизатора"
|
||||
@@ -747,6 +751,8 @@ msgstr "Введите правильный адрес токена"
|
||||
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
msgid "Enter {0} amount"
|
||||
msgstr "Введите сумму в {0}"
|
||||
|
||||
@@ -959,6 +965,8 @@ msgstr "Недостаточно ликвидности в пуле для ва
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/hooks/swap/useSwapInfo.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
@@ -1700,6 +1708,10 @@ msgstr "Обменять <0/> на ровно <1/>"
|
||||
msgid "Swap Anyway"
|
||||
msgstr "Всё равно обменять"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap confirmed"
|
||||
msgstr "Обмен подтвержден"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap details"
|
||||
msgstr "Подробности обмена"
|
||||
@@ -1713,6 +1725,10 @@ msgstr "Обменять ровно <0/> на <1/>"
|
||||
msgid "Swap failed: {0}"
|
||||
msgstr "Обмен не удался: {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap pending"
|
||||
msgstr "Ожидается обмен"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap summary"
|
||||
msgstr "Общая информация об обмене"
|
||||
@@ -1906,6 +1922,10 @@ msgstr "Транзакция отправлена"
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Транзакция завершена за"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction confirmed"
|
||||
msgstr "Транзакция подтверждена"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
#: src/lib/components/Swap/Settings/TransactionTtlInput.tsx
|
||||
msgid "Transaction deadline"
|
||||
@@ -1920,10 +1940,6 @@ msgstr "Транзакция подтверждается"
|
||||
msgid "Transaction rejected."
|
||||
msgstr "Транзакция отклонена."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction submitted"
|
||||
msgstr "Транзакция отправлена"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalActionSelector.tsx
|
||||
msgid "Transfer Token"
|
||||
msgstr "Перевести токен"
|
||||
@@ -2044,6 +2060,7 @@ msgstr "Сеть не поддерживается; переключитесь
|
||||
msgid "Untitled"
|
||||
msgstr "Без названия"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Unwrap"
|
||||
msgstr "Развернуть"
|
||||
@@ -2052,6 +2069,22 @@ msgstr "Развернуть"
|
||||
msgid "Unwrap <0/> to {0}"
|
||||
msgstr "Развернуть <0/> в {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap confirmed"
|
||||
msgstr "Развернуть подтверждено"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrap native currency."
|
||||
msgstr "Развернуть нативную валюту."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap pending"
|
||||
msgstr "Развернуть в ожидании"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrapping native currency."
|
||||
msgstr "Распаковка нативной валюты."
|
||||
|
||||
#: src/pages/Vote/Landing.tsx
|
||||
msgid "Update Delegation"
|
||||
msgstr "Обновить делегирование"
|
||||
@@ -2220,6 +2253,7 @@ msgstr "Вывод {0} UNI-V2"
|
||||
msgid "Withdrew UNI-V2!"
|
||||
msgstr "Вы вывели UNI-V2!"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Wrap"
|
||||
msgstr "Завернуть"
|
||||
@@ -2228,6 +2262,22 @@ msgstr "Завернуть"
|
||||
msgid "Wrap <0/> to {0}"
|
||||
msgstr "Завернуть <0/> в {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap confirmed"
|
||||
msgstr "Обертывание подтверждено"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrap native currency."
|
||||
msgstr "Оберните нативную валюту."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap pending"
|
||||
msgstr "Ожидание переноса"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrapping native currency."
|
||||
msgstr "Накрутка нативной валюты."
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Wrong Network"
|
||||
@@ -2443,9 +2493,13 @@ msgstr "из {0}"
|
||||
msgid "via {0} token list"
|
||||
msgstr "из списка токенов {0}"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "{0, plural, =1 {Best route via 1 hop} other {Best route via # hops}}"
|
||||
msgstr "{0, plural, =1 {Лучший маршрут через 1 прыжок} other {Лучший маршрут через #hops}}"
|
||||
|
||||
#: src/components/SearchModal/ImportToken.tsx
|
||||
msgid "{0, plural, one {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, one {Импортировать токен} other {Импортировать токены}}"
|
||||
msgid "{0, plural, =1 {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, =1 {Импортный токен} other {Импортируйте токены}}"
|
||||
|
||||
#: src/components/RateToggle/index.tsx
|
||||
#: src/components/RateToggle/index.tsx
|
||||
|
||||
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: 2022-02-17 15:11\n"
|
||||
"PO-Revision-Date: 2022-03-02 19:11\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: sl_SI\n"
|
||||
"Language-Team: Slovenian\n"
|
||||
@@ -217,7 +217,7 @@ msgid "An error occurred when trying to execute this swap. You may need to incre
|
||||
msgstr "Pri poskusu izvedbe te zamenjave je prišlo do napake. Morda boste morali povečati toleranco do zdrsa. Če to ne deluje, je morda težava v nezdružljivosti z žetonom, s katerim trgujete. Pozor: žetoni s provizijami ob prenosu in uravnavani (rebase) žetoni niso združljivi z Uniswap V3."
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
msgid "Approval pending <0/>"
|
||||
msgid "Approval pending"
|
||||
msgstr "Odobritev je v teku"
|
||||
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
@@ -288,6 +288,10 @@ msgstr "V vašo denarnico bo zaradi izbranega cenovnega razpona vrnjeno vsaj {0}
|
||||
msgid "Auto"
|
||||
msgstr "Samodejno"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "Auto Router"
|
||||
msgstr "Samodejni iskalnik poti"
|
||||
|
||||
#: src/components/Settings/index.tsx
|
||||
msgid "Auto Router API"
|
||||
msgstr "API samodejnega iskalnika poti"
|
||||
@@ -747,6 +751,8 @@ msgstr "Vnesite veljaven naslov žetona"
|
||||
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
msgid "Enter {0} amount"
|
||||
msgstr "Vnesite znesek {0}"
|
||||
|
||||
@@ -959,6 +965,8 @@ msgstr "Sklad ima prenizko likvidnost za ta posel."
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/hooks/useWrapCallback.tsx
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/components/Swap/WrapErrorText.tsx
|
||||
#: src/lib/hooks/swap/useSwapInfo.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
#: src/state/mint/hooks.tsx
|
||||
@@ -1700,6 +1708,10 @@ msgstr "Menjaj <0/> za natanko <1/>"
|
||||
msgid "Swap Anyway"
|
||||
msgstr "Vseeno zamenjaj"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap confirmed"
|
||||
msgstr "Zamenjava potrjena"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap details"
|
||||
msgstr "Podrobnosti menjave"
|
||||
@@ -1713,6 +1725,10 @@ msgstr "Menjaj natanko <0/> za <1/>"
|
||||
msgid "Swap failed: {0}"
|
||||
msgstr "Menjava je spodletela: {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Swap pending"
|
||||
msgstr "Zamenjava v teku"
|
||||
|
||||
#: src/lib/components/Swap/Summary/index.tsx
|
||||
msgid "Swap summary"
|
||||
msgstr "Povzetek menjave"
|
||||
@@ -1906,6 +1922,10 @@ msgstr "Transakcija oddana"
|
||||
msgid "Transaction completed in"
|
||||
msgstr "Transakcija je bila zaključena v "
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction confirmed"
|
||||
msgstr "Transakcija potrjena"
|
||||
|
||||
#: src/components/TransactionSettings/index.tsx
|
||||
#: src/lib/components/Swap/Settings/TransactionTtlInput.tsx
|
||||
msgid "Transaction deadline"
|
||||
@@ -1920,10 +1940,6 @@ msgstr "Transakcija v teku"
|
||||
msgid "Transaction rejected."
|
||||
msgstr "Transakcija zavrnjena."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Transaction submitted"
|
||||
msgstr "Transakcija oddana"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalActionSelector.tsx
|
||||
msgid "Transfer Token"
|
||||
msgstr "Prenos žetona"
|
||||
@@ -2044,6 +2060,7 @@ msgstr "To omrežje ni podprto – za trgovanje preklopite na drugo omrežje."
|
||||
msgid "Untitled"
|
||||
msgstr "Brez naslova"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Unwrap"
|
||||
msgstr "Odvij"
|
||||
@@ -2052,6 +2069,22 @@ msgstr "Odvij"
|
||||
msgid "Unwrap <0/> to {0}"
|
||||
msgstr "Odvijte <0/> v {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap confirmed"
|
||||
msgstr "Razvijanje potrjeno"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrap native currency."
|
||||
msgstr "Odvijte domačo valuto."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Unwrap pending"
|
||||
msgstr "Razvijanje čaka"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Unwrapping native currency."
|
||||
msgstr "Razvijanje domače valute."
|
||||
|
||||
#: src/pages/Vote/Landing.tsx
|
||||
msgid "Update Delegation"
|
||||
msgstr "Posodobi pooblastilo"
|
||||
@@ -2220,6 +2253,7 @@ msgstr "Dvigujem {0} UNI-V2"
|
||||
msgid "Withdrew UNI-V2!"
|
||||
msgstr "UNI-V2 dvignjen!"
|
||||
|
||||
#: src/lib/components/Swap/SwapButton.tsx
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Wrap"
|
||||
msgstr "Ovij"
|
||||
@@ -2228,6 +2262,22 @@ msgstr "Ovij"
|
||||
msgid "Wrap <0/> to {0}"
|
||||
msgstr "Ovijte <0/> v {0}"
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap confirmed"
|
||||
msgstr "Zavijanje potrjeno"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrap native currency."
|
||||
msgstr "Zavijte domačo valuto."
|
||||
|
||||
#: src/lib/components/Swap/Status/StatusDialog.tsx
|
||||
msgid "Wrap pending"
|
||||
msgstr "Zavijanje čaka"
|
||||
|
||||
#: src/lib/components/Swap/Toolbar/Caption.tsx
|
||||
msgid "Wrapping native currency."
|
||||
msgstr "Zavijanje domače valute."
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Wrong Network"
|
||||
@@ -2443,9 +2493,13 @@ msgstr "preko {0}"
|
||||
msgid "via {0} token list"
|
||||
msgstr "prek seznama žetonov {0}"
|
||||
|
||||
#: src/lib/components/Swap/RoutingDiagram/index.tsx
|
||||
msgid "{0, plural, =1 {Best route via 1 hop} other {Best route via # hops}}"
|
||||
msgstr "{0, plural, =1 {Najboljša pot preko 1 skoka} other {Najboljša pot prek # skokov}}"
|
||||
|
||||
#: src/components/SearchModal/ImportToken.tsx
|
||||
msgid "{0, plural, one {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, one {Uvozi žeton} other {Uvozi žetone}}"
|
||||
msgid "{0, plural, =1 {Import token} other {Import tokens}}"
|
||||
msgstr "{0, plural, =1 {Uvozi žeton} other {Uvozi žetone}}"
|
||||
|
||||
#: src/components/RateToggle/index.tsx
|
||||
#: src/components/RateToggle/index.tsx
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user