Compare commits
21 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2b496c62f1 | ||
|
|
a3c77708e2 | ||
|
|
b9e8139699 | ||
|
|
c82dcabd19 | ||
|
|
26b37d5274 | ||
|
|
d5c464b26b | ||
|
|
c48d4c5425 | ||
|
|
b28cd9c8b0 | ||
|
|
071017879c | ||
|
|
5535c83db5 | ||
|
|
8f9eccabaf | ||
|
|
322cdaf888 | ||
|
|
edcdbfd8f5 | ||
|
|
d36f13d7e2 | ||
|
|
8548b33bd9 | ||
|
|
0e148bb1b3 | ||
|
|
9ddb37a982 | ||
|
|
63227cd2c5 | ||
|
|
dc38dc1c10 | ||
|
|
2c6757ff62 | ||
|
|
0d03b09ae9 |
21
.github/actions/setup/action.yml
vendored
Normal file
21
.github/actions/setup/action.yml
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
name: Setup
|
||||
runs:
|
||||
using: composite
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 14
|
||||
registry-url: https://registry.npmjs.org
|
||||
cache: yarn
|
||||
|
||||
- uses: actions/cache@v3
|
||||
id: install-cache
|
||||
with:
|
||||
path: node_modules/
|
||||
key: ${{ runner.os }}-install-${{ hashFiles('**/yarn.lock') }}
|
||||
|
||||
- if: steps.install-cache.outputs.cache-hit != 'true'
|
||||
run: yarn install --frozen-lockfile --ignore-scripts
|
||||
shell: bash
|
||||
6
.github/workflows/check-pr-title.yaml
vendored
6
.github/workflows/check-pr-title.yaml
vendored
@@ -1,4 +1,4 @@
|
||||
name: "Check PR Title"
|
||||
name: Check PR Title
|
||||
|
||||
on:
|
||||
pull_request_target:
|
||||
@@ -8,8 +8,8 @@ on:
|
||||
- synchronize
|
||||
|
||||
jobs:
|
||||
check-pr-title:
|
||||
name: Check PR Title
|
||||
# Ensures that the PR title adheres to [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/).
|
||||
conventional-commit:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: amannn/action-semantic-pull-request@v3.4.0
|
||||
|
||||
29
.github/workflows/crowdin-sync.yaml
vendored
29
.github/workflows/crowdin-sync.yaml
vendored
@@ -2,34 +2,18 @@ name: Crowdin Download
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 * * * *' # every hour we download translations and update the pr from crowdin
|
||||
|
||||
# Download translations every hour.
|
||||
# This is not done as part of the build so that builds remain reproducible.
|
||||
- cron: '0 * * * *'
|
||||
# manual trigger
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
download-translations:
|
||||
name: Download translations
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 14
|
||||
registry-url: https://registry.npmjs.org
|
||||
cache: 'yarn'
|
||||
|
||||
- uses: actions/cache@v3
|
||||
id: install-cache
|
||||
with:
|
||||
path: node_modules/
|
||||
key: ${{ runner.os }}-install-${{ hashFiles('**/yarn.lock') }}
|
||||
|
||||
- if: steps.install-cache.outputs.cache-hit != 'true'
|
||||
run: yarn install --frozen-lockfile --ignore-scripts
|
||||
|
||||
- uses: ./.github/actions/setup
|
||||
- run: yarn i18n:extract
|
||||
|
||||
- name: Download Crowdin translations
|
||||
@@ -41,8 +25,9 @@ jobs:
|
||||
token: ${{ secrets.CROWDIN_PERSONAL_TOKEN_SECRET }}
|
||||
source: 'src/locales/en-US.po'
|
||||
translation: 'src/locales/%locale%.po'
|
||||
create_pull_request: false
|
||||
localization_branch_name: main
|
||||
create_pull_request: true
|
||||
pull_request_title: 'chore(i18n): new Crowdin translations'
|
||||
localization_branch_name: l10n_crowdin
|
||||
commit_message: "chore(i18n): synchronize translations from crowdin [skip ci]"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
21
.github/workflows/crowdin.yaml
vendored
21
.github/workflows/crowdin.yaml
vendored
@@ -6,28 +6,11 @@ on:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
synchronize-with-crowdin:
|
||||
name: Upload sources to Crowdin
|
||||
upload-sources:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 14
|
||||
registry-url: https://registry.npmjs.org
|
||||
cache: 'yarn'
|
||||
|
||||
- uses: actions/cache@v3
|
||||
id: install-cache
|
||||
with:
|
||||
path: node_modules/
|
||||
key: ${{ runner.os }}-install-${{ hashFiles('**/yarn.lock') }}
|
||||
|
||||
- if: steps.install-cache.outputs.cache-hit != 'true'
|
||||
run: yarn install --frozen-lockfile --ignore-scripts
|
||||
|
||||
- uses: ./.github/actions/setup
|
||||
- run: yarn i18n:extract
|
||||
|
||||
- name: Upload Crowdin sources
|
||||
|
||||
45
.github/workflows/lint.yml
vendored
45
.github/workflows/lint.yml
vendored
@@ -1,45 +0,0 @@
|
||||
name: Lint
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
run-linters:
|
||||
name: Run linters
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 14
|
||||
registry-url: https://registry.npmjs.org
|
||||
cache: 'yarn'
|
||||
|
||||
- uses: actions/cache@v3
|
||||
id: install-cache
|
||||
with:
|
||||
path: node_modules/
|
||||
key: ${{ runner.os }}-install-${{ hashFiles('**/yarn.lock') }}
|
||||
|
||||
- if: steps.install-cache.outputs.cache-hit != 'true'
|
||||
run: yarn install --frozen-lockfile --ignore-scripts
|
||||
|
||||
- name: Run eslint w/ autofix
|
||||
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.owner.login == github.repository_owner }}
|
||||
uses: wearerequired/lint-action@36c7e6689e80d785d27a22f71d970f3a3b4fcb70
|
||||
with:
|
||||
github_token: ${{ secrets.github_token }}
|
||||
eslint: true
|
||||
eslint_args: "-c .eslintrc.json"
|
||||
auto_fix: true
|
||||
|
||||
- name: Run eslint
|
||||
if: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.repo.owner.login != github.repository_owner }}
|
||||
run: yarn eslint .
|
||||
95
.github/workflows/release.yaml
vendored
95
.github/workflows/release.yaml
vendored
@@ -1,61 +1,51 @@
|
||||
name: Release
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 12 * * 1-4' # every day 12:00 UTC Monday-Thursday
|
||||
|
||||
# Scheduled deploys are disabled until they can be tested. This is currently blocked on flaky cypress tests.
|
||||
# schedule:
|
||||
# - cron: '0 12 * * 1-4' # every day 12:00 UTC Monday-Thursday
|
||||
# manual trigger
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
bump_version:
|
||||
name: Bump Version
|
||||
# wait-on-test:
|
||||
# runs-on: ubuntu-latest
|
||||
# steps:
|
||||
# - uses: jitterbit/await-check-suites@v1
|
||||
# with:
|
||||
# # Only wait for the first check suite, so that only tests are awaited, and not eg crowdin.
|
||||
# onlyFirstCheckSuite: true
|
||||
|
||||
tag:
|
||||
# needs: wait-on-test
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
new_tag: ${{ steps.github_tag_action.outputs.new_tag }}
|
||||
changelog: ${{ steps.github_tag_action.outputs.changelog }}
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Bump version and push tag
|
||||
id: github_tag_action
|
||||
uses: mathieudutour/github-tag-action@331898d5052eedac9b15fec867b5ba66ebf9b692
|
||||
- name: Bump and tag
|
||||
id: github-tag-action
|
||||
uses: mathieudutour/github-tag-action@v6.0
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
release_branches: .*
|
||||
default_bump: false
|
||||
default_bump: patch
|
||||
|
||||
create_release:
|
||||
name: Create Release
|
||||
release:
|
||||
needs: tag
|
||||
if: ${{ needs.tag.outputs.new_tag != null }}
|
||||
runs-on: ubuntu-latest
|
||||
needs: bump_version
|
||||
if: ${{ needs.bump_version.outputs.new_tag != null }}
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 14
|
||||
registry-url: https://registry.npmjs.org
|
||||
cache: 'yarn'
|
||||
|
||||
- uses: actions/cache@v3
|
||||
id: install-cache
|
||||
with:
|
||||
path: node_modules/
|
||||
key: ${{ runner.os }}-install-${{ hashFiles('**/yarn.lock') }}
|
||||
|
||||
- if: steps.install-cache.outputs.cache-hit != 'true'
|
||||
run: yarn install --frozen-lockfile --ignore-scripts
|
||||
|
||||
- uses: ./.github/actions/setup
|
||||
- run: yarn prepare
|
||||
|
||||
- run: yarn build
|
||||
|
||||
- name: Pin to IPFS
|
||||
id: upload
|
||||
id: pinata
|
||||
uses: anantaramdas/ipfs-pinata-deploy-action@39bbda1ce1fe24c69c6f57861b8038278d53688d
|
||||
with:
|
||||
pin-name: Uniswap ${{ needs.bump_version.outputs.new_tag }}
|
||||
pin-name: Uniswap ${{ needs.tag.outputs.new_tag }}
|
||||
path: './build'
|
||||
pinata-api-key: ${{ secrets.PINATA_API_KEY }}
|
||||
pinata-secret-api-key: ${{ secrets.PINATA_API_SECRET_KEY }}
|
||||
@@ -69,10 +59,24 @@ jobs:
|
||||
seeds: ${{ secrets.CRUST_SEEDS }}
|
||||
|
||||
- name: Convert CIDv0 to CIDv1
|
||||
id: convert_cidv0
|
||||
id: convert-cidv0
|
||||
uses: uniswap/convert-cidv0-cidv1@v1.0.0
|
||||
with:
|
||||
cidv0: ${{ steps.upload.outputs.hash }}
|
||||
cidv0: ${{ steps.pinata.outputs.hash }}
|
||||
|
||||
- uses: actions/cache@v3
|
||||
id: cypress-cache
|
||||
with:
|
||||
path: /home/runner/.cache/Cypress
|
||||
key: ${{ runner.os }}-cypress-${{ hashFiles('node_modules/cypress') }}
|
||||
- if: steps.cypress-cache.outputs.cache-hit != 'true'
|
||||
run: yarn cypress install
|
||||
- uses: cypress-io/github-action@v4
|
||||
with:
|
||||
install: false
|
||||
browser: chrome
|
||||
spec: cypress/e2e/landing.test.ts
|
||||
config: pageLoadTimeout=180000,retries=4,baseUrl=https://cloudflare-ipfs.com/ipfs/${{ steps.pinata.outputs.hash }}
|
||||
|
||||
- name: Update DNS with new IPFS hash
|
||||
env:
|
||||
@@ -82,20 +86,19 @@ jobs:
|
||||
CLOUDFLARE_ZONE_ID: ${{ secrets.CLOUDFLARE_ZONE_ID }}
|
||||
uses: textileio/cloudflare-update-dnslink@0fe7b7a1ffc865db3a4da9773f0f987447ad5848
|
||||
with:
|
||||
cid: ${{ steps.upload.outputs.hash }}
|
||||
cid: ${{ steps.pinata.outputs.hash }}
|
||||
|
||||
- name: Create GitHub Release
|
||||
id: create_release
|
||||
- name: Release
|
||||
uses: actions/create-release@v1.1.0
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
tag_name: ${{ needs.bump_version.outputs.new_tag }}
|
||||
release_name: Release ${{ needs.bump_version.outputs.new_tag }}
|
||||
tag_name: ${{ needs.tag.outputs.new_tag }}
|
||||
release_name: Release ${{ needs.tag.outputs.new_tag }}
|
||||
body: |
|
||||
IPFS hash of the deployment:
|
||||
- CIDv0: `${{ steps.upload.outputs.hash }}`
|
||||
- CIDv1: `${{ steps.convert_cidv0.outputs.cidv1 }}`
|
||||
- CIDv0: `${{ steps.pinata.outputs.hash }}`
|
||||
- CIDv1: `${{ steps.convert-cidv0.outputs.cidv1 }}`
|
||||
|
||||
The latest release is always accessible via our alias to the Cloudflare IPFS gateway at [app.uniswap.org](https://app.uniswap.org).
|
||||
|
||||
@@ -105,8 +108,8 @@ jobs:
|
||||
Your Uniswap settings are never remembered across different URLs.
|
||||
|
||||
IPFS gateways:
|
||||
- https://${{ steps.convert_cidv0.outputs.cidv1 }}.ipfs.dweb.link/
|
||||
- https://${{ steps.convert_cidv0.outputs.cidv1 }}.ipfs.cf-ipfs.com/
|
||||
- [ipfs://${{ steps.upload.outputs.hash }}/](ipfs://${{ steps.upload.outputs.hash }}/)
|
||||
- https://${{ steps.convert-cidv0.outputs.cidv1 }}.ipfs.dweb.link/
|
||||
- https://${{ steps.convert-cidv0.outputs.cidv1 }}.ipfs.cf-ipfs.com/
|
||||
- [ipfs://${{ steps.upload.outputs.hash }}/](ipfs://${{ steps.pinata.outputs.hash }}/)
|
||||
|
||||
${{ needs.bump_version.outputs.changelog }}
|
||||
${{ needs.tag.outputs.changelog }}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
name: End-to-End Tests
|
||||
name: Test
|
||||
|
||||
on:
|
||||
push:
|
||||
@@ -7,33 +7,33 @@ on:
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
# manual trigger
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: ./.github/actions/setup
|
||||
- run: yarn lint
|
||||
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 14
|
||||
registry-url: https://registry.npmjs.org
|
||||
cache: 'yarn'
|
||||
|
||||
- uses: actions/cache@v3
|
||||
id: install-cache
|
||||
with:
|
||||
path: node_modules/
|
||||
key: ${{ runner.os }}-install-${{ hashFiles('**/yarn.lock') }}
|
||||
|
||||
- if: steps.install-cache.outputs.cache-hit != 'true'
|
||||
run: yarn install --frozen-lockfile --ignore-scripts
|
||||
unit-tests:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: ./.github/actions/setup
|
||||
- run: yarn prepare
|
||||
- run: yarn test
|
||||
|
||||
cypress-build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: ./.github/actions/setup
|
||||
- run: yarn prepare
|
||||
|
||||
- run: yarn build
|
||||
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: build
|
||||
@@ -45,35 +45,19 @@ jobs:
|
||||
with:
|
||||
path: /home/runner/.cache/Cypress
|
||||
key: ${{ runner.os }}-cypress-${{ hashFiles('node_modules/cypress') }}
|
||||
|
||||
- if: steps.cypress-cache.outputs.cache-hit != 'true'
|
||||
run: yarn cypress install
|
||||
|
||||
|
||||
cypress-tests:
|
||||
name: Run tests
|
||||
needs: cypress-build
|
||||
runs-on: ubuntu-latest
|
||||
needs: build
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
containers: [1, 2, 3, 4]
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 14
|
||||
registry-url: https://registry.npmjs.org
|
||||
cache: 'yarn'
|
||||
|
||||
- uses: actions/cache@v3
|
||||
id: install-cache
|
||||
with:
|
||||
path: node_modules/ # this should always be a cache hit, from install
|
||||
key: ${{ runner.os }}-install-${{ hashFiles('**/yarn.lock') }}
|
||||
|
||||
- if: steps.install-cache.outputs.cache-hit != 'true'
|
||||
run: yarn install --frozen-lockfile --ignore-scripts
|
||||
- uses: ./.github/actions/setup
|
||||
|
||||
- uses: actions/download-artifact@v2
|
||||
with:
|
||||
@@ -85,7 +69,6 @@ jobs:
|
||||
with:
|
||||
path: /home/runner/.cache/Cypress
|
||||
key: ${{ runner.os }}-cypress-${{ hashFiles('node_modules/cypress') }}
|
||||
|
||||
- if: steps.cypress-cache.outputs.cache-hit != 'true'
|
||||
run: yarn cypress install
|
||||
|
||||
@@ -98,6 +81,5 @@ jobs:
|
||||
record: true
|
||||
parallel: true
|
||||
env:
|
||||
CI: false # disables lint checks when building
|
||||
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
35
.github/workflows/tests-unit.yaml
vendored
35
.github/workflows/tests-unit.yaml
vendored
@@ -1,35 +0,0 @@
|
||||
name: Unit Tests
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
unit-tests:
|
||||
name: Run tests
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 14
|
||||
registry-url: https://registry.npmjs.org
|
||||
cache: 'yarn'
|
||||
|
||||
- uses: actions/cache@v3
|
||||
id: install-cache
|
||||
with:
|
||||
path: node_modules/
|
||||
key: ${{ runner.os }}-install-${{ hashFiles('**/yarn.lock') }}
|
||||
|
||||
- if: steps.install-cache.outputs.cache-hit != 'true'
|
||||
run: yarn install --frozen-lockfile --ignore-scripts
|
||||
|
||||
- run: yarn prepare
|
||||
|
||||
- run: yarn test
|
||||
@@ -1,6 +1,6 @@
|
||||
describe('Swap', () => {
|
||||
beforeEach(() => {
|
||||
cy.visit('/swap')
|
||||
cy.visit('/swap').get('#swap-currency-input .token-amount-input')
|
||||
})
|
||||
|
||||
it('starts with ETH selected by default', () => {
|
||||
|
||||
@@ -6,25 +6,25 @@ describe('Wallet', () => {
|
||||
})
|
||||
|
||||
it('displays account details', () => {
|
||||
cy.get('#web3-status-connected').contains(TEST_ADDRESS_NEVER_USE_SHORTENED).click()
|
||||
cy.get('[data-testid=web3-status-connected]').contains(TEST_ADDRESS_NEVER_USE_SHORTENED).click()
|
||||
})
|
||||
|
||||
it('displays account view in wallet modal', () => {
|
||||
cy.get('#web3-account-identifier-row').contains(TEST_ADDRESS_NEVER_USE_SHORTENED)
|
||||
cy.get('[data-testid=web3-account-identifier-row]').contains(TEST_ADDRESS_NEVER_USE_SHORTENED)
|
||||
})
|
||||
|
||||
it('changes back to the options grid', () => {
|
||||
cy.get('[data-cy=wallet-change]').click()
|
||||
cy.get('[data-cy=option-grid]').should('exist')
|
||||
cy.contains('Change').click()
|
||||
cy.get('[data-testid=option-grid]').should('exist')
|
||||
})
|
||||
|
||||
it('selects injected wallet option', () => {
|
||||
cy.contains('Injected').click()
|
||||
cy.get('#web3-account-identifier-row').contains(TEST_ADDRESS_NEVER_USE_SHORTENED)
|
||||
cy.get('[data-testid=web3-account-identifier-row]').contains(TEST_ADDRESS_NEVER_USE_SHORTENED)
|
||||
})
|
||||
|
||||
it('shows connect buttons after disconnect', () => {
|
||||
cy.get('[data-cy=wallet-disconnect]').click()
|
||||
cy.get('[data-cy=option-grid]').should('exist')
|
||||
cy.contains('Disconnect').click()
|
||||
cy.get('[data-testid=option-grid]').should('exist')
|
||||
})
|
||||
})
|
||||
|
||||
65
package.json
65
package.json
@@ -17,6 +17,7 @@
|
||||
"start": "react-scripts start",
|
||||
"build": "react-scripts build",
|
||||
"serve": "serve build -l 3000",
|
||||
"lint": "yarn eslint .",
|
||||
"test": "react-scripts test --coverage",
|
||||
"cypress:open": "cypress open --browser chrome --e2e",
|
||||
"cypress:run": "cypress run --browser chrome --e2e"
|
||||
@@ -53,26 +54,13 @@
|
||||
"last 1 safari version"
|
||||
]
|
||||
},
|
||||
"dependencies": {
|
||||
"@coinbase/wallet-sdk": "^3.2.0",
|
||||
"devDependencies": {
|
||||
"@ethersproject/experimental": "^5.4.0",
|
||||
"@fontsource/ibm-plex-mono": "^4.5.1",
|
||||
"@fontsource/inter": "^4.5.1",
|
||||
"@gnosis.pm/safe-apps-web3-react": "^0.6.0",
|
||||
"@graphql-codegen/cli": "1.21.5",
|
||||
"@graphql-codegen/typescript": "1.22.3",
|
||||
"@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",
|
||||
"@popperjs/core": "^2.4.4",
|
||||
"@reach/dialog": "^0.10.3",
|
||||
"@reach/portal": "^0.10.3",
|
||||
"@react-hook/window-scroll": "^1.3.0",
|
||||
"@reduxjs/toolkit": "^1.6.1",
|
||||
"@testing-library/jest-dom": "^5.14.1",
|
||||
"@testing-library/react": "^12.0.0",
|
||||
"@testing-library/react-hooks": "^7.0.2",
|
||||
@@ -101,7 +89,35 @@
|
||||
"@types/wcag-contrast": "^3.0.0",
|
||||
"@typescript-eslint/eslint-plugin": "^4.1.0",
|
||||
"@typescript-eslint/parser": "^4.1.0",
|
||||
"@uniswap/default-token-list": "^3.0.0",
|
||||
"cypress": "^10.1.0",
|
||||
"env-cmd": "^10.1.0",
|
||||
"eslint": "^7.11.0",
|
||||
"eslint-config-prettier": "^6.11.0",
|
||||
"eslint-plugin-better-styled-components": "^1.1.2",
|
||||
"eslint-plugin-prettier": "^3.1.3",
|
||||
"eslint-plugin-react": "^7.19.0",
|
||||
"eslint-plugin-react-hooks": "^4.0.0",
|
||||
"eslint-plugin-simple-import-sort": "^7.0.0",
|
||||
"eslint-plugin-unused-imports": "^2.0.0",
|
||||
"ms.macro": "^2.0.0",
|
||||
"react-scripts": "^4.0.3",
|
||||
"serve": "^11.3.2",
|
||||
"typechain": "^5.0.0",
|
||||
"typescript": "^4.4.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"@coinbase/wallet-sdk": "^3.3.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",
|
||||
"@metamask/jazzicon": "^2.0.0",
|
||||
"@popperjs/core": "^2.4.4",
|
||||
"@reach/dialog": "^0.10.3",
|
||||
"@reach/portal": "^0.10.3",
|
||||
"@react-hook/window-scroll": "^1.3.0",
|
||||
"@reduxjs/toolkit": "^1.6.1",
|
||||
"@uniswap/governance": "^1.0.2",
|
||||
"@uniswap/liquidity-staker": "^1.0.2",
|
||||
"@uniswap/merkle-distributor": "1.0.1",
|
||||
@@ -132,17 +148,7 @@
|
||||
"array.prototype.flatmap": "^1.2.4",
|
||||
"cids": "^1.0.0",
|
||||
"copy-to-clipboard": "^3.2.0",
|
||||
"cypress": "^10.1.0",
|
||||
"d3": "^7.0.0",
|
||||
"env-cmd": "^10.1.0",
|
||||
"eslint": "^7.11.0",
|
||||
"eslint-config-prettier": "^6.11.0",
|
||||
"eslint-plugin-better-styled-components": "^1.1.2",
|
||||
"eslint-plugin-prettier": "^3.1.3",
|
||||
"eslint-plugin-react": "^7.19.0",
|
||||
"eslint-plugin-react-hooks": "^4.0.0",
|
||||
"eslint-plugin-simple-import-sort": "^7.0.0",
|
||||
"eslint-plugin-unused-imports": "^2.0.0",
|
||||
"ethers": "^5.1.4",
|
||||
"firebase": "^9.1.3",
|
||||
"fortmatic": "^2.4.0",
|
||||
@@ -154,7 +160,6 @@
|
||||
"jotai": "^1.3.7",
|
||||
"jsbi": "^3.1.4",
|
||||
"make-plural": "^7.0.0",
|
||||
"ms.macro": "^2.0.0",
|
||||
"multicodec": "^3.0.1",
|
||||
"multihashes": "^4.0.2",
|
||||
"node-vibrant": "^3.2.1-alpha.1",
|
||||
@@ -173,7 +178,6 @@
|
||||
"react-popper": "^2.2.3",
|
||||
"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",
|
||||
"react-virtualized-auto-sizer": "^1.0.2",
|
||||
@@ -181,13 +185,9 @@
|
||||
"rebass": "^4.0.7",
|
||||
"redux": "^4.1.2",
|
||||
"redux-localstorage-simple": "^2.3.1",
|
||||
"sass": "^1.45.1",
|
||||
"serve": "^11.3.2",
|
||||
"setimmediate": "^1.0.5",
|
||||
"styled-components": "^5.3.0",
|
||||
"tiny-invariant": "^1.2.0",
|
||||
"typechain": "^5.0.0",
|
||||
"typescript": "^4.4.3",
|
||||
"ua-parser-js": "^0.7.28",
|
||||
"use-count-up": "^2.2.5",
|
||||
"use-resize-observer": "^8.0.0",
|
||||
@@ -197,8 +197,5 @@
|
||||
"workbox-navigation-preload": "^6.1.0",
|
||||
"workbox-precaching": "^6.1.0",
|
||||
"workbox-routing": "^6.1.0"
|
||||
},
|
||||
"resolutions": {
|
||||
"@walletconnect/ethereum-provider": "1.7.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { CheckCircle, Triangle } from 'react-feather'
|
||||
import styled from 'styled-components/macro'
|
||||
|
||||
@@ -35,7 +35,7 @@ const IconWrapper = styled.div<{ pending: boolean; success?: boolean }>`
|
||||
`
|
||||
|
||||
export default function Transaction({ hash }: { hash: string }) {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
const allTransactions = useAllTransactions()
|
||||
|
||||
const tx = allTransactions?.[hash]
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
import { Trans } from '@lingui/macro'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { Connector } from '@web3-react/types'
|
||||
import CopyHelper from 'components/AccountDetails/Copy'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useCallback, useContext } from 'react'
|
||||
import { ExternalLink as LinkIcon } from 'react-feather'
|
||||
import { useAppDispatch } from 'state/hooks'
|
||||
import { updateSelectedWallet } from 'state/user/reducer'
|
||||
import styled, { ThemeContext } from 'styled-components/macro'
|
||||
import { isMobile } from 'utils/userAgent'
|
||||
|
||||
import { ReactComponent as Close } from '../../assets/images/x.svg'
|
||||
import { coinbaseWallet, injected } from '../../connectors'
|
||||
@@ -226,10 +227,14 @@ export default function AccountDetails({
|
||||
ENSName,
|
||||
openOptions,
|
||||
}: AccountDetailsProps) {
|
||||
const { chainId, account, connector } = useActiveWeb3React()
|
||||
const { chainId, account, connector } = useWeb3React()
|
||||
const theme = useContext(ThemeContext)
|
||||
const dispatch = useAppDispatch()
|
||||
|
||||
const isMetaMask = !!window.ethereum?.isMetaMask
|
||||
const isCoinbaseWallet = !!window.ethereum?.isCoinbaseWallet
|
||||
const isInjectedMobileBrowser = (isMetaMask || isCoinbaseWallet) && isMobile
|
||||
|
||||
function formatConnectorName() {
|
||||
const { ethereum } = window
|
||||
const isMetaMask = !!(ethereum && ethereum.isMetaMask)
|
||||
@@ -265,32 +270,43 @@ export default function AccountDetails({
|
||||
<AccountGroupingRow>
|
||||
{formatConnectorName()}
|
||||
<div>
|
||||
{/* Coinbase Wallet reloads the page right now, which breaks the selectedWallet from being set properly on localStorage */}
|
||||
{connector !== coinbaseWallet && (
|
||||
<WalletAction
|
||||
style={{ fontSize: '.825rem', fontWeight: 400, marginRight: '8px' }}
|
||||
onClick={() => {
|
||||
connector.deactivate ? connector.deactivate() : connector.resetState()
|
||||
dispatch(updateSelectedWallet({ wallet: undefined }))
|
||||
openOptions()
|
||||
}}
|
||||
data-cy="wallet-disconnect"
|
||||
>
|
||||
<Trans>Disconnect</Trans>
|
||||
</WalletAction>
|
||||
{!isInjectedMobileBrowser && (
|
||||
<>
|
||||
<WalletAction
|
||||
style={{ fontSize: '.825rem', fontWeight: 400, marginRight: '8px' }}
|
||||
onClick={() => {
|
||||
if (connector.deactivate) {
|
||||
connector.deactivate()
|
||||
|
||||
// Coinbase Wallet SDK does not emit a disconnect event to the provider,
|
||||
// which is what web3-react uses to reset state. As a workaround we manually
|
||||
// reset state.
|
||||
if (connector === coinbaseWallet) {
|
||||
connector.resetState()
|
||||
}
|
||||
} else {
|
||||
connector.resetState()
|
||||
}
|
||||
|
||||
dispatch(updateSelectedWallet({ wallet: undefined }))
|
||||
openOptions()
|
||||
}}
|
||||
>
|
||||
<Trans>Disconnect</Trans>
|
||||
</WalletAction>
|
||||
<WalletAction
|
||||
style={{ fontSize: '.825rem', fontWeight: 400 }}
|
||||
onClick={() => {
|
||||
openOptions()
|
||||
}}
|
||||
>
|
||||
<Trans>Change</Trans>
|
||||
</WalletAction>
|
||||
</>
|
||||
)}
|
||||
<WalletAction
|
||||
style={{ fontSize: '.825rem', fontWeight: 400 }}
|
||||
onClick={() => {
|
||||
openOptions()
|
||||
}}
|
||||
data-cy="wallet-change"
|
||||
>
|
||||
<Trans>Change</Trans>
|
||||
</WalletAction>
|
||||
</div>
|
||||
</AccountGroupingRow>
|
||||
<AccountGroupingRow id="web3-account-identifier-row">
|
||||
<AccountGroupingRow data-testid="web3-account-identifier-row">
|
||||
<AccountControl>
|
||||
{ENSName ? (
|
||||
<>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Trans } from '@lingui/macro'
|
||||
// eslint-disable-next-line no-restricted-imports
|
||||
import { t } from '@lingui/macro'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { ReactNode, useCallback, useContext } from 'react'
|
||||
import styled, { ThemeContext } from 'styled-components/macro'
|
||||
|
||||
@@ -86,7 +86,7 @@ export default function AddressInputPanel({
|
||||
// triggers whenever the typed value changes
|
||||
onChange: (value: string) => void
|
||||
}) {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
const theme = useContext(ThemeContext)
|
||||
|
||||
const { address, loading, name } = useENS(value)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Trans } from '@lingui/macro'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { ReactNode, useMemo } from 'react'
|
||||
|
||||
const BLOCKED_ADDRESSES: string[] = [
|
||||
@@ -38,7 +38,7 @@ const BLOCKED_ADDRESSES: string[] = [
|
||||
]
|
||||
|
||||
export default function Blocklist({ children }: { children: ReactNode }) {
|
||||
const { account } = useActiveWeb3React()
|
||||
const { account } = useWeb3React()
|
||||
const blocked: boolean = useMemo(() => Boolean(account && BLOCKED_ADDRESSES.indexOf(account) !== -1), [account])
|
||||
if (blocked) {
|
||||
return (
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { Trans } from '@lingui/macro'
|
||||
import { Currency, CurrencyAmount, Percent, Token } from '@uniswap/sdk-core'
|
||||
import { Pair } from '@uniswap/v2-sdk'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { AutoColumn } from 'components/Column'
|
||||
import { LoadingOpacityContainer, loadingOpacityMixin } from 'components/Loader/styled'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { darken } from 'polished'
|
||||
import { ReactNode, useCallback, useState } from 'react'
|
||||
import { Lock } from 'react-feather'
|
||||
@@ -103,6 +103,7 @@ const LabelRow = styled.div`
|
||||
|
||||
const FiatRow = styled(LabelRow)`
|
||||
justify-content: flex-end;
|
||||
height: 16px;
|
||||
`
|
||||
|
||||
const Aligner = styled.span`
|
||||
@@ -201,7 +202,7 @@ export default function CurrencyInputPanel({
|
||||
...rest
|
||||
}: CurrencyInputPanelProps) {
|
||||
const [modalOpen, setModalOpen] = useState(false)
|
||||
const { account } = useActiveWeb3React()
|
||||
const { account } = useWeb3React()
|
||||
const selectedCurrencyBalance = useCurrencyBalance(account ?? undefined, currency ?? undefined)
|
||||
const theme = useTheme()
|
||||
|
||||
@@ -270,14 +271,15 @@ export default function CurrencyInputPanel({
|
||||
</Aligner>
|
||||
</CurrencySelect>
|
||||
</InputRow>
|
||||
{!hideInput && !hideBalance && currency && (
|
||||
<FiatRow>
|
||||
|
||||
<FiatRow>
|
||||
{!hideInput && !hideBalance && currency && (
|
||||
<RowBetween>
|
||||
<LoadingOpacityContainer $loading={loading}>
|
||||
<FiatValue fiatValue={fiatValue} priceImpact={priceImpact} />
|
||||
</LoadingOpacityContainer>
|
||||
{account ? (
|
||||
<RowFixed style={{ height: '17px' }}>
|
||||
<RowFixed>
|
||||
<ThemedText.Body
|
||||
onClick={onMax}
|
||||
color={theme.text3}
|
||||
@@ -303,8 +305,8 @@ export default function CurrencyInputPanel({
|
||||
<span />
|
||||
)}
|
||||
</RowBetween>
|
||||
</FiatRow>
|
||||
)}
|
||||
)}
|
||||
</FiatRow>
|
||||
</Container>
|
||||
{onCurrencySelect && (
|
||||
<CurrencySearchModal
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Trans } from '@lingui/macro'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { SupportedChainId } from 'constants/chains'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { AlertOctagon } from 'react-feather'
|
||||
import styled from 'styled-components/macro'
|
||||
import { ExternalLink } from 'theme'
|
||||
@@ -42,7 +42,7 @@ function Wrapper({ children }: { children: React.ReactNode }) {
|
||||
* Shows a downtime warning for the network if it's relevant
|
||||
*/
|
||||
export default function DowntimeWarning() {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
if (!isL2ChainId(chainId)) {
|
||||
return null
|
||||
}
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import { Trans } from '@lingui/macro'
|
||||
import { Currency } from '@uniswap/sdk-core'
|
||||
import { FeeAmount } from '@uniswap/v3-sdk'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { sendEvent } from 'components/analytics'
|
||||
import { ButtonGray } from 'components/Button'
|
||||
import Card from 'components/Card'
|
||||
import { AutoColumn } from 'components/Column'
|
||||
import { RowBetween } from 'components/Row'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useFeeTierDistribution } from 'hooks/useFeeTierDistribution'
|
||||
import { PoolState, usePools } from 'hooks/usePools'
|
||||
import usePrevious from 'hooks/usePrevious'
|
||||
@@ -59,7 +59,7 @@ export default function FeeSelector({
|
||||
currencyA?: Currency | undefined
|
||||
currencyB?: Currency | undefined
|
||||
}) {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
|
||||
const { isLoading, isError, largestUsageFeeTier, distributions } = useFeeTierDistribution(currencyA, currencyB)
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Trans } from '@lingui/macro'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { CHAIN_INFO, L2ChainInfo } from 'constants/chainInfo'
|
||||
import { SupportedChainId } from 'constants/chains'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { AlertOctagon } from 'react-feather'
|
||||
import styled from 'styled-components/macro'
|
||||
import { ExternalLink, MEDIA_WIDTHS } from 'theme'
|
||||
@@ -45,7 +45,7 @@ const Wrapper = styled.div`
|
||||
`
|
||||
|
||||
export function ChainConnectivityWarning() {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
const info = CHAIN_INFO[chainId ?? SupportedChainId.MAINNET]
|
||||
const label = info?.label
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { Trans } from '@lingui/macro'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { getWalletForConnector } from 'connectors'
|
||||
import { CHAIN_INFO } from 'constants/chainInfo'
|
||||
import { CHAIN_IDS_TO_NAMES, SupportedChainId } from 'constants/chains'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useOnClickOutside } from 'hooks/useOnClickOutside'
|
||||
import useParsedQueryString from 'hooks/useParsedQueryString'
|
||||
import usePrevious from 'hooks/usePrevious'
|
||||
@@ -185,7 +185,7 @@ function Row({
|
||||
targetChain: SupportedChainId
|
||||
onSelectChain: (targetChain: number) => void
|
||||
}) {
|
||||
const { provider, chainId } = useActiveWeb3React()
|
||||
const { provider, chainId } = useWeb3React()
|
||||
if (!provider || !chainId) {
|
||||
return null
|
||||
}
|
||||
@@ -267,10 +267,11 @@ const NETWORK_SELECTOR_CHAINS = [
|
||||
|
||||
export default function NetworkSelector() {
|
||||
const dispatch = useAppDispatch()
|
||||
const { chainId, provider, connector } = useActiveWeb3React()
|
||||
const { chainId, provider, connector } = useWeb3React()
|
||||
const previousChainId = usePrevious(chainId)
|
||||
const parsedQs = useParsedQueryString()
|
||||
const { urlChain, urlChainId } = getParsedChainId(parsedQs)
|
||||
const prevChainId = usePrevious(chainId)
|
||||
const previousUrlChainId = usePrevious(urlChainId)
|
||||
const node = useRef<HTMLDivElement>()
|
||||
const open = useModalOpen(ApplicationModal.NETWORK_SELECTOR)
|
||||
const toggle = useToggleModal(ApplicationModal.NETWORK_SELECTOR)
|
||||
@@ -289,43 +290,35 @@ export default function NetworkSelector() {
|
||||
try {
|
||||
dispatch(updateWalletError({ wallet, error: undefined }))
|
||||
await switchChain(connector, targetChain)
|
||||
if (!skipToggle) {
|
||||
toggle()
|
||||
}
|
||||
history.replace({
|
||||
search: replaceURLParam(history.location.search, 'chain', getChainNameFromId(targetChain)),
|
||||
})
|
||||
} catch (error) {
|
||||
console.error('Failed to switch networks', error)
|
||||
|
||||
// we want app network <-> chainId param to be in sync, so if user changes the network by changing the URL
|
||||
// but the request fails, revert the URL back to current chainId
|
||||
if (chainId) {
|
||||
history.replace({ search: replaceURLParam(history.location.search, 'chain', getChainNameFromId(chainId)) })
|
||||
}
|
||||
|
||||
if (!skipToggle) {
|
||||
toggle()
|
||||
}
|
||||
|
||||
dispatch(updateWalletError({ wallet, error: error.message }))
|
||||
dispatch(addPopup({ content: { failedSwitchNetwork: targetChain }, key: `failed-network-switch` }))
|
||||
}
|
||||
|
||||
if (!skipToggle) {
|
||||
toggle()
|
||||
}
|
||||
},
|
||||
[connector, toggle, dispatch, history, chainId]
|
||||
[connector, toggle, dispatch]
|
||||
)
|
||||
|
||||
useEffect(() => {
|
||||
if (!chainId || !prevChainId) return
|
||||
if (!chainId || !previousChainId) return
|
||||
|
||||
// when network change originates from wallet or dropdown selector, just update URL
|
||||
if (chainId !== prevChainId) {
|
||||
if (chainId !== previousChainId && chainId !== urlChainId) {
|
||||
history.replace({ search: replaceURLParam(history.location.search, 'chain', getChainNameFromId(chainId)) })
|
||||
// otherwise assume network change originates from URL
|
||||
} else if (urlChainId && urlChainId !== chainId) {
|
||||
onSelectChain(urlChainId, true)
|
||||
} else if (urlChainId && urlChainId !== previousUrlChainId && urlChainId !== chainId) {
|
||||
onSelectChain(urlChainId, true).catch(() => {
|
||||
// we want app network <-> chainId param to be in sync, so if user changes the network by changing the URL
|
||||
// but the request fails, revert the URL back to current chainId
|
||||
history.replace({ search: replaceURLParam(history.location.search, 'chain', getChainNameFromId(chainId)) })
|
||||
})
|
||||
}
|
||||
}, [chainId, urlChainId, prevChainId, onSelectChain, history])
|
||||
}, [chainId, urlChainId, previousChainId, previousUrlChainId, onSelectChain, history])
|
||||
|
||||
// set chain parameter on initial load if not there
|
||||
useEffect(() => {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Trans } from '@lingui/macro'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { RowFixed } from 'components/Row'
|
||||
import { CHAIN_INFO } from 'constants/chainInfo'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import useCurrentBlockTimestamp from 'hooks/useCurrentBlockTimestamp'
|
||||
import useGasPrice from 'hooks/useGasPrice'
|
||||
import useMachineTimeMs from 'hooks/useMachineTime'
|
||||
@@ -100,7 +100,7 @@ const DEFAULT_MS_BEFORE_WARNING = ms`10m`
|
||||
const NETWORK_HEALTH_CHECK_MS = ms`10s`
|
||||
|
||||
export default function Polling() {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
const blockNumber = useBlockNumber()
|
||||
const [isMounting, setIsMounting] = useState(false)
|
||||
const [isHover, setIsHover] = useState(false)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { Trans } from '@lingui/macro'
|
||||
import useScrollPosition from '@react-hook/window-scroll'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { CHAIN_INFO } from 'constants/chainInfo'
|
||||
import { SupportedChainId } from 'constants/chains'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import useTheme from 'hooks/useTheme'
|
||||
import { darken } from 'polished'
|
||||
import { NavLink } from 'react-router-dom'
|
||||
@@ -247,7 +247,7 @@ const StyledExternalLink = styled(ExternalLink).attrs({
|
||||
`
|
||||
|
||||
export default function Header() {
|
||||
const { account, chainId, connector } = useActiveWeb3React()
|
||||
const { account, chainId, connector } = useWeb3React()
|
||||
|
||||
const chainAllowed = chainId && isChainAllowed(connector, chainId)
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import jazzicon from '@metamask/jazzicon'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import useENSAvatar from 'hooks/useENSAvatar'
|
||||
import { useLayoutEffect, useMemo, useRef, useState } from 'react'
|
||||
import styled from 'styled-components/macro'
|
||||
@@ -19,7 +19,7 @@ const StyledAvatar = styled.img`
|
||||
`
|
||||
|
||||
export default function Identicon() {
|
||||
const { account } = useActiveWeb3React()
|
||||
const { account } = useWeb3React()
|
||||
const { avatar } = useENSAvatar(account ?? undefined)
|
||||
const [fetchable, setFetchable] = useState(true)
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
// eslint-disable-next-line no-restricted-imports
|
||||
import { t, Trans } from '@lingui/macro'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { PrivacyPolicyModal } from 'components/PrivacyPolicy'
|
||||
import { L2_CHAIN_IDS } from 'constants/chains'
|
||||
import { LOCALE_LABEL, SUPPORTED_LOCALES, SupportedLocale } from 'constants/locales'
|
||||
import { useActiveLocale } from 'hooks/useActiveLocale'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useLocationLinkProps } from 'hooks/useLocationLinkProps'
|
||||
import React, { useEffect, useRef, useState } from 'react'
|
||||
import {
|
||||
@@ -207,7 +207,7 @@ function LanguageMenu({ close }: { close: () => void }) {
|
||||
}
|
||||
|
||||
export default function Menu() {
|
||||
const { account, chainId } = useActiveWeb3React()
|
||||
const { account, chainId } = useWeb3React()
|
||||
|
||||
const node = useRef<HTMLDivElement>()
|
||||
const open = useModalOpen(ApplicationModal.MENU)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Trans } from '@lingui/macro'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { useContext } from 'react'
|
||||
import { ArrowUpCircle } from 'react-feather'
|
||||
import styled, { ThemeContext } from 'styled-components/macro'
|
||||
@@ -50,7 +50,7 @@ export function SubmittedView({
|
||||
hash: string | undefined
|
||||
}) {
|
||||
const theme = useContext(ThemeContext)
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
|
||||
return (
|
||||
<ConfirmOrLoadingWrapper>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Trans } from '@lingui/macro'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { CHAIN_INFO } from 'constants/chainInfo'
|
||||
import { SupportedChainId } from 'constants/chains'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { ArrowUpRight } from 'react-feather'
|
||||
import { useDarkModeManager } from 'state/user/hooks'
|
||||
import styled from 'styled-components/macro'
|
||||
@@ -140,7 +140,7 @@ function shouldShowAlert(chainId: number | undefined): chainId is NetworkAlertCh
|
||||
}
|
||||
|
||||
export function NetworkAlert() {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
const [darkMode] = useDarkModeManager()
|
||||
|
||||
if (!shouldShowAlert(chainId)) {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Trans } from '@lingui/macro'
|
||||
import { CurrencyAmount, Token } from '@uniswap/sdk-core'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { sendEvent } from 'components/analytics'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useCallback, useEffect } from 'react'
|
||||
import { Heart, X } from 'react-feather'
|
||||
import styled, { keyframes } from 'styled-components/macro'
|
||||
@@ -55,7 +55,7 @@ const UniToken = styled.img`
|
||||
`
|
||||
|
||||
export default function ClaimPopup() {
|
||||
const { account } = useActiveWeb3React()
|
||||
const { account } = useWeb3React()
|
||||
|
||||
// dont store these in persisted state yet
|
||||
const showClaimPopup: boolean = useShowClaimPopup()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { useContext } from 'react'
|
||||
import { AlertCircle, CheckCircle } from 'react-feather'
|
||||
import styled, { ThemeContext } from 'styled-components/macro'
|
||||
@@ -16,7 +16,7 @@ const RowNoFlex = styled(AutoRow)`
|
||||
`
|
||||
|
||||
export default function TransactionPopup({ hash }: { hash: string }) {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
|
||||
const tx = useTransaction(hash)
|
||||
const theme = useContext(ThemeContext)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { SupportedChainId } from 'constants/chains'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import styled from 'styled-components/macro'
|
||||
import { MEDIA_WIDTHS } from 'theme'
|
||||
|
||||
@@ -63,7 +63,7 @@ export default function Popups() {
|
||||
const urlWarningActive = useURLWarningVisible()
|
||||
|
||||
// need extra padding if network is not L1 Ethereum
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
const isNotOnMainnet = Boolean(chainId && chainId !== SupportedChainId.MAINNET)
|
||||
|
||||
return (
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Trans } from '@lingui/macro'
|
||||
import { CurrencyAmount, Percent, Token } from '@uniswap/sdk-core'
|
||||
import { Pair } from '@uniswap/v2-sdk'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import JSBI from 'jsbi'
|
||||
import { transparentize } from 'polished'
|
||||
import { useState } from 'react'
|
||||
@@ -42,7 +42,7 @@ interface PositionCardProps {
|
||||
}
|
||||
|
||||
export default function V2PositionCard({ pair, border, stakedBalance }: PositionCardProps) {
|
||||
const { account } = useActiveWeb3React()
|
||||
const { account } = useWeb3React()
|
||||
|
||||
const currency0 = unwrappedToken(pair.token0)
|
||||
const currency1 = unwrappedToken(pair.token1)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Trans } from '@lingui/macro'
|
||||
import { CurrencyAmount, Percent, Token } from '@uniswap/sdk-core'
|
||||
import { Pair } from '@uniswap/v2-sdk'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import JSBI from 'jsbi'
|
||||
import { transparentize } from 'polished'
|
||||
import { useState } from 'react'
|
||||
@@ -46,7 +46,7 @@ interface PositionCardProps {
|
||||
}
|
||||
|
||||
export function MinimalPositionCard({ pair, showUnwrapped = false, border }: PositionCardProps) {
|
||||
const { account } = useActiveWeb3React()
|
||||
const { account } = useWeb3React()
|
||||
|
||||
const currency0 = showUnwrapped ? pair.token0 : unwrappedToken(pair.token0)
|
||||
const currency1 = showUnwrapped ? pair.token1 : unwrappedToken(pair.token1)
|
||||
@@ -158,7 +158,7 @@ export function MinimalPositionCard({ pair, showUnwrapped = false, border }: Pos
|
||||
}
|
||||
|
||||
export default function FullPositionCard({ pair, border, stakedBalance }: PositionCardProps) {
|
||||
const { account } = useActiveWeb3React()
|
||||
const { account } = useWeb3React()
|
||||
|
||||
const currency0 = unwrappedToken(pair.token0)
|
||||
const currency1 = unwrappedToken(pair.token1)
|
||||
|
||||
@@ -22,20 +22,21 @@ jest.mock(
|
||||
`CurrencyLogo currency=${currency.symbol}`
|
||||
)
|
||||
|
||||
jest.mock('hooks/useActiveWeb3React', () => {
|
||||
jest.mock('@web3-react/core', () => {
|
||||
const web3React = jest.requireActual('@web3-react/core')
|
||||
return {
|
||||
__esModule: true,
|
||||
default: () => ({
|
||||
useWeb3React: () => ({
|
||||
account: '123',
|
||||
active: true,
|
||||
isActive: true,
|
||||
}),
|
||||
...web3React,
|
||||
}
|
||||
})
|
||||
|
||||
jest.mock('../../../state/wallet/hooks', () => {
|
||||
return {
|
||||
useCurrencyBalance: (currency: Currency) => {
|
||||
return mockCurrencyAmt[(currency as mockToken).address]
|
||||
return mockCurrencyAmt[(currency as mockToken)?.address]
|
||||
},
|
||||
}
|
||||
})
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { Trans } from '@lingui/macro'
|
||||
import { Currency, CurrencyAmount, Token } from '@uniswap/sdk-core'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { LightGreyCard } from 'components/Card'
|
||||
import QuestionHelper from 'components/QuestionHelper'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import useTheme from 'hooks/useTheme'
|
||||
import { CSSProperties, MutableRefObject, useCallback, useMemo } from 'react'
|
||||
import { FixedSizeList } from 'react-window'
|
||||
@@ -114,7 +114,7 @@ function CurrencyRow({
|
||||
style: CSSProperties
|
||||
showCurrencyAmount?: boolean
|
||||
}) {
|
||||
const { account } = useActiveWeb3React()
|
||||
const { account } = useWeb3React()
|
||||
const key = currencyKey(currency)
|
||||
const selectedTokenList = useCombinedActiveList()
|
||||
const isOnSelectedList = isTokenOnList(selectedTokenList, currency.isToken ? currency : undefined)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
// eslint-disable-next-line no-restricted-imports
|
||||
import { t, Trans } from '@lingui/macro'
|
||||
import { Currency, Token } from '@uniswap/sdk-core'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { sendEvent } from 'components/analytics'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import useDebounce from 'hooks/useDebounce'
|
||||
import { useOnClickOutside } from 'hooks/useOnClickOutside'
|
||||
import useTheme from 'hooks/useTheme'
|
||||
@@ -71,7 +71,7 @@ export function CurrencySearch({
|
||||
showImportView,
|
||||
setImportToken,
|
||||
}: CurrencySearchProps) {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
const theme = useTheme()
|
||||
|
||||
const [tokenLoaderTimerElapsed, setTokenLoaderTimerElapsed] = useState(false)
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
// eslint-disable-next-line no-restricted-imports
|
||||
import { t, Trans } from '@lingui/macro'
|
||||
import { TokenList } from '@uniswap/token-lists'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { sendEvent } from 'components/analytics'
|
||||
import Card from 'components/Card'
|
||||
import { UNSUPPORTED_LIST_URLS } from 'constants/lists'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useListColor } from 'hooks/useColor'
|
||||
import parseENSAddress from 'lib/utils/parseENSAddress'
|
||||
import uriToHttp from 'lib/utils/uriToHttp'
|
||||
@@ -95,7 +95,7 @@ function listUrlRowHTMLId(listUrl: string) {
|
||||
}
|
||||
|
||||
const ListRow = memo(function ListRow({ listUrl }: { listUrl: string }) {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
const listsByUrl = useAppSelector((state) => state.lists.byUrl)
|
||||
const dispatch = useAppDispatch()
|
||||
const { current: list, pendingUpdate: pending } = listsByUrl[listUrl]
|
||||
@@ -242,7 +242,7 @@ export function ManageLists({
|
||||
setImportList: (list: TokenList) => void
|
||||
setListUrl: (url: string) => void
|
||||
}) {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
const theme = useTheme()
|
||||
|
||||
const [listUrlInput, setListUrlInput] = useState<string>('')
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import { Trans } from '@lingui/macro'
|
||||
import { Token } from '@uniswap/sdk-core'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import Card from 'components/Card'
|
||||
import Column from 'components/Column'
|
||||
import CurrencyLogo from 'components/CurrencyLogo'
|
||||
import Row, { RowBetween, RowFixed } from 'components/Row'
|
||||
import { useToken } from 'hooks/Tokens'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { RefObject, useCallback, useMemo, useRef, useState } from 'react'
|
||||
import { useRemoveUserAddedToken, useUserAddedTokens } from 'state/user/hooks'
|
||||
import styled from 'styled-components/macro'
|
||||
@@ -44,7 +44,7 @@ export default function ManageTokens({
|
||||
setModalView: (view: CurrencyModalView) => void
|
||||
setImportToken: (token: Token) => void
|
||||
}) {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
|
||||
const [searchQuery, setSearchQuery] = useState<string>('')
|
||||
const theme = useTheme()
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import { Trans } from '@lingui/macro'
|
||||
import { Token } from '@uniswap/sdk-core'
|
||||
import { TokenList } from '@uniswap/token-lists'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import Card from 'components/Card'
|
||||
import { AutoColumn } from 'components/Column'
|
||||
import CurrencyLogo from 'components/CurrencyLogo'
|
||||
import ListLogo from 'components/ListLogo'
|
||||
import { RowFixed } from 'components/Row'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { transparentize } from 'polished'
|
||||
import { AlertCircle } from 'react-feather'
|
||||
import styled, { useTheme } from 'styled-components/macro'
|
||||
@@ -33,7 +33,7 @@ interface TokenImportCardProps {
|
||||
}
|
||||
const TokenImportCard = ({ list, token }: TokenImportCardProps) => {
|
||||
const theme = useTheme()
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
return (
|
||||
<Card backgroundColor={theme.bg2} padding="2rem">
|
||||
<AutoColumn gap="10px" justify="center">
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
// eslint-disable-next-line no-restricted-imports
|
||||
import { t, Trans } from '@lingui/macro'
|
||||
import { Percent } from '@uniswap/sdk-core'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { sendEvent } from 'components/analytics'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { AUTO_ROUTER_SUPPORTED_CHAINS } from 'lib/hooks/routing/clientSideSmartOrderRouter'
|
||||
import { useContext, useRef, useState } from 'react'
|
||||
import { Settings, X } from 'react-feather'
|
||||
@@ -119,7 +119,7 @@ const ModalContentWrapper = styled.div`
|
||||
`
|
||||
|
||||
export default function SettingsTab({ placeholderSlippage }: { placeholderSlippage: Percent }) {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
|
||||
const node = useRef<HTMLDivElement>()
|
||||
const open = useModalOpen(ApplicationModal.SETTINGS)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import AddressClaimModal from 'components/claim/AddressClaimModal'
|
||||
import ConnectedAccountBlocked from 'components/ConnectedAccountBlocked'
|
||||
import useAccountRiskCheck from 'hooks/useAccountRiskCheck'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useModalOpen, useToggleModal } from 'state/application/hooks'
|
||||
import { ApplicationModal } from 'state/application/reducer'
|
||||
|
||||
@@ -10,7 +10,7 @@ export default function TopLevelModals() {
|
||||
const addressClaimToggle = useToggleModal(ApplicationModal.ADDRESS_CLAIM)
|
||||
|
||||
const blockedAccountModalOpen = useModalOpen(ApplicationModal.BLOCKED_ACCOUNT)
|
||||
const { account } = useActiveWeb3React()
|
||||
const { account } = useWeb3React()
|
||||
|
||||
useAccountRiskCheck(account)
|
||||
const open = Boolean(blockedAccountModalOpen && account)
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { Trans } from '@lingui/macro'
|
||||
import { Currency } from '@uniswap/sdk-core'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import Badge from 'components/Badge'
|
||||
import { CHAIN_INFO } from 'constants/chainInfo'
|
||||
import { L2_CHAIN_IDS, SupportedL2ChainId } from 'constants/chains'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import useCurrencyLogoURIs from 'lib/hooks/useCurrencyLogoURIs'
|
||||
import { ReactNode, useCallback, useContext, useState } from 'react'
|
||||
import { AlertCircle, AlertTriangle, ArrowUpCircle, CheckCircle } from 'react-feather'
|
||||
@@ -96,7 +96,7 @@ function TransactionSubmittedContent({
|
||||
}) {
|
||||
const theme = useContext(ThemeContext)
|
||||
|
||||
const { connector } = useActiveWeb3React()
|
||||
const { connector } = useWeb3React()
|
||||
|
||||
const token = currencyToAdd?.wrapped
|
||||
const logoURL = useCurrencyLogoURIs(token)[0]
|
||||
@@ -342,7 +342,7 @@ export default function TransactionConfirmationModal({
|
||||
content,
|
||||
currencyToAdd,
|
||||
}: ConfirmationModalProps) {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
|
||||
const isL2 = Boolean(chainId && L2_CHAIN_IDS.includes(chainId))
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { Trans } from '@lingui/macro'
|
||||
import { Percent } from '@uniswap/sdk-core'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { L2_CHAIN_IDS } from 'constants/chains'
|
||||
import { DEFAULT_DEADLINE_FROM_NOW } from 'constants/misc'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import ms from 'ms.macro'
|
||||
import { darken } from 'polished'
|
||||
import { useContext, useState } from 'react'
|
||||
@@ -97,7 +97,7 @@ interface TransactionSettingsProps {
|
||||
const THREE_DAYS_IN_SECONDS = ms`3 days` / 1000
|
||||
|
||||
export default function TransactionSettings({ placeholderSlippage }: TransactionSettingsProps) {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
const theme = useContext(ThemeContext)
|
||||
|
||||
const userSlippageTolerance = useUserSlippageTolerance()
|
||||
|
||||
@@ -3,8 +3,8 @@ import styled from 'styled-components/macro'
|
||||
|
||||
import { ExternalLink } from '../../theme'
|
||||
|
||||
const InfoCard = styled.button<{ active?: boolean }>`
|
||||
background-color: ${({ theme, active }) => (active ? theme.bg3 : theme.bg2)};
|
||||
const InfoCard = styled.button<{ isActive?: boolean }>`
|
||||
background-color: ${({ theme, isActive }) => (isActive ? theme.bg3 : theme.bg2)};
|
||||
padding: 1rem;
|
||||
outline: none;
|
||||
border: 1px solid;
|
||||
@@ -13,7 +13,7 @@ const InfoCard = styled.button<{ active?: boolean }>`
|
||||
&:focus {
|
||||
box-shadow: 0 0 0 1px ${({ theme }) => theme.primary1};
|
||||
}
|
||||
border-color: ${({ theme, active }) => (active ? 'transparent' : theme.bg3)};
|
||||
border-color: ${({ theme, isActive }) => (isActive ? 'transparent' : theme.bg3)};
|
||||
`
|
||||
|
||||
const OptionCard = styled(InfoCard as any)`
|
||||
@@ -97,7 +97,7 @@ export default function Option({
|
||||
header,
|
||||
subheader = null,
|
||||
icon,
|
||||
active = false,
|
||||
isActive = false,
|
||||
id,
|
||||
}: {
|
||||
link?: string | null
|
||||
@@ -108,14 +108,20 @@ export default function Option({
|
||||
header: React.ReactNode
|
||||
subheader: React.ReactNode | null
|
||||
icon: string
|
||||
active?: boolean
|
||||
isActive?: boolean
|
||||
id: string
|
||||
}) {
|
||||
const content = (
|
||||
<OptionCardClickable id={id} onClick={onClick} clickable={clickable && !active} active={active}>
|
||||
<OptionCardClickable
|
||||
id={id}
|
||||
onClick={onClick}
|
||||
clickable={clickable && !isActive}
|
||||
active={isActive}
|
||||
data-testid="wallet-modal-option"
|
||||
>
|
||||
<OptionCardLeft>
|
||||
<HeaderText color={color}>
|
||||
{active ? (
|
||||
{isActive ? (
|
||||
<CircleWrapper>
|
||||
<GreenCircle>
|
||||
<div />
|
||||
|
||||
87
src/components/WalletModal/index.test.tsx
Normal file
87
src/components/WalletModal/index.test.tsx
Normal file
@@ -0,0 +1,87 @@
|
||||
import { ApplicationModal } from 'state/application/reducer'
|
||||
|
||||
import { render, screen } from '../../test-utils'
|
||||
import WalletModal from './index'
|
||||
|
||||
beforeEach(() => {
|
||||
delete global.window.ethereum
|
||||
})
|
||||
|
||||
afterAll(() => {
|
||||
delete global.window.ethereum
|
||||
})
|
||||
|
||||
const UserAgentMock = jest.requireMock('utils/userAgent')
|
||||
jest.mock('utils/userAgent', () => ({
|
||||
isMobile: false,
|
||||
}))
|
||||
|
||||
jest.mock('.../../state/application/hooks', () => {
|
||||
return {
|
||||
useModalOpen: (_modal: ApplicationModal) => true,
|
||||
useWalletModalToggle: () => {
|
||||
return
|
||||
},
|
||||
}
|
||||
})
|
||||
|
||||
jest.mock('@web3-react/core', () => {
|
||||
const web3React = jest.requireActual('@web3-react/core')
|
||||
return {
|
||||
useWeb3React: () => ({
|
||||
account: undefined,
|
||||
isActive: false,
|
||||
isActivating: false,
|
||||
connector: undefined,
|
||||
}),
|
||||
...web3React,
|
||||
}
|
||||
})
|
||||
|
||||
it('loads Wallet Modal on desktop', async () => {
|
||||
render(<WalletModal pendingTransactions={[]} confirmedTransactions={[]} />)
|
||||
expect(screen.getByText('Install MetaMask')).toBeInTheDocument()
|
||||
expect(screen.getByText('Coinbase Wallet')).toBeInTheDocument()
|
||||
expect(screen.getByText('WalletConnect')).toBeInTheDocument()
|
||||
expect(screen.getByText('Fortmatic')).toBeInTheDocument()
|
||||
expect(screen.getAllByTestId('wallet-modal-option')).toHaveLength(4)
|
||||
})
|
||||
|
||||
it('loads Wallet Modal on desktop with MetaMask installed', async () => {
|
||||
global.window.ethereum = { isMetaMask: true }
|
||||
|
||||
render(<WalletModal pendingTransactions={[]} confirmedTransactions={[]} />)
|
||||
expect(screen.getByText('MetaMask')).toBeInTheDocument()
|
||||
expect(screen.getByText('Coinbase Wallet')).toBeInTheDocument()
|
||||
expect(screen.getByText('WalletConnect')).toBeInTheDocument()
|
||||
expect(screen.getByText('Fortmatic')).toBeInTheDocument()
|
||||
expect(screen.getAllByTestId('wallet-modal-option')).toHaveLength(4)
|
||||
})
|
||||
|
||||
it('loads Wallet Modal on mobile', async () => {
|
||||
UserAgentMock.isMobile = true
|
||||
|
||||
render(<WalletModal pendingTransactions={[]} confirmedTransactions={[]} />)
|
||||
expect(screen.getByText('Open in Coinbase Wallet')).toBeInTheDocument()
|
||||
expect(screen.getByText('WalletConnect')).toBeInTheDocument()
|
||||
expect(screen.getByText('Fortmatic')).toBeInTheDocument()
|
||||
expect(screen.getAllByTestId('wallet-modal-option')).toHaveLength(3)
|
||||
})
|
||||
|
||||
it('loads Wallet Modal on MetaMask browser', async () => {
|
||||
UserAgentMock.isMobile = true
|
||||
global.window.ethereum = { isMetaMask: true }
|
||||
|
||||
render(<WalletModal pendingTransactions={[]} confirmedTransactions={[]} />)
|
||||
expect(screen.getByText('MetaMask')).toBeInTheDocument()
|
||||
expect(screen.getAllByTestId('wallet-modal-option')).toHaveLength(1)
|
||||
})
|
||||
|
||||
it('loads Wallet Modal on Coinbase Wallet browser', async () => {
|
||||
UserAgentMock.isMobile = true
|
||||
global.window.ethereum = { isCoinbaseWallet: true }
|
||||
|
||||
render(<WalletModal pendingTransactions={[]} confirmedTransactions={[]} />)
|
||||
expect(screen.getByText('Coinbase Wallet')).toBeInTheDocument()
|
||||
expect(screen.getAllByTestId('wallet-modal-option')).toHaveLength(1)
|
||||
})
|
||||
@@ -184,14 +184,14 @@ export default function WalletModal({
|
||||
|
||||
// get wallets user can switch too, depending on device/browser
|
||||
function getOptions() {
|
||||
const isMetamask = !!window.ethereum?.isMetaMask
|
||||
const isMetaMask = !!window.ethereum?.isMetaMask
|
||||
const isTally = !!window.ethereum?.isTally
|
||||
const isCoinbaseWallet = !!window.ethereum?.isCoinbaseWallet
|
||||
return Object.keys(SUPPORTED_WALLETS).map((key) => {
|
||||
const option = SUPPORTED_WALLETS[key]
|
||||
const isActive = option.connector === connector
|
||||
|
||||
const optionProps = {
|
||||
active: isActive,
|
||||
isActive: option.connector === connector,
|
||||
id: `connect-${key}`,
|
||||
link: option.href,
|
||||
header: option.name,
|
||||
@@ -202,12 +202,16 @@ export default function WalletModal({
|
||||
|
||||
// check for mobile options
|
||||
if (isMobile) {
|
||||
if (!window.web3 && !window.ethereum && option.mobile) {
|
||||
if (
|
||||
(!window.web3 && !window.ethereum && option.mobile) ||
|
||||
(isMetaMask && option.name === 'MetaMask') ||
|
||||
(isCoinbaseWallet && option.name === 'Coinbase Wallet')
|
||||
) {
|
||||
return (
|
||||
<Option
|
||||
{...optionProps}
|
||||
onClick={() => {
|
||||
if (!isActive && !option.href && !!option.connector) {
|
||||
if (!option.href && !!option.connector) {
|
||||
tryActivation(option.connector)
|
||||
}
|
||||
}}
|
||||
@@ -228,7 +232,7 @@ export default function WalletModal({
|
||||
id={`connect-${key}`}
|
||||
key={key}
|
||||
color={'#E8831D'}
|
||||
header={<Trans>Install Metamask</Trans>}
|
||||
header={<Trans>Install MetaMask</Trans>}
|
||||
subheader={null}
|
||||
link={'https://metamask.io/'}
|
||||
icon={MetamaskIcon}
|
||||
@@ -239,11 +243,11 @@ export default function WalletModal({
|
||||
}
|
||||
}
|
||||
// don't return metamask if injected provider isn't metamask
|
||||
else if (option.name === 'MetaMask' && !isMetamask) {
|
||||
else if (option.name === 'MetaMask' && !isMetaMask) {
|
||||
return null
|
||||
}
|
||||
// likewise for generic
|
||||
else if (option.name === 'Injected' && isMetamask) {
|
||||
else if (option.name === 'Injected' && isMetaMask) {
|
||||
return null
|
||||
} else if (option.name === 'Injected' && isTally) {
|
||||
return (
|
||||
@@ -257,7 +261,7 @@ export default function WalletModal({
|
||||
}}
|
||||
color={'#E8831D'}
|
||||
header={<Trans>Tally</Trans>}
|
||||
active={option.connector === connector}
|
||||
isActive={option.connector === connector}
|
||||
subheader={null}
|
||||
link={null}
|
||||
icon={TallyIcon}
|
||||
@@ -334,7 +338,7 @@ export default function WalletModal({
|
||||
tryActivation={tryActivation}
|
||||
/>
|
||||
)}
|
||||
{walletView !== WALLET_VIEWS.PENDING && <OptionGrid data-cy="option-grid">{getOptions()}</OptionGrid>}
|
||||
{walletView !== WALLET_VIEWS.PENDING && <OptionGrid data-testid="option-grid">{getOptions()}</OptionGrid>}
|
||||
{!pendingError && (
|
||||
<LightCard>
|
||||
<AutoRow style={{ flexWrap: 'nowrap' }}>
|
||||
|
||||
@@ -181,7 +181,11 @@ function Web3StatusInner() {
|
||||
)
|
||||
} else if (account) {
|
||||
return (
|
||||
<Web3StatusConnected id="web3-status-connected" onClick={toggleWalletModal} pending={hasPendingTransactions}>
|
||||
<Web3StatusConnected
|
||||
data-testid="web3-status-connected"
|
||||
onClick={toggleWalletModal}
|
||||
pending={hasPendingTransactions}
|
||||
>
|
||||
{hasPendingTransactions ? (
|
||||
<RowBetween>
|
||||
<Text>
|
||||
@@ -200,7 +204,7 @@ function Web3StatusInner() {
|
||||
)
|
||||
} else {
|
||||
return (
|
||||
<Web3StatusConnect id="connect-wallet" onClick={toggleWalletModal} faded={!account}>
|
||||
<Web3StatusConnect onClick={toggleWalletModal} faded={!account}>
|
||||
<Text>
|
||||
<Trans>Connect Wallet</Trans>
|
||||
</Text>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { useEffect } from 'react'
|
||||
import { UaEventOptions } from 'react-ga4/types/ga4'
|
||||
import { RouteComponentProps } from 'react-router-dom'
|
||||
@@ -71,7 +71,7 @@ export function useAnalyticsReporter({ pathname, search }: RouteComponentProps['
|
||||
getCLS(reportWebVitals)
|
||||
}, [])
|
||||
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
useEffect(() => {
|
||||
// cd1 - custom dimension 1 - chainId
|
||||
googleAnalytics.set({ cd1: chainId ?? 0 })
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { isAddress } from '@ethersproject/address'
|
||||
import { Trans } from '@lingui/macro'
|
||||
import { CurrencyAmount, Token } from '@uniswap/sdk-core'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { useState } from 'react'
|
||||
import { Text } from 'rebass'
|
||||
import styled from 'styled-components/macro'
|
||||
@@ -46,7 +46,7 @@ const ConfirmedIcon = styled(ColumnCenter)`
|
||||
`
|
||||
|
||||
export default function AddressClaimModal({ isOpen, onDismiss }: { isOpen: boolean; onDismiss: () => void }) {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
|
||||
// state for smart contract input
|
||||
const [typed, setTyped] = useState('')
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { isAddress } from '@ethersproject/address'
|
||||
import { Trans } from '@lingui/macro'
|
||||
import { CurrencyAmount, Token } from '@uniswap/sdk-core'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import JSBI from 'jsbi'
|
||||
import { useEffect, useState } from 'react'
|
||||
import { Text } from 'rebass'
|
||||
@@ -51,7 +51,7 @@ export default function ClaimModal() {
|
||||
const isOpen = useModalOpen(ApplicationModal.SELF_CLAIM)
|
||||
const toggleClaimModal = useToggleSelfClaimModal()
|
||||
|
||||
const { account, chainId } = useActiveWeb3React()
|
||||
const { account, chainId } = useWeb3React()
|
||||
|
||||
// used for UI loading states
|
||||
const [attempting, setAttempting] = useState<boolean>(false)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { TransactionResponse } from '@ethersproject/providers'
|
||||
import { Trans } from '@lingui/macro'
|
||||
import StakingRewardsJson from '@uniswap/liquidity-staker/build/StakingRewards.json'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { ReactNode, useState } from 'react'
|
||||
import styled from 'styled-components/macro'
|
||||
|
||||
@@ -34,7 +34,7 @@ interface StakingModalProps {
|
||||
}
|
||||
|
||||
export default function ClaimRewardModal({ isOpen, onDismiss, stakingInfo }: StakingModalProps) {
|
||||
const { account } = useActiveWeb3React()
|
||||
const { account } = useWeb3React()
|
||||
|
||||
// monitor call to help UI loading state
|
||||
const addTransaction = useTransactionAdder()
|
||||
|
||||
@@ -3,7 +3,7 @@ import { Trans } from '@lingui/macro'
|
||||
import StakingRewardsJson from '@uniswap/liquidity-staker/build/StakingRewards.json'
|
||||
import { CurrencyAmount, Token } from '@uniswap/sdk-core'
|
||||
import { Pair } from '@uniswap/v2-sdk'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { useV2LiquidityTokenPermit } from 'hooks/useV2LiquidityTokenPermit'
|
||||
import { useCallback, useState } from 'react'
|
||||
import styled from 'styled-components/macro'
|
||||
@@ -53,7 +53,7 @@ interface StakingModalProps {
|
||||
}
|
||||
|
||||
export default function StakingModal({ isOpen, onDismiss, stakingInfo, userLiquidityUnstaked }: StakingModalProps) {
|
||||
const { provider } = useActiveWeb3React()
|
||||
const { provider } = useWeb3React()
|
||||
|
||||
// track and parse user input
|
||||
const [typedValue, setTypedValue] = useState('')
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { TransactionResponse } from '@ethersproject/providers'
|
||||
import { Trans } from '@lingui/macro'
|
||||
import StakingRewardsJson from '@uniswap/liquidity-staker/build/StakingRewards.json'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { ReactNode, useState } from 'react'
|
||||
import styled from 'styled-components/macro'
|
||||
|
||||
@@ -35,7 +35,7 @@ interface StakingModalProps {
|
||||
}
|
||||
|
||||
export default function UnstakingModal({ isOpen, onDismiss, stakingInfo }: StakingModalProps) {
|
||||
const { account } = useActiveWeb3React()
|
||||
const { account } = useWeb3React()
|
||||
|
||||
// monitor call to help UI loading state
|
||||
const addTransaction = useTransactionAdder()
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { Trans } from '@lingui/macro'
|
||||
import { Currency, Percent, TradeType } from '@uniswap/sdk-core'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import Card from 'components/Card'
|
||||
import { LoadingRows } from 'components/Loader/styled'
|
||||
import { SUPPORTED_GAS_ESTIMATE_CHAIN_IDS } from 'constants/chains'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import useNativeCurrency from 'lib/hooks/useNativeCurrency'
|
||||
import { useContext, useMemo } from 'react'
|
||||
import { InterfaceTrade } from 'state/routing/types'
|
||||
@@ -53,7 +53,7 @@ export function AdvancedSwapDetails({
|
||||
hideInfoTooltips = false,
|
||||
}: AdvancedSwapDetailsProps) {
|
||||
const theme = useContext(ThemeContext)
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
const nativeCurrency = useNativeCurrency()
|
||||
|
||||
const { expectedOutputAmount, priceImpact } = useMemo(() => {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import { Trans } from '@lingui/macro'
|
||||
import { Currency, Percent, TradeType } from '@uniswap/sdk-core'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import AnimatedDropdown from 'components/AnimatedDropdown'
|
||||
import Card, { OutlineCard } from 'components/Card'
|
||||
import { AutoColumn } from 'components/Column'
|
||||
@@ -7,7 +8,6 @@ import { LoadingOpacityContainer } from 'components/Loader/styled'
|
||||
import Row, { RowBetween, RowFixed } from 'components/Row'
|
||||
import { MouseoverTooltipContent } from 'components/Tooltip'
|
||||
import { SUPPORTED_GAS_ESTIMATE_CHAIN_IDS } from 'constants/chains'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { darken } from 'polished'
|
||||
import { useState } from 'react'
|
||||
import { ChevronDown, Info } from 'react-feather'
|
||||
@@ -126,7 +126,7 @@ export default function SwapDetailsDropdown({
|
||||
allowedSlippage,
|
||||
}: SwapDetailsInlineProps) {
|
||||
const theme = useTheme()
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
const [showDetails, setShowDetails] = useState(false)
|
||||
|
||||
return (
|
||||
|
||||
@@ -3,13 +3,13 @@ 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 { useWeb3React } from '@web3-react/core'
|
||||
import AnimatedDropdown from 'components/AnimatedDropdown'
|
||||
import { AutoColumn } from 'components/Column'
|
||||
import { LoadingRows } from 'components/Loader/styled'
|
||||
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 { memo, useState } from 'react'
|
||||
import { Plus } from 'react-feather'
|
||||
@@ -50,7 +50,7 @@ export default memo(function SwapRoute({ trade, syncing, fixedOpen = false, ...r
|
||||
const autoRouterSupported = useAutoRouterSupported()
|
||||
const routes = getTokenPath(trade)
|
||||
const [open, setOpen] = useState(false)
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
|
||||
const [darkMode] = useDarkModeManager()
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import { Trans } from '@lingui/macro'
|
||||
import { Currency } from '@uniswap/sdk-core'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { ButtonEmpty } from 'components/Button'
|
||||
import Card, { OutlineCard } from 'components/Card'
|
||||
import { AutoColumn } from 'components/Column'
|
||||
import CurrencyLogo from 'components/CurrencyLogo'
|
||||
import Modal from 'components/Modal'
|
||||
import { AutoRow, RowBetween } from 'components/Row'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useState } from 'react'
|
||||
import styled from 'styled-components/macro'
|
||||
import { CloseIcon, ExternalLink, ThemedText, Z_INDEX } from 'theme'
|
||||
@@ -52,7 +52,7 @@ export default function UnsupportedCurrencyFooter({
|
||||
show: boolean
|
||||
currencies: (Currency | undefined | null)[]
|
||||
}) {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
const [showDetails, setShowDetails] = useState(false)
|
||||
|
||||
const tokens =
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { isAddress } from '@ethersproject/address'
|
||||
import { Trans } from '@lingui/macro'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { ReactNode, useState } from 'react'
|
||||
import { X } from 'react-feather'
|
||||
import styled from 'styled-components/macro'
|
||||
@@ -42,7 +42,7 @@ interface VoteModalProps {
|
||||
}
|
||||
|
||||
export default function DelegateModal({ isOpen, onDismiss, title }: VoteModalProps) {
|
||||
const { account, chainId } = useActiveWeb3React()
|
||||
const { account, chainId } = useWeb3React()
|
||||
|
||||
// state for delegate input
|
||||
const [usingDelegate, setUsingDelegate] = useState(false)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Trans } from '@lingui/macro'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { useContext, useState } from 'react'
|
||||
import { ArrowUpCircle, X } from 'react-feather'
|
||||
import styled, { ThemeContext } from 'styled-components/macro'
|
||||
@@ -41,7 +41,7 @@ interface ExecuteModalProps {
|
||||
}
|
||||
|
||||
export default function ExecuteModal({ isOpen, onDismiss, proposalId }: ExecuteModalProps) {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
const executeCallback = useExecuteCallback()
|
||||
|
||||
// monitor call to help UI loading state
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Trans } from '@lingui/macro'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { SupportedChainId } from 'constants/chains'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import styled from 'styled-components/macro'
|
||||
import { ThemedText } from 'theme'
|
||||
|
||||
@@ -37,7 +37,7 @@ const EmptyState = ({ HeaderContent, SubHeaderContent }: EmptyStateProps) => (
|
||||
)
|
||||
|
||||
export default function ProposalEmptyState() {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
if (chainId && chainId !== SupportedChainId.MAINNET) {
|
||||
return (
|
||||
<EmptyState
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Trans } from '@lingui/macro'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { useContext, useState } from 'react'
|
||||
import { ArrowUpCircle, X } from 'react-feather'
|
||||
import styled, { ThemeContext } from 'styled-components/macro'
|
||||
@@ -41,7 +41,7 @@ interface QueueModalProps {
|
||||
}
|
||||
|
||||
export default function QueueModal({ isOpen, onDismiss, proposalId }: QueueModalProps) {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
const queueCallback = useQueueCallback()
|
||||
|
||||
// monitor call to help UI loading state
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Trans } from '@lingui/macro'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { useContext, useState } from 'react'
|
||||
import { ArrowUpCircle, X } from 'react-feather'
|
||||
import styled, { ThemeContext } from 'styled-components/macro'
|
||||
@@ -44,7 +44,7 @@ interface VoteModalProps {
|
||||
}
|
||||
|
||||
export default function VoteModal({ isOpen, onDismiss, proposalId, voteOption }: VoteModalProps) {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
const voteCallback = useVoteCallback()
|
||||
const { votes: availableVotes } = useUserVotes()
|
||||
|
||||
|
||||
@@ -114,6 +114,7 @@ export const [coinbaseWallet, coinbaseWalletHooks] = initializeConnector<Coinbas
|
||||
url: INFURA_NETWORK_URLS[SupportedChainId.MAINNET],
|
||||
appName: 'Uniswap',
|
||||
appLogoUrl: UNISWAP_LOGO_URL,
|
||||
reloadOnDisconnect: false,
|
||||
},
|
||||
onError,
|
||||
})
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Currency, Token } from '@uniswap/sdk-core'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { CHAIN_INFO } from 'constants/chainInfo'
|
||||
import { L2_CHAIN_IDS, SupportedChainId, SupportedL2ChainId } from 'constants/chains'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useCurrencyFromMap, useTokenFromMapOrNetwork } from 'lib/hooks/useCurrency'
|
||||
import { getTokenFilter } from 'lib/hooks/useTokenList/filtering'
|
||||
import { useMemo } from 'react'
|
||||
@@ -13,7 +13,7 @@ import { TokenAddressMap, useUnsupportedTokenList } from './../state/lists/hooks
|
||||
|
||||
// reduce token map into standard address <-> Token mapping, optionally include user added tokens
|
||||
function useTokensFromMap(tokenMap: TokenAddressMap, includeUserAdded: boolean): { [address: string]: Token } {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
const userAddedTokens = useUserAddedTokens()
|
||||
|
||||
return useMemo(() => {
|
||||
@@ -63,7 +63,7 @@ type BridgeInfo = Record<
|
||||
>
|
||||
|
||||
export function useUnsupportedTokens(): { [address: string]: Token } {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
const listsByUrl = useAllLists()
|
||||
const unsupportedTokensMap = useUnsupportedTokenList()
|
||||
const unsupportedTokens = useTokensFromMap(unsupportedTokensMap, false)
|
||||
@@ -108,7 +108,7 @@ export function useUnsupportedTokens(): { [address: string]: Token } {
|
||||
export function useSearchInactiveTokenLists(search: string | undefined, minResults = 10): WrappedTokenInfo[] {
|
||||
const lists = useAllLists()
|
||||
const inactiveUrls = useInactiveListUrls()
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
const activeTokens = useAllTokens()
|
||||
return useMemo(() => {
|
||||
if (!search || search.trim().length === 0) return []
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
// TODO(vm): Rm this file once #3759 is merged.
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
|
||||
export default function useActiveWeb3React() {
|
||||
return useWeb3React()
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Currency } from '@uniswap/sdk-core'
|
||||
import { Pool, Route } from '@uniswap/v3-sdk'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { useMemo } from 'react'
|
||||
|
||||
import { useV3SwapPools } from './useV3SwapPools'
|
||||
@@ -63,7 +63,7 @@ export function useAllV3Routes(
|
||||
currencyIn?: Currency,
|
||||
currencyOut?: Currency
|
||||
): { loading: boolean; routes: Route<Currency, Currency>[] } {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
const { pools, loading: poolsLoading } = useV3SwapPools(currencyIn, currencyOut)
|
||||
|
||||
return useMemo(() => {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
|
||||
import ArgentWalletContractABI from '../abis/argent-wallet-contract.json'
|
||||
import { ArgentWalletContract } from '../abis/types'
|
||||
@@ -6,7 +6,7 @@ import { useContract } from './useContract'
|
||||
import useIsArgentWallet from './useIsArgentWallet'
|
||||
|
||||
export function useArgentWalletContract(): ArgentWalletContract | null {
|
||||
const { account } = useActiveWeb3React()
|
||||
const { account } = useWeb3React()
|
||||
const isArgentWallet = useIsArgentWallet()
|
||||
return useContract(
|
||||
isArgentWallet ? account ?? undefined : undefined,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { AUTO_ROUTER_SUPPORTED_CHAINS } from 'lib/hooks/routing/clientSideSmartOrderRouter'
|
||||
|
||||
export default function useAutoRouterSupported(): boolean {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
return Boolean(chainId && AUTO_ROUTER_SUPPORTED_CHAINS.includes(chainId))
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { Trade } from '@uniswap/router-sdk'
|
||||
import { Currency, CurrencyAmount, Percent, TradeType } from '@uniswap/sdk-core'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { SUPPORTED_GAS_ESTIMATE_CHAIN_IDS } from 'constants/chains'
|
||||
import { L2_CHAIN_IDS } from 'constants/chains'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import JSBI from 'jsbi'
|
||||
import useNativeCurrency from 'lib/hooks/useNativeCurrency'
|
||||
import { useMemo } from 'react'
|
||||
@@ -35,7 +35,7 @@ const MAX_AUTO_SLIPPAGE_TOLERANCE = new Percent(25, 100) // 25%
|
||||
export default function useAutoSlippageTolerance(
|
||||
trade: InterfaceTrade<Currency, Currency, TradeType> | undefined
|
||||
): Percent {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
const onL2 = chainId && L2_CHAIN_IDS.includes(chainId)
|
||||
const outputDollarValue = useUSDCValue(trade?.outputAmount)
|
||||
const nativeGasPrice = useGasPrice()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Currency, CurrencyAmount, TradeType } from '@uniswap/sdk-core'
|
||||
import { Route, SwapQuoter } from '@uniswap/v3-sdk'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { SupportedChainId } from 'constants/chains'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import JSBI from 'jsbi'
|
||||
import { useSingleContractWithCallData } from 'lib/hooks/multicall'
|
||||
import { useMemo } from 'react'
|
||||
@@ -35,7 +35,7 @@ export function useClientSideV3Trade<TTradeType extends TradeType>(
|
||||
const { routes, loading: routesLoading } = useAllV3Routes(currencyIn, currencyOut)
|
||||
|
||||
const quoter = useV3Quoter()
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
const callData = useMemo(
|
||||
() =>
|
||||
amountSpecified
|
||||
|
||||
@@ -6,6 +6,7 @@ import TickLensJson from '@uniswap/v3-periphery/artifacts/contracts/lens/TickLen
|
||||
import UniswapInterfaceMulticallJson from '@uniswap/v3-periphery/artifacts/contracts/lens/UniswapInterfaceMulticall.sol/UniswapInterfaceMulticall.json'
|
||||
import NonfungiblePositionManagerJson from '@uniswap/v3-periphery/artifacts/contracts/NonfungiblePositionManager.sol/NonfungiblePositionManager.json'
|
||||
import V3MigratorJson from '@uniswap/v3-periphery/artifacts/contracts/V3Migrator.sol/V3Migrator.json'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import ARGENT_WALLET_DETECTOR_ABI from 'abis/argent-wallet-detector.json'
|
||||
import EIP_2612 from 'abis/eip_2612.json'
|
||||
import ENS_PUBLIC_RESOLVER_ABI from 'abis/ens-public-resolver.json'
|
||||
@@ -27,7 +28,6 @@ import {
|
||||
V3_MIGRATOR_ADDRESSES,
|
||||
} from 'constants/addresses'
|
||||
import { WRAPPED_NATIVE_CURRENCY } from 'constants/tokens'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useMemo } from 'react'
|
||||
import { NonfungiblePositionManager, Quoter, TickLens, UniswapInterfaceMulticall } from 'types/v3'
|
||||
import { V3Migrator } from 'types/v3/V3Migrator'
|
||||
@@ -48,7 +48,7 @@ export function useContract<T extends Contract = Contract>(
|
||||
ABI: any,
|
||||
withSignerIfPossible = true
|
||||
): T | null {
|
||||
const { provider, account, chainId } = useActiveWeb3React()
|
||||
const { provider, account, chainId } = useWeb3React()
|
||||
|
||||
return useMemo(() => {
|
||||
if (!addressOrAddressMap || !ABI || !provider || !chainId) return null
|
||||
@@ -74,7 +74,7 @@ export function useTokenContract(tokenAddress?: string, withSignerIfPossible?: b
|
||||
}
|
||||
|
||||
export function useWETHContract(withSignerIfPossible?: boolean) {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
return useContract<Weth>(
|
||||
chainId ? WRAPPED_NATIVE_CURRENCY[chainId]?.address : undefined,
|
||||
WETH_ABI,
|
||||
@@ -135,7 +135,7 @@ export function useV3Quoter() {
|
||||
}
|
||||
|
||||
export function useTickLens(): TickLens | null {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
const address = chainId ? TICK_LENS_ADDRESSES[chainId] : undefined
|
||||
return useContract(address, TickLensABI) as TickLens | null
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { BigNumber } from '@ethersproject/bignumber'
|
||||
import { hexZeroPad } from '@ethersproject/bytes'
|
||||
import { namehash } from '@ethersproject/hash'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { useSingleCallResult } from 'lib/hooks/multicall'
|
||||
import uriToHttp from 'lib/utils/uriToHttp'
|
||||
import { useEffect, useMemo, useState } from 'react'
|
||||
@@ -112,7 +112,7 @@ function useERC721Uri(
|
||||
enforceOwnership: boolean
|
||||
): { uri?: string; loading: boolean } {
|
||||
const idArgument = useMemo(() => [id], [id])
|
||||
const { account } = useActiveWeb3React()
|
||||
const { account } = useWeb3React()
|
||||
const contract = useERC721Contract(contractAddress)
|
||||
const owner = useSingleCallResult(contract, 'ownerOf', idArgument)
|
||||
const uri = useSingleCallResult(contract, 'tokenURI', idArgument)
|
||||
@@ -130,7 +130,7 @@ function useERC1155Uri(
|
||||
id: string | undefined,
|
||||
enforceOwnership: boolean
|
||||
): { uri?: string; loading: boolean } {
|
||||
const { account } = useActiveWeb3React()
|
||||
const { account } = useWeb3React()
|
||||
const idArgument = useMemo(() => [id], [id])
|
||||
const accountArgument = useMemo(() => [account || '', id], [account, id])
|
||||
const contract = useERC1155Contract(contractAddress)
|
||||
|
||||
@@ -4,7 +4,7 @@ import { Trade } from '@uniswap/router-sdk'
|
||||
import { Currency, CurrencyAmount, Percent, TradeType } from '@uniswap/sdk-core'
|
||||
import { Trade as V2Trade } from '@uniswap/v2-sdk'
|
||||
import { Trade as V3Trade } from '@uniswap/v3-sdk'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import JSBI from 'jsbi'
|
||||
import { useSingleCallResult } from 'lib/hooks/multicall'
|
||||
import { useMemo, useState } from 'react'
|
||||
@@ -126,7 +126,7 @@ export function useERC20Permit(
|
||||
state: UseERC20PermitState
|
||||
gatherPermitSignature: null | (() => Promise<void>)
|
||||
} {
|
||||
const { account, chainId, provider } = useActiveWeb3React()
|
||||
const { account, chainId, provider } = useWeb3React()
|
||||
const tokenAddress = currencyAmount?.currency?.isToken ? currencyAmount.currency.address : undefined
|
||||
const eip2612Contract = useEIP2612Contract(tokenAddress)
|
||||
const isArgentWallet = useIsArgentWallet()
|
||||
@@ -268,7 +268,7 @@ export function useERC20PermitFromTrade(
|
||||
allowedSlippage: Percent,
|
||||
transactionDeadline: BigNumber | undefined
|
||||
) {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
const swapRouterAddress = chainId
|
||||
? // v2 router does not support
|
||||
trade instanceof V2Trade
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { NEVER_RELOAD, useSingleCallResult } from 'lib/hooks/multicall'
|
||||
import { useMemo } from 'react'
|
||||
|
||||
import { useArgentWalletDetectorContract } from './useContract'
|
||||
|
||||
export default function useIsArgentWallet(): boolean {
|
||||
const { account } = useActiveWeb3React()
|
||||
const { account } = useWeb3React()
|
||||
const argentWalletDetector = useArgentWalletDetectorContract()
|
||||
const inputs = useMemo(() => [account ?? undefined], [account])
|
||||
const call = useSingleCallResult(argentWalletDetector, 'isArgentWallet', inputs, NEVER_RELOAD)
|
||||
|
||||
@@ -3,7 +3,7 @@ import { BigintIsh, Currency, Token } from '@uniswap/sdk-core'
|
||||
import { abi as IUniswapV3PoolStateABI } from '@uniswap/v3-core/artifacts/contracts/interfaces/pool/IUniswapV3PoolState.sol/IUniswapV3PoolState.json'
|
||||
import { computePoolAddress } from '@uniswap/v3-sdk'
|
||||
import { FeeAmount, Pool } from '@uniswap/v3-sdk'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import JSBI from 'jsbi'
|
||||
import { useMultipleContractSingleData } from 'lib/hooks/multicall'
|
||||
import { useMemo } from 'react'
|
||||
@@ -86,7 +86,7 @@ export enum PoolState {
|
||||
export function usePools(
|
||||
poolKeys: [Currency | undefined, Currency | undefined, FeeAmount | undefined][]
|
||||
): [PoolState, Pool | null][] {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
|
||||
const poolTokens: ([Token, Token, FeeAmount] | undefined)[] = useMemo(() => {
|
||||
if (!chainId) return new Array(poolKeys.length)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Token } from '@uniswap/sdk-core'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { SOCKS_CONTROLLER_ADDRESSES } from 'constants/addresses'
|
||||
import { SupportedChainId } from 'constants/chains'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useMemo } from 'react'
|
||||
import { useTokenBalance } from 'state/wallet/hooks'
|
||||
|
||||
@@ -9,7 +9,7 @@ import { useTokenBalance } from 'state/wallet/hooks'
|
||||
const SOCKS = new Token(SupportedChainId.MAINNET, SOCKS_CONTROLLER_ADDRESSES[SupportedChainId.MAINNET], 0)
|
||||
|
||||
export function useHasSocks(): boolean | undefined {
|
||||
const { account, chainId } = useActiveWeb3React()
|
||||
const { account, chainId } = useWeb3React()
|
||||
|
||||
const balance = useTokenBalance(account ?? undefined, chainId === SupportedChainId.MAINNET ? SOCKS : undefined)
|
||||
|
||||
|
||||
@@ -3,8 +3,8 @@ import { SwapRouter, Trade } from '@uniswap/router-sdk'
|
||||
import { Currency, Percent, TradeType } from '@uniswap/sdk-core'
|
||||
import { Router as V2SwapRouter, Trade as V2Trade } from '@uniswap/v2-sdk'
|
||||
import { FeeOptions, SwapRouter as V3SwapRouter, Trade as V3Trade } from '@uniswap/v3-sdk'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { SWAP_ROUTER_ADDRESSES, V3_ROUTER_ADDRESS } from 'constants/addresses'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useMemo } from 'react'
|
||||
import approveAmountCalldata from 'utils/approveAmountCalldata'
|
||||
|
||||
@@ -39,7 +39,7 @@ export function useSwapCallArguments(
|
||||
deadline: BigNumber | undefined,
|
||||
feeOptions: FeeOptions | undefined
|
||||
): SwapCall[] {
|
||||
const { account, chainId, provider } = useActiveWeb3React()
|
||||
const { account, chainId, provider } = useWeb3React()
|
||||
|
||||
const { address: recipientAddress } = useENS(recipientAddressOrName)
|
||||
const recipient = recipientAddressOrName === null ? account : recipientAddress
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// eslint-disable-next-line no-restricted-imports
|
||||
import { Percent, TradeType } from '@uniswap/sdk-core'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { SwapCallbackState, useSwapCallback as useLibSwapCallBack } from 'lib/hooks/swap/useSwapCallback'
|
||||
import { ReactNode, useMemo } from 'react'
|
||||
|
||||
@@ -20,7 +20,7 @@ export function useSwapCallback(
|
||||
recipientAddressOrName: string | null, // the ENS name or address of the recipient of the trade, or null if swap should be returned to sender
|
||||
signatureData: SignatureData | undefined | null
|
||||
): { state: SwapCallbackState; callback: null | (() => Promise<string>); error: ReactNode | null } {
|
||||
const { account } = useActiveWeb3React()
|
||||
const { account } = useWeb3React()
|
||||
|
||||
const deadline = useTransactionDeadline()
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Currency } from '@uniswap/sdk-core'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { useMemo } from 'react'
|
||||
import { useCombinedActiveList } from 'state/lists/hooks'
|
||||
|
||||
@@ -7,7 +7,7 @@ import { useCombinedActiveList } from 'state/lists/hooks'
|
||||
* Returns a WrappedTokenInfo from the active token lists when possible,
|
||||
* or the passed token otherwise. */
|
||||
export function useTokenInfoFromActiveList(currency: Currency) {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
const activeList = useCombinedActiveList()
|
||||
|
||||
return useMemo(() => {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { BigNumber } from '@ethersproject/bignumber'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { L2_CHAIN_IDS } from 'constants/chains'
|
||||
import { L2_DEADLINE_FROM_NOW } from 'constants/misc'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useMemo } from 'react'
|
||||
import { useAppSelector } from 'state/hooks'
|
||||
|
||||
@@ -9,7 +9,7 @@ import useCurrentBlockTimestamp from './useCurrentBlockTimestamp'
|
||||
|
||||
// combines the block timestamp with the user setting to give the deadline that should be used for any submitted transaction
|
||||
export default function useTransactionDeadline(): BigNumber | undefined {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
const ttl = useAppSelector((state) => state.user.userDeadline)
|
||||
const blockTimestamp = useCurrentBlockTimestamp()
|
||||
return useMemo(() => {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Currency, CurrencyAmount, Price, Token, TradeType } from '@uniswap/sdk-core'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import tryParseCurrencyAmount from 'lib/utils/tryParseCurrencyAmount'
|
||||
import { useMemo, useRef } from 'react'
|
||||
|
||||
@@ -80,7 +80,7 @@ export function useUSDCValue(currencyAmount: CurrencyAmount<Currency> | undefine
|
||||
* @returns CurrencyAmount where currency is stablecoin on active chain
|
||||
*/
|
||||
export function useStablecoinAmountFromFiatValue(fiatValue: string | null | undefined) {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
const stablecoin = chainId ? STABLECOIN_AMOUNT_OUT[chainId]?.currency : undefined
|
||||
|
||||
return useMemo(() => {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Currency, Token } from '@uniswap/sdk-core'
|
||||
import { FeeAmount, Pool } from '@uniswap/v3-sdk'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { SupportedChainId } from 'constants/chains'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useMemo } from 'react'
|
||||
|
||||
import { useAllCurrencyCombinations } from './useAllCurrencyCombinations'
|
||||
@@ -19,7 +19,7 @@ export function useV3SwapPools(
|
||||
pools: Pool[]
|
||||
loading: boolean
|
||||
} {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
|
||||
const allCurrencyCombinations = useAllCurrencyCombinations(currencyIn, currencyOut)
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Trans } from '@lingui/macro'
|
||||
import { Currency } from '@uniswap/sdk-core'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import useNativeCurrency from 'lib/hooks/useNativeCurrency'
|
||||
import tryParseCurrencyAmount from 'lib/utils/tryParseCurrencyAmount'
|
||||
import { useMemo } from 'react'
|
||||
@@ -57,7 +57,7 @@ export default function useWrapCallback(
|
||||
outputCurrency: Currency | undefined | null,
|
||||
typedValue: string | undefined
|
||||
): { wrapType: WrapType; execute?: undefined | (() => Promise<void>); inputError?: WrapInputError } {
|
||||
const { chainId, account } = useActiveWeb3React()
|
||||
const { chainId, account } = useWeb3React()
|
||||
const wethContract = useWETHContract()
|
||||
const balance = useCurrencyBalance(account ?? undefined, inputCurrency ?? undefined)
|
||||
// we can always parse the amount typed as the input currency, since wrapping is 1:1
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import useBlockNumber from 'lib/hooks/useBlockNumber'
|
||||
import multicall from 'lib/state/multicall'
|
||||
import { SkipFirst } from 'types/tuple'
|
||||
@@ -37,7 +37,7 @@ export function useSingleContractWithCallData(
|
||||
}
|
||||
|
||||
function useCallContext() {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
const latestBlock = useBlockNumber()
|
||||
return { chainId, latestBlock }
|
||||
}
|
||||
|
||||
@@ -2,8 +2,8 @@ import { Protocol, Trade } from '@uniswap/router-sdk'
|
||||
import { Currency, CurrencyAmount, Percent, Token, TradeType } from '@uniswap/sdk-core'
|
||||
import { Pair, Route as V2Route, Trade as V2Trade } from '@uniswap/v2-sdk'
|
||||
import { Pool, Route as V3Route, Trade as V3Trade } from '@uniswap/v3-sdk'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { SWAP_ROUTER_ADDRESSES, V2_ROUTER_ADDRESS, V3_ROUTER_ADDRESS } from 'constants/addresses'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useMemo } from 'react'
|
||||
import { getTxOptimizedSwapRouter, SwapRouterVersion } from 'utils/getTxOptimizedSwapRouter'
|
||||
|
||||
@@ -16,7 +16,7 @@ function useSwapApprovalStates(
|
||||
allowedSlippage: Percent,
|
||||
useIsPendingApproval: (token?: Token, spender?: string) => boolean
|
||||
): { v2: ApprovalState; v3: ApprovalState; v2V3: ApprovalState } {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
|
||||
const amountToApprove = useMemo(
|
||||
() => (trade && trade.inputAmount.currency.isToken ? trade.maximumAmountIn(allowedSlippage) : undefined),
|
||||
@@ -40,7 +40,7 @@ export function useSwapRouterAddress(
|
||||
| Trade<Currency, Currency, TradeType>
|
||||
| undefined
|
||||
) {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
return useMemo(
|
||||
() =>
|
||||
chainId
|
||||
|
||||
@@ -4,7 +4,7 @@ import { TransactionResponse } from '@ethersproject/providers'
|
||||
import { Trans } from '@lingui/macro'
|
||||
import { Percent } from '@uniswap/sdk-core'
|
||||
import { FeeOptions } from '@uniswap/v3-sdk'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import useENS from 'hooks/useENS'
|
||||
import { SignatureData } from 'hooks/useERC20Permit'
|
||||
import { AnyTrade, useSwapCallArguments } from 'hooks/useSwapCallArguments'
|
||||
@@ -42,7 +42,7 @@ export function useSwapCallback({
|
||||
deadline,
|
||||
feeOptions,
|
||||
}: UseSwapCallbackArgs): UseSwapCallbackReturns {
|
||||
const { account, chainId, provider } = useActiveWeb3React()
|
||||
const { account, chainId, provider } = useWeb3React()
|
||||
|
||||
const swapCalls = useSwapCallArguments(
|
||||
trade,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { TransactionReceipt } from '@ethersproject/abstract-provider'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { SupportedChainId } from 'constants/chains'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import useBlockNumber, { useFastForwardBlockNumber } from 'lib/hooks/useBlockNumber'
|
||||
import ms from 'ms.macro'
|
||||
import { useCallback, useEffect } from 'react'
|
||||
@@ -45,7 +45,7 @@ interface UpdaterProps {
|
||||
}
|
||||
|
||||
export default function Updater({ pendingTransactions, onCheck, onReceipt }: UpdaterProps): null {
|
||||
const { chainId, provider } = useActiveWeb3React()
|
||||
const { chainId, provider } = useWeb3React()
|
||||
|
||||
const lastBlockNumber = useBlockNumber()
|
||||
const fastForwardBlockNumber = useFastForwardBlockNumber()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { MaxUint256 } from '@ethersproject/constants'
|
||||
import { TransactionResponse } from '@ethersproject/providers'
|
||||
import { Currency, CurrencyAmount, Token } from '@uniswap/sdk-core'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { useTokenContract } from 'hooks/useContract'
|
||||
import { useTokenAllowance } from 'hooks/useTokenAllowance'
|
||||
import { useCallback, useMemo } from 'react'
|
||||
@@ -19,7 +19,7 @@ export function useApprovalStateForSpender(
|
||||
spender: string | undefined,
|
||||
useIsPendingApproval: (token?: Token, spender?: string) => boolean
|
||||
): ApprovalState {
|
||||
const { account } = useActiveWeb3React()
|
||||
const { account } = useWeb3React()
|
||||
const token = amountToApprove?.currency?.isToken ? amountToApprove.currency : undefined
|
||||
|
||||
const currentAllowance = useTokenAllowance(token, account ?? undefined, spender)
|
||||
@@ -48,7 +48,7 @@ export function useApproval(
|
||||
ApprovalState,
|
||||
() => Promise<{ response: TransactionResponse; tokenAddress: string; spenderAddress: string } | undefined>
|
||||
] {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
const token = amountToApprove?.currency?.isToken ? amountToApprove.currency : undefined
|
||||
|
||||
// check the current approval status
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import useIsWindowVisible from 'hooks/useIsWindowVisible'
|
||||
import { createContext, ReactNode, useCallback, useContext, useEffect, useMemo, useState } from 'react'
|
||||
|
||||
@@ -29,7 +29,7 @@ export function useFastForwardBlockNumber(): (block: number) => void {
|
||||
}
|
||||
|
||||
export function BlockNumberProvider({ children }: { children: ReactNode }) {
|
||||
const { chainId: activeChainId, provider } = useActiveWeb3React()
|
||||
const { chainId: activeChainId, provider } = useWeb3React()
|
||||
const [{ chainId, block }, setChainBlock] = useState<{ chainId?: number; block?: number }>({ chainId: activeChainId })
|
||||
|
||||
const onBlock = useCallback(
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { arrayify } from '@ethersproject/bytes'
|
||||
import { parseBytes32String } from '@ethersproject/strings'
|
||||
import { Currency, Token } from '@uniswap/sdk-core'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { useBytes32TokenContract, useTokenContract } from 'hooks/useContract'
|
||||
import { NEVER_RELOAD, useSingleCallResult } from 'lib/hooks/multicall'
|
||||
import useNativeCurrency from 'lib/hooks/useNativeCurrency'
|
||||
@@ -30,7 +30,7 @@ function parseStringOrBytes32(str: string | undefined, bytes32: string | undefin
|
||||
* Returns undefined if tokenAddress is invalid or token does not exist.
|
||||
*/
|
||||
export function useTokenFromNetwork(tokenAddress: string | null | undefined): Token | null | undefined {
|
||||
const { chainId, connector } = useActiveWeb3React()
|
||||
const { chainId, connector } = useWeb3React()
|
||||
const chainAllowed = chainId && isChainAllowed(connector, chainId)
|
||||
|
||||
const formattedAddress = isAddress(tokenAddress)
|
||||
@@ -96,7 +96,7 @@ export function useTokenFromMapOrNetwork(tokens: TokenMap, tokenAddress?: string
|
||||
*/
|
||||
export function useCurrencyFromMap(tokens: TokenMap, currencyId?: string | null): Currency | null | undefined {
|
||||
const nativeCurrency = useNativeCurrency()
|
||||
const { chainId, connector } = useActiveWeb3React()
|
||||
const { chainId, connector } = useWeb3React()
|
||||
const isNative = Boolean(nativeCurrency && currencyId?.toUpperCase() === 'ETH')
|
||||
const shorthandMatchAddress = useMemo(() => {
|
||||
const chain = supportedChainId(chainId)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { Interface } from '@ethersproject/abi'
|
||||
import { Currency, CurrencyAmount, Token } from '@uniswap/sdk-core'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import ERC20ABI from 'abis/erc20.json'
|
||||
import { Erc20Interface } from 'abis/types/Erc20'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import JSBI from 'jsbi'
|
||||
import { useMultipleContractSingleData, useSingleContractMultipleData } from 'lib/hooks/multicall'
|
||||
import { useMemo } from 'react'
|
||||
@@ -17,7 +17,7 @@ import { isAddress } from '../../utils'
|
||||
export function useNativeCurrencyBalances(uncheckedAddresses?: (string | undefined)[]): {
|
||||
[address: string]: CurrencyAmount<Currency> | undefined
|
||||
} {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
const multicallContract = useInterfaceMulticall()
|
||||
|
||||
const validAddressInputs: [string][] = useMemo(
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { atomWithImmer } from 'jotai/immer'
|
||||
import { useAtomValue, useUpdateAtom } from 'jotai/utils'
|
||||
import { useCallback } from 'react'
|
||||
@@ -11,7 +11,7 @@ const oldestBlockMapAtom = atomWithImmer<{ [chainId: number]: number }>({})
|
||||
const DEFAULT_MAX_BLOCK_AGE = 10
|
||||
|
||||
export function useSetOldestValidBlock(): (block: number) => void {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
const updateValidBlock = useUpdateAtom(oldestBlockMapAtom)
|
||||
return useCallback(
|
||||
(block: number) => {
|
||||
@@ -25,7 +25,7 @@ export function useSetOldestValidBlock(): (block: number) => void {
|
||||
}
|
||||
|
||||
export function useGetIsValidBlock(maxBlockAge = DEFAULT_MAX_BLOCK_AGE): (block: number) => boolean {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
const currentBlock = useBlockNumber()
|
||||
const oldestBlockMap = useAtomValue(oldestBlockMapAtom)
|
||||
const oldestBlock = chainId ? oldestBlockMap[chainId] : 0
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import { NativeCurrency } from '@uniswap/sdk-core'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { SupportedChainId } from 'constants/chains'
|
||||
import { nativeOnChain } from 'constants/tokens'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useMemo } from 'react'
|
||||
|
||||
export default function useNativeCurrency(): NativeCurrency {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
return useMemo(
|
||||
() =>
|
||||
chainId
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { createMulticall } from '@uniswap/redux-multicall'
|
||||
import useActiveWeb3React from 'hooks/useActiveWeb3React'
|
||||
import { useWeb3React } from '@web3-react/core'
|
||||
import { useInterfaceMulticall } from 'hooks/useContract'
|
||||
import useBlockNumber from 'lib/hooks/useBlockNumber'
|
||||
import { combineReducers, createStore } from 'redux'
|
||||
@@ -11,7 +11,7 @@ export const store = createStore(reducer)
|
||||
export default multicall
|
||||
|
||||
export function MulticallUpdater() {
|
||||
const { chainId } = useActiveWeb3React()
|
||||
const { chainId } = useWeb3React()
|
||||
const latestBlockNumber = useBlockNumber()
|
||||
const contract = useInterfaceMulticall()
|
||||
return <multicall.Updater chainId={chainId} latestBlockNumber={latestBlockNumber} contract={contract} />
|
||||
|
||||
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: 2022-06-06 00:14\n"
|
||||
"PO-Revision-Date: 2022-06-30 17:10\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: af_ZA\n"
|
||||
"Language-Team: Afrikaans\n"
|
||||
@@ -164,8 +164,8 @@ msgid "Add more liquidity"
|
||||
msgstr "Voeg meer likiditeit by"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Add {0} to Metamask <0/>"
|
||||
msgstr "Voeg {0} by Metamask <0/>"
|
||||
msgid "Add {0}"
|
||||
msgstr "Voeg {0}by"
|
||||
|
||||
#: src/pages/Earn/Manage.tsx
|
||||
msgid "Add {0}-{1} liquidity"
|
||||
@@ -179,6 +179,10 @@ msgstr "Voeg {0}/{1} V3 likiditeit by"
|
||||
msgid "Added {0}"
|
||||
msgstr "{0}bygevoeg"
|
||||
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
msgid "Adding this proposal to the queue will allow it to be executed, after a delay."
|
||||
msgstr "Deur hierdie voorstel by die tou te voeg, sal dit na 'n vertraging uitgevoer kan word."
|
||||
|
||||
#: src/components/claim/AddressClaimModal.tsx
|
||||
msgid "Address has no available claim"
|
||||
msgstr "Adres het geen eis nie"
|
||||
@@ -481,6 +485,8 @@ msgstr "Bevestig die ruil"
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/claim/AddressClaimModal.tsx
|
||||
#: src/components/claim/ClaimModal.tsx
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
#: src/components/vote/VoteModal.tsx
|
||||
msgid "Confirm this transaction in your wallet"
|
||||
msgstr "Bevestig hierdie transaksie in u beursie"
|
||||
@@ -735,14 +741,9 @@ msgid "Error"
|
||||
msgstr "Fout"
|
||||
|
||||
#: src/components/WalletModal/PendingView.tsx
|
||||
#: src/components/WalletModal/index.tsx
|
||||
msgid "Error connecting"
|
||||
msgstr "Kon nie koppel nie"
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
msgid "Error connecting. Try refreshing the page."
|
||||
msgstr "Kon nie koppel nie. Probeer om die bladsy te verfris."
|
||||
|
||||
#: src/components/SearchModal/ManageLists.tsx
|
||||
msgid "Error importing list"
|
||||
msgstr "Kon nie lys invoer nie"
|
||||
@@ -759,10 +760,35 @@ msgstr "Geskatte netwerkfooi"
|
||||
msgid "Etherscan"
|
||||
msgstr "Etherscan"
|
||||
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
#: src/pages/Vote/VotePage.tsx
|
||||
msgid "Execute"
|
||||
msgstr "Voer uit"
|
||||
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
msgid "Execute Proposal {proposalId}"
|
||||
msgstr "Voer voorstel {proposalId}uit"
|
||||
|
||||
#: src/components/AccountDetails/TransactionSummary.tsx
|
||||
msgid "Execute proposal {proposalKey}."
|
||||
msgstr "Voer voorstel {proposalKey}uit."
|
||||
|
||||
#: src/pages/Vote/styled.tsx
|
||||
msgid "Executed"
|
||||
msgstr "Uitgevoer"
|
||||
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
msgid "Executing"
|
||||
msgstr "Uitvoer"
|
||||
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
msgid "Executing this proposal will enact the calldata on-chain."
|
||||
msgstr "Die uitvoering van hierdie voorstel sal die oproepdata in die ketting in werking stel."
|
||||
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
msgid "Execution Submitted"
|
||||
msgstr "Uitvoering ingedien"
|
||||
|
||||
#: src/components/SearchModal/CurrencyList/index.tsx
|
||||
msgid "Expanded results from inactive Token Lists"
|
||||
msgstr "Uitgebreide resultate van onaktiewe tekenlyste"
|
||||
@@ -898,8 +924,8 @@ msgid "Input is estimated. You will sell at most <0>{0} {1}</0> or the transacti
|
||||
msgstr "Inset word geskat. U sal hoogstens <0>{0} {1}</0> anders gaan die transaksie terug."
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
msgid "Install Metamask"
|
||||
msgstr "Installeer Metamask"
|
||||
msgid "Install MetaMask"
|
||||
msgstr "Installeer MetaMask"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Insufficient liquidity for this trade."
|
||||
@@ -961,7 +987,6 @@ msgstr "Leer meer"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
#: src/components/PrivacyPolicy/index.tsx
|
||||
#: src/components/WalletModal/index.tsx
|
||||
msgid "Legal & Privacy"
|
||||
msgstr "Reg en privaatheid"
|
||||
|
||||
@@ -1173,10 +1198,6 @@ msgstr "Sodra u tevrede is met die tarief, klik op die aanbod om dit te hersien.
|
||||
msgid "Only UNI votes that were self delegated or delegated to another address before block {0} are eligible for voting."
|
||||
msgstr "Slegs stemgeregtigdes van UNI wat self gedelegeer is of na 'n ander adres voor blok {0} gedelegeer is."
|
||||
|
||||
#: src/components/Web3ReactManager/index.tsx
|
||||
msgid "Oops! An unknown error occurred. Please refresh the page, or visit from another browser or device."
|
||||
msgstr "Oeps! 'N Onbekende fout het voorgekom. Verfris die bladsy of besoek 'n ander blaaier of toestel."
|
||||
|
||||
#: src/components/Header/NetworkSelector.tsx
|
||||
msgid "Optimism Bridge"
|
||||
msgstr "Optimisme brug"
|
||||
@@ -1226,10 +1247,6 @@ msgstr "Bevestig dat u hierdie lys wil verwyder deur REMOVE in te tik"
|
||||
msgid "Please connect to Layer 1 Ethereum"
|
||||
msgstr "Maak asseblief verbinding met Layer 1 Ethereum"
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
msgid "Please connect to a supported network in the dropdown menu or in your wallet."
|
||||
msgstr "Koppel asseblief aan 'n ondersteunde netwerk in die aftreklys of in jou beursie."
|
||||
|
||||
#: src/components/Settings/index.tsx
|
||||
msgid "Please type the word \"{confirmWord}\" to enable expert mode."
|
||||
msgstr "Tik die woord \"{confirmWord}\" in om die kundige modus te aktiveer."
|
||||
@@ -1347,10 +1364,27 @@ msgstr "Voorsteller"
|
||||
msgid "Protocol Disclaimer"
|
||||
msgstr "Protokol vrywaring"
|
||||
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
#: src/pages/Vote/VotePage.tsx
|
||||
msgid "Queue"
|
||||
msgstr "Tou"
|
||||
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
msgid "Queue Proposal {proposalId}"
|
||||
msgstr "Touvoorstel {proposalId}"
|
||||
|
||||
#: src/components/AccountDetails/TransactionSummary.tsx
|
||||
msgid "Queue proposal {proposalKey}."
|
||||
msgstr "Touvoorstel {proposalKey}."
|
||||
|
||||
#: src/pages/Vote/styled.tsx
|
||||
msgid "Queued"
|
||||
msgstr "In die ry staan"
|
||||
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
msgid "Queueing"
|
||||
msgstr "Toustaan"
|
||||
|
||||
#: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx
|
||||
msgid "Rates"
|
||||
msgstr "Tariewe"
|
||||
@@ -1702,6 +1736,10 @@ msgstr "Hierdie toepassing gebruik die volgende derdeparty-API's:"
|
||||
msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction."
|
||||
msgstr "Hierdie poel moet geïnisialiseer word voordat u likiditeit kan byvoeg. Kies 'n aanvangsprys vir die swembad om te initialiseer. Voer dan u likiditeitspryse en depositobedrag in. Gasfooie sal hoër wees as gewoonlik as gevolg van die initialiseringstransaksie."
|
||||
|
||||
#: src/pages/Vote/VotePage.tsx
|
||||
msgid "This proposal may be executed after {0}."
|
||||
msgstr "Hierdie voorstel kan na {0}uitgevoer word."
|
||||
|
||||
#: src/components/swap/SwapRoute.tsx
|
||||
msgid "This route optimizes your total output by considering split routes, multiple hops, and the gas cost of each step."
|
||||
msgstr "Hierdie roete optimaliseer jou totale uitset deur gesplete roetes, veelvuldige hops en die gaskoste van elke stap in ag te neem."
|
||||
@@ -1779,6 +1817,7 @@ msgstr "Transaksie-instellings"
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
#: src/components/earn/UnstakingModal.tsx
|
||||
#: src/components/vote/DelegateModal.tsx
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
#: src/components/vote/VoteModal.tsx
|
||||
msgid "Transaction Submitted"
|
||||
msgstr "Transaksie ingedien"
|
||||
@@ -1933,8 +1972,8 @@ msgid "User"
|
||||
msgstr "Gebruiker"
|
||||
|
||||
#: src/pages/Pool/v2.tsx
|
||||
msgid "V2 is not available on Layer 2. Switch to Layer 1 Ethereum."
|
||||
msgstr "V2 is nie beskikbaar op Laag 2. Skakel oor na Laag 1 Ethereum."
|
||||
msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum."
|
||||
msgstr "V2 Pool is nie beskikbaar op Laag 2 nie. Skakel oor na Laag 1 Ethereum."
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "V2 liquidity"
|
||||
@@ -1967,6 +2006,8 @@ msgstr "Bekyk op Explorer"
|
||||
#: src/components/ModalViews/index.tsx
|
||||
#: src/components/claim/AddressClaimModal.tsx
|
||||
#: src/components/claim/ClaimModal.tsx
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
#: src/components/vote/VoteModal.tsx
|
||||
msgid "View transaction on Explorer"
|
||||
msgstr "Bekyk transaksie op Explorer"
|
||||
@@ -2091,7 +2132,6 @@ msgstr "Draai toe"
|
||||
msgid "Wrap <0/> to {0}"
|
||||
msgstr "Wikkel <0/> tot {0}"
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Wrong Network"
|
||||
msgstr "Verkeerde netwerk"
|
||||
|
||||
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: 2022-06-06 00:14\n"
|
||||
"PO-Revision-Date: 2022-06-30 17:10\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: ar_SA\n"
|
||||
"Language-Team: Arabic\n"
|
||||
@@ -164,8 +164,8 @@ msgid "Add more liquidity"
|
||||
msgstr "أضف المزيد من السيولة"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Add {0} to Metamask <0/>"
|
||||
msgstr "إضافة {0} إلى Metamask <0/>"
|
||||
msgid "Add {0}"
|
||||
msgstr "أضف {0}"
|
||||
|
||||
#: src/pages/Earn/Manage.tsx
|
||||
msgid "Add {0}-{1} liquidity"
|
||||
@@ -179,6 +179,10 @@ msgstr "إضافة سيولة {0}/{1} V3"
|
||||
msgid "Added {0}"
|
||||
msgstr "تم إضافة {0}"
|
||||
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
msgid "Adding this proposal to the queue will allow it to be executed, after a delay."
|
||||
msgstr "ستسمح إضافة هذا الاقتراح إلى قائمة الانتظار بتنفيذه بعد تأخير."
|
||||
|
||||
#: src/components/claim/AddressClaimModal.tsx
|
||||
msgid "Address has no available claim"
|
||||
msgstr "العنوان ليس لديه مطالبة متاحة"
|
||||
@@ -481,6 +485,8 @@ msgstr "تأكيد المبادلة"
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/claim/AddressClaimModal.tsx
|
||||
#: src/components/claim/ClaimModal.tsx
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
#: src/components/vote/VoteModal.tsx
|
||||
msgid "Confirm this transaction in your wallet"
|
||||
msgstr "تأكيد هذه المعاملة في محفظتك"
|
||||
@@ -735,14 +741,9 @@ msgid "Error"
|
||||
msgstr "خطأ"
|
||||
|
||||
#: src/components/WalletModal/PendingView.tsx
|
||||
#: src/components/WalletModal/index.tsx
|
||||
msgid "Error connecting"
|
||||
msgstr "خطأ في الاتصال"
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
msgid "Error connecting. Try refreshing the page."
|
||||
msgstr "خطأ في الاتصال. حاول تحديث الصفحة."
|
||||
|
||||
#: src/components/SearchModal/ManageLists.tsx
|
||||
msgid "Error importing list"
|
||||
msgstr "خطأ في استيراد قائمة"
|
||||
@@ -759,10 +760,35 @@ msgstr "رسوم الشبكة المقدرة"
|
||||
msgid "Etherscan"
|
||||
msgstr "إثيرسكان"
|
||||
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
#: src/pages/Vote/VotePage.tsx
|
||||
msgid "Execute"
|
||||
msgstr "نفذ - اعدم"
|
||||
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
msgid "Execute Proposal {proposalId}"
|
||||
msgstr "تنفيذ الاقتراح {proposalId}"
|
||||
|
||||
#: src/components/AccountDetails/TransactionSummary.tsx
|
||||
msgid "Execute proposal {proposalKey}."
|
||||
msgstr "تنفيذ الاقتراح {proposalKey}."
|
||||
|
||||
#: src/pages/Vote/styled.tsx
|
||||
msgid "Executed"
|
||||
msgstr "أعدم"
|
||||
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
msgid "Executing"
|
||||
msgstr "التنفيذ"
|
||||
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
msgid "Executing this proposal will enact the calldata on-chain."
|
||||
msgstr "سيؤدي تنفيذ هذا الاقتراح إلى تفعيل Calldata على السلسلة."
|
||||
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
msgid "Execution Submitted"
|
||||
msgstr "تم تقديم التنفيذ"
|
||||
|
||||
#: src/components/SearchModal/CurrencyList/index.tsx
|
||||
msgid "Expanded results from inactive Token Lists"
|
||||
msgstr "النتائج الموسعة من قوائم الرموز غير النشطة"
|
||||
@@ -898,8 +924,8 @@ msgid "Input is estimated. You will sell at most <0>{0} {1}</0> or the transacti
|
||||
msgstr "تم تقدير الإدخال. سوف تبيع على الأكثر <0>{0} {1}</0> أو سوف تعود المعاملة."
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
msgid "Install Metamask"
|
||||
msgstr "تثبيت Metamask"
|
||||
msgid "Install MetaMask"
|
||||
msgstr "قم بتثبيت MetaMask"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Insufficient liquidity for this trade."
|
||||
@@ -961,7 +987,6 @@ msgstr "يتعلم أكثر"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
#: src/components/PrivacyPolicy/index.tsx
|
||||
#: src/components/WalletModal/index.tsx
|
||||
msgid "Legal & Privacy"
|
||||
msgstr "الشؤون القانونية والخصوصية"
|
||||
|
||||
@@ -1173,10 +1198,6 @@ msgstr "بعد أن تكون راضيًا عن السعر، انقر على ال
|
||||
msgid "Only UNI votes that were self delegated or delegated to another address before block {0} are eligible for voting."
|
||||
msgstr "أصوات UNI التي تم تفويضها بنفسك أو تفويضها إلى عنوان آخر قبل الكتلة {0} هي فقط المؤهلة للتصويت."
|
||||
|
||||
#: src/components/Web3ReactManager/index.tsx
|
||||
msgid "Oops! An unknown error occurred. Please refresh the page, or visit from another browser or device."
|
||||
msgstr "عفواً! حدث خطأ غير معروف. يُرجى تحديث الصفحة، أو الزيارة من متصفح آخر أو جهاز آخر."
|
||||
|
||||
#: src/components/Header/NetworkSelector.tsx
|
||||
msgid "Optimism Bridge"
|
||||
msgstr "جسر التفاؤل"
|
||||
@@ -1226,10 +1247,6 @@ msgstr "يرجى تأكيد رغبتك في إزالة هذه القائمة ب
|
||||
msgid "Please connect to Layer 1 Ethereum"
|
||||
msgstr "يرجى الاتصال بـ Layer 1 Ethereum"
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
msgid "Please connect to a supported network in the dropdown menu or in your wallet."
|
||||
msgstr "يرجى الاتصال بشبكة مدعومة في القائمة المنسدلة أو في محفظتك."
|
||||
|
||||
#: src/components/Settings/index.tsx
|
||||
msgid "Please type the word \"{confirmWord}\" to enable expert mode."
|
||||
msgstr "الرجاء كتابة كلمة \"{confirmWord}\" لتمكين وضع الخبير."
|
||||
@@ -1347,10 +1364,27 @@ msgstr "المقترح"
|
||||
msgid "Protocol Disclaimer"
|
||||
msgstr "إخلاء مسؤولية البروتوكول"
|
||||
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
#: src/pages/Vote/VotePage.tsx
|
||||
msgid "Queue"
|
||||
msgstr "طابور"
|
||||
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
msgid "Queue Proposal {proposalId}"
|
||||
msgstr "اقتراح قائمة الانتظار {proposalId}"
|
||||
|
||||
#: src/components/AccountDetails/TransactionSummary.tsx
|
||||
msgid "Queue proposal {proposalKey}."
|
||||
msgstr "اقتراح قائمة الانتظار {proposalKey}."
|
||||
|
||||
#: src/pages/Vote/styled.tsx
|
||||
msgid "Queued"
|
||||
msgstr "في قائمة الانتظار"
|
||||
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
msgid "Queueing"
|
||||
msgstr "قائمة الانتظار"
|
||||
|
||||
#: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx
|
||||
msgid "Rates"
|
||||
msgstr "الأسعار"
|
||||
@@ -1702,6 +1736,10 @@ msgstr "يستخدم هذا التطبيق واجهات برمجة التطبي
|
||||
msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction."
|
||||
msgstr "يجب تهيئة هذا المستودع قبل أن تتمكن من إضافة السيولة. للتهيئة ، حدد سعر البداية للمجمع. ثم أدخل نطاق سعر السيولة ومبلغ الإيداع. ستكون رسوم الغاز أعلى من المعتاد بسبب معاملة التهيئة."
|
||||
|
||||
#: src/pages/Vote/VotePage.tsx
|
||||
msgid "This proposal may be executed after {0}."
|
||||
msgstr "يمكن تنفيذ هذا الاقتراح بعد {0}."
|
||||
|
||||
#: src/components/swap/SwapRoute.tsx
|
||||
msgid "This route optimizes your total output by considering split routes, multiple hops, and the gas cost of each step."
|
||||
msgstr "يعمل هذا المسار على تحسين إنتاجك الإجمالي من خلال مراعاة المسارات المنقسمة والقفزات المتعددة وتكلفة الغاز لكل خطوة."
|
||||
@@ -1779,6 +1817,7 @@ msgstr "إعدادات المعاملة"
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
#: src/components/earn/UnstakingModal.tsx
|
||||
#: src/components/vote/DelegateModal.tsx
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
#: src/components/vote/VoteModal.tsx
|
||||
msgid "Transaction Submitted"
|
||||
msgstr "تم إرسال المعاملة"
|
||||
@@ -1933,8 +1972,8 @@ msgid "User"
|
||||
msgstr "المستخدم"
|
||||
|
||||
#: src/pages/Pool/v2.tsx
|
||||
msgid "V2 is not available on Layer 2. Switch to Layer 1 Ethereum."
|
||||
msgstr "V2 غير متوفر في الطبقة 2. قم بالتبديل إلى الطبقة الأولى من Ethereum."
|
||||
msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum."
|
||||
msgstr "V2 Pool غير متاح في الطبقة 2. قم بالتبديل إلى Layer 1 Ethereum."
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "V2 liquidity"
|
||||
@@ -1967,6 +2006,8 @@ msgstr "عرض على Explorer"
|
||||
#: src/components/ModalViews/index.tsx
|
||||
#: src/components/claim/AddressClaimModal.tsx
|
||||
#: src/components/claim/ClaimModal.tsx
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
#: src/components/vote/VoteModal.tsx
|
||||
msgid "View transaction on Explorer"
|
||||
msgstr "عرض المعاملة على Explorer"
|
||||
@@ -2091,7 +2132,6 @@ msgstr "التفاف"
|
||||
msgid "Wrap <0/> to {0}"
|
||||
msgstr "لف من <0/> إلى {0}"
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Wrong Network"
|
||||
msgstr "شبكة خاطئة"
|
||||
|
||||
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: 2022-06-06 00:14\n"
|
||||
"PO-Revision-Date: 2022-06-30 17:10\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: ca_ES\n"
|
||||
"Language-Team: Catalan\n"
|
||||
@@ -164,8 +164,8 @@ msgid "Add more liquidity"
|
||||
msgstr "Afegiu més liquiditat"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Add {0} to Metamask <0/>"
|
||||
msgstr "Afegiu {0} a Metamask <0/>"
|
||||
msgid "Add {0}"
|
||||
msgstr "Afegeix {0}"
|
||||
|
||||
#: src/pages/Earn/Manage.tsx
|
||||
msgid "Add {0}-{1} liquidity"
|
||||
@@ -179,6 +179,10 @@ msgstr "Afegir {0}/{1} liquiditat V3"
|
||||
msgid "Added {0}"
|
||||
msgstr "Afegit {0}"
|
||||
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
msgid "Adding this proposal to the queue will allow it to be executed, after a delay."
|
||||
msgstr "Afegir aquesta proposta a la cua permetrà executar-la, després d'un retard."
|
||||
|
||||
#: src/components/claim/AddressClaimModal.tsx
|
||||
msgid "Address has no available claim"
|
||||
msgstr "L'adreça no té cap reclamació disponible"
|
||||
@@ -481,6 +485,8 @@ msgstr "Confirmeu l'intercanvi"
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/claim/AddressClaimModal.tsx
|
||||
#: src/components/claim/ClaimModal.tsx
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
#: src/components/vote/VoteModal.tsx
|
||||
msgid "Confirm this transaction in your wallet"
|
||||
msgstr "Confirmeu aquesta transacció a la vostra cartera"
|
||||
@@ -735,14 +741,9 @@ msgid "Error"
|
||||
msgstr "Error"
|
||||
|
||||
#: src/components/WalletModal/PendingView.tsx
|
||||
#: src/components/WalletModal/index.tsx
|
||||
msgid "Error connecting"
|
||||
msgstr "Error de connexió"
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
msgid "Error connecting. Try refreshing the page."
|
||||
msgstr "Error de connexió. Proveu d'actualitzar la pàgina."
|
||||
|
||||
#: src/components/SearchModal/ManageLists.tsx
|
||||
msgid "Error importing list"
|
||||
msgstr "Error en importar la llista"
|
||||
@@ -759,10 +760,35 @@ msgstr "Tarifa estimada de la xarxa"
|
||||
msgid "Etherscan"
|
||||
msgstr "Etherscan"
|
||||
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
#: src/pages/Vote/VotePage.tsx
|
||||
msgid "Execute"
|
||||
msgstr "Executar"
|
||||
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
msgid "Execute Proposal {proposalId}"
|
||||
msgstr "Executar la proposta {proposalId}"
|
||||
|
||||
#: src/components/AccountDetails/TransactionSummary.tsx
|
||||
msgid "Execute proposal {proposalKey}."
|
||||
msgstr "Executar la proposta {proposalKey}."
|
||||
|
||||
#: src/pages/Vote/styled.tsx
|
||||
msgid "Executed"
|
||||
msgstr "Executat"
|
||||
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
msgid "Executing"
|
||||
msgstr "Executant"
|
||||
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
msgid "Executing this proposal will enact the calldata on-chain."
|
||||
msgstr "L'execució d'aquesta proposta promulgarà les dades de la convocatòria en cadena."
|
||||
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
msgid "Execution Submitted"
|
||||
msgstr "Execució presentada"
|
||||
|
||||
#: src/components/SearchModal/CurrencyList/index.tsx
|
||||
msgid "Expanded results from inactive Token Lists"
|
||||
msgstr "Resultats ampliats de llistes de fitxes inactives"
|
||||
@@ -898,8 +924,8 @@ msgid "Input is estimated. You will sell at most <0>{0} {1}</0> or the transacti
|
||||
msgstr "S’estima l’entrada. Vindràs com a màxim <0>{0} {1}</0> o la transacció es revertirà."
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
msgid "Install Metamask"
|
||||
msgstr "Instal·leu Metamask"
|
||||
msgid "Install MetaMask"
|
||||
msgstr "Instal·leu MetaMask"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Insufficient liquidity for this trade."
|
||||
@@ -961,7 +987,6 @@ msgstr "Aprèn més"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
#: src/components/PrivacyPolicy/index.tsx
|
||||
#: src/components/WalletModal/index.tsx
|
||||
msgid "Legal & Privacy"
|
||||
msgstr "Legal i Privacitat"
|
||||
|
||||
@@ -1173,10 +1198,6 @@ msgstr "Quan estigueu satisfet amb la tarifa, feu clic a Subministrament per rev
|
||||
msgid "Only UNI votes that were self delegated or delegated to another address before block {0} are eligible for voting."
|
||||
msgstr "Només es poden votar els vots UNI que s’autodelegaven o delegaven a una altra direcció abans del bloc {0}."
|
||||
|
||||
#: src/components/Web3ReactManager/index.tsx
|
||||
msgid "Oops! An unknown error occurred. Please refresh the page, or visit from another browser or device."
|
||||
msgstr "Vaja! S'ha produït un error desconegut. Actualitzeu la pàgina o visiteu-la des d’un altre navegador o dispositiu."
|
||||
|
||||
#: src/components/Header/NetworkSelector.tsx
|
||||
msgid "Optimism Bridge"
|
||||
msgstr "Pont de l'optimisme"
|
||||
@@ -1226,10 +1247,6 @@ msgstr "Confirmeu que voleu eliminar aquesta llista escrivint ELIMINA"
|
||||
msgid "Please connect to Layer 1 Ethereum"
|
||||
msgstr "Connecteu-vos a la capa 1 Ethereum"
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
msgid "Please connect to a supported network in the dropdown menu or in your wallet."
|
||||
msgstr "Connecteu-vos a una xarxa compatible al menú desplegable o a la vostra cartera."
|
||||
|
||||
#: src/components/Settings/index.tsx
|
||||
msgid "Please type the word \"{confirmWord}\" to enable expert mode."
|
||||
msgstr "Escriviu la paraula \"{confirmWord}\" per habilitar el mode expert."
|
||||
@@ -1347,10 +1364,27 @@ msgstr "Proponent"
|
||||
msgid "Protocol Disclaimer"
|
||||
msgstr "Exempció de responsabilitat del protocol"
|
||||
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
#: src/pages/Vote/VotePage.tsx
|
||||
msgid "Queue"
|
||||
msgstr "Cua"
|
||||
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
msgid "Queue Proposal {proposalId}"
|
||||
msgstr "Proposta de cua {proposalId}"
|
||||
|
||||
#: src/components/AccountDetails/TransactionSummary.tsx
|
||||
msgid "Queue proposal {proposalKey}."
|
||||
msgstr "Proposta de cua {proposalKey}."
|
||||
|
||||
#: src/pages/Vote/styled.tsx
|
||||
msgid "Queued"
|
||||
msgstr "En cua"
|
||||
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
msgid "Queueing"
|
||||
msgstr "Fent cua"
|
||||
|
||||
#: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx
|
||||
msgid "Rates"
|
||||
msgstr "Tarifes"
|
||||
@@ -1702,6 +1736,10 @@ msgstr "Aquesta aplicació utilitza les següents API de tercers:"
|
||||
msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction."
|
||||
msgstr "Aquest grup s’ha d’inicialitzar abans d’afegir liquiditat. Per inicialitzar, seleccioneu un preu inicial per a la piscina. A continuació, introduïu l'interval de preus de liquiditat i l'import del dipòsit. Les comissions de gas seran superiors a l'habitual a causa de la transacció d'inicialització."
|
||||
|
||||
#: src/pages/Vote/VotePage.tsx
|
||||
msgid "This proposal may be executed after {0}."
|
||||
msgstr "Aquesta proposta es pot executar després de {0}."
|
||||
|
||||
#: src/components/swap/SwapRoute.tsx
|
||||
msgid "This route optimizes your total output by considering split routes, multiple hops, and the gas cost of each step."
|
||||
msgstr "Aquesta ruta optimitza la producció total tenint en compte les rutes dividides, els salts múltiples i el cost del gas de cada pas."
|
||||
@@ -1779,6 +1817,7 @@ msgstr "Configuració de transaccions"
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
#: src/components/earn/UnstakingModal.tsx
|
||||
#: src/components/vote/DelegateModal.tsx
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
#: src/components/vote/VoteModal.tsx
|
||||
msgid "Transaction Submitted"
|
||||
msgstr "Transacció enviada"
|
||||
@@ -1933,8 +1972,8 @@ msgid "User"
|
||||
msgstr "Usuari"
|
||||
|
||||
#: src/pages/Pool/v2.tsx
|
||||
msgid "V2 is not available on Layer 2. Switch to Layer 1 Ethereum."
|
||||
msgstr "V2 no està disponible a la capa 2. Canvia a Ethereum de la capa 1."
|
||||
msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum."
|
||||
msgstr "V2 Pool no està disponible a la capa 2. Canvia a la capa 1 Ethereum."
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "V2 liquidity"
|
||||
@@ -1967,6 +2006,8 @@ msgstr "Veure a Explorer"
|
||||
#: src/components/ModalViews/index.tsx
|
||||
#: src/components/claim/AddressClaimModal.tsx
|
||||
#: src/components/claim/ClaimModal.tsx
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
#: src/components/vote/VoteModal.tsx
|
||||
msgid "View transaction on Explorer"
|
||||
msgstr "Veure la transacció a Explorer"
|
||||
@@ -2091,7 +2132,6 @@ msgstr "Embolicar"
|
||||
msgid "Wrap <0/> to {0}"
|
||||
msgstr "Embolcalla de <0/> a {0}"
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Wrong Network"
|
||||
msgstr "Xarxa incorrecta"
|
||||
|
||||
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: 2022-06-06 00:14\n"
|
||||
"PO-Revision-Date: 2022-06-30 17:10\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: cs_CZ\n"
|
||||
"Language-Team: Czech\n"
|
||||
@@ -164,8 +164,8 @@ msgid "Add more liquidity"
|
||||
msgstr "Přidejte více likvidity"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Add {0} to Metamask <0/>"
|
||||
msgstr "Přidat {0} do metamasky <0/>"
|
||||
msgid "Add {0}"
|
||||
msgstr "Přidejte {0}"
|
||||
|
||||
#: src/pages/Earn/Manage.tsx
|
||||
msgid "Add {0}-{1} liquidity"
|
||||
@@ -179,6 +179,10 @@ msgstr "Přidat likviditu V3 {0}/{1}"
|
||||
msgid "Added {0}"
|
||||
msgstr "Přidáno {0}"
|
||||
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
msgid "Adding this proposal to the queue will allow it to be executed, after a delay."
|
||||
msgstr "Přidání tohoto návrhu do fronty umožní jeho provedení po určité prodlevě."
|
||||
|
||||
#: src/components/claim/AddressClaimModal.tsx
|
||||
msgid "Address has no available claim"
|
||||
msgstr "Adresa nemá žádný dostupný nárok"
|
||||
@@ -481,6 +485,8 @@ msgstr "Potvrdit výměnu"
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/claim/AddressClaimModal.tsx
|
||||
#: src/components/claim/ClaimModal.tsx
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
#: src/components/vote/VoteModal.tsx
|
||||
msgid "Confirm this transaction in your wallet"
|
||||
msgstr "Potvrďte tuto transakci ve své peněžence"
|
||||
@@ -735,14 +741,9 @@ msgid "Error"
|
||||
msgstr "Chyba"
|
||||
|
||||
#: src/components/WalletModal/PendingView.tsx
|
||||
#: src/components/WalletModal/index.tsx
|
||||
msgid "Error connecting"
|
||||
msgstr "Chyba připojení"
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
msgid "Error connecting. Try refreshing the page."
|
||||
msgstr "Chyba připojení. Zkuste obnovit stránku."
|
||||
|
||||
#: src/components/SearchModal/ManageLists.tsx
|
||||
msgid "Error importing list"
|
||||
msgstr "Chyba importu seznamu"
|
||||
@@ -759,10 +760,35 @@ msgstr "Odhadovaný poplatek za síť"
|
||||
msgid "Etherscan"
|
||||
msgstr "Etherscan"
|
||||
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
#: src/pages/Vote/VotePage.tsx
|
||||
msgid "Execute"
|
||||
msgstr "Vykonat"
|
||||
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
msgid "Execute Proposal {proposalId}"
|
||||
msgstr "Provést návrh {proposalId}"
|
||||
|
||||
#: src/components/AccountDetails/TransactionSummary.tsx
|
||||
msgid "Execute proposal {proposalKey}."
|
||||
msgstr "Provést návrh {proposalKey}."
|
||||
|
||||
#: src/pages/Vote/styled.tsx
|
||||
msgid "Executed"
|
||||
msgstr "Popraven"
|
||||
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
msgid "Executing"
|
||||
msgstr "Provádění"
|
||||
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
msgid "Executing this proposal will enact the calldata on-chain."
|
||||
msgstr "Provedení tohoto návrhu uzákoní data volání v řetězci."
|
||||
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
msgid "Execution Submitted"
|
||||
msgstr "Provedení předloženo"
|
||||
|
||||
#: src/components/SearchModal/CurrencyList/index.tsx
|
||||
msgid "Expanded results from inactive Token Lists"
|
||||
msgstr "Rozšířené výsledky z neaktivních seznamů žetonů"
|
||||
@@ -898,8 +924,8 @@ msgid "Input is estimated. You will sell at most <0>{0} {1}</0> or the transacti
|
||||
msgstr "Vstup je odhadnutý. Prodáte nejvýše <0>{0} {1}</0> nebo se transakce vrátí."
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
msgid "Install Metamask"
|
||||
msgstr "Nainstalovat Metamasku"
|
||||
msgid "Install MetaMask"
|
||||
msgstr "Nainstalujte MetaMask"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Insufficient liquidity for this trade."
|
||||
@@ -961,7 +987,6 @@ msgstr "Zjistěte více"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
#: src/components/PrivacyPolicy/index.tsx
|
||||
#: src/components/WalletModal/index.tsx
|
||||
msgid "Legal & Privacy"
|
||||
msgstr "Právní otázky a soukromí"
|
||||
|
||||
@@ -1173,10 +1198,6 @@ msgstr "Až budete spokojeni se sazbou, klikněte na zásobu pro kontrolu."
|
||||
msgid "Only UNI votes that were self delegated or delegated to another address before block {0} are eligible for voting."
|
||||
msgstr "Způsobilé k hlasování jsou jen hlasy UNI, které byly delegovány sobě nebo delegovány na jinou adresu před blokem {0}."
|
||||
|
||||
#: src/components/Web3ReactManager/index.tsx
|
||||
msgid "Oops! An unknown error occurred. Please refresh the page, or visit from another browser or device."
|
||||
msgstr "Jejda! Došlo k neznámé chybě. Obnovte prosím stránku nebo ji navštivte z jiného prohlížeče nebo zařízení."
|
||||
|
||||
#: src/components/Header/NetworkSelector.tsx
|
||||
msgid "Optimism Bridge"
|
||||
msgstr "Most optimismu"
|
||||
@@ -1226,10 +1247,6 @@ msgstr "Potvrďte, že chcete tento seznam odstranit, zadáním ODSTRANIT"
|
||||
msgid "Please connect to Layer 1 Ethereum"
|
||||
msgstr "Připojte se k Ethereu vrstvy 1"
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
msgid "Please connect to a supported network in the dropdown menu or in your wallet."
|
||||
msgstr "Připojte se k podporované síti v rozbalovací nabídce nebo ve své peněžence."
|
||||
|
||||
#: src/components/Settings/index.tsx
|
||||
msgid "Please type the word \"{confirmWord}\" to enable expert mode."
|
||||
msgstr "Pro povolení expertního režimu zadejte slovo \"{confirmWord}\"."
|
||||
@@ -1347,10 +1364,27 @@ msgstr "Navrhovatel"
|
||||
msgid "Protocol Disclaimer"
|
||||
msgstr "Zřeknutí se odpovědnosti za protokol"
|
||||
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
#: src/pages/Vote/VotePage.tsx
|
||||
msgid "Queue"
|
||||
msgstr "Fronta"
|
||||
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
msgid "Queue Proposal {proposalId}"
|
||||
msgstr "Návrh fronty {proposalId}"
|
||||
|
||||
#: src/components/AccountDetails/TransactionSummary.tsx
|
||||
msgid "Queue proposal {proposalKey}."
|
||||
msgstr "Návrh fronty {proposalKey}."
|
||||
|
||||
#: src/pages/Vote/styled.tsx
|
||||
msgid "Queued"
|
||||
msgstr "Ve frontě"
|
||||
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
msgid "Queueing"
|
||||
msgstr "Zařazení do fronty"
|
||||
|
||||
#: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx
|
||||
msgid "Rates"
|
||||
msgstr "Sazby"
|
||||
@@ -1702,6 +1736,10 @@ msgstr "Tato aplikace používá následující rozhraní API třetích stran:"
|
||||
msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction."
|
||||
msgstr "Tento fond musí být inicializován, než budete moci přidat likviditu. Chcete-li inicializovat, vyberte počáteční cenu fondu. Poté zadejte rozsah cen likvidity a částku vkladu. Poplatky za plyn budou kvůli inicializační transakci vyšší než obvykle."
|
||||
|
||||
#: src/pages/Vote/VotePage.tsx
|
||||
msgid "This proposal may be executed after {0}."
|
||||
msgstr "Tento návrh může být proveden po {0}."
|
||||
|
||||
#: src/components/swap/SwapRoute.tsx
|
||||
msgid "This route optimizes your total output by considering split routes, multiple hops, and the gas cost of each step."
|
||||
msgstr "Tato trasa optimalizuje váš celkový výkon zohledněním rozdělených tras, více skoků a nákladů na plyn v každém kroku."
|
||||
@@ -1779,6 +1817,7 @@ msgstr "Nastavení transakcí"
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
#: src/components/earn/UnstakingModal.tsx
|
||||
#: src/components/vote/DelegateModal.tsx
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
#: src/components/vote/VoteModal.tsx
|
||||
msgid "Transaction Submitted"
|
||||
msgstr "Transakce odeslána"
|
||||
@@ -1933,8 +1972,8 @@ msgid "User"
|
||||
msgstr "Uživatel"
|
||||
|
||||
#: src/pages/Pool/v2.tsx
|
||||
msgid "V2 is not available on Layer 2. Switch to Layer 1 Ethereum."
|
||||
msgstr "V2 není k dispozici na vrstvě 2. Přepněte na vrstvu 1 Ethereum."
|
||||
msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum."
|
||||
msgstr "V2 Pool není k dispozici na vrstvě 2. Přepněte na vrstvu 1 Ethereum."
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "V2 liquidity"
|
||||
@@ -1967,6 +2006,8 @@ msgstr "Zobrazit v Průzkumníku"
|
||||
#: src/components/ModalViews/index.tsx
|
||||
#: src/components/claim/AddressClaimModal.tsx
|
||||
#: src/components/claim/ClaimModal.tsx
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
#: src/components/vote/VoteModal.tsx
|
||||
msgid "View transaction on Explorer"
|
||||
msgstr "Zobrazit transakci v Průzkumníku"
|
||||
@@ -2091,7 +2132,6 @@ msgstr "Zalomit"
|
||||
msgid "Wrap <0/> to {0}"
|
||||
msgstr "Zabalit <0/> až {0}"
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Wrong Network"
|
||||
msgstr "Nesprávná síť"
|
||||
|
||||
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: 2022-06-06 00:14\n"
|
||||
"PO-Revision-Date: 2022-06-30 17:10\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: da_DK\n"
|
||||
"Language-Team: Danish\n"
|
||||
@@ -164,8 +164,8 @@ msgid "Add more liquidity"
|
||||
msgstr "Tilføj mere likviditet"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Add {0} to Metamask <0/>"
|
||||
msgstr "Tilføj {0} til Metamask <0/>"
|
||||
msgid "Add {0}"
|
||||
msgstr "Tilføj {0}"
|
||||
|
||||
#: src/pages/Earn/Manage.tsx
|
||||
msgid "Add {0}-{1} liquidity"
|
||||
@@ -179,6 +179,10 @@ msgstr "Tilføj {0}/{1} V3 likviditet"
|
||||
msgid "Added {0}"
|
||||
msgstr "Tilføjet {0}"
|
||||
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
msgid "Adding this proposal to the queue will allow it to be executed, after a delay."
|
||||
msgstr "Tilføjelse af dette forslag til køen vil gøre det muligt at udføre det efter en forsinkelse."
|
||||
|
||||
#: src/components/claim/AddressClaimModal.tsx
|
||||
msgid "Address has no available claim"
|
||||
msgstr "Adresse har ingen tilgængelig krav"
|
||||
@@ -481,6 +485,8 @@ msgstr "Bekræft skift"
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/claim/AddressClaimModal.tsx
|
||||
#: src/components/claim/ClaimModal.tsx
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
#: src/components/vote/VoteModal.tsx
|
||||
msgid "Confirm this transaction in your wallet"
|
||||
msgstr "Bekræft denne transaktion i din tegnebog"
|
||||
@@ -735,14 +741,9 @@ msgid "Error"
|
||||
msgstr "Fejl"
|
||||
|
||||
#: src/components/WalletModal/PendingView.tsx
|
||||
#: src/components/WalletModal/index.tsx
|
||||
msgid "Error connecting"
|
||||
msgstr "Fejl ved tilslutning"
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
msgid "Error connecting. Try refreshing the page."
|
||||
msgstr "Der opstod en fejl. Prøv at opdatere siden."
|
||||
|
||||
#: src/components/SearchModal/ManageLists.tsx
|
||||
msgid "Error importing list"
|
||||
msgstr "Fejl ved import af liste"
|
||||
@@ -759,10 +760,35 @@ msgstr "Estimeret netværksgebyr"
|
||||
msgid "Etherscan"
|
||||
msgstr "Etherscan"
|
||||
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
#: src/pages/Vote/VotePage.tsx
|
||||
msgid "Execute"
|
||||
msgstr "Udfør"
|
||||
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
msgid "Execute Proposal {proposalId}"
|
||||
msgstr "Udfør forslag {proposalId}"
|
||||
|
||||
#: src/components/AccountDetails/TransactionSummary.tsx
|
||||
msgid "Execute proposal {proposalKey}."
|
||||
msgstr "Udfør forslag {proposalKey}."
|
||||
|
||||
#: src/pages/Vote/styled.tsx
|
||||
msgid "Executed"
|
||||
msgstr "Henrettet"
|
||||
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
msgid "Executing"
|
||||
msgstr "Eksekverer"
|
||||
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
msgid "Executing this proposal will enact the calldata on-chain."
|
||||
msgstr "Eksekvering af dette forslag vil indføre opkaldsdata på kæden."
|
||||
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
msgid "Execution Submitted"
|
||||
msgstr "Udførelse indsendt"
|
||||
|
||||
#: src/components/SearchModal/CurrencyList/index.tsx
|
||||
msgid "Expanded results from inactive Token Lists"
|
||||
msgstr "Ekspanderede resultater fra inaktive token-lister"
|
||||
@@ -898,8 +924,8 @@ msgid "Input is estimated. You will sell at most <0>{0} {1}</0> or the transacti
|
||||
msgstr "Input er estimeret. Du vil sælge ved højst <0>{0} {1}</0> ellers vil transaktionen vende tilbage."
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
msgid "Install Metamask"
|
||||
msgstr "Installer Metamask"
|
||||
msgid "Install MetaMask"
|
||||
msgstr "Installer MetaMask"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Insufficient liquidity for this trade."
|
||||
@@ -961,7 +987,6 @@ msgstr "Lær mere"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
#: src/components/PrivacyPolicy/index.tsx
|
||||
#: src/components/WalletModal/index.tsx
|
||||
msgid "Legal & Privacy"
|
||||
msgstr "Juridisk og privatliv"
|
||||
|
||||
@@ -1173,10 +1198,6 @@ msgstr "Når du er tilfreds med satsen, skal du klikke på forsyning for at genn
|
||||
msgid "Only UNI votes that were self delegated or delegated to another address before block {0} are eligible for voting."
|
||||
msgstr "Kun UNI-stemmer, der blev selvdelegeret eller delegeret til en anden adresse før blok {0}, er berettiget til at stemme."
|
||||
|
||||
#: src/components/Web3ReactManager/index.tsx
|
||||
msgid "Oops! An unknown error occurred. Please refresh the page, or visit from another browser or device."
|
||||
msgstr "Ups! Der opstod en ukendt fejl. Opdater siden, eller besøg fra en anden browser eller enhed."
|
||||
|
||||
#: src/components/Header/NetworkSelector.tsx
|
||||
msgid "Optimism Bridge"
|
||||
msgstr "Optimisme bro"
|
||||
@@ -1226,10 +1247,6 @@ msgstr "Bekræft, at du vil fjerne denne liste ved at skrive REMOVE"
|
||||
msgid "Please connect to Layer 1 Ethereum"
|
||||
msgstr "Opret forbindelse til Layer 1 Ethereum"
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
msgid "Please connect to a supported network in the dropdown menu or in your wallet."
|
||||
msgstr "Opret forbindelse til et understøttet netværk i rullemenuen eller i din tegnebog."
|
||||
|
||||
#: src/components/Settings/index.tsx
|
||||
msgid "Please type the word \"{confirmWord}\" to enable expert mode."
|
||||
msgstr "Skriv ordet \"{confirmWord}\" for at aktivere eksperttilstand."
|
||||
@@ -1347,10 +1364,27 @@ msgstr "Forslagsstiller"
|
||||
msgid "Protocol Disclaimer"
|
||||
msgstr "Protokol Ansvarsfraskrivelse"
|
||||
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
#: src/pages/Vote/VotePage.tsx
|
||||
msgid "Queue"
|
||||
msgstr "Kø"
|
||||
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
msgid "Queue Proposal {proposalId}"
|
||||
msgstr "Køforslag {proposalId}"
|
||||
|
||||
#: src/components/AccountDetails/TransactionSummary.tsx
|
||||
msgid "Queue proposal {proposalKey}."
|
||||
msgstr "Køforslag {proposalKey}."
|
||||
|
||||
#: src/pages/Vote/styled.tsx
|
||||
msgid "Queued"
|
||||
msgstr "I kø"
|
||||
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
msgid "Queueing"
|
||||
msgstr "Stå i kø"
|
||||
|
||||
#: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx
|
||||
msgid "Rates"
|
||||
msgstr "Satser"
|
||||
@@ -1702,6 +1736,10 @@ msgstr "Denne app bruger følgende tredjeparts API'er:"
|
||||
msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction."
|
||||
msgstr "Denne pulje skal initialiseres, før du kan tilføje likviditet. For at initialisere skal du vælge en startpris for puljen. Indtast derefter dit likviditetsprisklasse og indbetalingsbeløb. Gasafgifter vil være højere end normalt på grund af initialiseringstransaktionen."
|
||||
|
||||
#: src/pages/Vote/VotePage.tsx
|
||||
msgid "This proposal may be executed after {0}."
|
||||
msgstr "Dette forslag kan udføres efter {0}."
|
||||
|
||||
#: src/components/swap/SwapRoute.tsx
|
||||
msgid "This route optimizes your total output by considering split routes, multiple hops, and the gas cost of each step."
|
||||
msgstr "Denne rute optimerer dit samlede output ved at overveje opdelte ruter, flere hop og gasomkostningerne for hvert trin."
|
||||
@@ -1779,6 +1817,7 @@ msgstr "Transaktionsindstillinger"
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
#: src/components/earn/UnstakingModal.tsx
|
||||
#: src/components/vote/DelegateModal.tsx
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
#: src/components/vote/VoteModal.tsx
|
||||
msgid "Transaction Submitted"
|
||||
msgstr "Transaktion indsendt"
|
||||
@@ -1933,8 +1972,8 @@ msgid "User"
|
||||
msgstr "Bruger"
|
||||
|
||||
#: src/pages/Pool/v2.tsx
|
||||
msgid "V2 is not available on Layer 2. Switch to Layer 1 Ethereum."
|
||||
msgstr "V2 er ikke tilgængelig på lag 2. Skift til lag 1 Ethereum."
|
||||
msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum."
|
||||
msgstr "V2 Pool er ikke tilgængelig på Layer 2. Skift til Layer 1 Ethereum."
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "V2 liquidity"
|
||||
@@ -1967,6 +2006,8 @@ msgstr "Vis i Explorer"
|
||||
#: src/components/ModalViews/index.tsx
|
||||
#: src/components/claim/AddressClaimModal.tsx
|
||||
#: src/components/claim/ClaimModal.tsx
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
#: src/components/vote/VoteModal.tsx
|
||||
msgid "View transaction on Explorer"
|
||||
msgstr "Se transaktion i Explorer"
|
||||
@@ -2091,7 +2132,6 @@ msgstr "Ombryd"
|
||||
msgid "Wrap <0/> to {0}"
|
||||
msgstr "Ombryd <0/> til {0}"
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Wrong Network"
|
||||
msgstr "Forkert netværk"
|
||||
|
||||
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: 2022-06-06 00:14\n"
|
||||
"PO-Revision-Date: 2022-06-30 17:10\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: de_DE\n"
|
||||
"Language-Team: German\n"
|
||||
@@ -164,8 +164,8 @@ msgid "Add more liquidity"
|
||||
msgstr "Mehr Liquidität hinzufügen"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Add {0} to Metamask <0/>"
|
||||
msgstr "{0} zu Metamask hinzufügen <0/>"
|
||||
msgid "Add {0}"
|
||||
msgstr "{0}hinzufügen"
|
||||
|
||||
#: src/pages/Earn/Manage.tsx
|
||||
msgid "Add {0}-{1} liquidity"
|
||||
@@ -179,6 +179,10 @@ msgstr "{0}/{1} V3 Liquidität hinzufügen"
|
||||
msgid "Added {0}"
|
||||
msgstr "{0} hinzugefügt"
|
||||
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
msgid "Adding this proposal to the queue will allow it to be executed, after a delay."
|
||||
msgstr "Wenn Sie diesen Vorschlag der Warteschlange hinzufügen, kann er nach einer Verzögerung ausgeführt werden."
|
||||
|
||||
#: src/components/claim/AddressClaimModal.tsx
|
||||
msgid "Address has no available claim"
|
||||
msgstr "Adresse hat keinen gültigen Anspruch"
|
||||
@@ -481,6 +485,8 @@ msgstr "Tausch bestätigen"
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/claim/AddressClaimModal.tsx
|
||||
#: src/components/claim/ClaimModal.tsx
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
#: src/components/vote/VoteModal.tsx
|
||||
msgid "Confirm this transaction in your wallet"
|
||||
msgstr "Diese Transaktion in Ihrer Wallet bestätigen"
|
||||
@@ -735,14 +741,9 @@ msgid "Error"
|
||||
msgstr "Fehler"
|
||||
|
||||
#: src/components/WalletModal/PendingView.tsx
|
||||
#: src/components/WalletModal/index.tsx
|
||||
msgid "Error connecting"
|
||||
msgstr "Verbindungsfehler"
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
msgid "Error connecting. Try refreshing the page."
|
||||
msgstr "Verbindungsfehler. Versuchen Sie die Seite neu zu laden."
|
||||
|
||||
#: src/components/SearchModal/ManageLists.tsx
|
||||
msgid "Error importing list"
|
||||
msgstr "Fehler beim Import der Liste"
|
||||
@@ -759,10 +760,35 @@ msgstr "Geschätzte Netzwerkgebühr"
|
||||
msgid "Etherscan"
|
||||
msgstr "Etherscan"
|
||||
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
#: src/pages/Vote/VotePage.tsx
|
||||
msgid "Execute"
|
||||
msgstr "Ausführen"
|
||||
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
msgid "Execute Proposal {proposalId}"
|
||||
msgstr "Vorschlag {proposalId}ausführen"
|
||||
|
||||
#: src/components/AccountDetails/TransactionSummary.tsx
|
||||
msgid "Execute proposal {proposalKey}."
|
||||
msgstr "Vorschlag ausführen {proposalKey}."
|
||||
|
||||
#: src/pages/Vote/styled.tsx
|
||||
msgid "Executed"
|
||||
msgstr "Ausgeführt"
|
||||
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
msgid "Executing"
|
||||
msgstr "Ausführen"
|
||||
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
msgid "Executing this proposal will enact the calldata on-chain."
|
||||
msgstr "Durch die Ausführung dieses Vorschlags werden die Anrufdaten in der Kette ausgeführt."
|
||||
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
msgid "Execution Submitted"
|
||||
msgstr "Ausführung eingereicht"
|
||||
|
||||
#: src/components/SearchModal/CurrencyList/index.tsx
|
||||
msgid "Expanded results from inactive Token Lists"
|
||||
msgstr "Erweiterte Ergebnisse aus inaktiven Token-Listen"
|
||||
@@ -898,8 +924,8 @@ msgid "Input is estimated. You will sell at most <0>{0} {1}</0> or the transacti
|
||||
msgstr "Eingabe wird geschätzt. Sie werden höchstens <0>{0} {1}</0> verkaufen, andernfalls wird die Transaktion rückgängig gemacht."
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
msgid "Install Metamask"
|
||||
msgstr "Metamask installieren"
|
||||
msgid "Install MetaMask"
|
||||
msgstr "Meta Mask installieren"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Insufficient liquidity for this trade."
|
||||
@@ -961,7 +987,6 @@ msgstr "Mehr erfahren"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
#: src/components/PrivacyPolicy/index.tsx
|
||||
#: src/components/WalletModal/index.tsx
|
||||
msgid "Legal & Privacy"
|
||||
msgstr "Rechtliches & Datenschutz"
|
||||
|
||||
@@ -1173,10 +1198,6 @@ msgstr "Sobald Sie mit dem Preis zufrieden sind, klicken Sie auf Bereitstellen z
|
||||
msgid "Only UNI votes that were self delegated or delegated to another address before block {0} are eligible for voting."
|
||||
msgstr "Nur UNI-Stimmen, die vor Block {0} an die eigene oder eine fremde Adresse delegiert wurden, sind zur Abstimmung berechtigt."
|
||||
|
||||
#: src/components/Web3ReactManager/index.tsx
|
||||
msgid "Oops! An unknown error occurred. Please refresh the page, or visit from another browser or device."
|
||||
msgstr "Hoppla! Ein unbekannter Fehler ist aufgetreten. Bitte aktualisieren Sie die Seite oder besuchen Sie uns von einem anderen Browser oder Gerät."
|
||||
|
||||
#: src/components/Header/NetworkSelector.tsx
|
||||
msgid "Optimism Bridge"
|
||||
msgstr "Optimismus-Brücke"
|
||||
@@ -1226,10 +1247,6 @@ msgstr "Bitte bestätigen Sie, dass Sie diese Liste entfernen möchten, indem Si
|
||||
msgid "Please connect to Layer 1 Ethereum"
|
||||
msgstr "Bitte verbinden Sie sich mit Layer 1 Ethereum"
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
msgid "Please connect to a supported network in the dropdown menu or in your wallet."
|
||||
msgstr "Bitte verbinden Sie sich im Dropdown-Menü oder in Ihrem Wallet mit einem unterstützten Netzwerk."
|
||||
|
||||
#: src/components/Settings/index.tsx
|
||||
msgid "Please type the word \"{confirmWord}\" to enable expert mode."
|
||||
msgstr "Bitte geben Sie das Wort \"{confirmWord}\" ein, um den Experten-Modus zu aktivieren."
|
||||
@@ -1347,10 +1364,27 @@ msgstr "Antragsteller"
|
||||
msgid "Protocol Disclaimer"
|
||||
msgstr "Protokoll-Haftungsausschluss"
|
||||
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
#: src/pages/Vote/VotePage.tsx
|
||||
msgid "Queue"
|
||||
msgstr "Warteschlange"
|
||||
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
msgid "Queue Proposal {proposalId}"
|
||||
msgstr "Warteschlangenvorschlag {proposalId}"
|
||||
|
||||
#: src/components/AccountDetails/TransactionSummary.tsx
|
||||
msgid "Queue proposal {proposalKey}."
|
||||
msgstr "Warteschlangenvorschlag {proposalKey}."
|
||||
|
||||
#: src/pages/Vote/styled.tsx
|
||||
msgid "Queued"
|
||||
msgstr "In Warteschlange"
|
||||
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
msgid "Queueing"
|
||||
msgstr "Warteschlange"
|
||||
|
||||
#: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx
|
||||
msgid "Rates"
|
||||
msgstr "Preise"
|
||||
@@ -1702,6 +1736,10 @@ msgstr "Diese App verwendet die folgenden Drittanbieter-APIs:"
|
||||
msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction."
|
||||
msgstr "Dieser Pool muss initialisiert werden, bevor Sie Liquidität hinzufügen können. Wählen Sie zum Initialisieren einen Startpreis für den Pool aus. Geben Sie dann Ihre Liquiditätspreisspanne und den Einzahlungsbetrag ein. Die Gasgebühren werden aufgrund der Initialisierungstransaktion höher als üblich sein."
|
||||
|
||||
#: src/pages/Vote/VotePage.tsx
|
||||
msgid "This proposal may be executed after {0}."
|
||||
msgstr "Dieser Vorschlag kann nach {0}ausgeführt werden."
|
||||
|
||||
#: src/components/swap/SwapRoute.tsx
|
||||
msgid "This route optimizes your total output by considering split routes, multiple hops, and the gas cost of each step."
|
||||
msgstr "Diese Route optimiert Ihre Gesamtleistung, indem sie Split-Routen, mehrere Hops und die Benzinkosten jedes Schritts berücksichtigt."
|
||||
@@ -1779,6 +1817,7 @@ msgstr "Transaktionseinstellungen"
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
#: src/components/earn/UnstakingModal.tsx
|
||||
#: src/components/vote/DelegateModal.tsx
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
#: src/components/vote/VoteModal.tsx
|
||||
msgid "Transaction Submitted"
|
||||
msgstr "Transaktion gesendet"
|
||||
@@ -1933,8 +1972,8 @@ msgid "User"
|
||||
msgstr "Benutzer"
|
||||
|
||||
#: src/pages/Pool/v2.tsx
|
||||
msgid "V2 is not available on Layer 2. Switch to Layer 1 Ethereum."
|
||||
msgstr "V2 ist auf Layer 2 nicht verfügbar. Wechseln Sie zu Layer 1 Ethereum."
|
||||
msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum."
|
||||
msgstr "V2 Pool ist auf Layer 2 nicht verfügbar. Wechseln Sie zu Layer 1 Ethereum."
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "V2 liquidity"
|
||||
@@ -1967,6 +2006,8 @@ msgstr "Im Explorer anzeigen"
|
||||
#: src/components/ModalViews/index.tsx
|
||||
#: src/components/claim/AddressClaimModal.tsx
|
||||
#: src/components/claim/ClaimModal.tsx
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
#: src/components/vote/VoteModal.tsx
|
||||
msgid "View transaction on Explorer"
|
||||
msgstr "Transaktion im Explorer anzeigen"
|
||||
@@ -2091,7 +2132,6 @@ msgstr "Wrap"
|
||||
msgid "Wrap <0/> to {0}"
|
||||
msgstr "Wrap <0/> bis {0}"
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Wrong Network"
|
||||
msgstr "Falsches Netzwerk"
|
||||
|
||||
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: 2022-06-06 00:14\n"
|
||||
"PO-Revision-Date: 2022-06-30 17:10\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: el_GR\n"
|
||||
"Language-Team: Greek\n"
|
||||
@@ -164,8 +164,8 @@ msgid "Add more liquidity"
|
||||
msgstr "Προσθέστε περισσότερη ρευστότητα"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Add {0} to Metamask <0/>"
|
||||
msgstr "Προσθήκη {0} στο Metamask <0/>"
|
||||
msgid "Add {0}"
|
||||
msgstr "Προσθέστε {0}"
|
||||
|
||||
#: src/pages/Earn/Manage.tsx
|
||||
msgid "Add {0}-{1} liquidity"
|
||||
@@ -179,6 +179,10 @@ msgstr "Προσθήκη {0}/{1} V3 ρευστότητας"
|
||||
msgid "Added {0}"
|
||||
msgstr "Προστέθηκε {0}"
|
||||
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
msgid "Adding this proposal to the queue will allow it to be executed, after a delay."
|
||||
msgstr "Η προσθήκη αυτής της πρότασης στην ουρά θα επιτρέψει την εκτέλεσή της μετά από καθυστέρηση."
|
||||
|
||||
#: src/components/claim/AddressClaimModal.tsx
|
||||
msgid "Address has no available claim"
|
||||
msgstr "Η διεύθυνση δεν έχει διαθέσιμη διεκδίκηση"
|
||||
@@ -481,6 +485,8 @@ msgstr "Επιβεβαίωση ανταλλαγής"
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/claim/AddressClaimModal.tsx
|
||||
#: src/components/claim/ClaimModal.tsx
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
#: src/components/vote/VoteModal.tsx
|
||||
msgid "Confirm this transaction in your wallet"
|
||||
msgstr "Επιβεβαιώστε αυτή τη συναλλαγή στο πορτοφόλι σας"
|
||||
@@ -735,14 +741,9 @@ msgid "Error"
|
||||
msgstr "Σφάλμα"
|
||||
|
||||
#: src/components/WalletModal/PendingView.tsx
|
||||
#: src/components/WalletModal/index.tsx
|
||||
msgid "Error connecting"
|
||||
msgstr "Σφάλμα σύνδεσης"
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
msgid "Error connecting. Try refreshing the page."
|
||||
msgstr "Σφάλμα σύνδεσης. Προσπαθήστε ξανά ανανεώνοντας τη σελίδα."
|
||||
|
||||
#: src/components/SearchModal/ManageLists.tsx
|
||||
msgid "Error importing list"
|
||||
msgstr "Σφάλμα εισαγωγής λίστας"
|
||||
@@ -759,10 +760,35 @@ msgstr "Εκτιμώμενο τέλος δικτύου"
|
||||
msgid "Etherscan"
|
||||
msgstr "Etherscan"
|
||||
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
#: src/pages/Vote/VotePage.tsx
|
||||
msgid "Execute"
|
||||
msgstr "Εκτέλεση"
|
||||
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
msgid "Execute Proposal {proposalId}"
|
||||
msgstr "Εκτέλεση της πρότασης {proposalId}"
|
||||
|
||||
#: src/components/AccountDetails/TransactionSummary.tsx
|
||||
msgid "Execute proposal {proposalKey}."
|
||||
msgstr "Εκτέλεση της πρότασης {proposalKey}."
|
||||
|
||||
#: src/pages/Vote/styled.tsx
|
||||
msgid "Executed"
|
||||
msgstr "Εκτελέστηκε"
|
||||
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
msgid "Executing"
|
||||
msgstr "Εκτέλεση"
|
||||
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
msgid "Executing this proposal will enact the calldata on-chain."
|
||||
msgstr "Η εκτέλεση αυτής της πρότασης θα θεσπίσει τα δεδομένα κλήσης στην αλυσίδα."
|
||||
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
msgid "Execution Submitted"
|
||||
msgstr "Η εκτέλεση υποβλήθηκε"
|
||||
|
||||
#: src/components/SearchModal/CurrencyList/index.tsx
|
||||
msgid "Expanded results from inactive Token Lists"
|
||||
msgstr "Εκτεταμένα αποτελέσματα από ανενεργές Λίστες Μάρκας"
|
||||
@@ -898,8 +924,8 @@ msgid "Input is estimated. You will sell at most <0>{0} {1}</0> or the transacti
|
||||
msgstr "Η τιμή που εισάγετε εκτιμήθηκε. Θα πουλήσετε το πολύ <0>{0} {1}</0> ή η συναλλαγή θα υπαναχωρήσει."
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
msgid "Install Metamask"
|
||||
msgstr "Εγκατάσταση Metamask"
|
||||
msgid "Install MetaMask"
|
||||
msgstr "Εγκαταστήστε το MetaMask"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Insufficient liquidity for this trade."
|
||||
@@ -961,7 +987,6 @@ msgstr "Μάθε περισσότερα"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
#: src/components/PrivacyPolicy/index.tsx
|
||||
#: src/components/WalletModal/index.tsx
|
||||
msgid "Legal & Privacy"
|
||||
msgstr "Νομική και Απόρρητο"
|
||||
|
||||
@@ -1173,10 +1198,6 @@ msgstr "Μόλις είστε ευχαριστημένοι με τη τιμή κ
|
||||
msgid "Only UNI votes that were self delegated or delegated to another address before block {0} are eligible for voting."
|
||||
msgstr "Μόνο οι ψήφοι UNI που ανατέθηκαν αυτοπροσώπως ή ανατέθηκαν σε άλλη διεύθυνση πριν από το κλείσιμο {0} έχουν δικαίωμα ψήφου."
|
||||
|
||||
#: src/components/Web3ReactManager/index.tsx
|
||||
msgid "Oops! An unknown error occurred. Please refresh the page, or visit from another browser or device."
|
||||
msgstr "Ωχ! Προέκυψε ένα άγνωστο σφάλμα. Παρακαλώ ανανεώστε τη σελίδα ή επισκεφθείτε από άλλο πρόγραμμα περιήγησης ή συσκευή."
|
||||
|
||||
#: src/components/Header/NetworkSelector.tsx
|
||||
msgid "Optimism Bridge"
|
||||
msgstr "Γέφυρα Αισιοδοξίας"
|
||||
@@ -1226,10 +1247,6 @@ msgstr "Επιβεβαιώστε ότι θέλετε να καταργήσετε
|
||||
msgid "Please connect to Layer 1 Ethereum"
|
||||
msgstr "Συνδεθείτε στο Layer 1 Ethereum"
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
msgid "Please connect to a supported network in the dropdown menu or in your wallet."
|
||||
msgstr "Συνδεθείτε σε ένα υποστηριζόμενο δίκτυο στο αναπτυσσόμενο μενού ή στο πορτοφόλι σας."
|
||||
|
||||
#: src/components/Settings/index.tsx
|
||||
msgid "Please type the word \"{confirmWord}\" to enable expert mode."
|
||||
msgstr "Παρακαλώ πληκτρολογήστε τη λέξη \"{confirmWord}\" για να ενεργοποιήσετε τη λειτουργία εμπειρογνωμόνων."
|
||||
@@ -1347,10 +1364,27 @@ msgstr "Άτομο που κάνει προτάσεις"
|
||||
msgid "Protocol Disclaimer"
|
||||
msgstr "Αποποίηση ευθυνών πρωτοκόλλου"
|
||||
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
#: src/pages/Vote/VotePage.tsx
|
||||
msgid "Queue"
|
||||
msgstr "Ουρά"
|
||||
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
msgid "Queue Proposal {proposalId}"
|
||||
msgstr "Πρόταση ουράς {proposalId}"
|
||||
|
||||
#: src/components/AccountDetails/TransactionSummary.tsx
|
||||
msgid "Queue proposal {proposalKey}."
|
||||
msgstr "Πρόταση ουράς {proposalKey}."
|
||||
|
||||
#: src/pages/Vote/styled.tsx
|
||||
msgid "Queued"
|
||||
msgstr "Σε ουρά"
|
||||
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
msgid "Queueing"
|
||||
msgstr "Ουρά"
|
||||
|
||||
#: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx
|
||||
msgid "Rates"
|
||||
msgstr "Τιμές"
|
||||
@@ -1702,6 +1736,10 @@ msgstr "Αυτή η εφαρμογή χρησιμοποιεί τα ακόλου
|
||||
msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction."
|
||||
msgstr "Αυτή η ομάδα πρέπει να προετοιμαστεί για να μπορέσετε να προσθέσετε ρευστότητα. Για να ξεκινήσετε, επιλέξτε μια τιμή εκκίνησης για την ομάδα. Στη συνέχεια, εισαγάγετε το εύρος τιμών ρευστότητας και το ποσό κατάθεσης. Τα τέλη φυσικού αερίου θα είναι υψηλότερα από το συνηθισμένο λόγω της αρχικής συναλλαγής."
|
||||
|
||||
#: src/pages/Vote/VotePage.tsx
|
||||
msgid "This proposal may be executed after {0}."
|
||||
msgstr "Αυτή η πρόταση μπορεί να εκτελεστεί μετά το {0}."
|
||||
|
||||
#: src/components/swap/SwapRoute.tsx
|
||||
msgid "This route optimizes your total output by considering split routes, multiple hops, and the gas cost of each step."
|
||||
msgstr "Αυτή η διαδρομή βελτιστοποιεί τη συνολική σας απόδοση λαμβάνοντας υπόψη τις διαχωρισμένες διαδρομές, τα πολλαπλά άλματα και το κόστος φυσικού αερίου κάθε βήματος."
|
||||
@@ -1779,6 +1817,7 @@ msgstr "Ρυθμίσεις Συναλλαγής"
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
#: src/components/earn/UnstakingModal.tsx
|
||||
#: src/components/vote/DelegateModal.tsx
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
#: src/components/vote/VoteModal.tsx
|
||||
msgid "Transaction Submitted"
|
||||
msgstr "Συναλλαγή Υποβλήθηκε"
|
||||
@@ -1933,8 +1972,8 @@ msgid "User"
|
||||
msgstr "Χρήστης"
|
||||
|
||||
#: src/pages/Pool/v2.tsx
|
||||
msgid "V2 is not available on Layer 2. Switch to Layer 1 Ethereum."
|
||||
msgstr "Το V2 δεν είναι διαθέσιμο στο Layer 2. Μετάβαση στο Layer 1 Ethereum."
|
||||
msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum."
|
||||
msgstr "Το V2 Pool δεν είναι διαθέσιμο στο Layer 2. Μετάβαση στο Layer 1 Ethereum."
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "V2 liquidity"
|
||||
@@ -1967,6 +2006,8 @@ msgstr "Προβολή στον Explorer"
|
||||
#: src/components/ModalViews/index.tsx
|
||||
#: src/components/claim/AddressClaimModal.tsx
|
||||
#: src/components/claim/ClaimModal.tsx
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
#: src/components/vote/VoteModal.tsx
|
||||
msgid "View transaction on Explorer"
|
||||
msgstr "Προβολή συναλλαγής στον Explorer"
|
||||
@@ -2091,7 +2132,6 @@ msgstr "Καλύπτω"
|
||||
msgid "Wrap <0/> to {0}"
|
||||
msgstr "Τυλίξτε <0/> προς {0}"
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Wrong Network"
|
||||
msgstr "Λάθος Δίκτυο"
|
||||
|
||||
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: 2022-06-06 00:14\n"
|
||||
"PO-Revision-Date: 2022-06-30 17:10\n"
|
||||
"Last-Translator: \n"
|
||||
"Language: es_ES\n"
|
||||
"Language-Team: Spanish\n"
|
||||
@@ -164,8 +164,8 @@ msgid "Add more liquidity"
|
||||
msgstr "Agrega más liquidez"
|
||||
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
msgid "Add {0} to Metamask <0/>"
|
||||
msgstr "Añadir {0} a Metamask <0/>"
|
||||
msgid "Add {0}"
|
||||
msgstr "Añadir {0}"
|
||||
|
||||
#: src/pages/Earn/Manage.tsx
|
||||
msgid "Add {0}-{1} liquidity"
|
||||
@@ -179,6 +179,10 @@ msgstr "Sumar liquidez {0}/{1} V3"
|
||||
msgid "Added {0}"
|
||||
msgstr "Añadido {0}"
|
||||
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
msgid "Adding this proposal to the queue will allow it to be executed, after a delay."
|
||||
msgstr "Agregar esta propuesta a la cola permitirá que se ejecute después de un retraso."
|
||||
|
||||
#: src/components/claim/AddressClaimModal.tsx
|
||||
msgid "Address has no available claim"
|
||||
msgstr "La dirección no tiene reclamo disponible"
|
||||
@@ -481,6 +485,8 @@ msgstr "Confirmar intercambio"
|
||||
#: src/components/TransactionConfirmationModal/index.tsx
|
||||
#: src/components/claim/AddressClaimModal.tsx
|
||||
#: src/components/claim/ClaimModal.tsx
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
#: src/components/vote/VoteModal.tsx
|
||||
msgid "Confirm this transaction in your wallet"
|
||||
msgstr "Confirmar esta transacción en su cartera"
|
||||
@@ -735,14 +741,9 @@ msgid "Error"
|
||||
msgstr "Error"
|
||||
|
||||
#: src/components/WalletModal/PendingView.tsx
|
||||
#: src/components/WalletModal/index.tsx
|
||||
msgid "Error connecting"
|
||||
msgstr "Error al conectar"
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
msgid "Error connecting. Try refreshing the page."
|
||||
msgstr "Error de conexión. Intente actualizar la página."
|
||||
|
||||
#: src/components/SearchModal/ManageLists.tsx
|
||||
msgid "Error importing list"
|
||||
msgstr "Error importando lista"
|
||||
@@ -759,10 +760,35 @@ msgstr "Tarifa de red estimada"
|
||||
msgid "Etherscan"
|
||||
msgstr "Etherscan"
|
||||
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
#: src/pages/Vote/VotePage.tsx
|
||||
msgid "Execute"
|
||||
msgstr "Ejecutar"
|
||||
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
msgid "Execute Proposal {proposalId}"
|
||||
msgstr "Ejecutar propuesta {proposalId}"
|
||||
|
||||
#: src/components/AccountDetails/TransactionSummary.tsx
|
||||
msgid "Execute proposal {proposalKey}."
|
||||
msgstr "Ejecutar propuesta {proposalKey}."
|
||||
|
||||
#: src/pages/Vote/styled.tsx
|
||||
msgid "Executed"
|
||||
msgstr "Ejecutado"
|
||||
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
msgid "Executing"
|
||||
msgstr "ejecutando"
|
||||
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
msgid "Executing this proposal will enact the calldata on-chain."
|
||||
msgstr "La ejecución de esta propuesta promulgará los datos de llamada en la cadena."
|
||||
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
msgid "Execution Submitted"
|
||||
msgstr "Ejecución enviada"
|
||||
|
||||
#: src/components/SearchModal/CurrencyList/index.tsx
|
||||
msgid "Expanded results from inactive Token Lists"
|
||||
msgstr "Resultados ampliados de listas de token inactivas"
|
||||
@@ -898,8 +924,8 @@ msgid "Input is estimated. You will sell at most <0>{0} {1}</0> or the transacti
|
||||
msgstr "La entrada es estimada. Venderá como máximo <0>{0} {1}</0> o la transacción se revertirá."
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
msgid "Install Metamask"
|
||||
msgstr "Instalar Metamask"
|
||||
msgid "Install MetaMask"
|
||||
msgstr "Instalar MetaMask"
|
||||
|
||||
#: src/pages/Swap/index.tsx
|
||||
msgid "Insufficient liquidity for this trade."
|
||||
@@ -961,7 +987,6 @@ msgstr "Aprende más"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
#: src/components/PrivacyPolicy/index.tsx
|
||||
#: src/components/WalletModal/index.tsx
|
||||
msgid "Legal & Privacy"
|
||||
msgstr "Legal y Privacidad"
|
||||
|
||||
@@ -1173,10 +1198,6 @@ msgstr "Una vez que esté satisfecho con la comisión, haga clic en el suministr
|
||||
msgid "Only UNI votes that were self delegated or delegated to another address before block {0} are eligible for voting."
|
||||
msgstr "Solo los votos de UNI que fueron autodelegados o delegados a otra dirección antes del bloque {0} son elegibles para votar."
|
||||
|
||||
#: src/components/Web3ReactManager/index.tsx
|
||||
msgid "Oops! An unknown error occurred. Please refresh the page, or visit from another browser or device."
|
||||
msgstr "¡Ups! Se ha producido un error desconocido. Actualice la página o acceda desde otro navegador o dispositivo."
|
||||
|
||||
#: src/components/Header/NetworkSelector.tsx
|
||||
msgid "Optimism Bridge"
|
||||
msgstr "Puente de optimismo"
|
||||
@@ -1226,10 +1247,6 @@ msgstr "Confirme que desea eliminar esta lista escribiendo ELIMINAR"
|
||||
msgid "Please connect to Layer 1 Ethereum"
|
||||
msgstr "Conéctese a la capa 1 Ethereum"
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
msgid "Please connect to a supported network in the dropdown menu or in your wallet."
|
||||
msgstr "Conéctese a una red compatible en el menú desplegable o en su billetera."
|
||||
|
||||
#: src/components/Settings/index.tsx
|
||||
msgid "Please type the word \"{confirmWord}\" to enable expert mode."
|
||||
msgstr "Escribe la palabra \"{confirmWord}\" para activar el modo experto."
|
||||
@@ -1347,10 +1364,27 @@ msgstr "Proponente"
|
||||
msgid "Protocol Disclaimer"
|
||||
msgstr "Descargo de responsabilidad del protocolo"
|
||||
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
#: src/pages/Vote/VotePage.tsx
|
||||
msgid "Queue"
|
||||
msgstr "Cola"
|
||||
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
msgid "Queue Proposal {proposalId}"
|
||||
msgstr "Propuesta de cola {proposalId}"
|
||||
|
||||
#: src/components/AccountDetails/TransactionSummary.tsx
|
||||
msgid "Queue proposal {proposalKey}."
|
||||
msgstr "Propuesta de cola {proposalKey}."
|
||||
|
||||
#: src/pages/Vote/styled.tsx
|
||||
msgid "Queued"
|
||||
msgstr "Puesto en cola"
|
||||
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
msgid "Queueing"
|
||||
msgstr "haciendo cola"
|
||||
|
||||
#: src/pages/AddLiquidityV2/ConfirmAddModalBottom.tsx
|
||||
msgid "Rates"
|
||||
msgstr "Tarifas"
|
||||
@@ -1702,6 +1736,10 @@ msgstr "Esta aplicación utiliza las siguientes API de terceros:"
|
||||
msgid "This pool must be initialized before you can add liquidity. To initialize, select a starting price for the pool. Then, enter your liquidity price range and deposit amount. Gas fees will be higher than usual due to the initialization transaction."
|
||||
msgstr "Este grupo debe inicializarse antes de poder agregar liquidez. Para inicializar, seleccione un precio inicial para el grupo. Luego, ingrese su rango de precio de liquidez y el monto del depósito. Las tarifas del gas serán más altas de lo habitual debido a la transacción de inicialización."
|
||||
|
||||
#: src/pages/Vote/VotePage.tsx
|
||||
msgid "This proposal may be executed after {0}."
|
||||
msgstr "Esta propuesta puede ejecutarse después de {0}."
|
||||
|
||||
#: src/components/swap/SwapRoute.tsx
|
||||
msgid "This route optimizes your total output by considering split routes, multiple hops, and the gas cost of each step."
|
||||
msgstr "Esta ruta optimiza su producción total al considerar rutas divididas, múltiples saltos y el costo de gasolina de cada paso."
|
||||
@@ -1779,6 +1817,7 @@ msgstr "Ajustes de la transacción"
|
||||
#: src/components/earn/StakingModal.tsx
|
||||
#: src/components/earn/UnstakingModal.tsx
|
||||
#: src/components/vote/DelegateModal.tsx
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
#: src/components/vote/VoteModal.tsx
|
||||
msgid "Transaction Submitted"
|
||||
msgstr "Transacción enviada"
|
||||
@@ -1933,8 +1972,8 @@ msgid "User"
|
||||
msgstr "Usuario"
|
||||
|
||||
#: src/pages/Pool/v2.tsx
|
||||
msgid "V2 is not available on Layer 2. Switch to Layer 1 Ethereum."
|
||||
msgstr "V2 no está disponible en la capa 2. Cambie a la capa 1 Ethereum."
|
||||
msgid "V2 Pool is not available on Layer 2. Switch to Layer 1 Ethereum."
|
||||
msgstr "V2 Pool no está disponible en la Capa 2. Cambie a Ethereum de Capa 1."
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "V2 liquidity"
|
||||
@@ -1967,6 +2006,8 @@ msgstr "Ver en el explorador"
|
||||
#: src/components/ModalViews/index.tsx
|
||||
#: src/components/claim/AddressClaimModal.tsx
|
||||
#: src/components/claim/ClaimModal.tsx
|
||||
#: src/components/vote/ExecuteModal.tsx
|
||||
#: src/components/vote/QueueModal.tsx
|
||||
#: src/components/vote/VoteModal.tsx
|
||||
msgid "View transaction on Explorer"
|
||||
msgstr "Mostrar la transacción en el explorador"
|
||||
@@ -2091,7 +2132,6 @@ msgstr "Envoltura"
|
||||
msgid "Wrap <0/> to {0}"
|
||||
msgstr "Envuelva <0/> a {0}"
|
||||
|
||||
#: src/components/WalletModal/index.tsx
|
||||
#: src/components/Web3Status/index.tsx
|
||||
msgid "Wrong Network"
|
||||
msgstr "Red incorrecta"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user