Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c9dbe2f0ac | ||
|
|
775cf57c30 | ||
|
|
f4935e9264 |
@@ -28,6 +28,7 @@ const NETWORK_URLS: {
|
||||
[SupportedChainId.GOERLI]: `https://goerli.infura.io/v3/${INFURA_KEY}`,
|
||||
[SupportedChainId.KOVAN]: `https://kovan.infura.io/v3/${INFURA_KEY}`,
|
||||
[SupportedChainId.ARBITRUM_ONE]: `https://arb1.arbitrum.io/rpc`,
|
||||
[SupportedChainId.ARBITRUM_RINKEBY]: `https://rinkeby.arbitrum.io/rpc`,
|
||||
}
|
||||
|
||||
const SUPPORTED_CHAIN_IDS: SupportedChainId[] = [
|
||||
@@ -37,6 +38,7 @@ const SUPPORTED_CHAIN_IDS: SupportedChainId[] = [
|
||||
SupportedChainId.RINKEBY,
|
||||
SupportedChainId.ROPSTEN,
|
||||
SupportedChainId.ARBITRUM_ONE,
|
||||
SupportedChainId.ARBITRUM_RINKEBY,
|
||||
]
|
||||
|
||||
export const network = new NetworkConnector({
|
||||
|
||||
@@ -5,16 +5,14 @@ import { SupportedChainId } from './chains'
|
||||
|
||||
type AddressMap = { [chainId: number]: string }
|
||||
|
||||
export const UNI_ADDRESS: AddressMap = constructSameAddressMap('0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984', false)
|
||||
export const UNI_ADDRESS: AddressMap = constructSameAddressMap('0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984')
|
||||
export const MULTICALL2_ADDRESSES: AddressMap = {
|
||||
...constructSameAddressMap('0x5BA1e12693Dc8F9c48aAD8770482f4739bEeD696', false),
|
||||
...constructSameAddressMap('0x5BA1e12693Dc8F9c48aAD8770482f4739bEeD696'),
|
||||
[SupportedChainId.ARBITRUM_ONE]: '0x021CeAC7e681dBCE9b5039d2535ED97590eB395c',
|
||||
[SupportedChainId.ARBITRUM_RINKEBY]: '0x334f67349c1cB3A8fF1268c3eC43FF1D3De246C6',
|
||||
}
|
||||
export const V2_FACTORY_ADDRESSES: AddressMap = constructSameAddressMap(V2_FACTORY_ADDRESS, false)
|
||||
export const V2_ROUTER_ADDRESS: AddressMap = constructSameAddressMap(
|
||||
'0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D',
|
||||
false
|
||||
)
|
||||
export const V2_FACTORY_ADDRESSES: AddressMap = constructSameAddressMap(V2_FACTORY_ADDRESS)
|
||||
export const V2_ROUTER_ADDRESS: AddressMap = constructSameAddressMap('0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D')
|
||||
|
||||
// most current governance contract address should always be the 0 index
|
||||
// only support governance on mainnet
|
||||
@@ -26,9 +24,7 @@ export const GOVERNANCE_ADDRESSES: AddressMap[] = [
|
||||
[SupportedChainId.MAINNET]: '0x5e4be8Bc9637f0EAA1A755019e06A68ce081D58F',
|
||||
},
|
||||
]
|
||||
export const TIMELOCK_ADDRESS: AddressMap = {
|
||||
[SupportedChainId.MAINNET]: '0x1a9C8182C09F50C8318d769245beA52c32BE35BC',
|
||||
}
|
||||
export const TIMELOCK_ADDRESS: AddressMap = constructSameAddressMap('0x1a9C8182C09F50C8318d769245beA52c32BE35BC')
|
||||
|
||||
export const MERKLE_DISTRIBUTOR_ADDRESS: AddressMap = {
|
||||
[SupportedChainId.MAINNET]: '0x090D4613473dEE047c3f2706764f49E0821D256e',
|
||||
@@ -36,11 +32,17 @@ export const MERKLE_DISTRIBUTOR_ADDRESS: AddressMap = {
|
||||
export const ARGENT_WALLET_DETECTOR_ADDRESS: AddressMap = {
|
||||
[SupportedChainId.MAINNET]: '0xeca4B0bDBf7c55E9b7925919d03CbF8Dc82537E8',
|
||||
}
|
||||
export const V3_CORE_FACTORY_ADDRESSES: AddressMap = constructSameAddressMap(V3_FACTORY_ADDRESS, true)
|
||||
export const QUOTER_ADDRESSES: AddressMap = constructSameAddressMap('0xb27308f9F90D607463bb33eA1BeBb41C27CE5AB6', true)
|
||||
export const V3_CORE_FACTORY_ADDRESSES: AddressMap = constructSameAddressMap(V3_FACTORY_ADDRESS, [
|
||||
SupportedChainId.ARBITRUM_ONE,
|
||||
SupportedChainId.ARBITRUM_RINKEBY,
|
||||
])
|
||||
export const QUOTER_ADDRESSES: AddressMap = constructSameAddressMap('0xb27308f9F90D607463bb33eA1BeBb41C27CE5AB6', [
|
||||
SupportedChainId.ARBITRUM_ONE,
|
||||
SupportedChainId.ARBITRUM_RINKEBY,
|
||||
])
|
||||
export const NONFUNGIBLE_POSITION_MANAGER_ADDRESSES: AddressMap = constructSameAddressMap(
|
||||
'0xC36442b4a4522E871399CD717aBDD847Ab11FE88',
|
||||
true
|
||||
[SupportedChainId.ARBITRUM_ONE, SupportedChainId.ARBITRUM_RINKEBY]
|
||||
)
|
||||
export const ENS_REGISTRAR_ADDRESSES: AddressMap = {
|
||||
[SupportedChainId.MAINNET]: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',
|
||||
@@ -51,11 +53,11 @@ export const ENS_REGISTRAR_ADDRESSES: AddressMap = {
|
||||
export const SOCKS_CONTROLLER_ADDRESSES: AddressMap = {
|
||||
[SupportedChainId.MAINNET]: '0x65770b5283117639760beA3F867b69b3697a91dd',
|
||||
}
|
||||
export const SWAP_ROUTER_ADDRESSES: AddressMap = constructSameAddressMap(
|
||||
'0xE592427A0AEce92De3Edee1F18E0157C05861564',
|
||||
true
|
||||
)
|
||||
export const V3_MIGRATOR_ADDRESSES: AddressMap = constructSameAddressMap(
|
||||
'0xA5644E29708357803b5A882D272c41cC0dF92B34',
|
||||
true
|
||||
)
|
||||
export const SWAP_ROUTER_ADDRESSES: AddressMap = constructSameAddressMap('0xE592427A0AEce92De3Edee1F18E0157C05861564', [
|
||||
SupportedChainId.ARBITRUM_ONE,
|
||||
SupportedChainId.ARBITRUM_RINKEBY,
|
||||
])
|
||||
export const V3_MIGRATOR_ADDRESSES: AddressMap = constructSameAddressMap('0xA5644E29708357803b5A882D272c41cC0dF92B34', [
|
||||
SupportedChainId.ARBITRUM_ONE,
|
||||
SupportedChainId.ARBITRUM_RINKEBY,
|
||||
])
|
||||
|
||||
@@ -5,6 +5,7 @@ export enum SupportedChainId {
|
||||
GOERLI = 5,
|
||||
KOVAN = 42,
|
||||
ARBITRUM_ONE = 42161,
|
||||
ARBITRUM_RINKEBY = 421611,
|
||||
}
|
||||
|
||||
export const NETWORK_LABELS: { [chainId in SupportedChainId | number]: string } = {
|
||||
@@ -14,4 +15,5 @@ export const NETWORK_LABELS: { [chainId in SupportedChainId | number]: string }
|
||||
[SupportedChainId.GOERLI]: 'Görli',
|
||||
[SupportedChainId.KOVAN]: 'Kovan',
|
||||
[SupportedChainId.ARBITRUM_ONE]: 'Arbitrum One',
|
||||
[SupportedChainId.ARBITRUM_RINKEBY]: 'Arbitrum Testnet',
|
||||
}
|
||||
|
||||
@@ -2,27 +2,112 @@ import { WETH9, Token, Ether } from '@uniswap/sdk-core'
|
||||
import { UNI_ADDRESS } from './addresses'
|
||||
import { SupportedChainId } from './chains'
|
||||
|
||||
export const AMPL = new Token(1, '0xD46bA6D942050d489DBd938a2C909A5d5039A161', 9, 'AMPL', 'Ampleforth')
|
||||
export const DAI = new Token(1, '0x6B175474E89094C44Da98b954EedeAC495271d0F', 18, 'DAI', 'Dai Stablecoin')
|
||||
export const USDC = new Token(1, '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 6, 'USDC', 'USD//C')
|
||||
export const USDT = new Token(1, '0xdAC17F958D2ee523a2206206994597C13D831ec7', 6, 'USDT', 'Tether USD')
|
||||
export const WBTC = new Token(1, '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 8, 'WBTC', 'Wrapped BTC')
|
||||
export const FEI = new Token(1, '0x956F47F50A910163D8BF957Cf5846D573E7f87CA', 18, 'FEI', 'Fei USD')
|
||||
export const TRIBE = new Token(1, '0xc7283b66Eb1EB5FB86327f08e1B5816b0720212B', 18, 'TRIBE', 'Tribe')
|
||||
export const FRAX = new Token(1, '0x853d955aCEf822Db058eb8505911ED77F175b99e', 18, 'FRAX', 'Frax')
|
||||
export const FXS = new Token(1, '0x3432B6A60D23Ca0dFCa7761B7ab56459D9C964D0', 18, 'FXS', 'Frax Share')
|
||||
export const renBTC = new Token(1, '0xEB4C2781e4ebA804CE9a9803C67d0893436bB27D', 8, 'renBTC', 'renBTC')
|
||||
export const UMA = new Token(1, '0x04Fa0d235C4abf4BcF4787aF4CF447DE572eF828', 18, 'UMA', 'UMA Voting Token v1')
|
||||
export const AMPL = new Token(
|
||||
SupportedChainId.MAINNET,
|
||||
'0xD46bA6D942050d489DBd938a2C909A5d5039A161',
|
||||
9,
|
||||
'AMPL',
|
||||
'Ampleforth'
|
||||
)
|
||||
export const DAI = new Token(
|
||||
SupportedChainId.MAINNET,
|
||||
'0x6B175474E89094C44Da98b954EedeAC495271d0F',
|
||||
18,
|
||||
'DAI',
|
||||
'Dai Stablecoin'
|
||||
)
|
||||
export const USDC = new Token(
|
||||
SupportedChainId.MAINNET,
|
||||
'0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
|
||||
6,
|
||||
'USDC',
|
||||
'USD//C'
|
||||
)
|
||||
export const USDC_ARBITRUM = new Token(
|
||||
SupportedChainId.ARBITRUM_ONE,
|
||||
'0xe865dF68133fcEd7c2285ff3896B406CAfAa2dB8',
|
||||
6,
|
||||
'USDC',
|
||||
'USD//C'
|
||||
)
|
||||
export const USDT = new Token(
|
||||
SupportedChainId.MAINNET,
|
||||
'0xdAC17F958D2ee523a2206206994597C13D831ec7',
|
||||
6,
|
||||
'USDT',
|
||||
'Tether USD'
|
||||
)
|
||||
export const WBTC = new Token(
|
||||
SupportedChainId.MAINNET,
|
||||
'0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599',
|
||||
8,
|
||||
'WBTC',
|
||||
'Wrapped BTC'
|
||||
)
|
||||
export const FEI = new Token(
|
||||
SupportedChainId.MAINNET,
|
||||
'0x956F47F50A910163D8BF957Cf5846D573E7f87CA',
|
||||
18,
|
||||
'FEI',
|
||||
'Fei USD'
|
||||
)
|
||||
export const TRIBE = new Token(
|
||||
SupportedChainId.MAINNET,
|
||||
'0xc7283b66Eb1EB5FB86327f08e1B5816b0720212B',
|
||||
18,
|
||||
'TRIBE',
|
||||
'Tribe'
|
||||
)
|
||||
export const FRAX = new Token(
|
||||
SupportedChainId.MAINNET,
|
||||
'0x853d955aCEf822Db058eb8505911ED77F175b99e',
|
||||
18,
|
||||
'FRAX',
|
||||
'Frax'
|
||||
)
|
||||
export const FXS = new Token(
|
||||
SupportedChainId.MAINNET,
|
||||
'0x3432B6A60D23Ca0dFCa7761B7ab56459D9C964D0',
|
||||
18,
|
||||
'FXS',
|
||||
'Frax Share'
|
||||
)
|
||||
export const renBTC = new Token(
|
||||
SupportedChainId.MAINNET,
|
||||
'0xEB4C2781e4ebA804CE9a9803C67d0893436bB27D',
|
||||
8,
|
||||
'renBTC',
|
||||
'renBTC'
|
||||
)
|
||||
export const UMA = new Token(
|
||||
SupportedChainId.MAINNET,
|
||||
'0x04Fa0d235C4abf4BcF4787aF4CF447DE572eF828',
|
||||
18,
|
||||
'UMA',
|
||||
'UMA Voting Token v1'
|
||||
)
|
||||
export const ETH2X_FLI = new Token(
|
||||
1,
|
||||
SupportedChainId.MAINNET,
|
||||
'0xAa6E8127831c9DE45ae56bB1b0d4D4Da6e5665BD',
|
||||
18,
|
||||
'ETH2x-FLI',
|
||||
'ETH 2x Flexible Leverage Index'
|
||||
)
|
||||
// Mirror Protocol compat.
|
||||
export const UST = new Token(1, '0xa47c8bf37f92abed4a126bda807a7b7498661acd', 18, 'UST', 'Wrapped UST')
|
||||
export const MIR = new Token(1, '0x09a3ecafa817268f77be1283176b946c4ff2e608', 18, 'MIR', 'Wrapped MIR')
|
||||
export const UST = new Token(
|
||||
SupportedChainId.MAINNET,
|
||||
'0xa47c8bf37f92abed4a126bda807a7b7498661acd',
|
||||
18,
|
||||
'UST',
|
||||
'Wrapped UST'
|
||||
)
|
||||
export const MIR = new Token(
|
||||
SupportedChainId.MAINNET,
|
||||
'0x09a3ecafa817268f77be1283176b946c4ff2e608',
|
||||
18,
|
||||
'MIR',
|
||||
'Wrapped MIR'
|
||||
)
|
||||
export const UNI: { [chainId: number]: Token } = {
|
||||
[SupportedChainId.MAINNET]: new Token(SupportedChainId.MAINNET, UNI_ADDRESS[1], 18, 'UNI', 'Uniswap'),
|
||||
[SupportedChainId.RINKEBY]: new Token(SupportedChainId.RINKEBY, UNI_ADDRESS[4], 18, 'UNI', 'Uniswap'),
|
||||
@@ -30,6 +115,7 @@ export const UNI: { [chainId: number]: Token } = {
|
||||
[SupportedChainId.GOERLI]: new Token(SupportedChainId.GOERLI, UNI_ADDRESS[5], 18, 'UNI', 'Uniswap'),
|
||||
[SupportedChainId.KOVAN]: new Token(SupportedChainId.KOVAN, UNI_ADDRESS[42], 18, 'UNI', 'Uniswap'),
|
||||
}
|
||||
|
||||
export const WETH9_EXTENDED: { [chainId: number]: Token } = {
|
||||
...WETH9,
|
||||
[SupportedChainId.ARBITRUM_ONE]: new Token(
|
||||
@@ -39,6 +125,13 @@ export const WETH9_EXTENDED: { [chainId: number]: Token } = {
|
||||
'WETH',
|
||||
'Wrapped Ether'
|
||||
),
|
||||
[SupportedChainId.ARBITRUM_RINKEBY]: new Token(
|
||||
SupportedChainId.ARBITRUM_RINKEBY,
|
||||
'0xB47e6A5f8b33b3F17603C83a0535A9dcD7E32681',
|
||||
18,
|
||||
'WETH',
|
||||
'Wrapped Ether'
|
||||
),
|
||||
}
|
||||
|
||||
export class ExtendedEther extends Ether {
|
||||
@@ -47,7 +140,9 @@ export class ExtendedEther extends Ether {
|
||||
throw new Error('Unsupported chain ID')
|
||||
}
|
||||
|
||||
private static _cachedEther: { [chainId: number]: ExtendedEther } = {}
|
||||
|
||||
public static onChain(chainId: number): ExtendedEther {
|
||||
return new ExtendedEther(chainId)
|
||||
return this._cachedEther[chainId] ?? (this._cachedEther[chainId] = new ExtendedEther(chainId))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Currency, CurrencyAmount, Price, Token } from '@uniswap/sdk-core'
|
||||
import { useMemo } from 'react'
|
||||
import { SupportedChainId } from '../constants/chains'
|
||||
import { USDC } from '../constants/tokens'
|
||||
import { USDC, USDC_ARBITRUM } from '../constants/tokens'
|
||||
import { useV2TradeExactOut } from './useV2Trade'
|
||||
import { useBestV3TradeExactOut } from './useBestV3Trade'
|
||||
import { useActiveWeb3React } from './web3'
|
||||
@@ -10,6 +10,7 @@ import { useActiveWeb3React } from './web3'
|
||||
// The amount is large enough to filter low liquidity pairs.
|
||||
const STABLECOIN_AMOUNT_OUT: { [chainId: number]: CurrencyAmount<Token> } = {
|
||||
[SupportedChainId.MAINNET]: CurrencyAmount.fromRawAmount(USDC, 100_000e6),
|
||||
[SupportedChainId.ARBITRUM_ONE]: CurrencyAmount.fromRawAmount(USDC_ARBITRUM, 10_000e6),
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -14,7 +14,7 @@ msgstr ""
|
||||
"X-Crowdin-File-ID: 4\n"
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Language-Team: Chinese Simplified\n"
|
||||
"PO-Revision-Date: 2021-06-22 20:05\n"
|
||||
"PO-Revision-Date: 2021-06-24 09:04\n"
|
||||
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
@@ -113,7 +113,7 @@ msgstr "<0>提示:</0>退出资金池,按照当前汇率将您的资金池
|
||||
|
||||
#: src/pages/CreateProposal/index.tsx
|
||||
msgid "<0>Tip:</0> Select an action and describe your proposal for the community. The proposal cannot be modified after submission, so please verify all information before submitting. The voting period will begin immediately and last for 7 days. To propose a custom action, <1>read the docs</1>."
|
||||
msgstr "<0>提示:</0>选择一项行动并描述您对社区的建议。提案提交后不可修改,提交前请核对所有信息。投票期将立即开始,持续 7 天。要提出自定义操作,请<1>阅读文档</1>."
|
||||
msgstr "<0>提示:</0>选择操作并描述您的提案。提案提交后不可修改,提交前请核对所有信息。投票期将立即开始,持续 7 天。若要提议自定义操作,请<1>阅读文档</1>。"
|
||||
|
||||
#: src/pages/PoolFinder/index.tsx
|
||||
msgid "<0>Tip:</0> Use this tool to find v2 pools that don't automatically appear in the interface."
|
||||
@@ -228,7 +228,7 @@ msgstr "数额"
|
||||
|
||||
#: src/hooks/useSwapCallback.ts
|
||||
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
|
||||
msgstr "尝试执行此交换时出错。您可能需要增加您的滑点容忍度。如果这不起作用,则可能与您交易的代币不兼容。注意:转账和 rebase 代币的费用与 Uniswap V3 不兼容。"
|
||||
msgstr "尝试执行此兑换时发生错误。您可能需要增加滑点限制。如果还是不行,则可能是您正在交易的代币与Uniswap不兼容。注:Uniswap V3不兼容转账时带扣除费用(fee-on-transfer)的代币和弹性供应(rebase)代币。"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Analytics"
|
||||
@@ -241,7 +241,7 @@ msgstr "批准"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalActionSelector.tsx
|
||||
msgid "Approve Token"
|
||||
msgstr "批准令牌"
|
||||
msgstr "批准代币"
|
||||
|
||||
#: src/pages/AddLiquidity/index.tsx
|
||||
#: src/pages/AddLiquidity/index.tsx
|
||||
@@ -1155,11 +1155,11 @@ msgstr "兑换率和流动池份额"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalEditor.tsx
|
||||
msgid "Proposal"
|
||||
msgstr "提议"
|
||||
msgstr "提案"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalSubmissionModal.tsx
|
||||
msgid "Proposal Submitted"
|
||||
msgstr "提交的提案"
|
||||
msgstr "已提交提案"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalEditor.tsx
|
||||
msgid "Proposal Title"
|
||||
@@ -1175,7 +1175,7 @@ msgstr "社区成员提交的提案将在此显示。"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalActionSelector.tsx
|
||||
msgid "Proposed Action"
|
||||
msgstr "提议的行动"
|
||||
msgstr "提议操作"
|
||||
|
||||
#: src/pages/Vote/VotePage.tsx
|
||||
msgid "Proposer"
|
||||
@@ -1283,7 +1283,7 @@ msgstr "选择代币以查找您的 v2 流动资金。"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalActionSelector.tsx
|
||||
msgid "Select an action"
|
||||
msgstr "选择一个动作"
|
||||
msgstr "选择一个操作。"
|
||||
|
||||
#: src/pages/AddLiquidity/index.tsx
|
||||
msgid "Select pair"
|
||||
@@ -1353,7 +1353,7 @@ msgstr "提交了新提案"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalSubmissionModal.tsx
|
||||
msgid "Submitting Proposal"
|
||||
msgstr "提交提案"
|
||||
msgstr "正提交提案"
|
||||
|
||||
#: src/components/vote/VoteModal.tsx
|
||||
msgid "Submitting Vote"
|
||||
@@ -1504,7 +1504,7 @@ msgstr "交易截止期限"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalActionSelector.tsx
|
||||
msgid "Transfer Token"
|
||||
msgstr "转移令牌"
|
||||
msgstr "代币转账"
|
||||
|
||||
#: src/components/WalletModal/PendingView.tsx
|
||||
msgid "Try Again"
|
||||
@@ -1755,7 +1755,7 @@ msgstr "错误的网络"
|
||||
|
||||
#: src/pages/CreateProposal/index.tsx
|
||||
msgid "You already have an active or pending proposal"
|
||||
msgstr "您已经有一个有效或待处理的提案"
|
||||
msgstr "您已经有一个现有或待处理的提案"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
msgid "You are creating a pool"
|
||||
@@ -1847,12 +1847,12 @@ msgstr "您的仓位没有任何流动资金,没在赚取手续费。"
|
||||
#: src/components/PositionPreview/index.tsx
|
||||
#: src/components/PositionPreview/index.tsx
|
||||
msgid "Your position will be 100% composed of {0} at this price"
|
||||
msgstr "在达到此兑换率时,您的仓位流动资金将 100% 由 {0} 代币所组成。"
|
||||
msgstr "在此兑换率,您的仓位将 100% 由 {0} 代币所组成。"
|
||||
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
msgid "Your position will be 100% {0} at this price."
|
||||
msgstr "在达到此兑换率时,您的仓位流动资金将 100% 由 {0} 代币所组成。"
|
||||
msgstr "在此兑换率,您的仓位将 100% 由 {0} 代币所组成。"
|
||||
|
||||
#: src/pages/AddLiquidity/index.tsx
|
||||
#: src/pages/MigrateV2/MigrateV2Pair.tsx
|
||||
|
||||
@@ -14,7 +14,7 @@ msgstr ""
|
||||
"X-Crowdin-File-ID: 4\n"
|
||||
"Project-Id-Version: uniswap-interface\n"
|
||||
"Language-Team: Chinese Traditional\n"
|
||||
"PO-Revision-Date: 2021-06-22 20:05\n"
|
||||
"PO-Revision-Date: 2021-06-24 10:04\n"
|
||||
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
@@ -113,7 +113,7 @@ msgstr "<0>提示:</0>退出資金池,按照當前匯率將您的資金池
|
||||
|
||||
#: src/pages/CreateProposal/index.tsx
|
||||
msgid "<0>Tip:</0> Select an action and describe your proposal for the community. The proposal cannot be modified after submission, so please verify all information before submitting. The voting period will begin immediately and last for 7 days. To propose a custom action, <1>read the docs</1>."
|
||||
msgstr "<0>提示:</0>選擇一項行動並描述您對社區的建議。提案提交後無法修改,提交前請核對所有信息。投票期將立即開始,持續 7 天。要提出自定義操作,<1>閱讀文檔</1>."
|
||||
msgstr "<0>提示:</0>選擇操作並描述您的提案。提案提交後不可修改,提交前請核對所有信息。投票期將立即開始,持續 7 天。若要提議自定義操作,請<1>閱讀文檔</1>。"
|
||||
|
||||
#: src/pages/PoolFinder/index.tsx
|
||||
msgid "<0>Tip:</0> Use this tool to find v2 pools that don't automatically appear in the interface."
|
||||
@@ -228,7 +228,7 @@ msgstr "數額"
|
||||
|
||||
#: src/hooks/useSwapCallback.ts
|
||||
msgid "An error occurred when trying to execute this swap. You may need to increase your slippage tolerance. If that does not work, there may be an incompatibility with the token you are trading. Note: fee on transfer and rebase tokens are incompatible with Uniswap V3."
|
||||
msgstr "嘗試執行此交換時出錯。您可能需要增加您的滑點容忍度。如果這不起作用,則可能與您交易的代幣不兼容。注意:轉賬和 rebase 代幣的費用與 Uniswap V3 不兼容。"
|
||||
msgstr "嘗試執行此兌換時發生錯誤。您可能需要增加滑點限制。如果還是不行,則可能是您正在交易的代幣與Uniswap不兼容。注:Uniswap V3不兼容轉賬時帶扣除費用(fee-on-transfer)的代幣和彈性供應(rebase)代幣。"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Analytics"
|
||||
@@ -241,7 +241,7 @@ msgstr "批準"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalActionSelector.tsx
|
||||
msgid "Approve Token"
|
||||
msgstr "批准令牌"
|
||||
msgstr "批准代幣"
|
||||
|
||||
#: src/pages/AddLiquidity/index.tsx
|
||||
#: src/pages/AddLiquidity/index.tsx
|
||||
@@ -410,7 +410,7 @@ msgstr "已關閉"
|
||||
|
||||
#: src/pages/Pool/index.tsx
|
||||
msgid "Closed positions"
|
||||
msgstr "平倉"
|
||||
msgstr "已關閉的倉位"
|
||||
|
||||
#: src/components/Menu/index.tsx
|
||||
msgid "Code"
|
||||
@@ -1155,11 +1155,11 @@ msgstr "兌換率和流動池份額"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalEditor.tsx
|
||||
msgid "Proposal"
|
||||
msgstr "提議"
|
||||
msgstr "提案"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalSubmissionModal.tsx
|
||||
msgid "Proposal Submitted"
|
||||
msgstr "提交的提案"
|
||||
msgstr "已提交提案"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalEditor.tsx
|
||||
msgid "Proposal Title"
|
||||
@@ -1175,7 +1175,7 @@ msgstr "社區成員提交的提案將在此顯示。"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalActionSelector.tsx
|
||||
msgid "Proposed Action"
|
||||
msgstr "提議的行動"
|
||||
msgstr "提議操作"
|
||||
|
||||
#: src/pages/Vote/VotePage.tsx
|
||||
msgid "Proposer"
|
||||
@@ -1283,7 +1283,7 @@ msgstr "選擇代幣以查找您的 v2 流動資金。"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalActionSelector.tsx
|
||||
msgid "Select an action"
|
||||
msgstr "選擇一個動作"
|
||||
msgstr "選擇操作"
|
||||
|
||||
#: src/pages/AddLiquidity/index.tsx
|
||||
msgid "Select pair"
|
||||
@@ -1353,7 +1353,7 @@ msgstr "提交了新提案"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalSubmissionModal.tsx
|
||||
msgid "Submitting Proposal"
|
||||
msgstr "提交提案"
|
||||
msgstr "正提交提案"
|
||||
|
||||
#: src/components/vote/VoteModal.tsx
|
||||
msgid "Submitting Vote"
|
||||
@@ -1504,7 +1504,7 @@ msgstr "交易截止期限"
|
||||
|
||||
#: src/pages/CreateProposal/ProposalActionSelector.tsx
|
||||
msgid "Transfer Token"
|
||||
msgstr "轉移令牌"
|
||||
msgstr "代幣轉賬"
|
||||
|
||||
#: src/components/WalletModal/PendingView.tsx
|
||||
msgid "Try Again"
|
||||
@@ -1755,7 +1755,7 @@ msgstr "錯誤的網絡"
|
||||
|
||||
#: src/pages/CreateProposal/index.tsx
|
||||
msgid "You already have an active or pending proposal"
|
||||
msgstr "您已經有一個有效或待處理的提案"
|
||||
msgstr "您已經有一個現有或待處理的提案"
|
||||
|
||||
#: src/pages/AddLiquidityV2/index.tsx
|
||||
msgid "You are creating a pool"
|
||||
@@ -1847,12 +1847,12 @@ msgstr "您的倉位沒有任何流動資金,沒在賺取手續費。"
|
||||
#: src/components/PositionPreview/index.tsx
|
||||
#: src/components/PositionPreview/index.tsx
|
||||
msgid "Your position will be 100% composed of {0} at this price"
|
||||
msgstr "在達到此兌換率時,您的倉位流動資金將 100% 由 {0} 所組成。"
|
||||
msgstr "在此兌換率,您的倉位將 100% 由 {0} 所組成。"
|
||||
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
#: src/pages/Pool/PositionPage.tsx
|
||||
msgid "Your position will be 100% {0} at this price."
|
||||
msgstr "在達到此兌換率時,您的倉位流動資金將 100% 由 {0} 所組成。"
|
||||
msgstr "在此兌換率,您的倉位將 100% 由 {0} 所組成。"
|
||||
|
||||
#: src/pages/AddLiquidity/index.tsx
|
||||
#: src/pages/MigrateV2/MigrateV2Pair.tsx
|
||||
|
||||
@@ -1,23 +1,19 @@
|
||||
import { SupportedChainId } from '../constants/chains'
|
||||
|
||||
const MAINNET_AND_TESTNETS = [
|
||||
SupportedChainId.MAINNET,
|
||||
SupportedChainId.ROPSTEN,
|
||||
SupportedChainId.RINKEBY,
|
||||
SupportedChainId.GOERLI,
|
||||
SupportedChainId.KOVAN,
|
||||
]
|
||||
|
||||
export function constructSameAddressMap<T extends string>(
|
||||
address: T,
|
||||
includeArbitrum: boolean
|
||||
additionalNetworks: SupportedChainId[] = []
|
||||
): { [chainId: number]: T } {
|
||||
if (includeArbitrum)
|
||||
return {
|
||||
[SupportedChainId.MAINNET]: address,
|
||||
[SupportedChainId.ROPSTEN]: address,
|
||||
[SupportedChainId.RINKEBY]: address,
|
||||
[SupportedChainId.GOERLI]: address,
|
||||
[SupportedChainId.KOVAN]: address,
|
||||
[SupportedChainId.ARBITRUM_ONE]: address,
|
||||
}
|
||||
return {
|
||||
[SupportedChainId.MAINNET]: address,
|
||||
[SupportedChainId.ROPSTEN]: address,
|
||||
[SupportedChainId.RINKEBY]: address,
|
||||
[SupportedChainId.GOERLI]: address,
|
||||
[SupportedChainId.KOVAN]: address,
|
||||
}
|
||||
return MAINNET_AND_TESTNETS.concat(additionalNetworks).reduce<{ [chainId: number]: T }>((memo, chainId) => {
|
||||
memo[chainId] = address
|
||||
return memo
|
||||
}, {})
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ import { SupportedChainId } from '../constants/chains'
|
||||
|
||||
const NETWORK_POLLING_INTERVALS: { [chainId: number]: number } = {
|
||||
[SupportedChainId.ARBITRUM_ONE]: 1_000,
|
||||
[SupportedChainId.ARBITRUM_RINKEBY]: 1_000,
|
||||
}
|
||||
|
||||
export default function getLibrary(provider: any): Web3Provider {
|
||||
|
||||
Reference in New Issue
Block a user