Compare commits

...

3 Commits

Author SHA1 Message Date
Crowdin Bot
c9dbe2f0ac chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-24 10:04:51 +00:00
Crowdin Bot
775cf57c30 chore(i18n): synchronize translations from crowdin [skip ci] 2021-06-24 09:04:32 +00:00
Moody Salem
f4935e9264 fix(arbitrum): miscellaneous arbitrum network changes
- adds the arbitrum rinkeby testnet deployment
- compute usdc prices on arbitrum one
2021-06-23 20:58:03 -05:00
9 changed files with 180 additions and 81 deletions

View File

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

View File

@@ -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,
])

View File

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

View File

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

View File

@@ -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),
}
/**

View File

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

View File

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

View File

@@ -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
}, {})
}

View File

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