1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-23 09:52:26 +01:00

Deprecating the Rinkeby, Ropsten, and Kovan test networks (#15989)

* Deprecating Rinkeby, setting default debug network to Goerli

* Deprecating Ropsten and Kovan

* Conflict fix

* Remove unused localization, test fixes

* Add migration for moving used deprecated testnets to custom networks

* Fix migrator test

* Add more unit tests

* Migration updates provider type to rpc if deprecated network is selected

* Migration fully and correctly updates the provider if selected network is a deprecated testnet

* Continue to show deprecation warning on each of rinkeby, ropsten and kovan

* Add rpcUrl deprecation message to loading screen

* Removing mayBeFauceting prop

Co-authored-by: Dan Miller <danjm.com@gmail.com>
This commit is contained in:
ryanml 2022-09-28 20:26:01 -07:00 committed by Dan J Miller
parent b11f6c1bf9
commit 67aeb64581
157 changed files with 2417 additions and 2002 deletions

View File

@ -24,10 +24,10 @@ export const MOCK_TRANSACTION_BY_TYPE = {
id: 643368596521636,
time: 1653527035634,
status: 'submitted',
metamaskNetworkId: '4',
metamaskNetworkId: '5',
originalGasEstimate: '5208',
userEditedGasLimit: false,
chainId: '0x4',
chainId: '0x5',
loadingDefaults: false,
dappSuggestedGasFees: null,
sendFlowHistory: [],
@ -50,10 +50,10 @@ export const MOCK_TRANSACTION_BY_TYPE = {
id: 643368596521636,
time: 1653527035634,
status: 'approved',
metamaskNetworkId: '4',
metamaskNetworkId: '5',
originalGasEstimate: '5208',
userEditedGasLimit: false,
chainId: '0x4',
chainId: '0x5',
loadingDefaults: false,
dappSuggestedGasFees: null,
sendFlowHistory: [],
@ -204,7 +204,7 @@ export const MOCK_TRANSACTION_BY_TYPE = {
submittedTime: 1653527035924,
},
[MOCK_TX_TYPE.CONTRACT_INTERACTION]: {
chainId: '0x4',
chainId: '0x5',
dappSuggestedGasFees: {
gas: '0x118f4',
maxFeePerGas: '0x9502f91a',
@ -212,7 +212,7 @@ export const MOCK_TRANSACTION_BY_TYPE = {
},
id: 7694052085150913,
loadingDefaults: true,
metamaskNetworkId: '4',
metamaskNetworkId: '5',
origin: 'https://remix.ethereum.org',
originalGasEstimate: '0x118f4',
sendFlowHistory: [],
@ -235,7 +235,7 @@ export const MOCK_TRANSACTION_BY_TYPE = {
[MOCK_TX_TYPE.DEPLOY_CONTRACT]: {
blockNumber: '6195527',
id: 4243712234858468,
metamaskNetworkId: '4',
metamaskNetworkId: '5',
status: 'confirmed',
time: 1585088013000,
txParams: {
@ -292,7 +292,7 @@ export const MOCK_TRANSACTION_BY_TYPE = {
[MOCK_TX_TYPE.INCOMING]: {
blockNumber: '6477257',
id: 4243712234858505,
metamaskNetworkId: '4',
metamaskNetworkId: '5',
status: 'confirmed',
time: 1589314295000,
txParams: {
@ -346,10 +346,10 @@ export const MOCK_TRANSACTION_BY_TYPE = {
id: 3938342322880462,
time: 1653459456297,
status: 'failed',
metamaskNetworkId: '4',
metamaskNetworkId: '5',
originalGasEstimate: '14609',
userEditedGasLimit: false,
chainId: '0x4',
chainId: '0x5',
loadingDefaults: false,
dappSuggestedGasFees: null,
sendFlowHistory: [],
@ -376,10 +376,10 @@ export const MOCK_TRANSACTION_BY_TYPE = {
id: 3938342322880462,
time: 1653459456297,
status: 'approved',
metamaskNetworkId: '4',
metamaskNetworkId: '5',
originalGasEstimate: '14609',
userEditedGasLimit: false,
chainId: '0x4',
chainId: '0x5',
loadingDefaults: false,
dappSuggestedGasFees: null,
sendFlowHistory: [],
@ -589,7 +589,7 @@ export const MOCK_TRANSACTION_BY_TYPE = {
id: 4243712234858512,
time: 1589314601567,
status: 'confirmed',
metamaskNetworkId: '4',
metamaskNetworkId: '5',
loadingDefaults: false,
txParams: {
from: '0xabca64466f257793eaa52fcfff5066894b76a149',
@ -605,7 +605,7 @@ export const MOCK_TRANSACTION_BY_TYPE = {
[MOCK_TX_TYPE.SMART]: {
blockNumber: '6195527',
id: 4243712234858468,
metamaskNetworkId: '4',
metamaskNetworkId: '5',
status: 'confirmed',
time: 1585088013000,
txParams: {
@ -625,7 +625,7 @@ export const MOCK_TRANSACTION_BY_TYPE = {
[MOCK_TX_TYPE.SWAP]: {
blockNumber: '6195527',
id: 4243712234858467,
metamaskNetworkId: '4',
metamaskNetworkId: '5',
status: 'confirmed',
time: 1585088013000,
txParams: {
@ -644,7 +644,7 @@ export const MOCK_TRANSACTION_BY_TYPE = {
[MOCK_TX_TYPE.SWAP_APPROVAL]: {
blockNumber: '6195527',
id: 4243712234858467,
metamaskNetworkId: '4',
metamaskNetworkId: '5',
status: 'confirmed',
time: 1585088013000,
txParams: {
@ -664,10 +664,10 @@ export const MOCK_TRANSACTION_BY_TYPE = {
id: 5177046356058729,
time: 1653457101080,
status: 'submitted',
metamaskNetworkId: '4',
metamaskNetworkId: '5',
originalGasEstimate: '0xb427',
userEditedGasLimit: false,
chainId: '0x4',
chainId: '0x5',
loadingDefaults: false,
dappSuggestedGasFees: {
gasPrice: '0x4a817c800',
@ -692,10 +692,10 @@ export const MOCK_TRANSACTION_BY_TYPE = {
id: 5177046356058729,
time: 1653457101080,
status: 'unapproved',
metamaskNetworkId: '4',
metamaskNetworkId: '5',
originalGasEstimate: '0xb427',
userEditedGasLimit: false,
chainId: '0x4',
chainId: '0x5',
loadingDefaults: true,
dappSuggestedGasFees: {
gasPrice: '0x4a817c800',
@ -918,10 +918,10 @@ export const MOCK_TRANSACTION_BY_TYPE = {
id: 1441203963845330,
time: 1652206763566,
status: 'confirmed',
metamaskNetworkId: '4',
metamaskNetworkId: '5',
originalGasEstimate: '0x118e0',
userEditedGasLimit: false,
chainId: '0x4',
chainId: '0x5',
loadingDefaults: false,
dappSuggestedGasFees: {
maxPriorityFeePerGas: '0x3B9ACA00',
@ -939,7 +939,7 @@ export const MOCK_TRANSACTION_BY_TYPE = {
maxFeePerGas: '0x7be830aec',
maxPriorityFeePerGas: '0x3B9ACA00',
},
origin: 'https://rinkeby.etherscan.io',
origin: 'https://goerli.etherscan.io',
type: 'safetransferfrom',
userFeeLevel: 'dappSuggested',
defaultGasEstimates: {
@ -1042,10 +1042,10 @@ export const MOCK_TRANSACTION_BY_TYPE = {
id: 5177046356058725,
time: 1653457077370,
status: 'confirmed',
metamaskNetworkId: '4',
metamaskNetworkId: '5',
originalGasEstimate: '0xea60',
userEditedGasLimit: false,
chainId: '0x4',
chainId: '0x5',
loadingDefaults: false,
dappSuggestedGasFees: {
gasPrice: '0x4a817c800',
@ -1055,7 +1055,7 @@ export const MOCK_TRANSACTION_BY_TYPE = {
txParams: {
from: '0xabc539a7d5c43940af498008a7c8f3abb35c3725',
to: '0xefg60bbf4ba1de43f3b4983a539feebfbd5fd976',
nonce: '0x4',
nonce: '0x5',
value: '0x0',
data:
'0xa9059cbb0000000000000000000000002f318c334780961fb129d2a6c30d0763d9a5c9700000000000000000000000000000000000000000000000000000000000003a98',
@ -1070,10 +1070,10 @@ export const MOCK_TRANSACTION_BY_TYPE = {
id: 5177046356058725,
time: 1653457077370,
status: 'unapproved',
metamaskNetworkId: '4',
metamaskNetworkId: '5',
originalGasEstimate: '0xea60',
userEditedGasLimit: false,
chainId: '0x4',
chainId: '0x5',
loadingDefaults: true,
dappSuggestedGasFees: {
gasPrice: '0x4a817c800',
@ -1152,7 +1152,7 @@ export const MOCK_TRANSACTION_BY_TYPE = {
{
op: 'add',
path: '/txParams/nonce',
value: '0x4',
value: '0x5',
note: 'transactions#approveTransaction',
timestamp: 1653457091939,
},
@ -1446,10 +1446,10 @@ export const MOCK_TRANSACTION_BY_TYPE = {
id: 5177046356058754,
time: 1653457323504,
status: 'confirmed',
metamaskNetworkId: '4',
metamaskNetworkId: '5',
originalGasEstimate: '0x10896',
userEditedGasLimit: false,
chainId: '0x4',
chainId: '0x5',
loadingDefaults: false,
dappSuggestedGasFees: null,
sendFlowHistory: [
@ -1496,10 +1496,10 @@ export const MOCK_TRANSACTION_BY_TYPE = {
id: 5177046356058754,
time: 1653457323504,
status: 'unapproved',
metamaskNetworkId: '4',
metamaskNetworkId: '5',
originalGasEstimate: '0x10896',
userEditedGasLimit: false,
chainId: '0x4',
chainId: '0x5',
loadingDefaults: true,
dappSuggestedGasFees: null,
sendFlowHistory: [

View File

@ -26,28 +26,6 @@ const state = {
ticker: 'ETH',
viewOnly: true,
},
{
blockExplorerUrl: 'https://ropsten.etherscan.io',
chainId: '0x3',
iconColor: 'var(--ropsten)',
isATestNetwork: true,
labelKey: 'ropsten',
providerType: 'ropsten',
rpcUrl: 'https://ropsten.infura.io/v3/',
ticker: 'ETH',
viewOnly: true,
},
{
blockExplorerUrl: 'https://rinkeby.etherscan.io',
chainId: '0x4',
iconColor: 'var(--rinkeby)',
isATestNetwork: true,
labelKey: 'rinkeby',
providerType: 'rinkeby',
rpcUrl: 'https://rinkeby.infura.io/v3/',
ticker: 'ETH',
viewOnly: true,
},
{
blockExplorerUrl: 'https://goerli.etherscan.io',
chainId: '0x5',
@ -59,17 +37,6 @@ const state = {
ticker: 'ETH',
viewOnly: true,
},
{
blockExplorerUrl: 'https://kovan.etherscan.io',
chainId: '0x2a',
iconColor: 'var(--kovan)',
isATestNetwork: true,
labelKey: 'kovan',
providerType: 'kovan',
rpcUrl: 'https://kovan.infura.io/v3/',
ticker: 'ETH',
viewOnly: true,
},
{
blockExplorerUrl: 'https://sepolia.etherscan.io',
chainId: '0xaa36a7',
@ -406,9 +373,9 @@ const state = {
id: 3111025347726181,
time: 1620710815484,
status: 'unapproved',
metamaskNetworkId: '3',
metamaskNetworkId: '5',
msgParams: '0x64a845a5b02460acf8a3d84503b0d68d028b4bb4',
chainId: '0x3',
chainId: '0x5',
loadingDefaults: false,
txParams: {
from: '0x64a845a5b02460acf8a3d84503b0d68d028b4bb4',
@ -427,8 +394,8 @@ const state = {
id: 7786962153682822,
time: 1620710815484,
status: 'unapproved',
metamaskNetworkId: '3',
chainId: '0x3',
metamaskNetworkId: '5',
chainId: '0x5',
loadingDefaults: true,
txParams: {
from: '0x64a845a5b02460acf8a3d84503b0d68d028b4bb4',
@ -581,20 +548,20 @@ const state = {
swapsWelcomeMessageHasBeenShown: true,
defaultHomeActiveTabName: 'Assets',
provider: {
type: 'rinkeby',
type: 'goerli',
ticker: 'ETH',
nickname: '',
rpcUrl: '',
chainId: '0x4',
chainId: '0x5',
},
previousProviderStore: {
type: 'rinkeby',
type: 'goerli',
ticker: 'ETH',
nickname: '',
rpcUrl: '',
chainId: '0x4',
chainId: '0x5',
},
network: '3',
network: '5',
accounts: {
'0x64a845a5b02460acf8a3d84503b0d68d028b4bb4': {
address: '0x64a845a5b02460acf8a3d84503b0d68d028b4bb4',
@ -1132,7 +1099,7 @@ const state = {
'0xb19ac54efa18cc3a14a5b821bfec73d284bf0c5e': '0x2d3142f5000',
'0x9d0ba4ddac06032527b140912ec808ab9451b788': '0x15f6f0b9d4f8d000',
},
'0x3': {
5: {
'0x64a845a5b02460acf8a3d84503b0d68d028b4bb4': '0x176e5b6f173ebe66',
'0xb19ac54efa18cc3a14a5b821bfec73d284bf0c5e': '0x2d3142f5000',
'0x9d0ba4ddac06032527b140912ec808ab9451b788': '0x15f6f0b9d4f8d000',
@ -1196,7 +1163,7 @@ const state = {
decimals: 18,
},
],
'0x3': [
'0x5': [
{
address: '0xaD6D458402F60fD3Bd25163575031ACDce07538D',
symbol: 'DAI',
@ -1209,7 +1176,7 @@ const state = {
},
accountHiddenTokens: {
'0x64a845a5b02460acf8a3d84503b0d68d028b4bb4': {
'0x3': [],
'0x5': [],
},
},
assetImages: {
@ -1317,9 +1284,6 @@ const state = {
},
},
incomingTxLastFetchedBlocksByNetwork: {
ropsten: 8872820,
rinkeby: null,
kovan: null,
goerli: null,
sepolia: null,
mainnet: 10902989,
@ -1549,8 +1513,8 @@ const state = {
id: 3111025347726181,
time: 1620723786838,
status: 'unapproved',
metamaskNetworkId: '3',
chainId: '0x3',
metamaskNetworkId: '5',
chainId: '0x5',
loadingDefaults: false,
txParams: {
from: '0x64a845a5b02460acf8a3d84503b0d68d028b4bb4',
@ -1569,8 +1533,8 @@ const state = {
id: 3111025347726181,
time: 1620723786838,
status: 'unapproved',
metamaskNetworkId: '3',
chainId: '0x3',
metamaskNetworkId: '5',
chainId: '0x5',
loadingDefaults: true,
txParams: {
from: '0x983211ce699ea5ab57cc528086154b6db1ad8e55',

View File

@ -187,18 +187,9 @@
"connectingToGoerli": {
"message": "ከ Goerli የሙከራ አውታረ መረብ ጋር መገናኘት"
},
"connectingToKovan": {
"message": "ከ Kovan የሙከራ አውታረ መረብ መገናኘት"
},
"connectingToMainnet": {
"message": "ከዋናው የ Ethereum አውታረ መረብ ጋር መገናኘት"
},
"connectingToRinkeby": {
"message": "ከ Rinkeby የሙከራ አውታረ መረብ ጋር በመገናኘት ላይ"
},
"connectingToRopsten": {
"message": "ከ Ropsten የሙከራ አውታረ መረብ ጋር በመገናኘት ላይ"
},
"continueToWyre": {
"message": "ወደ Wyre ይቀጥሉ"
},
@ -494,9 +485,6 @@
"knownAddressRecipient": {
"message": "የሚታወቅ የግንኙነት አድራሻ።"
},
"kovan": {
"message": "Kovan የሙከራ አውታረ መረብ"
},
"learnMore": {
"message": "የበለጠ ይወቁ"
},
@ -753,12 +741,6 @@
"revealSeedWordsWarningTitle": {
"message": "ይህን ሐረግ ለየትኛውም ሰው አያጋሩ!"
},
"rinkeby": {
"message": "Rinkeby የሙከራ አውታረ መረብ"
},
"ropsten": {
"message": "Ropsten የሙከራ አውታረ መረብ "
},
"rpcUrl": {
"message": "አዲስ የ RPC URL"
},

View File

@ -201,18 +201,9 @@
"connectingToGoerli": {
"message": "الاتصال بشبكة اختبار Goerli"
},
"connectingToKovan": {
"message": "الاتصال بشبكة اختبار Kovan"
},
"connectingToMainnet": {
"message": "جارِ الاتصال بشبكة إيثيريوم الرئيسية"
},
"connectingToRinkeby": {
"message": "جارِ الاتصال بشبكة اختبار Rinkeby "
},
"connectingToRopsten": {
"message": "جارِ الاتصال بشبكة اختبار Ropsten "
},
"continueToWyre": {
"message": "الاستمرار إلى Wyre"
},
@ -507,9 +498,6 @@
"knownAddressRecipient": {
"message": "عنوان العقد المعروف."
},
"kovan": {
"message": "شبكة اختبار Kovan "
},
"learnMore": {
"message": "اكتشف المزيد"
},
@ -769,12 +757,6 @@
"revealSeedWordsWarningTitle": {
"message": "لا تشارك هذه الجملة مع أي شخص آخر!"
},
"rinkeby": {
"message": "شبكة اختبارات Rinkeby"
},
"ropsten": {
"message": "شبكة اختبار Ropsten"
},
"rpcUrl": {
"message": "عنوان جديد لاستدعاء الإجراء عن بعد"
},

View File

@ -193,18 +193,9 @@
"connectingToGoerli": {
"message": "Свързване с тестова мрежа на Goerli"
},
"connectingToKovan": {
"message": "Свързване с тестовата мрежа на Kovan"
},
"connectingToMainnet": {
"message": "Свързване с главната мрежа Ethereum"
},
"connectingToRinkeby": {
"message": "Свързване с тестова мрежа на Rinkeby"
},
"connectingToRopsten": {
"message": "Свързване с тестова мрежа Ropsten"
},
"continueToWyre": {
"message": "Продължете към Wyre"
},
@ -499,9 +490,6 @@
"knownAddressRecipient": {
"message": "Известен адрес на договора."
},
"kovan": {
"message": "Тестова мрежа на Кован"
},
"learnMore": {
"message": "Научете повече"
},
@ -764,12 +752,6 @@
"revealSeedWordsWarningTitle": {
"message": "НЕ споделяйте тази фраза с никого!"
},
"rinkeby": {
"message": "Тестова мрежа на Rinkeby"
},
"ropsten": {
"message": "Тестова мрежа Ropsten"
},
"rpcUrl": {
"message": "Нов URL адрес за RPC"
},

View File

@ -193,18 +193,9 @@
"connectingToGoerli": {
"message": "গোয়েরলি টেস্ট নেটওয়ার্কের সাথে সংযোগ করা হচ্ছে"
},
"connectingToKovan": {
"message": "কোভান টেস্ট নেটওয়ার্কের সাথে সংযোগ করছে"
},
"connectingToMainnet": {
"message": "মুখ্য Ethereum নেটওয়ার্কের সাথে সংযোগ করছে"
},
"connectingToRinkeby": {
"message": "রিঙ্কেবি টেস্ট নেটওয়ার্কের সাথে সংযোগ করছে"
},
"connectingToRopsten": {
"message": "রপস্টেন টেস্ট নেটওয়ার্কের সাথে সংযোগ করছে"
},
"continueToWyre": {
"message": "Wyre এ অবিরত রাখুন"
},
@ -503,9 +494,6 @@
"knownAddressRecipient": {
"message": "জানা পরিচিতির ঠিকানা৷"
},
"kovan": {
"message": "কোভান টেস্ট নেটওয়ার্ক"
},
"learnMore": {
"message": "আরও জানুন"
},
@ -768,12 +756,6 @@
"revealSeedWordsWarningTitle": {
"message": "এই ফ্রেজটি কারোর সাথে শেয়ার করবেন না!"
},
"rinkeby": {
"message": "রিঙ্কেবি টেস্ট নেটওয়ার্ক"
},
"ropsten": {
"message": "রোপস্টেন টেস্ট নেটওয়ার্ক"
},
"rpcUrl": {
"message": "নতুন RPC URL"
},

View File

@ -190,18 +190,9 @@
"connectingToGoerli": {
"message": "Connectant a Xarxa de Prova Goerli"
},
"connectingToKovan": {
"message": "Conectant a la xarxa de Kovan Test"
},
"connectingToMainnet": {
"message": "Connectant a Xarxa Principal Ethereum"
},
"connectingToRinkeby": {
"message": "Connectant a la Xarxa de Prova Rinkeby"
},
"connectingToRopsten": {
"message": "Connectant a la xarxa de test Ropsten"
},
"continueToWyre": {
"message": "Continua a Wyre"
},
@ -490,9 +481,6 @@
"knownAddressRecipient": {
"message": "Adreça de contracte coneguda"
},
"kovan": {
"message": "Xarxa de Prova Kovan"
},
"learnMore": {
"message": "Saber més"
},
@ -746,12 +734,6 @@
"revealSeedWordsWarningTitle": {
"message": "NO comparteixis aquesta frase amb ningú!"
},
"rinkeby": {
"message": "Xarxa del test Rinkeby"
},
"ropsten": {
"message": "Xarxa de Prova Ropsten"
},
"rpcUrl": {
"message": "Nova URL de RPC"
},

View File

@ -63,18 +63,9 @@
"confirmed": {
"message": "Potvrzeno"
},
"connectingToKovan": {
"message": "Připojuji se k Kovan Test Network"
},
"connectingToMainnet": {
"message": "Připojuji se k Ethereum Mainnet"
},
"connectingToRinkeby": {
"message": "Připojuji se k Rinkeby Test Network"
},
"connectingToRopsten": {
"message": "Připojuji se k Ropsten Test Network"
},
"contractDeployment": {
"message": "Nasazení kontraktu"
},

View File

@ -193,18 +193,9 @@
"connectingToGoerli": {
"message": "Opretter forbindelse til Goerli Testnetværk"
},
"connectingToKovan": {
"message": "Forbinder til Kovan Testnetværk"
},
"connectingToMainnet": {
"message": "Forbinder til dit Primære Ethereum Netværk"
},
"connectingToRinkeby": {
"message": "Forbinder til Rinkeby-testnetværk"
},
"connectingToRopsten": {
"message": "Forbinder til Ropsten-testnetværk"
},
"continueToWyre": {
"message": "Fortsæt til Wyre"
},
@ -496,9 +487,6 @@
"knownAddressRecipient": {
"message": "Kendte kontaktadresser."
},
"kovan": {
"message": "Kovan Test-Netværk"
},
"learnMore": {
"message": "Lær mere"
},
@ -749,12 +737,6 @@
"revealSeedWordsWarningTitle": {
"message": "DEL IKKE denne sætning med nogen!"
},
"rinkeby": {
"message": "Rinkeby-testnetværk"
},
"ropsten": {
"message": "Ropsten Test-netværk"
},
"rpcUrl": {
"message": "Ny RPC-URL"
},

View File

@ -608,17 +608,11 @@
"connectingToGoerli": {
"message": "Verbindung mit Goerli Test Network wird hergestellt"
},
"connectingToKovan": {
"message": " Verbinde zum Kovan Testnetzwerk"
},
"connectingToMainnet": {
"message": "Verbinde zum Ethereum Mainnet"
},
"connectingToRinkeby": {
"message": " Verbinde zum Rinkeby Testnetzwerk"
},
"connectingToRopsten": {
"message": " Verbinde zum Ropsten Testnetzwerk"
"connectingToSepolia": {
"message": "Verbindungsaufbau zum Sepolia-Testnetzwerk"
},
"contactUs": {
"message": "Kontaktaufnahme"
@ -1652,9 +1646,6 @@
"knownTokenWarning": {
"message": "Mit dieser Aktion werden Token bearbeitet, die bereits in Ihrer Wallet aufgelistet sind und die dazu verwendet werden können, Sie zu betrügen. Genehmigen Sie diese Aktion nur, wenn Sie sicher sind, dass Sie den Wert dieser Token ändern wollen. Erfahren Sie mehr über $1"
},
"kovan": {
"message": "Kovan Testnetzwerk"
},
"lastConnected": {
"message": "Zuletzt verbunden"
},
@ -2679,11 +2670,16 @@
"revealTheSeedPhrase": {
"message": "Seed-Phrase anzeigen"
},
"rinkeby": {
"message": "Rinkeby Testnetzwerk"
"revokeAllTokensTitle": {
"message": "Erlaubnis zum Zugriff auf alle Ihre $1 entziehen?",
"description": "$1 is the symbol of the token for which the user is revoking approval"
},
"ropsten": {
"message": "Ropsten Testnetzwerk"
"revokeApproveForAllDescription": {
"message": "Wenn Sie diese Erlaubnis entziehen, wird folgende/s/r $1 nicht mehr dazu in der Lage sein, auf Ihr/e/n $2 zuzugreifen.",
"description": "$1 is either key 'account' or 'contract', and $2 is either a string or link of a given token symbol or name"
},
"revokeSpendingCapTooltipText": {
"message": "Mit diesem Contract können Sie keine weiteren Ihrer aktuellen oder zukünftigen Token ausgeben."
},
"rpcUrl": {
"message": "Neue RPC-URL"

View File

@ -616,17 +616,11 @@
"connectingToGoerli": {
"message": "Σύνδεση στο Δίκτυο Δοκιμής Goerli"
},
"connectingToKovan": {
"message": "Σύνδεση στο Δοκιμαστικό Δίκτυο Kovan"
},
"connectingToMainnet": {
"message": "Σύνδεση στο Κύριο Δίκτυο Ethereum"
},
"connectingToRinkeby": {
"message": "Σύνδεση στο Δίκτυο Δοκιμών Rinkeby"
},
"connectingToRopsten": {
"message": "Σύνδεση με το Δίκτυο Δοκιμών Ropsten"
"connectingToSepolia": {
"message": "Σύνδεση στο δίκτυο δοκιμών Sepolia"
},
"contactUs": {
"message": "Επικοινωνήστε μαζί μας"
@ -1666,9 +1660,6 @@
"knownTokenWarning": {
"message": "Αυτή η ενέργεια θα επεξεργαστεί tokens που είναι ήδη εισηγμένα στο πορτοφόλι σας, τα οποίαο μπορεί να χρησιμοποιηθούν για να σας κλέψουν στοιχεία. Αποδεχθείτε μόνο αν είστε σίγουροι ότι θέλετε να αλλάξετε αυτό που αντιπροσωπεύουν αυτά τα νομίσματα. Μάθετε περισσότερά γι'αυτό $1"
},
"kovan": {
"message": "Δίκτυο Δοκιμής Kovan"
},
"lastConnected": {
"message": "Τελευταία Σύνδεση"
},
@ -2724,11 +2715,8 @@
"message": "Με την ανάκληση της άδειας, το ακόλουθο $1 δεν θα έχει πλέον πρόσβαση στο $2 σας",
"description": "$1 is either key 'account' or 'contract', and $2 is either a string or link of a given token symbol or name"
},
"rinkeby": {
"message": "Δοκιμαστικό Δίκτυο Rinkeby"
},
"ropsten": {
"message": "Δίκτυο Δοκιμών Ropsten"
"revokeSpendingCapTooltipText": {
"message": "Αυτός ο συμβαλλόμενος δεν θα μπορεί να ξοδέψει άλλα από τα τρέχοντα ή μελλοντικά σας tokens."
},
"rpcUrl": {
"message": "Νέο RPC URL"

View File

@ -704,18 +704,9 @@
"connectingToGoerli": {
"message": "Connecting to Goerli test network"
},
"connectingToKovan": {
"message": "Connecting to Kovan test network"
},
"connectingToMainnet": {
"message": "Connecting to Ethereum Mainnet"
},
"connectingToRinkeby": {
"message": "Connecting to Rinkeby test network"
},
"connectingToRopsten": {
"message": "Connecting to Ropsten test network"
},
"connectingToSepolia": {
"message": "Connecting to Sepolia test network"
},
@ -824,6 +815,9 @@
"currentLanguage": {
"message": "Current language"
},
"currentRpcUrlDeprecated": {
"message": "The current rpc url for this network has been deprecated."
},
"currentTitle": {
"message": "Current:"
},
@ -1808,9 +1802,6 @@
"knownTokenWarning": {
"message": "This action will edit tokens that are already listed in your wallet, which can be used to phish you. Only approve if you are certain that you mean to change what these tokens represent. Learn more about $1"
},
"kovan": {
"message": "Kovan test network"
},
"lastConnected": {
"message": "Last connected"
},
@ -2928,12 +2919,6 @@
"revokeSpendingCapTooltipText": {
"message": "This contract will be unable to spend any more of your current or future tokens."
},
"rinkeby": {
"message": "Rinkeby test network"
},
"ropsten": {
"message": "Ropsten test network"
},
"rpcUrl": {
"message": "New RPC URL"
},

View File

@ -616,17 +616,11 @@
"connectingToGoerli": {
"message": "Estableciendo conexión a la red de prueba Goerli"
},
"connectingToKovan": {
"message": "Estableciendo conexión a la red de prueba Kovan"
},
"connectingToMainnet": {
"message": "Estableciendo conexión a la red principal de Ethereum"
},
"connectingToRinkeby": {
"message": "Estableciendo conexión a la red de prueba Rinkeby"
},
"connectingToRopsten": {
"message": "Estableciendo conexión a la red de prueba Ropsten"
"connectingToSepolia": {
"message": "Conectando a la red de prueba Sepolia"
},
"contactUs": {
"message": "Contáctenos"
@ -1666,9 +1660,6 @@
"knownTokenWarning": {
"message": "Esta acción editará tokens que ya estén enumerados en la cartera y que se pueden usar para engañarlo. Apruebe solo si está seguro de que quiere cambiar lo que representan estos tokens."
},
"kovan": {
"message": "Red de prueba Kovan"
},
"lastConnected": {
"message": "Última conexión"
},
@ -2724,11 +2715,8 @@
"message": "Al revocar permisos, el/la siguiente $1 no tendrá más acceso a su $2",
"description": "$1 is either key 'account' or 'contract', and $2 is either a string or link of a given token symbol or name"
},
"rinkeby": {
"message": "Red de prueba Rinkeby"
},
"ropsten": {
"message": "Red de prueba Ropsten"
"revokeSpendingCapTooltipText": {
"message": "Este contrato no podrá gastar más de sus tokens actuales o futuros."
},
"rpcUrl": {
"message": "Nueva dirección URL de RPC"

View File

@ -514,18 +514,9 @@
"connectingToGoerli": {
"message": "Estableciendo conexión a la red de prueba Goerli"
},
"connectingToKovan": {
"message": "Estableciendo conexión a la red de prueba Kovan"
},
"connectingToMainnet": {
"message": "Estableciendo conexión a la red principal de Ethereum"
},
"connectingToRinkeby": {
"message": "Estableciendo conexión a la red de prueba Rinkeby"
},
"connectingToRopsten": {
"message": "Estableciendo conexión a la red de prueba Ropsten"
},
"contactUs": {
"message": "Contáctenos"
},
@ -1425,9 +1416,6 @@
"knownTokenWarning": {
"message": "Esta acción editará tokens que ya estén enumerados en la cartera y que se pueden usar para engañarlo. Apruebe solo si está seguro de que quiere cambiar lo que representan estos tokens."
},
"kovan": {
"message": "Red de prueba Kovan"
},
"lastConnected": {
"message": "Última conexión"
},
@ -2248,12 +2236,6 @@
"revealSeedWordsWarningTitle": {
"message": "¡NO comparta esta frase con nadie!"
},
"rinkeby": {
"message": "Red de prueba Rinkeby"
},
"ropsten": {
"message": "Red de prueba Ropsten"
},
"rpcUrl": {
"message": "Nueva dirección URL de RPC"
},

View File

@ -193,18 +193,9 @@
"connectingToGoerli": {
"message": "Ühendamine Goerli testvõrguga"
},
"connectingToKovan": {
"message": "Ühendamine Kovani testvõrguga"
},
"connectingToMainnet": {
"message": "Ühenduse loomine peamise Etherumi võrguga"
},
"connectingToRinkeby": {
"message": "Ühendamine Rinkeby testvõrguga"
},
"connectingToRopsten": {
"message": "Ühendamine Ropsteni testvõrguga"
},
"continueToWyre": {
"message": "Ava Wyre"
},
@ -499,9 +490,6 @@
"knownAddressRecipient": {
"message": "Teadaolev lepinguaadress."
},
"kovan": {
"message": "Kovani testvõrk"
},
"learnMore": {
"message": "Lisateave"
},
@ -758,12 +746,6 @@
"revealSeedWordsWarningTitle": {
"message": "ÄRGE jagage seda fraasi mitte kellegagi!"
},
"rinkeby": {
"message": "Rinkeby katsevõrk"
},
"ropsten": {
"message": "Ropsteni testvõrk"
},
"rpcUrl": {
"message": "Uus RPC URL"
},

View File

@ -193,18 +193,9 @@
"connectingToGoerli": {
"message": "در حال اتصال به شبکه آزمایشی Goerli "
},
"connectingToKovan": {
"message": "در حال اتصال به شبکه آزمایشی Kovan"
},
"connectingToMainnet": {
"message": "در حال اتصال به شبکه اصلی ایتریم"
},
"connectingToRinkeby": {
"message": "در حال اتصال به شبکه آزمایشی Rinkeby"
},
"connectingToRopsten": {
"message": "در حال اتصال به شبکه آزمایشی Ropsten"
},
"continueToWyre": {
"message": "ادامه به Wyre"
},
@ -503,9 +494,6 @@
"knownAddressRecipient": {
"message": "آدرس شناخته شده قرارداد"
},
"kovan": {
"message": "شبکه آزمایشی Kovan"
},
"learnMore": {
"message": "بیشتر بدانید"
},
@ -768,12 +756,6 @@
"revealSeedWordsWarningTitle": {
"message": "این عبارت را با هیچکس شریک نسازید!"
},
"rinkeby": {
"message": "شبکه آزمایشی Rinkeby"
},
"ropsten": {
"message": "شبکه آزمایشی Ropsten"
},
"rpcUrl": {
"message": "RPC URL جدید"
},

View File

@ -193,18 +193,9 @@
"connectingToGoerli": {
"message": "Yhdistetään Goerlin testiverkostoon"
},
"connectingToKovan": {
"message": "Yhdistetään Kovanin koeverkkoon"
},
"connectingToMainnet": {
"message": "Yhdistetään Ethereumin pääverkkoon"
},
"connectingToRinkeby": {
"message": "Yhdistetään Rinkebyn koeverkkoon"
},
"connectingToRopsten": {
"message": "Yhdistetään Ropstenin koeverkkoon"
},
"continueToWyre": {
"message": "Jatka Wyreen"
},
@ -503,9 +494,6 @@
"knownAddressRecipient": {
"message": "Tunnettu sopimusosoite."
},
"kovan": {
"message": "Kovanin koeverkko"
},
"learnMore": {
"message": "Lisätietoa"
},
@ -765,12 +753,6 @@
"revealSeedWordsWarningTitle": {
"message": "ÄLÄ jaa tätä tekstiä kenellekään!"
},
"rinkeby": {
"message": "Rinkebyn koeverkko"
},
"ropsten": {
"message": "Ropstenin koeverkko"
},
"rpcUrl": {
"message": "Uusi RPC:n URL"
},

View File

@ -172,18 +172,9 @@
"connectingToGoerli": {
"message": "Kumokonekta sa Goerli Test Network"
},
"connectingToKovan": {
"message": "Kumokonekta sa Kovan Test Network"
},
"connectingToMainnet": {
"message": "Kumokonekta sa Ethereum Mainnet"
},
"connectingToRinkeby": {
"message": "Kumokonekta sa Rinkeby Test Network"
},
"connectingToRopsten": {
"message": "Kumokonekta sa Ropsten Test Network"
},
"continueToWyre": {
"message": "Magpatuloy sa Wyre"
},

View File

@ -616,17 +616,11 @@
"connectingToGoerli": {
"message": "Connexion au réseau de test Goerli"
},
"connectingToKovan": {
"message": "Connexion au réseau de test Kovan"
},
"connectingToMainnet": {
"message": "Connexion au réseau principal Ethereum"
},
"connectingToRinkeby": {
"message": "Connexion au réseau de test Rinkeby"
},
"connectingToRopsten": {
"message": "Connexion au réseau de test Ropsten"
"connectingToSepolia": {
"message": "Connexion au réseau de test Sepolia"
},
"contactUs": {
"message": "Nous contacter"
@ -1666,9 +1660,6 @@
"knownTokenWarning": {
"message": "Cette action modifiera les jetons déjà présents dans votre portefeuille, et risque de favoriser les tentatives dhameçonnage. Napprouvez que si vous êtes certain·e de vouloir modifier ce que ces jetons représentent. En savoir plus sur $1"
},
"kovan": {
"message": "Réseau de test Kovan"
},
"lastConnected": {
"message": "Dernière connexion"
},
@ -2724,11 +2715,8 @@
"message": "En révoquant cette autorisation, les $1 suivants ne pourront plus accéder à vos $2. ",
"description": "$1 is either key 'account' or 'contract', and $2 is either a string or link of a given token symbol or name"
},
"rinkeby": {
"message": "Réseau de test Rinkeby"
},
"ropsten": {
"message": "Réseau de test Ropsten"
"revokeSpendingCapTooltipText": {
"message": "Lautre partie à ce contrat ne pourra plus dépenser vos jetons actuels ou futurs."
},
"rpcUrl": {
"message": "Nouvelle URL de RPC"

View File

@ -193,18 +193,9 @@
"connectingToGoerli": {
"message": "מתחבר ל-Goerli Test Network"
},
"connectingToKovan": {
"message": "מתחבר ל-Kovan Test Network"
},
"connectingToMainnet": {
"message": "מתחבר לרשת אתריום הראשית"
},
"connectingToRinkeby": {
"message": "מתחבר ל- Rinkeby Test Network "
},
"connectingToRopsten": {
"message": "מתחבר אל רשת בדיקה Ropsten "
},
"continueToWyre": {
"message": "המשך ל-Wyre"
},
@ -503,9 +494,6 @@
"knownAddressRecipient": {
"message": "כתובת חוזה ידועה."
},
"kovan": {
"message": "רשת בדיקה Kovan "
},
"learnMore": {
"message": "למדו עוד"
},
@ -765,9 +753,6 @@
"revealSeedWordsWarningTitle": {
"message": "אין לשתף צירוף מילים זה עם אף אחד!"
},
"rinkeby": {
"message": "רשת בדיקה Rinkeby "
},
"rpcUrl": {
"message": "כתובת URL חדשה של RPC"
},

View File

@ -616,17 +616,11 @@
"connectingToGoerli": {
"message": "Goerli टेस्ट नेटवर्क से कनेक्ट हो रहा है"
},
"connectingToKovan": {
"message": "Kovan टेस्ट नेटवर्क से कनेक्ट हो रहा है"
},
"connectingToMainnet": {
"message": "Ethereum Mainnet से कनेक्ट हो रहा है"
},
"connectingToRinkeby": {
"message": "Rinkeby टेस्ट नेटवर्क से कनेक्ट हो रहा है"
},
"connectingToRopsten": {
"message": "Ropsten टेस्ट नेटवर्क से कनेक्ट हो रहा है"
"connectingToSepolia": {
"message": "सेपोलिया टेस्ट नेटवर्क से कनेक्ट कर रहा है"
},
"contactUs": {
"message": "हमसे संपर्क करें"
@ -1666,9 +1660,6 @@
"knownTokenWarning": {
"message": "यह कार्रवाई उन टोकन को संपादित करेगी, जो पहले से ही आपके वॉलेट में सूचीबद्ध हैं, जिसका उपयोग आपको फ़िश करने के लिए किया जा सकता है। केवल तभी अनुमोदित करें, जब आप इस बात को लेकर सुनिश्चित हों कि आप इन टोकन का प्रतिनिधित्व बदलना चाहते हैं। $1 के बारे में और अधिक जानें"
},
"kovan": {
"message": "Kovan टेस्ट नेटवर्क"
},
"lastConnected": {
"message": "अंतिम बार कनेक्ट किया गया"
},
@ -2724,11 +2715,8 @@
"message": "अनुमति निरस्त करने से, निम्नलिखित $1 अब आपके $2 को एक्सेस नहीं कर सकेगा",
"description": "$1 is either key 'account' or 'contract', and $2 is either a string or link of a given token symbol or name"
},
"rinkeby": {
"message": "Rinkeby टेस्ट नेटवर्क"
},
"ropsten": {
"message": "Ropsten टेस्ट नेटवर्क"
"revokeSpendingCapTooltipText": {
"message": "यह अनुबंध आपके वर्तमान या भविष्य के और टोकन पर खर्च करने में असमर्थ है।"
},
"rpcUrl": {
"message": "नया RPC URL"

View File

@ -178,9 +178,6 @@
"message": "JSON फ़ाइल",
"description": "format for importing an account"
},
"kovan": {
"message": "कोवान टेस्ट नेटवर्क"
},
"likeToImportTokens": {
"message": "क्या आप इन टोकनों को जोड़ना चाहते हैं?"
},
@ -284,12 +281,6 @@
"revealSeedWordsWarning": {
"message": "किसी सार्वजनिक स्थान पर अपने बीज के शब्द ठीक नहीं करें! ये शब्द आपके सभी खातों को चोरी करने के लिए उपयोग किए जा सकते हैं।"
},
"rinkeby": {
"message": "रिचीव टेस्ट नेटवर्क"
},
"ropsten": {
"message": "रॉप्स्टेन टेस्ट नेटवर्क"
},
"save": {
"message": "सहेजें"
},

View File

@ -193,18 +193,9 @@
"connectingToGoerli": {
"message": "Povezivanje na testnu mrežu Goerli"
},
"connectingToKovan": {
"message": "Povezivanje na testnu mrežu Kovan"
},
"connectingToMainnet": {
"message": "Povezivanje na glavnu mrežu Ethereum"
},
"connectingToRinkeby": {
"message": "Povezivanje na testnu mrežu Rinkeby"
},
"connectingToRopsten": {
"message": "Povezivanje na testnu mrežu Ropsten"
},
"continueToWyre": {
"message": "Nastavi na uslugu Wyre"
},
@ -499,9 +490,6 @@
"knownAddressRecipient": {
"message": "Poznata ugovorna adresa."
},
"kovan": {
"message": "Testna mreža Kovan"
},
"learnMore": {
"message": "Saznajte više"
},
@ -761,12 +749,6 @@
"revealSeedWordsWarningTitle": {
"message": "NE DIJELITE ovu rečenicu ni s kim!"
},
"rinkeby": {
"message": "Testna mreža Rinkeby"
},
"ropsten": {
"message": "Testna mreža Ropsten"
},
"rpcUrl": {
"message": "Novi URL RPC-a"
},

View File

@ -108,18 +108,9 @@
"connectHardwareWallet": {
"message": "Konekte Materyèl Wallet"
},
"connectingToKovan": {
"message": "Konekte nan Kovan Tès Rezo a"
},
"connectingToMainnet": {
"message": "Konekte ak Prensipal Ethereum Rezo a"
},
"connectingToRinkeby": {
"message": "Konekte nan Rinkeby Tès Rezo a"
},
"connectingToRopsten": {
"message": "Konekte ak Ropsten Tès Rezo a"
},
"contractDeployment": {
"message": "Kontra Deplwaman"
},
@ -295,9 +286,6 @@
"message": "JSON Dosye",
"description": "format for importing an account"
},
"kovan": {
"message": "Kovan Tès Rezo"
},
"learnMore": {
"message": "Aprann plis"
},
@ -491,12 +479,6 @@
"revealSeedWordsWarningTitle": {
"message": "PA pataje fraz sa a avèk nenpòt moun!"
},
"rinkeby": {
"message": "Rinkeby Tès Rezo"
},
"ropsten": {
"message": "Ropsten Tès Rezo"
},
"save": {
"message": "Sove"
},

View File

@ -193,18 +193,9 @@
"connectingToGoerli": {
"message": "Csatlakozás a Goerli teszthálózathoz"
},
"connectingToKovan": {
"message": "Csatlakozás a Kovan teszthálózathoz"
},
"connectingToMainnet": {
"message": "Csatlakozás a fő Ethereum hálózathoz"
},
"connectingToRinkeby": {
"message": "Kapcsolódás a Rinkeby Teszthálózathoz"
},
"connectingToRopsten": {
"message": "Csatlakozás a Ropsten teszthálózathoz"
},
"continueToWyre": {
"message": "Tovább a Wyre-re"
},
@ -499,9 +490,6 @@
"knownAddressRecipient": {
"message": "Ismert szerződéses cím."
},
"kovan": {
"message": "Kovan teszthálózat"
},
"learnMore": {
"message": "Tudjon meg többet"
},
@ -761,12 +749,6 @@
"revealSeedWordsWarningTitle": {
"message": "NE ossza meg ezt a mondatot senkivel!"
},
"rinkeby": {
"message": "Rinkeby teszthálózat"
},
"ropsten": {
"message": "Ropsten teszthálózat"
},
"rpcUrl": {
"message": "Új RPC URL"
},

View File

@ -616,17 +616,11 @@
"connectingToGoerli": {
"message": "Menghubungkan ke Jaringan Uji Goerli"
},
"connectingToKovan": {
"message": "Menghubungkan ke Jaringan Uji Kovan"
},
"connectingToMainnet": {
"message": "Menghubungkan ke Ethereum Mainnet"
},
"connectingToRinkeby": {
"message": "Menghubungkan ke Jaringan Uji Rinkeby"
},
"connectingToRopsten": {
"message": "Menghubungkan ke Jaringan Uji Ropsten"
"connectingToSepolia": {
"message": "Menghubungkan ke jaringan uji Sepolia"
},
"contactUs": {
"message": "Hubungi kami"
@ -1666,9 +1660,6 @@
"knownTokenWarning": {
"message": "Tindakan ini akan mengedit token yang telah terdaftar dalam dompet Anda, yang dapat digunakan untuk menipu Anda. Setujui hanya jika Anda yakin bahwa Anda ingin mengubah apa yang diwakili token ini. Pelajari selengkapnya seputar $1"
},
"kovan": {
"message": "Jaringan Uji Kovan"
},
"lastConnected": {
"message": "Terakhir Terhubung"
},
@ -2724,11 +2715,8 @@
"message": "Dengan mencabut izin, $1 berikut tidak lagi dapat mengakses $2 Anda",
"description": "$1 is either key 'account' or 'contract', and $2 is either a string or link of a given token symbol or name"
},
"rinkeby": {
"message": "Jaringan Uji Rinkeby"
},
"ropsten": {
"message": "Jaringan Uji Ropsten"
"revokeSpendingCapTooltipText": {
"message": "Kontrak ini tidak akan dapat mempergunakan token Anda saat ini atau di masa mendatang."
},
"rpcUrl": {
"message": "URL RPC Baru"

View File

@ -295,18 +295,9 @@
"connectingToGoerli": {
"message": "Connessione alla Rete di Test Goerli"
},
"connectingToKovan": {
"message": "Connessione alla Rete di test Kovan"
},
"connectingToMainnet": {
"message": "Connessione alla Rete Ethereum Principale"
},
"connectingToRinkeby": {
"message": "Connessione alla Rete di test Rinkeby"
},
"connectingToRopsten": {
"message": "Connessione alla Rete di test Ropsten"
},
"contactUs": {
"message": "Contattaci!"
},
@ -789,9 +780,6 @@
"knownTokenWarning": {
"message": "Questa azione modificherà i token che sono già nel tuo portafoglio, che possono essere utilizzati per truffarti. Approva solo se sei sicuro di voler cambiare ciò che rappresentano questi token."
},
"kovan": {
"message": "Rete di test Kovan"
},
"lastConnected": {
"message": "Ultima Connessione"
},
@ -1152,12 +1140,6 @@
"revealSeedWordsWarningTitle": {
"message": "NON CONDIVIDERE questa frase con nessuno!"
},
"rinkeby": {
"message": "Rete di test Rinkeby"
},
"ropsten": {
"message": "Rete di test Ropsten"
},
"rpcUrl": {
"message": "Nuovo URL RPC"
},

View File

@ -616,17 +616,11 @@
"connectingToGoerli": {
"message": "Goerliテストネットワークに接続中"
},
"connectingToKovan": {
"message": "Kovanテストネットワークに接続中"
},
"connectingToMainnet": {
"message": "イーサリアムメインネットに接続中"
},
"connectingToRinkeby": {
"message": "Rinkebyテストネットワークに接続中"
},
"connectingToRopsten": {
"message": "Ropstenテストネットワークに接続中"
"connectingToSepolia": {
"message": "Sepolia テストネットワークに接続中"
},
"contactUs": {
"message": "お問い合わせ"
@ -1666,9 +1660,6 @@
"knownTokenWarning": {
"message": "このアクションは、ウォレットに既に一覧表示されているトークンを編集します。これは、フィッシングに使用される可能性があります。これらのトークンの表す内容を変更する意図が確実な場合にのみ承認します。$1に関する詳細をご覧ください"
},
"kovan": {
"message": "Kovanテストネットワーク"
},
"lastConnected": {
"message": "前回の接続"
},
@ -2724,11 +2715,8 @@
"message": "アクセス許可を取り消すと、次の $1 が今後 $2 にアクセスできなくなります",
"description": "$1 is either key 'account' or 'contract', and $2 is either a string or link of a given token symbol or name"
},
"rinkeby": {
"message": "Rinkebyテストネットワーク"
},
"ropsten": {
"message": "Ropstenテストネットワーク"
"revokeSpendingCapTooltipText": {
"message": "このコントラクトは、現在または今後のトークンをこれ以上使用できなくなります。"
},
"rpcUrl": {
"message": "新しいRPC URL"

View File

@ -193,18 +193,9 @@
"connectingToGoerli": {
"message": "Goerli ಪರೀಕ್ಷಾ ನೆಟ್‌ವರ್ಕ್‌ಗೆ ಸಂಪರ್ಕಿಸಲಾಗುತ್ತಿದೆ"
},
"connectingToKovan": {
"message": "Kovan ಪರೀಕ್ಷಾ ನೆಟ್‌ವರ್ಕ್‌ಗೆ ಸಂಪರ್ಕಿಸಲಾಗುತ್ತಿದೆ "
},
"connectingToMainnet": {
"message": "ಮುಖ್ಯ ಎಥೆರಿಯಮ್ ನೆಟ್‌ವರ್ಕ್‌ಗೆ ಸಂಪರ್ಕಿಸಲಾಗುತ್ತಿದೆ"
},
"connectingToRinkeby": {
"message": "Rinkeby ಪರೀಕ್ಷಾ ನೆಟ್‌ವರ್ಕ್‌ಗೆ ಸಂಪರ್ಕಿಸಲಾಗುತ್ತಿದೆ"
},
"connectingToRopsten": {
"message": "Ropsten ಪರೀಕ್ಷಾ ನೆಟ್‌ವರ್ಕ್‌ಗೆ ಸಂಪರ್ಕಿಸಲಾಗುತ್ತಿದೆ"
},
"continueToWyre": {
"message": "Wyre ಗೆ ಮುಂದುವರಿಸಿ"
},
@ -503,9 +494,6 @@
"knownAddressRecipient": {
"message": "ತಿಳಿದಿರುವ ಒಪ್ಪಂದದ ವಿಳಾಸ."
},
"kovan": {
"message": "Kovan ಪರೀಕ್ಷೆ ನೆಟ್‌ವರ್ಕ್"
},
"learnMore": {
"message": "ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ"
},
@ -768,12 +756,6 @@
"revealSeedWordsWarningTitle": {
"message": "ಈ ಫ್ರೇಸ್ ಅನ್ನು ಯಾರೊಂದಿಗೂ ಹಂಚಿಕೊಳ್ಳಬೇಡಿ!"
},
"rinkeby": {
"message": "Rinkeby ಪರೀಕ್ಷೆ ನೆಟ್‌ವರ್ಕ್"
},
"ropsten": {
"message": "Ropsten ಪರೀಕ್ಷೆ ನೆಟ್‌ವರ್ಕ್"
},
"rpcUrl": {
"message": "ಹೊಸ RPC URL"
},

View File

@ -616,17 +616,11 @@
"connectingToGoerli": {
"message": "Goerli 테스트 네트워크에 연결 중"
},
"connectingToKovan": {
"message": "Kovan 테스트 네트워크에 연결 중"
},
"connectingToMainnet": {
"message": "이더리움 메인넷에 연결 중"
},
"connectingToRinkeby": {
"message": "Rinkeby 테스트 네트워크에 연결 중"
},
"connectingToRopsten": {
"message": "Ropsten 테스트 네트워크에 연결 중"
"connectingToSepolia": {
"message": "Sepolia 테스트 네트워크에 연결 중"
},
"contactUs": {
"message": "문의하기"
@ -1666,9 +1660,6 @@
"knownTokenWarning": {
"message": "이 작업은 지갑에 이미 나열되어 있고 피싱에 사용될 수 있는 토큰을 편집합니다. 해당 토큰이 나타내는 내용을 변경하려는 경우에만 작업을 승인하세요. $1에 대해 자세히 알아보기"
},
"kovan": {
"message": "Kovan 테스트 네트워크"
},
"lastConnected": {
"message": "마지막 연결"
},
@ -2724,11 +2715,8 @@
"message": "권한을 취소하면 다음 $1의 $2 권한은 더 이상 유효하지 않습니다",
"description": "$1 is either key 'account' or 'contract', and $2 is either a string or link of a given token symbol or name"
},
"rinkeby": {
"message": "Rinkeby 테스트 네트워크"
},
"ropsten": {
"message": "Ropsten 테스트 네트워크"
"revokeSpendingCapTooltipText": {
"message": "이 계약은 현재나 미래의 토큰을 더 이상 사용할 수 없습니다."
},
"rpcUrl": {
"message": "새 RPC URL"

View File

@ -193,18 +193,9 @@
"connectingToGoerli": {
"message": "Jungiamasi prie „Goerli“ bandomojo tinklo"
},
"connectingToKovan": {
"message": "Jungiamasi prie „Kovan“ bandomojo tinklo"
},
"connectingToMainnet": {
"message": "Jungiamasi prie pagrindinio „Ethereum“ tinklo"
},
"connectingToRinkeby": {
"message": "Jungiamasi prie „Rinkeby“ bandomojo tinklo"
},
"connectingToRopsten": {
"message": "Jungiamasi prie „Ropsten“ bandomojo tinklo"
},
"continueToWyre": {
"message": "Tęsti su „Wyre“"
},
@ -503,9 +494,6 @@
"knownAddressRecipient": {
"message": "Žinomas sutarties adresas."
},
"kovan": {
"message": "„Kovan“ bandomasis tinklas"
},
"learnMore": {
"message": "Sužinokite daugiau"
},
@ -768,12 +756,6 @@
"revealSeedWordsWarningTitle": {
"message": "Šia fraze su niekuo NESIDALINKITE!"
},
"rinkeby": {
"message": "„Rinkeby“ bandomasis tinklas"
},
"ropsten": {
"message": "„Ropsten“ bandomasis tinklas"
},
"rpcUrl": {
"message": "Naujas RPC URL"
},

View File

@ -193,18 +193,9 @@
"connectingToGoerli": {
"message": "Pieslēdzas Goerli testa tīklam"
},
"connectingToKovan": {
"message": "Savienojas ar Kovan testa tīklu"
},
"connectingToMainnet": {
"message": "Savienojas ar galveno Ethereum tīklu"
},
"connectingToRinkeby": {
"message": "Pieslēdzas Rinkeby testa tīklam"
},
"connectingToRopsten": {
"message": "Pieslēdzas Ropsten testa tīklam"
},
"continueToWyre": {
"message": "Pāriet uz Wyre"
},
@ -499,9 +490,6 @@
"knownAddressRecipient": {
"message": "Zināmā līguma adrese."
},
"kovan": {
"message": "Kovan testa tīkls"
},
"learnMore": {
"message": "Uzzināt vairāk"
},
@ -764,12 +752,6 @@
"revealSeedWordsWarningTitle": {
"message": "NEDALIETIES ar šo frāzi!"
},
"rinkeby": {
"message": "Rinkeby testa tīkls"
},
"ropsten": {
"message": "Ropsten testa tīkls"
},
"rpcUrl": {
"message": "Jauns RPC URL"
},

View File

@ -193,18 +193,9 @@
"connectingToGoerli": {
"message": "Menyambung kepada Rangkaian Ujian Goerli"
},
"connectingToKovan": {
"message": "Menyambungkan kepada Rangkaian Ujian Kovan"
},
"connectingToMainnet": {
"message": "Menyambung kepada Rangkaian Ethereum Utama"
},
"connectingToRinkeby": {
"message": "Menyambung kepada Rangkaian Ujian Rinkeby"
},
"connectingToRopsten": {
"message": "Menyambungkan kepada Rangkaian Ujian Ropsten"
},
"continueToWyre": {
"message": "Teruskan ke Wyre"
},
@ -492,9 +483,6 @@
"knownAddressRecipient": {
"message": "Alamat kontrak diketahui."
},
"kovan": {
"message": "Rangkaian Ujian Kovan"
},
"learnMore": {
"message": "Maklumat lanjut"
},
@ -748,12 +736,6 @@
"revealSeedWordsWarningTitle": {
"message": "JANGAN berkongsi ungkapan ini dengan orang lain!"
},
"rinkeby": {
"message": "Rangkaian Ujian Rinkeby"
},
"ropsten": {
"message": "Rangkaian Ujian Ropsten"
},
"rpcUrl": {
"message": "URL RPC baru"
},

View File

@ -175,9 +175,6 @@
"message": "JSON-bestand",
"description": "format for importing an account"
},
"kovan": {
"message": "Kovan-testnetwerk"
},
"likeToImportTokens": {
"message": "Wil je deze tokens toevoegen?"
},
@ -274,12 +271,6 @@
"revealSeedWordsWarning": {
"message": "Zorg dat je back-up woorden niet op een openbare plaats bekijkt! Deze woorden kunnen worden gebruikt om al uw accounts opnieuw te genereren (en dus uw account te stelen)."
},
"rinkeby": {
"message": "Rinkeby testnetwerk"
},
"ropsten": {
"message": "Ropsten testnetwerk"
},
"save": {
"message": "Opslaan"
},

View File

@ -190,18 +190,9 @@
"connectingToGoerli": {
"message": "Oppretter forbindelse med Goerli Test Network"
},
"connectingToKovan": {
"message": "Kobler til Kovan testnettverk"
},
"connectingToMainnet": {
"message": "Forbinder med hoved-Ethereumnettverk "
},
"connectingToRinkeby": {
"message": "Kobler til Rinkeby Test Network "
},
"connectingToRopsten": {
"message": "Kobler til Ropsten testnettverk"
},
"continueToWyre": {
"message": "Fortsett til Wyre "
},
@ -490,9 +481,6 @@
"knownAddressRecipient": {
"message": "Kjent kontaktadresse"
},
"kovan": {
"message": "Kovan testnettverk"
},
"learnMore": {
"message": "Lær mer"
},
@ -755,9 +743,6 @@
"revealSeedWordsWarningTitle": {
"message": "IKKE del denne frasen med noen! "
},
"rinkeby": {
"message": "Rinkeby testnettverk"
},
"rpcUrl": {
"message": "NY RPC-URL "
},

View File

@ -355,18 +355,9 @@
"connectingToGoerli": {
"message": "Kumokonekta sa Goerli Test Network"
},
"connectingToKovan": {
"message": "Kumokonekta sa Kovan Test Network"
},
"connectingToMainnet": {
"message": "Kumokonekta sa Ethereum Mainnet"
},
"connectingToRinkeby": {
"message": "Kumokonekta sa Rinkeby Test Network"
},
"connectingToRopsten": {
"message": "Kumokonekta sa Ropsten Test Network"
},
"contactUs": {
"message": "Makipag-ugnayan sa amin"
},
@ -924,9 +915,6 @@
"knownTokenWarning": {
"message": "Mae-edit ng aksyong ito ang mga token na nakalista na sa iyong wallet, na puwedeng gamitin para i-phish ka. Aprubahan lang kung sigurado kang gusto mong baguhin kung ano ang kinakatawan ng mga token na ito."
},
"kovan": {
"message": "Kovan Test Network"
},
"lastConnected": {
"message": "Huling Kumonekta"
},
@ -1435,12 +1423,6 @@
"revealSeedWordsWarningTitle": {
"message": "Huwag ibahagi ang phrase na ito sa kahit sino!"
},
"rinkeby": {
"message": "Rinkeby Test Network"
},
"ropsten": {
"message": "Ropsten Test Network"
},
"rpcUrl": {
"message": "Bagong RPC URL"
},

View File

@ -193,18 +193,9 @@
"connectingToGoerli": {
"message": "Łączenie z siecią testową Goerli"
},
"connectingToKovan": {
"message": "Łączenie z siecią testową Kovan"
},
"connectingToMainnet": {
"message": "Łączenie z główną siecią Ethereum"
},
"connectingToRinkeby": {
"message": "Łączenie z siecią testową Rinkeby"
},
"connectingToRopsten": {
"message": "Łączenie z siecią testową Ropsten"
},
"continueToWyre": {
"message": "Przejdź do Wyre"
},
@ -503,9 +494,6 @@
"knownAddressRecipient": {
"message": "Znany adres kontraktu."
},
"kovan": {
"message": "Sieć testowa Kovan"
},
"learnMore": {
"message": "Dowiedz się więcej"
},
@ -762,12 +750,6 @@
"revealSeedWordsWarningTitle": {
"message": "NIE pokazuj tej frazy nikomu!"
},
"rinkeby": {
"message": "Sieć testowa Rinkeby"
},
"ropsten": {
"message": "Sieć testowa Ropsten"
},
"rpcUrl": {
"message": "Nowy adres URL RPC"
},

View File

@ -616,17 +616,11 @@
"connectingToGoerli": {
"message": "Conectando à rede de testes Goerli"
},
"connectingToKovan": {
"message": "Conectando à rede de testes Kovan"
},
"connectingToMainnet": {
"message": "Conectando à mainnet do Ethereum"
},
"connectingToRinkeby": {
"message": "Conectando à rede de testes Rinkeby"
},
"connectingToRopsten": {
"message": "Conectando à rede de testes Ropsten"
"connectingToSepolia": {
"message": "Conectando à rede de teste Sepolia"
},
"contactUs": {
"message": "Fale conosco"
@ -1666,9 +1660,6 @@
"knownTokenWarning": {
"message": "Essa ação editará os tokens já listados na sua carteira, que podem ser usado para praticar phishing contra você. Só aprove se você tiver certeza de que quer alterar o que esses tokens representam."
},
"kovan": {
"message": "Rede de Teste Kovan"
},
"lastConnected": {
"message": "Conectado pela última vez em"
},
@ -2724,11 +2715,8 @@
"message": "Ao revogar a permissão, o $1 a seguir não terá mais acesso ao seu $2",
"description": "$1 is either key 'account' or 'contract', and $2 is either a string or link of a given token symbol or name"
},
"rinkeby": {
"message": "Rede de Teste Rinkeby"
},
"ropsten": {
"message": "Rede de Teste Ropsten"
"revokeSpendingCapTooltipText": {
"message": "Este contrato não poderá gastar mais nenhum de seus tokens atuais ou futuros."
},
"rpcUrl": {
"message": "Novo URL da RPC"

View File

@ -514,18 +514,9 @@
"connectingToGoerli": {
"message": "Conectando à rede de testes Goerli"
},
"connectingToKovan": {
"message": "Conectando à rede de testes Kovan"
},
"connectingToMainnet": {
"message": "Conectando à mainnet do Ethereum"
},
"connectingToRinkeby": {
"message": "Conectando à rede de testes Rinkeby"
},
"connectingToRopsten": {
"message": "Conectando à rede de testes Ropsten"
},
"contactUs": {
"message": "Fale conosco"
},
@ -1409,9 +1400,6 @@
"knownTokenWarning": {
"message": "Essa ação editará os tokens já listados na sua carteira, que podem ser usado para praticar phishing contra você. Só aprove se você tiver certeza de que quer alterar o que esses tokens representam."
},
"kovan": {
"message": "Rede de testes Kovan"
},
"lastConnected": {
"message": "Conectado pela última vez em"
},
@ -2232,12 +2220,6 @@
"revealSeedWordsWarningTitle": {
"message": "NÃO compartilhe essa frase com ninguém!"
},
"rinkeby": {
"message": "Rede de testes Rinkeby"
},
"ropsten": {
"message": "Rede de testes Ropsten"
},
"rpcUrl": {
"message": "Novo URL da RPC"
},

View File

@ -193,18 +193,9 @@
"connectingToGoerli": {
"message": "Se conectează la rețeaua de test Goerli"
},
"connectingToKovan": {
"message": "Se conectează la rețeaua de test Kovan"
},
"connectingToMainnet": {
"message": "Se conectează la rețeaua Ethereum principală"
},
"connectingToRinkeby": {
"message": "Se conectează la Rețeaua de test Rinkeby"
},
"connectingToRopsten": {
"message": "Se conectează la rețeaua de test Ropsten"
},
"continueToWyre": {
"message": "Continuați la Wyre"
},
@ -493,9 +484,6 @@
"knownAddressRecipient": {
"message": "Adresa cunoscută din contract."
},
"kovan": {
"message": "Rețea de test Kovan"
},
"learnMore": {
"message": "Aflați mai multe"
},
@ -755,12 +743,6 @@
"revealSeedWordsWarningTitle": {
"message": "NU împărtășiți această expresie nimănui!"
},
"rinkeby": {
"message": "Rețea test Rinkeby"
},
"ropsten": {
"message": "Rețea de testare Ropsten"
},
"rpcUrl": {
"message": "URL RPC nou"
},

View File

@ -616,17 +616,11 @@
"connectingToGoerli": {
"message": "Подключение к тестовой сети Goerli..."
},
"connectingToKovan": {
"message": "Подключение к тестовой сети Kovan..."
},
"connectingToMainnet": {
"message": "Подключение к сети Ethereum Mainnet..."
},
"connectingToRinkeby": {
"message": "Подключение к тестовой сети Rinkeby..."
},
"connectingToRopsten": {
"message": "Подключение к тестовой сети Ropsten..."
"connectingToSepolia": {
"message": "Подключение к тестовой сети Sepolia..."
},
"contactUs": {
"message": "Свяжитесь с нами"
@ -1666,9 +1660,6 @@
"knownTokenWarning": {
"message": "Это действие изменит токены, уже указанные в вашем кошельке, которые можно использовать для фишинга. Утверждайте, только если вы уверены, что хотите изменить то, что представляют эти токены. Узнайте подробнее о $1"
},
"kovan": {
"message": "Тестовая сеть Kovan"
},
"lastConnected": {
"message": "Последнее подключение"
},
@ -2724,11 +2715,8 @@
"message": "При отмене разрешения следующий $1 больше не сможет получить доступ к вашему $2",
"description": "$1 is either key 'account' or 'contract', and $2 is either a string or link of a given token symbol or name"
},
"rinkeby": {
"message": "Тестовая сеть Rinkeby"
},
"ropsten": {
"message": "Тестовая сеть Ropsten"
"revokeSpendingCapTooltipText": {
"message": "Этот контракт не позволит вам больше тратить ваши текущие или будущие токены."
},
"rpcUrl": {
"message": "Новый URL-адрес RPC"

View File

@ -187,18 +187,9 @@
"connectingToGoerli": {
"message": "Pripája sa k testovacej sieti Goerli"
},
"connectingToKovan": {
"message": "Připojuji se k Kovan Test Network"
},
"connectingToMainnet": {
"message": "Připojuji se k Ethereum Mainnet"
},
"connectingToRinkeby": {
"message": "Připojuji se k Rinkeby Test Network"
},
"connectingToRopsten": {
"message": "Připojuji se k Ropsten Test Network"
},
"continueToWyre": {
"message": "Pokračovať na Wyre"
},

View File

@ -193,18 +193,9 @@
"connectingToGoerli": {
"message": "Povezovanje na testno omrežje Goerli"
},
"connectingToKovan": {
"message": "Povezovanje na testno omrežje Kovan"
},
"connectingToMainnet": {
"message": "Povezovanje na glavno omrežje"
},
"connectingToRinkeby": {
"message": "Povezovanje na testno omrežje Rinkeby"
},
"connectingToRopsten": {
"message": "Povezovanje na testno omrežje Ropsten"
},
"continueToWyre": {
"message": "Nadaljuj na Wyre"
},
@ -497,9 +488,6 @@
"knownAddressRecipient": {
"message": "Znan naslov pogodbe."
},
"kovan": {
"message": "Testno omrežje Kovan"
},
"learnMore": {
"message": "Preberite več"
},
@ -756,12 +744,6 @@
"revealSeedWordsWarningTitle": {
"message": "Tega ne delite z nikomer!"
},
"rinkeby": {
"message": "Testno omrežje Rinkeby"
},
"ropsten": {
"message": "Testno omrežje Ropsten"
},
"rpcUrl": {
"message": "Nov URL RPC"
},

View File

@ -190,18 +190,9 @@
"connectingToGoerli": {
"message": "Povezuje se sa test mrežom Goerli "
},
"connectingToKovan": {
"message": "Povezuje se na test mrežu Kovan"
},
"connectingToMainnet": {
"message": "Povezuje se na glavnu Ethereum mrežu"
},
"connectingToRinkeby": {
"message": "Poezivanje na Rinkeby Test mrežu"
},
"connectingToRopsten": {
"message": "Povezuje se na Ropsten Test mrežu"
},
"continueToWyre": {
"message": "Nastavite ka Wyre"
},
@ -500,9 +491,6 @@
"knownAddressRecipient": {
"message": "Poznata adresa ugovora."
},
"kovan": {
"message": "Kovan test mreža"
},
"learnMore": {
"message": "Nauči više"
},
@ -759,12 +747,6 @@
"revealSeedWordsWarningTitle": {
"message": "NE delite ovu frazu ni sa kim!"
},
"rinkeby": {
"message": "Rinkeby test mreža"
},
"ropsten": {
"message": "Test mreža Ropsten"
},
"rpcUrl": {
"message": "Novi RPC URL"
},

View File

@ -187,18 +187,9 @@
"connectingToGoerli": {
"message": "Ansluter till Goerli Test Network"
},
"connectingToKovan": {
"message": "Ansluter till Kovans testnätverk"
},
"connectingToMainnet": {
"message": "Koppla till Ethereums huvudnätverk"
},
"connectingToRinkeby": {
"message": "Ansluter till Rinkeby Test Network"
},
"connectingToRopsten": {
"message": "Ansluter till Ropsten Test Network"
},
"continueToWyre": {
"message": "Fortsätt till Wyre"
},
@ -493,9 +484,6 @@
"knownAddressRecipient": {
"message": "Känd kontraktadress."
},
"kovan": {
"message": "Kovan testnätverk"
},
"learnMore": {
"message": "Läs mer"
},
@ -752,12 +740,6 @@
"revealSeedWordsWarningTitle": {
"message": "DELA INTE frasen med någon!"
},
"rinkeby": {
"message": "Rinkeby testnätverk"
},
"ropsten": {
"message": "Ropsten testnätverk"
},
"rpcUrl": {
"message": "Ny RPC-URL"
},

View File

@ -187,18 +187,9 @@
"connectingToGoerli": {
"message": "Inaunganisha kwenye Mtandao wa Majaribio wa Goerli"
},
"connectingToKovan": {
"message": "Inaunganisha kwenye Mtandao wa Majaribio wa Kovan"
},
"connectingToMainnet": {
"message": "Inaunganisha kwenye Mtandao Mkuu wa Ethereum"
},
"connectingToRinkeby": {
"message": "Inaunganisha kwenye Mtandao wa Majaribio wa Rinkeby"
},
"connectingToRopsten": {
"message": "Inaunganisha kwenye Mtandao wa Majaribio wa Ropsten"
},
"continueToWyre": {
"message": "Endelea kwenye Wyre"
},
@ -490,9 +481,6 @@
"knownAddressRecipient": {
"message": "Anwani za mkataba zinazofahamika."
},
"kovan": {
"message": "Mtandao wa Majaribio wa Kovan"
},
"learnMore": {
"message": "Jifunze zaidi"
},
@ -746,12 +734,6 @@
"revealSeedWordsWarningTitle": {
"message": "USISHIRIKI kirai hiki na mtu yeyote!"
},
"rinkeby": {
"message": "Mtandao wa Majaribio wa Rinkeby"
},
"ropsten": {
"message": "Mtandao wa Majaribio wa Ropsten"
},
"rpcUrl": {
"message": "RPC URL mpya"
},

View File

@ -78,18 +78,9 @@
"connect": {
"message": "இணை"
},
"connectingToKovan": {
"message": "கோவன் டெஸ்ட் நெட்வொர்க்குடன் இணைத்தல்"
},
"connectingToMainnet": {
"message": "முக்கிய எதெரியும் நெட்வொர்க் இணைக்கும்"
},
"connectingToRinkeby": {
"message": "ரிங்கெப்ய டெஸ்ட் நெட்வொர்க்குடன் இணைக்கிறது"
},
"connectingToRopsten": {
"message": "ரொப்ஸ்டென் டெஸ்ட் நெட்வொர்க்குடன் இணைக்கிறது"
},
"contractDeployment": {
"message": "ஒப்பந்த வரிசைப்படுத்தல்"
},
@ -238,9 +229,6 @@
"message": "JSON கோப்பு",
"description": "format for importing an account"
},
"kovan": {
"message": "கோவன் டெஸ்ட் நெட்வொர்க்"
},
"learnMore": {
"message": "மேலும் அறிக"
},
@ -392,12 +380,6 @@
"revealSeedWordsWarning": {
"message": "உங்கள் விதை வார்த்தைகள் ஒரு பொது இடத்தில் மீட்க வேண்டாம்! உங்கள் எல்லா கணக்குகளையும் திருட இந்த வார்த்தைகள் பயன்படுத்தப்படலாம்."
},
"rinkeby": {
"message": "ரிங்கெப்ய டெஸ்ட் நெட்வொர்க்"
},
"ropsten": {
"message": "ரொப்ஸ்டென் டெஸ்ட் நெட்வொர்க்"
},
"save": {
"message": "சேமி"
},

View File

@ -81,9 +81,6 @@
"connectingToMainnet": {
"message": "เชื่อมต่อกับเครือข่าย Ethereum หลัก"
},
"connectingToRopsten": {
"message": "เชื่อมต่อกับเครือข่ายทดสอบ Ropsten"
},
"continueToWyre": {
"message": "ไปที่ Wyre"
},
@ -253,9 +250,6 @@
"message": "ไฟล์ JSON",
"description": "format for importing an account"
},
"kovan": {
"message": "เครือข่ายทดสอบ Kovan"
},
"learnMore": {
"message": "เรียนรู้เพิ่มเติม"
},
@ -380,12 +374,6 @@
"revealSeedWordsWarning": {
"message": "อย่าเปิดเผยคำกลุ่มคำชีดของคุณในที่สาธารณะ! คำเหล่านี้สามารถใช้เพื่อขโมยบัญชีทั้งหมดของคุณ"
},
"rinkeby": {
"message": "เครือข่ายทดสอบ Rinkeby"
},
"ropsten": {
"message": "เครือข่ายทดสอบ Ropsten"
},
"save": {
"message": "บันทึก"
},

View File

@ -616,17 +616,11 @@
"connectingToGoerli": {
"message": "Kumokonekta sa Goerli Test Network"
},
"connectingToKovan": {
"message": "Kumokonekta sa Kovan Test Network"
},
"connectingToMainnet": {
"message": "Kumokonekta sa Ethereum Mainnet"
},
"connectingToRinkeby": {
"message": "Kumokonekta sa Rinkeby Test Network"
},
"connectingToRopsten": {
"message": "Kumokonekta sa Ropsten Test Network"
"connectingToSepolia": {
"message": "Kumokonekta sa Sepolia test network"
},
"contactUs": {
"message": "Makipag-ugnayan sa amin"
@ -1666,9 +1660,6 @@
"knownTokenWarning": {
"message": "Mae-edit ng aksyong ito ang mga token na nakalista na sa iyong wallet, na puwedeng gamitin para i-phish ka. Aprubahan lang kung sigurado kang gusto mong baguhin kung ano ang kinakatawan ng mga token na ito. Alamin pa ang tungkol sa $1"
},
"kovan": {
"message": "Kovan Test Network"
},
"lastConnected": {
"message": "Huling Kumonekta"
},
@ -2724,11 +2715,8 @@
"message": "Sa pamamagitan ng pagbawi ng pahintulot, hindi na maa-access ng sumusunod na $1 ang iyong $2",
"description": "$1 is either key 'account' or 'contract', and $2 is either a string or link of a given token symbol or name"
},
"rinkeby": {
"message": "Rinkeby Test Network"
},
"ropsten": {
"message": "Ropsten Test Network"
"revokeSpendingCapTooltipText": {
"message": "Hindi na magagawang gastusin pa ng kontratang ito ang iyong mga pangkasalukuyan o panghinaharap na mga token."
},
"rpcUrl": {
"message": "Bagong RPC URL"

View File

@ -616,17 +616,11 @@
"connectingToGoerli": {
"message": "Goerli Test Ağına Bağlanıyor"
},
"connectingToKovan": {
"message": "Kovan Test Ağına bağlanıyor"
},
"connectingToMainnet": {
"message": "Ethereum Mainnet ağına bağlanıyor"
},
"connectingToRinkeby": {
"message": "Rinkeby Test Ağına bağlanıyor"
},
"connectingToRopsten": {
"message": "Ropsten Test Ağına bağlanıyor"
"connectingToSepolia": {
"message": "Sepolia test ağına bağlanılıyor"
},
"contactUs": {
"message": "Bize ulaşın"
@ -1666,9 +1660,6 @@
"knownTokenWarning": {
"message": "Bu eylem kimlik avı için kullanılabilecek şekilde cüzdanınızda zaten listelenmiş olan tokenleri düzenleyecektir. Sadece bu tokenlerin neyi temsil ettiğini değiştirmek istediğinizden eminseniz onaylayın. $1 hakkında daha fazla bilgi edinin"
},
"kovan": {
"message": "Kovan Test Ağı"
},
"lastConnected": {
"message": "Son Bağlanma"
},
@ -2724,11 +2715,8 @@
"message": "İzni geri çektiğinizde aşağıdaki $1 artık $2 alanınıza erişim sağlayamayacak",
"description": "$1 is either key 'account' or 'contract', and $2 is either a string or link of a given token symbol or name"
},
"rinkeby": {
"message": "Rinkeby Test Ağı"
},
"ropsten": {
"message": "Ropsten Test Ağı"
"revokeSpendingCapTooltipText": {
"message": "Bu sözleşme şimdiki ya da gelecekteki tokenlerinizin hiçbirini kullanamayacak."
},
"rpcUrl": {
"message": "Yeni RPC URL adresi"

View File

@ -193,18 +193,9 @@
"connectingToGoerli": {
"message": "Підключення до тестової мережі Goerli"
},
"connectingToKovan": {
"message": "Підключення до тестової мережі Kovan"
},
"connectingToMainnet": {
"message": "З'єднуємось з Головною мережею Ethereum"
},
"connectingToRinkeby": {
"message": "Під'єднуємось до тестової мережі Rinkeby"
},
"connectingToRopsten": {
"message": "Під'єднуємось до Тестової мережі Ropsten"
},
"continueToWyre": {
"message": "Продовжити у Wyre"
},
@ -503,9 +494,6 @@
"knownAddressRecipient": {
"message": "Відома контрактна адреса."
},
"kovan": {
"message": "Тестова мережа Kovan"
},
"learnMore": {
"message": "Дізнатись більше"
},
@ -768,12 +756,6 @@
"revealSeedWordsWarningTitle": {
"message": "НЕ передавайте цю фразу нікому!"
},
"rinkeby": {
"message": "Тестова мережа Rinkeby"
},
"ropsten": {
"message": "Тестова мережа Ropsten"
},
"rpcUrl": {
"message": "Новий RPC URL"
},

View File

@ -616,17 +616,11 @@
"connectingToGoerli": {
"message": "Đang kết nối với mạng thử nghiệm Goerli"
},
"connectingToKovan": {
"message": "Đang kết nối với mạng thử nghiệm Kovan"
},
"connectingToMainnet": {
"message": "Đang kết nối với mạng chính thức của Ethereum"
},
"connectingToRinkeby": {
"message": "Đang kết nối với mạng thử nghiệm Rinkeby"
},
"connectingToRopsten": {
"message": "Đang kết nối với mạng thử nghiệm Ropsten"
"connectingToSepolia": {
"message": "Đang kết nối với mạng thử nghiệm Sepolia"
},
"contactUs": {
"message": "Liên hệ với chúng tôi"
@ -1666,9 +1660,6 @@
"knownTokenWarning": {
"message": "Hành động này sẽ chỉnh sửa các token đã niêm yết trong ví của bạn, kẻ xấu có thể lợi dụng việc này để lừa đảo bạn. Chỉ phê duyệt nếu bạn chắc chắn rằng bạn muốn thay đổi giá trị mà những token này đại diện cho. Tìm hiểu thêm về $1"
},
"kovan": {
"message": "Mạng thử nghiệm Kovan"
},
"lastConnected": {
"message": "Đã kết nối lần cuối"
},
@ -2724,11 +2715,8 @@
"message": "Bằng cách thu hồi quyền truy cập, $1 sau đây sẽ không thể truy cập vào $2 của bạn nữa",
"description": "$1 is either key 'account' or 'contract', and $2 is either a string or link of a given token symbol or name"
},
"rinkeby": {
"message": "Mạng thử nghiệm Rinkeby"
},
"ropsten": {
"message": "Mạng thử nghiệm Ropsten"
"revokeSpendingCapTooltipText": {
"message": "Hợp đồng này sẽ không thể chi tiêu thêm bất kỳ token hiện tại hoặc tương lai nào của bạn."
},
"rpcUrl": {
"message": "URL RPC mới"

View File

@ -619,18 +619,9 @@
"connectingToGoerli": {
"message": "正在连接 Goerli 测试网络"
},
"connectingToKovan": {
"message": "正在连接到 Kovan 测试网络"
},
"connectingToMainnet": {
"message": "正在连接到以太坊主网"
},
"connectingToRinkeby": {
"message": "正在连接到 Rinkeby 测试网络"
},
"connectingToRopsten": {
"message": "正在连接到 Ropsten 测试网络"
},
"contactUs": {
"message": "联系我们"
},
@ -1669,9 +1660,6 @@
"knownTokenWarning": {
"message": "此操作将编辑已经在您的钱包中列出的代币,有肯能被用来欺骗您。只有确定要更改这些代币的内容时,才通过此操作。了解更多关于 $1"
},
"kovan": {
"message": "Kovan 测试网络"
},
"lastConnected": {
"message": "最后连接"
},
@ -2734,12 +2722,6 @@
"message": "通过撤销权限,以下$1将无法再访问您的$2",
"description": "$1 is either key 'account' or 'contract', and $2 is either a string or link of a given token symbol or name"
},
"rinkeby": {
"message": "Rinkeby 测试网络"
},
"ropsten": {
"message": "Ropsten 测试网络"
},
"rpcUrl": {
"message": "新的 RPC URL"
},

View File

@ -506,17 +506,11 @@
"connectingToGoerli": {
"message": "正在连接 Goerli 测试网络"
},
"connectingToKovan": {
"message": "正在连接到 Kovan 测试网络"
},
"connectingToMainnet": {
"message": "正在连接到以太坊 Ethereum 主网"
},
"connectingToRinkeby": {
"message": "正在连接到 Rinkeby 测试网络"
},
"connectingToRopsten": {
"message": "正在连接到 Ropsten 测试网络"
"connectingToSepolia": {
"message": "正在连接Sepolia测试网络"
},
"contactUs": {
"message": "联系我们"
@ -1376,9 +1370,6 @@
"knownTokenWarning": {
"message": "此操作将编辑已经在您的钱包中列出的代币,有可能被用来欺骗您。只有确定要更改这些代币的内容时,才通过此操作。了解更多关于 $1"
},
"kovan": {
"message": "Kovan 测试网络"
},
"lastConnected": {
"message": "最后连接"
},
@ -2199,12 +2190,6 @@
"revealSeedWordsWarningTitle": {
"message": "不要对任何人展示此账户助记词!"
},
"rinkeby": {
"message": "Rinkeby 测试网络"
},
"ropsten": {
"message": "Ropsten 测试网络"
},
"rpcUrl": {
"message": "新增 RPC URL"
},

View File

@ -196,18 +196,9 @@
"connectingToGoerli": {
"message": "連接至 Goerli 測試網路"
},
"connectingToKovan": {
"message": "連線到 Kovan 測試網路"
},
"connectingToMainnet": {
"message": "連線到主 Ethereum 網路"
},
"connectingToRinkeby": {
"message": "連線到 Rinkeby 測試網路"
},
"connectingToRopsten": {
"message": "連線到 Ropsten 測試網路"
},
"continueToWyre": {
"message": "繼續至 Wyre"
},
@ -503,9 +494,6 @@
"knownAddressRecipient": {
"message": "已知合約位址"
},
"kovan": {
"message": "Kovan 測試網路"
},
"learnMore": {
"message": "了解更多"
},
@ -750,12 +738,6 @@
"revealSeedWordsWarningTitle": {
"message": "請勿將助憶詞洩漏予他人"
},
"rinkeby": {
"message": "Rinkeby 測試網路"
},
"ropsten": {
"message": "Ropsten 測試網路"
},
"rpcUrl": {
"message": "新的 RPC URL"
},

View File

@ -1,11 +1,5 @@
export const SINGLE_CALL_BALANCES_ADDRESS =
'0xb1f8e55c7f64d203c1400b9d8555d050f94adf39';
export const SINGLE_CALL_BALANCES_ADDRESS_RINKEBY =
'0x9f510b19f1ad66f0dcf6e45559fab0d6752c1db7';
export const SINGLE_CALL_BALANCES_ADDRESS_ROPSTEN =
'0xb8e671734ce5c8d7dfbbea5574fa4cf39f7a54a4';
export const SINGLE_CALL_BALANCES_ADDRESS_KOVAN =
'0xb1d3fbb2f83aecd196f474c16ca5d9cffa0d0ffc';
export const SINGLE_CALL_BALANCES_ADDRESS_GOERLI =
'0x9788C4E93f9002a7ad8e72633b11E8d1ecd51f9b';
// TODO(SEPOLIA) There is currently no balance call address for Sepolia

View File

@ -40,9 +40,6 @@ export default class AppStateController extends EventEmitter {
collectiblesDropdownState: {},
usedNetworks: {
'0x1': true,
'0x2a': true,
'0x3': true,
'0x4': true,
'0x5': true,
'0x539': true,
},

View File

@ -1,13 +1,13 @@
import { strict as assert } from 'assert';
import sinon from 'sinon';
import { KOVAN_CHAIN_ID } from '../../../shared/constants/network';
import { GOERLI_CHAIN_ID } from '../../../shared/constants/network';
import CachedBalancesController from './cached-balances';
describe('CachedBalancesController', function () {
describe('updateCachedBalances', function () {
it('should update the cached balances', async function () {
const controller = new CachedBalancesController({
getCurrentChainId: () => KOVAN_CHAIN_ID,
getCurrentChainId: () => GOERLI_CHAIN_ID,
accountTracker: {
store: {
subscribe: () => undefined,
@ -27,7 +27,7 @@ describe('CachedBalancesController', function () {
assert.equal(controller._generateBalancesToCache.callCount, 1);
assert.deepEqual(controller._generateBalancesToCache.args[0], [
'mockAccounts',
KOVAN_CHAIN_ID,
GOERLI_CHAIN_ID,
]);
assert.equal(
controller.store.getState().cachedBalances,
@ -46,7 +46,7 @@ describe('CachedBalancesController', function () {
},
initState: {
cachedBalances: {
[KOVAN_CHAIN_ID]: {
[GOERLI_CHAIN_ID]: {
a: '0x1',
b: '0x2',
c: '0x3',
@ -66,11 +66,11 @@ describe('CachedBalancesController', function () {
b: { balance: null },
c: { balance: '0x5' },
},
KOVAN_CHAIN_ID,
GOERLI_CHAIN_ID,
);
assert.deepEqual(result, {
[KOVAN_CHAIN_ID]: {
[GOERLI_CHAIN_ID]: {
a: '0x4',
b: '0x2',
c: '0x5',
@ -92,7 +92,7 @@ describe('CachedBalancesController', function () {
},
initState: {
cachedBalances: {
[KOVAN_CHAIN_ID]: {
[GOERLI_CHAIN_ID]: {
a: '0x1',
b: '0x2',
c: '0x3',
@ -111,7 +111,7 @@ describe('CachedBalancesController', function () {
);
assert.deepEqual(result, {
[KOVAN_CHAIN_ID]: {
[GOERLI_CHAIN_ID]: {
a: '0x1',
b: '0x2',
c: '0x3',
@ -128,7 +128,7 @@ describe('CachedBalancesController', function () {
it('should subscribe to the account tracker with the updateCachedBalances method', async function () {
const subscribeSpy = sinon.spy();
const controller = new CachedBalancesController({
getCurrentChainId: () => KOVAN_CHAIN_ID,
getCurrentChainId: () => GOERLI_CHAIN_ID,
accountTracker: {
store: {
subscribe: subscribeSpy,

View File

@ -9,7 +9,7 @@ import {
TokensController,
AssetsContractController,
} from '@metamask/controllers';
import { MAINNET, ROPSTEN } from '../../../shared/constants/network';
import { MAINNET, SEPOLIA } from '../../../shared/constants/network';
import { toChecksumHexAddress } from '../../../shared/modules/hexstring-utils';
import DetectTokensController from './detect-tokens';
import NetworkController from './network';
@ -195,15 +195,15 @@ describe('DetectTokensController', function () {
it('should not check and add tokens while on unsupported networks', async function () {
sandbox.useFakeTimers();
network.setProviderType(ROPSTEN);
const tokenListMessengerRopsten = new ControllerMessenger().getRestricted({
network.setProviderType(SEPOLIA);
const tokenListMessengerSepolia = new ControllerMessenger().getRestricted({
name: 'TokenListController',
});
tokenListController = new TokenListController({
chainId: '3',
chainId: '11155111',
onNetworkStateChange: sinon.spy(),
onPreferencesStateChange: sinon.spy(),
messenger: tokenListMessengerRopsten,
messenger: tokenListMessengerSepolia,
});
await tokenListController.start();
const controller = new DetectTokensController({

View File

@ -10,7 +10,7 @@ describe('EnsController', function () {
let getCurrentChainId;
let onNetworkDidChange;
beforeEach(function () {
currentChainId = '0x3';
currentChainId = '0x5';
getCurrentChainId = () => currentChainId;
onNetworkDidChange = sinon.spy();
});

View File

@ -13,10 +13,7 @@ import {
CHAIN_ID_TO_NETWORK_ID_MAP,
CHAIN_ID_TO_TYPE_MAP,
GOERLI_CHAIN_ID,
KOVAN_CHAIN_ID,
MAINNET_CHAIN_ID,
RINKEBY_CHAIN_ID,
ROPSTEN_CHAIN_ID,
SEPOLIA_CHAIN_ID,
} from '../../../shared/constants/network';
@ -55,10 +52,7 @@ const fetchWithTimeout = getFetchWithTimeout();
*/
const etherscanSupportedNetworks = [
GOERLI_CHAIN_ID,
KOVAN_CHAIN_ID,
MAINNET_CHAIN_ID,
RINKEBY_CHAIN_ID,
ROPSTEN_CHAIN_ID,
SEPOLIA_CHAIN_ID,
];
@ -84,10 +78,7 @@ export default class IncomingTransactionsController {
incomingTransactions: {},
incomingTxLastFetchedBlockByChainId: {
[GOERLI_CHAIN_ID]: null,
[KOVAN_CHAIN_ID]: null,
[MAINNET_CHAIN_ID]: null,
[RINKEBY_CHAIN_ID]: null,
[ROPSTEN_CHAIN_ID]: null,
[SEPOLIA_CHAIN_ID]: null,
},
...opts.initState,

View File

@ -8,13 +8,10 @@ import waitUntilCalled from '../../../test/lib/wait-until-called';
import {
CHAIN_ID_TO_TYPE_MAP,
GOERLI_CHAIN_ID,
KOVAN_CHAIN_ID,
MAINNET_CHAIN_ID,
RINKEBY_CHAIN_ID,
ROPSTEN_CHAIN_ID,
SEPOLIA_CHAIN_ID,
ROPSTEN_NETWORK_ID,
ROPSTEN,
GOERLI_NETWORK_ID,
GOERLI,
} from '../../../shared/constants/network';
import {
TRANSACTION_TYPES,
@ -36,18 +33,12 @@ const PREPOPULATED_INCOMING_TXS_BY_HASH = {
};
const PREPOPULATED_BLOCKS_BY_NETWORK = {
[GOERLI_CHAIN_ID]: 1,
[KOVAN_CHAIN_ID]: 2,
[MAINNET_CHAIN_ID]: 3,
[RINKEBY_CHAIN_ID]: 5,
[ROPSTEN_CHAIN_ID]: 4,
[SEPOLIA_CHAIN_ID]: 6,
};
const EMPTY_BLOCKS_BY_NETWORK = {
[GOERLI_CHAIN_ID]: null,
[KOVAN_CHAIN_ID]: null,
[MAINNET_CHAIN_ID]: null,
[RINKEBY_CHAIN_ID]: null,
[ROPSTEN_CHAIN_ID]: null,
[SEPOLIA_CHAIN_ID]: null,
};
@ -152,10 +143,7 @@ const getFakeEtherscanTransaction = ({
function nockEtherscanApiForAllChains(mockResponse) {
for (const chainId of [
GOERLI_CHAIN_ID,
KOVAN_CHAIN_ID,
MAINNET_CHAIN_ID,
RINKEBY_CHAIN_ID,
ROPSTEN_CHAIN_ID,
SEPOLIA_CHAIN_ID,
'undefined',
]) {
@ -251,16 +239,16 @@ describe('IncomingTransactionsController', function () {
const incomingTransactionsController = new IncomingTransactionsController(
{
blockTracker: getMockBlockTracker(),
...getMockNetworkControllerMethods(ROPSTEN_CHAIN_ID),
...getMockNetworkControllerMethods(GOERLI_CHAIN_ID),
preferencesController: getMockPreferencesController(),
initState: getNonEmptyInitState(),
},
);
const startBlock =
getNonEmptyInitState().incomingTxLastFetchedBlockByChainId[
ROPSTEN_CHAIN_ID
GOERLI_CHAIN_ID
];
nock('https://api-ropsten.etherscan.io')
nock('https://api-goerli.etherscan.io')
.get(
`/api?module=account&action=txlist&address=${MOCK_SELECTED_ADDRESS}&tag=latest&page=1&startBlock=${startBlock}`,
)
@ -310,8 +298,8 @@ describe('IncomingTransactionsController', function () {
'0xfake': {
blockNumber: '10',
hash: '0xfake',
metamaskNetworkId: ROPSTEN_NETWORK_ID,
chainId: ROPSTEN_CHAIN_ID,
metamaskNetworkId: GOERLI_NETWORK_ID,
chainId: GOERLI_CHAIN_ID,
status: TRANSACTION_STATUSES.CONFIRMED,
time: 16000000000000000,
type: TRANSACTION_TYPES.INCOMING,
@ -327,8 +315,8 @@ describe('IncomingTransactionsController', function () {
'0xfakeeip1559': {
blockNumber: '10',
hash: '0xfakeeip1559',
metamaskNetworkId: ROPSTEN_NETWORK_ID,
chainId: ROPSTEN_CHAIN_ID,
metamaskNetworkId: GOERLI_NETWORK_ID,
chainId: GOERLI_CHAIN_ID,
status: TRANSACTION_STATUSES.CONFIRMED,
time: 16000000000000000,
type: TRANSACTION_TYPES.INCOMING,
@ -345,7 +333,7 @@ describe('IncomingTransactionsController', function () {
},
incomingTxLastFetchedBlockByChainId: {
...getNonEmptyInitState().incomingTxLastFetchedBlockByChainId,
[ROPSTEN_CHAIN_ID]: 11,
[GOERLI_CHAIN_ID]: 11,
},
},
'State should have been updated after first block was received',
@ -453,7 +441,7 @@ describe('IncomingTransactionsController', function () {
const incomingTransactionsController = new IncomingTransactionsController(
{
blockTracker: getMockBlockTracker(),
...getMockNetworkControllerMethods(ROPSTEN_CHAIN_ID),
...getMockNetworkControllerMethods(GOERLI_CHAIN_ID),
preferencesController: getMockPreferencesController(),
initState: getNonEmptyInitState(),
},
@ -498,7 +486,7 @@ describe('IncomingTransactionsController', function () {
const incomingTransactionsController = new IncomingTransactionsController(
{
blockTracker: getMockBlockTracker(),
...getMockNetworkControllerMethods(ROPSTEN_CHAIN_ID),
...getMockNetworkControllerMethods(GOERLI_CHAIN_ID),
preferencesController: getMockPreferencesController(),
initState: getNonEmptyInitState(),
},
@ -545,7 +533,7 @@ describe('IncomingTransactionsController', function () {
const incomingTransactionsController = new IncomingTransactionsController(
{
blockTracker: getMockBlockTracker(),
...getMockNetworkControllerMethods(ROPSTEN_CHAIN_ID),
...getMockNetworkControllerMethods(GOERLI_CHAIN_ID),
preferencesController: getMockPreferencesController(),
initState: getNonEmptyInitState(),
},
@ -553,9 +541,9 @@ describe('IncomingTransactionsController', function () {
const NEW_MOCK_SELECTED_ADDRESS = `${MOCK_SELECTED_ADDRESS}9`;
const startBlock =
getNonEmptyInitState().incomingTxLastFetchedBlockByChainId[
ROPSTEN_CHAIN_ID
GOERLI_CHAIN_ID
];
nock('https://api-ropsten.etherscan.io')
nock('https://api-goerli.etherscan.io')
.get(
`/api?module=account&action=txlist&address=${NEW_MOCK_SELECTED_ADDRESS}&tag=latest&page=1&startBlock=${startBlock}`,
)
@ -608,8 +596,8 @@ describe('IncomingTransactionsController', function () {
'0xfake': {
blockNumber: '10',
hash: '0xfake',
metamaskNetworkId: ROPSTEN_NETWORK_ID,
chainId: ROPSTEN_CHAIN_ID,
metamaskNetworkId: GOERLI_NETWORK_ID,
chainId: GOERLI_CHAIN_ID,
status: TRANSACTION_STATUSES.CONFIRMED,
time: 16000000000000000,
type: TRANSACTION_TYPES.INCOMING,
@ -625,7 +613,7 @@ describe('IncomingTransactionsController', function () {
},
incomingTxLastFetchedBlockByChainId: {
...getNonEmptyInitState().incomingTxLastFetchedBlockByChainId,
[ROPSTEN_CHAIN_ID]: 11,
[GOERLI_CHAIN_ID]: 11,
},
},
'State should have been updated after first block was received',
@ -692,7 +680,7 @@ describe('IncomingTransactionsController', function () {
it('should update when switching to a supported network', async function () {
const mockedNetworkMethods =
getMockNetworkControllerMethods(ROPSTEN_CHAIN_ID);
getMockNetworkControllerMethods(GOERLI_CHAIN_ID);
const incomingTransactionsController = new IncomingTransactionsController(
{
blockTracker: getMockBlockTracker(),
@ -703,9 +691,9 @@ describe('IncomingTransactionsController', function () {
);
const startBlock =
getNonEmptyInitState().incomingTxLastFetchedBlockByChainId[
ROPSTEN_CHAIN_ID
GOERLI_CHAIN_ID
];
nock('https://api-ropsten.etherscan.io')
nock('https://api-goerli.etherscan.io')
.get(
`/api?module=account&action=txlist&address=${MOCK_SELECTED_ADDRESS}&tag=latest&page=1&startBlock=${startBlock}`,
)
@ -727,7 +715,7 @@ describe('IncomingTransactionsController', function () {
const subscription =
mockedNetworkMethods.onNetworkDidChange.getCall(0).args[0];
await subscription(ROPSTEN_CHAIN_ID);
await subscription(GOERLI_CHAIN_ID);
await updateStateCalled();
const actualState = incomingTransactionsController.store.getState();
@ -748,8 +736,8 @@ describe('IncomingTransactionsController', function () {
'0xfake': {
blockNumber: '10',
hash: '0xfake',
metamaskNetworkId: ROPSTEN_NETWORK_ID,
chainId: ROPSTEN_CHAIN_ID,
metamaskNetworkId: GOERLI_NETWORK_ID,
chainId: GOERLI_CHAIN_ID,
status: TRANSACTION_STATUSES.CONFIRMED,
time: 16000000000000000,
type: TRANSACTION_TYPES.INCOMING,
@ -765,7 +753,7 @@ describe('IncomingTransactionsController', function () {
},
incomingTxLastFetchedBlockByChainId: {
...getNonEmptyInitState().incomingTxLastFetchedBlockByChainId,
[ROPSTEN_CHAIN_ID]: 11,
[GOERLI_CHAIN_ID]: 11,
},
},
'State should have been updated after first block was received',
@ -774,7 +762,7 @@ describe('IncomingTransactionsController', function () {
it('should not update when switching to an unsupported network', async function () {
const mockedNetworkMethods =
getMockNetworkControllerMethods(ROPSTEN_CHAIN_ID);
getMockNetworkControllerMethods(GOERLI_CHAIN_ID);
const incomingTransactionsController = new IncomingTransactionsController(
{
blockTracker: getMockBlockTracker(),
@ -832,10 +820,10 @@ describe('IncomingTransactionsController', function () {
const incomingTransactionsController =
new IncomingTransactionsController({
blockTracker: getMockBlockTracker(),
...getMockNetworkControllerMethods(ROPSTEN_CHAIN_ID),
...getMockNetworkControllerMethods(GOERLI_CHAIN_ID),
preferencesController: getMockPreferencesController(),
initState: getEmptyInitState(),
getCurrentChainId: () => ROPSTEN_CHAIN_ID,
getCurrentChainId: () => GOERLI_CHAIN_ID,
});
sinon.spy(incomingTransactionsController.store, 'updateState');
@ -850,14 +838,14 @@ describe('IncomingTransactionsController', function () {
assert.deepStrictEqual(
incomingTransactionsController._getNewIncomingTransactions.getCall(0)
.args,
['fakeAddress', 999, ROPSTEN_CHAIN_ID],
['fakeAddress', 999, GOERLI_CHAIN_ID],
);
assert.deepStrictEqual(
incomingTransactionsController.store.updateState.getCall(0).args[0],
{
incomingTxLastFetchedBlockByChainId: {
...EMPTY_BLOCKS_BY_NETWORK,
[ROPSTEN_CHAIN_ID]: 1000,
[GOERLI_CHAIN_ID]: 1000,
},
incomingTransactions: {},
},
@ -868,10 +856,10 @@ describe('IncomingTransactionsController', function () {
const incomingTransactionsController =
new IncomingTransactionsController({
blockTracker: getMockBlockTracker(),
...getMockNetworkControllerMethods(ROPSTEN_CHAIN_ID),
...getMockNetworkControllerMethods(GOERLI_CHAIN_ID),
preferencesController: getMockPreferencesController(),
initState: getEmptyInitState(),
getCurrentChainId: () => ROPSTEN_CHAIN_ID,
getCurrentChainId: () => GOERLI_CHAIN_ID,
});
const NEW_TRANSACTION_ONE = {
@ -897,7 +885,7 @@ describe('IncomingTransactionsController', function () {
assert.deepStrictEqual(
incomingTransactionsController._getNewIncomingTransactions.getCall(0)
.args,
['fakeAddress', 10, ROPSTEN_CHAIN_ID],
['fakeAddress', 10, GOERLI_CHAIN_ID],
);
assert.deepStrictEqual(
@ -905,7 +893,7 @@ describe('IncomingTransactionsController', function () {
{
incomingTxLastFetchedBlockByChainId: {
...EMPTY_BLOCKS_BY_NETWORK,
[ROPSTEN_CHAIN_ID]: 445,
[GOERLI_CHAIN_ID]: 445,
},
incomingTransactions: {
[NEW_TRANSACTION_ONE.hash]: NEW_TRANSACTION_ONE,
@ -921,10 +909,10 @@ describe('IncomingTransactionsController', function () {
const incomingTransactionsController =
new IncomingTransactionsController({
blockTracker: getMockBlockTracker(),
...getMockNetworkControllerMethods(ROPSTEN_CHAIN_ID),
...getMockNetworkControllerMethods(GOERLI_CHAIN_ID),
preferencesController: getMockPreferencesController(),
initState: getNonEmptyInitState(),
getCurrentChainId: () => ROPSTEN_CHAIN_ID,
getCurrentChainId: () => GOERLI_CHAIN_ID,
});
sinon.spy(incomingTransactionsController.store, 'updateState');
incomingTransactionsController._getNewIncomingTransactions = sinon
@ -940,7 +928,7 @@ describe('IncomingTransactionsController', function () {
assert.deepStrictEqual(
incomingTransactionsController._getNewIncomingTransactions.getCall(0)
.args,
['fakeAddress', 4, ROPSTEN_CHAIN_ID],
['fakeAddress', 1, GOERLI_CHAIN_ID],
);
assert.deepStrictEqual(
@ -948,8 +936,8 @@ describe('IncomingTransactionsController', function () {
{
incomingTxLastFetchedBlockByChainId: {
...PREPOPULATED_BLOCKS_BY_NETWORK,
[ROPSTEN_CHAIN_ID]:
PREPOPULATED_BLOCKS_BY_NETWORK[ROPSTEN_CHAIN_ID] + 1,
[GOERLI_CHAIN_ID]:
PREPOPULATED_BLOCKS_BY_NETWORK[GOERLI_CHAIN_ID] + 1,
},
incomingTransactions: PREPOPULATED_INCOMING_TXS_BY_HASH,
},
@ -961,10 +949,10 @@ describe('IncomingTransactionsController', function () {
const incomingTransactionsController = new IncomingTransactionsController(
{
blockTracker: getMockBlockTracker(),
...getMockNetworkControllerMethods(ROPSTEN_CHAIN_ID),
...getMockNetworkControllerMethods(GOERLI_CHAIN_ID),
preferencesController: getMockPreferencesController(),
initState: getNonEmptyInitState(),
getCurrentChainId: () => ROPSTEN_CHAIN_ID,
getCurrentChainId: () => GOERLI_CHAIN_ID,
},
);
@ -991,7 +979,7 @@ describe('IncomingTransactionsController', function () {
assert.deepStrictEqual(
incomingTransactionsController._getNewIncomingTransactions.getCall(0)
.args,
['fakeAddress', 4, ROPSTEN_CHAIN_ID],
['fakeAddress', 1, GOERLI_CHAIN_ID],
);
assert.deepStrictEqual(
@ -999,7 +987,7 @@ describe('IncomingTransactionsController', function () {
{
incomingTxLastFetchedBlockByChainId: {
...PREPOPULATED_BLOCKS_BY_NETWORK,
[ROPSTEN_CHAIN_ID]: 445,
[GOERLI_CHAIN_ID]: 445,
},
incomingTransactions: {
...PREPOPULATED_INCOMING_TXS_BY_HASH,
@ -1036,7 +1024,7 @@ describe('IncomingTransactionsController', function () {
const incomingTransactionsController = new IncomingTransactionsController(
{
blockTracker: getMockBlockTracker(),
...getMockNetworkControllerMethods(ROPSTEN_CHAIN_ID),
...getMockNetworkControllerMethods(GOERLI_CHAIN_ID),
preferencesController: getMockPreferencesController(),
initState: getNonEmptyInitState(),
},
@ -1045,13 +1033,13 @@ describe('IncomingTransactionsController', function () {
await incomingTransactionsController._getNewIncomingTransactions(
ADDRESS_TO_FETCH_FOR,
'789',
ROPSTEN_CHAIN_ID,
GOERLI_CHAIN_ID,
);
assert(mockFetch.calledOnce);
assert.strictEqual(
mockFetch.getCall(0).args[0],
`https://api-${ROPSTEN}.etherscan.io/api?module=account&action=txlist&address=0xfakeaddress&tag=latest&page=1&startBlock=789`,
`https://api-${GOERLI}.etherscan.io/api?module=account&action=txlist&address=0xfakeaddress&tag=latest&page=1&startBlock=789`,
);
});
@ -1082,7 +1070,7 @@ describe('IncomingTransactionsController', function () {
const incomingTransactionsController = new IncomingTransactionsController(
{
blockTracker: getMockBlockTracker(),
...getMockNetworkControllerMethods(ROPSTEN_CHAIN_ID),
...getMockNetworkControllerMethods(GOERLI_CHAIN_ID),
preferencesController: getMockPreferencesController(),
initState: getNonEmptyInitState(),
},
@ -1091,13 +1079,13 @@ describe('IncomingTransactionsController', function () {
await incomingTransactionsController._getNewIncomingTransactions(
ADDRESS_TO_FETCH_FOR,
null,
ROPSTEN_CHAIN_ID,
GOERLI_CHAIN_ID,
);
assert(mockFetch.calledOnce);
assert.strictEqual(
mockFetch.getCall(0).args[0],
`https://api-${ROPSTEN}.etherscan.io/api?module=account&action=txlist&address=0xfakeaddress&tag=latest&page=1`,
`https://api-${GOERLI}.etherscan.io/api?module=account&action=txlist&address=0xfakeaddress&tag=latest&page=1`,
);
});
@ -1105,7 +1093,7 @@ describe('IncomingTransactionsController', function () {
const incomingTransactionsController = new IncomingTransactionsController(
{
blockTracker: getMockBlockTracker(),
...getMockNetworkControllerMethods(ROPSTEN_CHAIN_ID),
...getMockNetworkControllerMethods(GOERLI_CHAIN_ID),
preferencesController: getMockPreferencesController(),
initState: getNonEmptyInitState(),
},
@ -1115,14 +1103,14 @@ describe('IncomingTransactionsController', function () {
await incomingTransactionsController._getNewIncomingTransactions(
ADDRESS_TO_FETCH_FOR,
'789',
ROPSTEN_CHAIN_ID,
GOERLI_CHAIN_ID,
);
assert(mockFetch.calledOnce);
assert.deepStrictEqual(result, [
incomingTransactionsController._normalizeTxFromEtherscan(
FETCHED_TX,
ROPSTEN_CHAIN_ID,
GOERLI_CHAIN_ID,
),
]);
});
@ -1138,7 +1126,7 @@ describe('IncomingTransactionsController', function () {
const incomingTransactionsController = new IncomingTransactionsController(
{
blockTracker: getMockBlockTracker(),
...getMockNetworkControllerMethods(ROPSTEN_CHAIN_ID),
...getMockNetworkControllerMethods(GOERLI_CHAIN_ID),
preferencesController: getMockPreferencesController(),
initState: getNonEmptyInitState(),
},
@ -1148,7 +1136,7 @@ describe('IncomingTransactionsController', function () {
await incomingTransactionsController._getNewIncomingTransactions(
ADDRESS_TO_FETCH_FOR,
'789',
ROPSTEN_CHAIN_ID,
GOERLI_CHAIN_ID,
);
assert.deepStrictEqual(result, []);
window.fetch = tempFetchStatusZero;
@ -1166,7 +1154,7 @@ describe('IncomingTransactionsController', function () {
const incomingTransactionsController = new IncomingTransactionsController(
{
blockTracker: getMockBlockTracker(),
...getMockNetworkControllerMethods(ROPSTEN_CHAIN_ID),
...getMockNetworkControllerMethods(GOERLI_CHAIN_ID),
preferencesController: getMockPreferencesController(),
initState: getNonEmptyInitState(),
},
@ -1176,7 +1164,7 @@ describe('IncomingTransactionsController', function () {
await incomingTransactionsController._getNewIncomingTransactions(
ADDRESS_TO_FETCH_FOR,
'789',
ROPSTEN_CHAIN_ID,
GOERLI_CHAIN_ID,
);
assert.deepStrictEqual(result, []);
window.fetch = tempFetchEmptyResult;
@ -1189,7 +1177,7 @@ describe('IncomingTransactionsController', function () {
const incomingTransactionsController = new IncomingTransactionsController(
{
blockTracker: getMockBlockTracker(),
...getMockNetworkControllerMethods(ROPSTEN_CHAIN_ID),
...getMockNetworkControllerMethods(GOERLI_CHAIN_ID),
preferencesController: getMockPreferencesController(),
initState: getNonEmptyInitState(),
},
@ -1208,14 +1196,14 @@ describe('IncomingTransactionsController', function () {
value: '15',
hash: '0xg',
},
ROPSTEN_CHAIN_ID,
GOERLI_CHAIN_ID,
);
assert.deepStrictEqual(result, {
blockNumber: 333,
id: 54321,
metamaskNetworkId: ROPSTEN_NETWORK_ID,
chainId: ROPSTEN_CHAIN_ID,
metamaskNetworkId: GOERLI_NETWORK_ID,
chainId: GOERLI_CHAIN_ID,
status: TRANSACTION_STATUSES.FAILED,
time: 4444000,
txParams: {
@ -1235,7 +1223,7 @@ describe('IncomingTransactionsController', function () {
const incomingTransactionsController = new IncomingTransactionsController(
{
blockTracker: getMockBlockTracker(),
...getMockNetworkControllerMethods(ROPSTEN_CHAIN_ID),
...getMockNetworkControllerMethods(GOERLI_CHAIN_ID),
preferencesController: getMockPreferencesController(),
initState: getNonEmptyInitState(),
},
@ -1254,14 +1242,14 @@ describe('IncomingTransactionsController', function () {
value: '15',
hash: '0xg',
},
ROPSTEN_CHAIN_ID,
GOERLI_CHAIN_ID,
);
assert.deepStrictEqual(result, {
blockNumber: 333,
id: 54321,
metamaskNetworkId: ROPSTEN_NETWORK_ID,
chainId: ROPSTEN_CHAIN_ID,
metamaskNetworkId: GOERLI_NETWORK_ID,
chainId: GOERLI_CHAIN_ID,
status: TRANSACTION_STATUSES.CONFIRMED,
time: 4444000,
txParams: {
@ -1281,7 +1269,7 @@ describe('IncomingTransactionsController', function () {
const incomingTransactionsController = new IncomingTransactionsController(
{
blockTracker: getMockBlockTracker(),
...getMockNetworkControllerMethods(ROPSTEN_CHAIN_ID),
...getMockNetworkControllerMethods(GOERLI_CHAIN_ID),
preferencesController: getMockPreferencesController(),
initState: getNonEmptyInitState(),
},
@ -1301,14 +1289,14 @@ describe('IncomingTransactionsController', function () {
value: '15',
hash: '0xg',
},
ROPSTEN_CHAIN_ID,
GOERLI_CHAIN_ID,
);
assert.deepStrictEqual(result, {
blockNumber: 333,
id: 54321,
metamaskNetworkId: ROPSTEN_NETWORK_ID,
chainId: ROPSTEN_CHAIN_ID,
metamaskNetworkId: GOERLI_NETWORK_ID,
chainId: GOERLI_CHAIN_ID,
status: TRANSACTION_STATUSES.CONFIRMED,
time: 4444000,
txParams: {

View File

@ -11,7 +11,7 @@ import waitUntilCalled from '../../../test/lib/wait-until-called';
import {
ETH_SYMBOL,
MAINNET_CHAIN_ID,
ROPSTEN_CHAIN_ID,
GOERLI_CHAIN_ID,
TEST_ETH_SYMBOL,
} from '../../../shared/constants/network';
import MetaMetricsController from './metametrics';
@ -643,7 +643,7 @@ describe('MetaMetricsController', function () {
const traits = metaMetricsController._buildUserTraitsObject({
addressBook: {
[MAINNET_CHAIN_ID]: [{ address: '0x' }],
[ROPSTEN_CHAIN_ID]: [{ address: '0x' }, { address: '0x0' }],
[GOERLI_CHAIN_ID]: [{ address: '0x' }, { address: '0x0' }],
},
allCollectibles: {
'0xac706cE8A9BF27Afecf080fB298d0ee13cfb978A': {
@ -674,7 +674,7 @@ describe('MetaMetricsController', function () {
allTokens: MOCK_ALL_TOKENS,
frequentRpcListDetail: [
{ chainId: MAINNET_CHAIN_ID, ticker: ETH_SYMBOL },
{ chainId: ROPSTEN_CHAIN_ID, ticker: TEST_ETH_SYMBOL },
{ chainId: GOERLI_CHAIN_ID, ticker: TEST_ETH_SYMBOL },
{ chainId: '0xaf' },
],
identities: [{}, {}],
@ -690,7 +690,7 @@ describe('MetaMetricsController', function () {
[TRAITS.ADDRESS_BOOK_ENTRIES]: 3,
[TRAITS.INSTALL_DATE_EXT]: '',
[TRAITS.LEDGER_CONNECTION_TYPE]: 'web-hid',
[TRAITS.NETWORKS_ADDED]: [MAINNET_CHAIN_ID, ROPSTEN_CHAIN_ID, '0xaf'],
[TRAITS.NETWORKS_ADDED]: [MAINNET_CHAIN_ID, GOERLI_CHAIN_ID, '0xaf'],
[TRAITS.NETWORKS_WITHOUT_TICKER]: ['0xaf'],
[TRAITS.NFT_AUTODETECTION_ENABLED]: false,
[TRAITS.NUMBER_OF_ACCOUNTS]: 2,
@ -709,12 +709,12 @@ describe('MetaMetricsController', function () {
metaMetricsController._buildUserTraitsObject({
addressBook: {
[MAINNET_CHAIN_ID]: [{ address: '0x' }],
[ROPSTEN_CHAIN_ID]: [{ address: '0x' }, { address: '0x0' }],
[GOERLI_CHAIN_ID]: [{ address: '0x' }, { address: '0x0' }],
},
allTokens: {},
frequentRpcListDetail: [
{ chainId: MAINNET_CHAIN_ID },
{ chainId: ROPSTEN_CHAIN_ID },
{ chainId: GOERLI_CHAIN_ID },
],
ledgerTransportType: 'web-hid',
openSeaEnabled: true,
@ -728,14 +728,14 @@ describe('MetaMetricsController', function () {
const updatedTraits = metaMetricsController._buildUserTraitsObject({
addressBook: {
[MAINNET_CHAIN_ID]: [{ address: '0x' }, { address: '0x1' }],
[ROPSTEN_CHAIN_ID]: [{ address: '0x' }, { address: '0x0' }],
[GOERLI_CHAIN_ID]: [{ address: '0x' }, { address: '0x0' }],
},
allTokens: {
'0x1': { '0xabcde': [{ '0x12345': { address: '0xtestAddress' } }] },
},
frequentRpcListDetail: [
{ chainId: MAINNET_CHAIN_ID },
{ chainId: ROPSTEN_CHAIN_ID },
{ chainId: GOERLI_CHAIN_ID },
],
ledgerTransportType: 'web-hid',
openSeaEnabled: false,
@ -759,12 +759,12 @@ describe('MetaMetricsController', function () {
metaMetricsController._buildUserTraitsObject({
addressBook: {
[MAINNET_CHAIN_ID]: [{ address: '0x' }],
[ROPSTEN_CHAIN_ID]: [{ address: '0x' }, { address: '0x0' }],
[GOERLI_CHAIN_ID]: [{ address: '0x' }, { address: '0x0' }],
},
allTokens: {},
frequentRpcListDetail: [
{ chainId: MAINNET_CHAIN_ID },
{ chainId: ROPSTEN_CHAIN_ID },
{ chainId: GOERLI_CHAIN_ID },
],
ledgerTransportType: 'web-hid',
openSeaEnabled: true,
@ -778,12 +778,12 @@ describe('MetaMetricsController', function () {
const updatedTraits = metaMetricsController._buildUserTraitsObject({
addressBook: {
[MAINNET_CHAIN_ID]: [{ address: '0x' }],
[ROPSTEN_CHAIN_ID]: [{ address: '0x' }, { address: '0x0' }],
[GOERLI_CHAIN_ID]: [{ address: '0x' }, { address: '0x0' }],
},
allTokens: {},
frequentRpcListDetail: [
{ chainId: MAINNET_CHAIN_ID },
{ chainId: ROPSTEN_CHAIN_ID },
{ chainId: GOERLI_CHAIN_ID },
],
ledgerTransportType: 'web-hid',
openSeaEnabled: true,

View File

@ -133,42 +133,6 @@ describe('NetworkController', () => {
describe('utils', () => {
it('getNetworkDisplayName should return the correct network name', () => {
const tests = [
{
input: '3',
expected: 'Ropsten',
},
{
input: '4',
expected: 'Rinkeby',
},
{
input: '42',
expected: 'Kovan',
},
{
input: '0x3',
expected: 'Ropsten',
},
{
input: '0x4',
expected: 'Rinkeby',
},
{
input: '0x2a',
expected: 'Kovan',
},
{
input: 'ropsten',
expected: 'Ropsten',
},
{
input: 'rinkeby',
expected: 'Rinkeby',
},
{
input: 'kovan',
expected: 'Kovan',
},
{
input: 'mainnet',
expected: 'Ethereum Mainnet',

View File

@ -10,13 +10,13 @@ import {
} from 'swappable-obj-proxy';
import EthQuery from 'eth-query';
import {
RINKEBY,
MAINNET,
GOERLI_CHAIN_ID,
GOERLI,
INFURA_PROVIDER_TYPES,
NETWORK_TYPE_RPC,
NETWORK_TYPE_TO_ID_MAP,
MAINNET_CHAIN_ID,
RINKEBY_CHAIN_ID,
INFURA_BLOCKED_KEY,
TEST_NETWORK_TICKER_MAP,
} from '../../../../shared/constants/network';
@ -42,9 +42,9 @@ if (process.env.IN_TEST) {
};
} else if (process.env.METAMASK_DEBUG || env === 'test') {
defaultProviderConfigOpts = {
type: RINKEBY,
chainId: RINKEBY_CHAIN_ID,
ticker: TEST_NETWORK_TICKER_MAP.rinkeby,
type: GOERLI,
chainId: GOERLI_CHAIN_ID,
ticker: TEST_NETWORK_TICKER_MAP.goerli,
};
} else {
defaultProviderConfigOpts = { type: MAINNET, chainId: MAINNET_CHAIN_ID };

View File

@ -70,7 +70,7 @@ describe('PendingNonceMiddleware', () => {
gasPrice: '0x1e8480',
hash: '0x2cc5a25744486f7383edebbf32003e5a66e18135799593d6b5cdd2bb43674f09',
input: '0x',
nonce: '0x4',
nonce: '0x5',
type: TRANSACTION_ENVELOPE_TYPES.LEGACY,
to: '0xf231d46dd78806e1dd93442cf33c7671f8538748',
transactionIndex: null,

View File

@ -22,9 +22,9 @@ describe('network utils', () => {
},
type: TRANSACTION_TYPES.SIMPLE_SEND,
origin: 'other',
chainId: '0x3',
chainId: '0x5',
time: 1624408066355,
metamaskNetworkId: '3',
metamaskNetworkId: '5',
hash: '0x4bcb6cd6b182209585f8ad140260ddb35c81a575dd40f508d9767e652a9f60e7',
r: '0x4c3111e42ed5eec3dcecba1e234700f387e8693c373c61c3e54a762a26f1570e',
s: '0x18bfc4eeb7ebcfacc3bd59ea100a6834ea3265e65945dbec69aa2a06564fafff',
@ -67,9 +67,9 @@ describe('network utils', () => {
},
type: TRANSACTION_TYPES.SIMPLE_SEND,
origin: 'other',
chainId: '0x3',
chainId: '0x5',
time: 1624408066355,
metamaskNetworkId: '3',
metamaskNetworkId: '5',
hash: '0x4bcb6cd6b182209585f8ad140260ddb35c81a575dd40f508d9767e652a9f60e7',
r: '0x4c3111e42ed5eec3dcecba1e234700f387e8693c373c61c3e54a762a26f1570e',
s: '0x18bfc4eeb7ebcfacc3bd59ea100a6834ea3265e65945dbec69aa2a06564fafff',

View File

@ -5,7 +5,7 @@ import { ethers } from 'ethers';
import { mapValues } from 'lodash';
import BigNumber from 'bignumber.js';
import {
ROPSTEN_NETWORK_ID,
GOERLI_NETWORK_ID,
MAINNET_NETWORK_ID,
MAINNET_CHAIN_ID,
} from '../../../shared/constants/network';
@ -104,7 +104,7 @@ function getMockNetworkController() {
store: {
getState: () => {
return {
network: ROPSTEN_NETWORK_ID,
network: GOERLI_NETWORK_ID,
};
},
},
@ -273,7 +273,7 @@ describe('SwapsController', function () {
const currentEthersInstance = swapsController.ethersProvider;
const onNetworkDidChange = networkController.on.getCall(0).args[1];
onNetworkDidChange(ROPSTEN_NETWORK_ID);
onNetworkDidChange(GOERLI_NETWORK_ID);
const newEthersInstance = swapsController.ethersProvider;
assert.strictEqual(

View File

@ -31,10 +31,10 @@ import { ORIGIN_METAMASK } from '../../../../shared/constants/app';
import TransactionController from '.';
const noop = () => true;
const currentNetworkId = '42';
const currentChainId = '0x2a';
const currentNetworkId = '5';
const currentChainId = '0x5';
const providerConfig = {
type: 'kovan',
type: 'goerli',
};
const VALID_ADDRESS = '0x0000000000000000000000000000000000000000';
@ -940,7 +940,7 @@ describe('Transaction Controller', function () {
);
const rawTx = await txController.signTransaction('1');
const ethTx = TransactionFactory.fromSerializedData(toBuffer(rawTx));
assert.equal(ethTx.common.chainIdBN().toNumber(), 42);
assert.equal(ethTx.common.chainIdBN().toNumber(), 5);
});
});
@ -1524,11 +1524,11 @@ describe('Transaction Controller', function () {
category: EVENT.CATEGORIES.TRANSACTIONS,
persist: true,
properties: {
chain_id: '0x2a',
chain_id: '0x5',
eip_1559_version: '0',
gas_edit_attempted: 'none',
gas_edit_type: 'none',
network: '42',
network: '5',
referrer: ORIGIN_METAMASK,
source: EVENT.SOURCE.TRANSACTION.USER,
transaction_type: TRANSACTION_TYPES.SIMPLE_SEND,
@ -1606,11 +1606,11 @@ describe('Transaction Controller', function () {
category: EVENT.CATEGORIES.TRANSACTIONS,
persist: true,
properties: {
chain_id: '0x2a',
chain_id: '0x5',
eip_1559_version: '0',
gas_edit_attempted: 'none',
gas_edit_type: 'none',
network: '42',
network: '5',
referrer: ORIGIN_METAMASK,
source: EVENT.SOURCE.TRANSACTION.USER,
transaction_type: TRANSACTION_TYPES.SIMPLE_SEND,
@ -1698,11 +1698,11 @@ describe('Transaction Controller', function () {
category: EVENT.CATEGORIES.TRANSACTIONS,
persist: true,
properties: {
chain_id: '0x2a',
chain_id: '0x5',
eip_1559_version: '0',
gas_edit_attempted: 'none',
gas_edit_type: 'none',
network: '42',
network: '5',
referrer: 'other',
source: EVENT.SOURCE.TRANSACTION.DAPP,
transaction_type: TRANSACTION_TYPES.SIMPLE_SEND,
@ -1782,11 +1782,11 @@ describe('Transaction Controller', function () {
category: EVENT.CATEGORIES.TRANSACTIONS,
persist: true,
properties: {
chain_id: '0x2a',
chain_id: '0x5',
eip_1559_version: '0',
gas_edit_attempted: 'none',
gas_edit_type: 'none',
network: '42',
network: '5',
referrer: 'other',
source: EVENT.SOURCE.TRANSACTION.DAPP,
transaction_type: TRANSACTION_TYPES.SIMPLE_SEND,
@ -1866,11 +1866,11 @@ describe('Transaction Controller', function () {
category: EVENT.CATEGORIES.TRANSACTIONS,
persist: true,
properties: {
chain_id: '0x2a',
chain_id: '0x5',
eip_1559_version: '0',
gas_edit_attempted: 'none',
gas_edit_type: 'none',
network: '42',
network: '5',
referrer: 'other',
source: EVENT.SOURCE.TRANSACTION.DAPP,
transaction_type: TRANSACTION_TYPES.SIMPLE_SEND,
@ -1932,11 +1932,11 @@ describe('Transaction Controller', function () {
persist: true,
category: EVENT.CATEGORIES.TRANSACTIONS,
properties: {
network: '42',
network: '5',
referrer: 'other',
source: EVENT.SOURCE.TRANSACTION.DAPP,
transaction_type: TRANSACTION_TYPES.SIMPLE_SEND,
chain_id: '0x2a',
chain_id: '0x5',
eip_1559_version: '0',
gas_edit_attempted: 'none',
gas_edit_type: 'none',
@ -2008,11 +2008,11 @@ describe('Transaction Controller', function () {
persist: true,
category: EVENT.CATEGORIES.TRANSACTIONS,
properties: {
chain_id: '0x2a',
chain_id: '0x5',
eip_1559_version: '1',
gas_edit_attempted: 'none',
gas_edit_type: 'none',
network: '42',
network: '5',
referrer: 'other',
source: EVENT.SOURCE.TRANSACTION.DAPP,
transaction_type: TRANSACTION_TYPES.SIMPLE_SEND,

View File

@ -30,14 +30,14 @@ describe('txUtils', function () {
gasPrice: '0x199c82cc00',
data: '0x',
nonce: '0x3',
chainId: 42,
chainId: 5,
};
const ethTx = TransactionFactory.fromTxData(txParams, {
common: new Common({ chain: 'kovan' }),
common: new Common({ chain: 'goerli' }),
});
assert.equal(
ethTx.common.chainIdBN().toNumber(),
42,
5,
'chainId is set from tx params',
);
});

View File

@ -5,10 +5,9 @@ import {
TRANSACTION_TYPES,
} from '../../../../shared/constants/transaction';
import {
KOVAN_CHAIN_ID,
GOERLI_CHAIN_ID,
MAINNET_CHAIN_ID,
RINKEBY_CHAIN_ID,
KOVAN_NETWORK_ID,
GOERLI_NETWORK_ID,
} from '../../../../shared/constants/network';
import { GAS_LIMITS } from '../../../../shared/constants/gas';
import { ORIGIN_METAMASK } from '../../../../shared/constants/app';
@ -49,8 +48,8 @@ function generateTransactions(
}
describe('TransactionStateManager', function () {
let txStateManager;
const currentNetworkId = KOVAN_NETWORK_ID;
const currentChainId = KOVAN_CHAIN_ID;
const currentNetworkId = GOERLI_NETWORK_ID;
const currentChainId = GOERLI_CHAIN_ID;
const otherNetworkId = '2';
beforeEach(function () {
@ -683,7 +682,7 @@ describe('TransactionStateManager', function () {
if (i === 0 || i === 1) {
return MAINNET_CHAIN_ID;
} else if (i === 4 || i === 5) {
return RINKEBY_CHAIN_ID;
return GOERLI_CHAIN_ID;
}
return currentChainId;
},

View File

@ -16,10 +16,7 @@ import Web3 from 'web3';
import SINGLE_CALL_BALANCES_ABI from 'single-call-balance-checker-abi';
import {
MAINNET_CHAIN_ID,
RINKEBY_CHAIN_ID,
ROPSTEN_CHAIN_ID,
SEPOLIA_CHAIN_ID,
KOVAN_CHAIN_ID,
GOERLI_CHAIN_ID,
BSC_CHAIN_ID,
OPTIMISM_CHAIN_ID,
@ -31,9 +28,6 @@ import {
import {
SINGLE_CALL_BALANCES_ADDRESS,
SINGLE_CALL_BALANCES_ADDRESS_RINKEBY,
SINGLE_CALL_BALANCES_ADDRESS_ROPSTEN,
SINGLE_CALL_BALANCES_ADDRESS_KOVAN,
SINGLE_CALL_BALANCES_ADDRESS_GOERLI,
SINGLE_CALL_BALANCES_ADDRESS_SEPOLIA,
SINGLE_CALL_BALANCES_ADDRESS_BSC,
@ -225,27 +219,6 @@ export default class AccountTracker {
);
break;
case RINKEBY_CHAIN_ID:
await this._updateAccountsViaBalanceChecker(
addresses,
SINGLE_CALL_BALANCES_ADDRESS_RINKEBY,
);
break;
case ROPSTEN_CHAIN_ID:
await this._updateAccountsViaBalanceChecker(
addresses,
SINGLE_CALL_BALANCES_ADDRESS_ROPSTEN,
);
break;
case KOVAN_CHAIN_ID:
await this._updateAccountsViaBalanceChecker(
addresses,
SINGLE_CALL_BALANCES_ADDRESS_KOVAN,
);
break;
case GOERLI_CHAIN_ID:
await this._updateAccountsViaBalanceChecker(
addresses,

View File

@ -3,10 +3,7 @@ import log from 'loglevel';
import { SWAPS_API_V2_BASE_URL } from '../../../shared/constants/swaps';
import {
GOERLI_CHAIN_ID,
KOVAN_CHAIN_ID,
MAINNET_CHAIN_ID,
RINKEBY_CHAIN_ID,
ROPSTEN_CHAIN_ID,
SEPOLIA_CHAIN_ID,
BUYABLE_CHAINS_MAP,
} from '../../../shared/constants/network';
@ -165,10 +162,6 @@ export default async function getBuyUrl({ chainId, address, service }) {
return createCoinbasePayUrl(address, chainId);
case 'metamask-faucet':
return 'https://faucet.metamask.io/';
case 'rinkeby-faucet':
return 'https://www.rinkeby.io/';
case 'kovan-faucet':
return 'https://github.com/kovan-testnet/faucet';
case 'goerli-faucet':
return 'https://goerli-faucet.slock.it/';
case 'sepolia-faucet':
@ -184,12 +177,6 @@ function getDefaultServiceForChain(chainId) {
switch (chainId) {
case MAINNET_CHAIN_ID:
return 'wyre';
case ROPSTEN_CHAIN_ID:
return 'metamask-faucet';
case RINKEBY_CHAIN_ID:
return 'rinkeby-faucet';
case KOVAN_CHAIN_ID:
return 'kovan-faucet';
case GOERLI_CHAIN_ID:
return 'goerli-faucet';
case SEPOLIA_CHAIN_ID:

View File

@ -1,9 +1,6 @@
import nock from 'nock';
import {
KOVAN_CHAIN_ID,
MAINNET_CHAIN_ID,
RINKEBY_CHAIN_ID,
ROPSTEN_CHAIN_ID,
BSC_CHAIN_ID,
POLYGON_CHAIN_ID,
ETH_SYMBOL,
@ -20,15 +17,6 @@ const MAINNET = {
amount: 5,
address: ETH_ADDRESS,
};
const ROPSTEN = {
chainId: ROPSTEN_CHAIN_ID,
};
const RINKEBY = {
chainId: RINKEBY_CHAIN_ID,
};
const KOVAN = {
chainId: KOVAN_CHAIN_ID,
};
const BSC = {
chainId: BSC_CHAIN_ID,
amount: 5,
@ -100,21 +88,6 @@ describe('buy-url', () => {
);
});
it('returns metamask ropsten faucet for network 3', async () => {
const ropstenUrl = await getBuyUrl(ROPSTEN);
expect(ropstenUrl).toStrictEqual('https://faucet.metamask.io/');
});
it('returns rinkeby dapp for network 4', async () => {
const rinkebyUrl = await getBuyUrl(RINKEBY);
expect(rinkebyUrl).toStrictEqual('https://www.rinkeby.io/');
});
it('returns kovan github test faucet for network 42', async () => {
const kovanUrl = await getBuyUrl(KOVAN);
expect(kovanUrl).toStrictEqual('https://github.com/kovan-testnet/faucet');
});
it('returns a MoonPay url with a prefilled wallet address for the Ethereum network', async () => {
const { moonPay: { defaultCurrencyCode, showOnlyCurrencies } = {} } =
BUYABLE_CHAINS_MAP[MAINNET.chainId];

View File

@ -80,7 +80,7 @@ function getRegistryForChainId(chainId) {
case 4:
case 5:
case 6:
// Mainnet, Ropsten, Rinkeby, and Goerli, respectively, use the same address
// Mainnet and Goerli, respectively, use the same address
return '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e';
default:
return null;

View File

@ -2403,7 +2403,6 @@ export default class MetamaskController extends EventEmitter {
* @type Identity
* @property {string} name - The account nickname.
* @property {string} address - The account's ethereum address, in lower case.
* @property {boolean} mayBeFauceting - Whether this account is currently
* receiving funds from our automatic Ropsten faucet.
*/

View File

@ -120,7 +120,7 @@ const MetaMaskController = proxyquire('./metamask-controller', {
'./lib/createLoggerMiddleware': { default: createLoggerMiddlewareMock },
}).default;
const currentNetworkId = '42';
const currentNetworkId = '5';
const DEFAULT_LABEL = 'Account 1';
const TEST_SEED =
'debris dizzy just program just float decrease vacant alarm reduce speak stadium';

View File

@ -2,15 +2,9 @@ import { cloneDeep } from 'lodash';
import {
GOERLI,
GOERLI_CHAIN_ID,
KOVAN,
KOVAN_CHAIN_ID,
MAINNET,
MAINNET_CHAIN_ID,
NETWORK_TYPE_RPC,
RINKEBY,
RINKEBY_CHAIN_ID,
ROPSTEN,
ROPSTEN_CHAIN_ID,
} from '../../../shared/constants/network';
const version = 52;
@ -55,21 +49,18 @@ function transformState(state = {}) {
newAccountTokens[address][MAINNET_CHAIN_ID] =
accountTokens[address][MAINNET];
break;
case ROPSTEN:
newAccountTokens[address][ROPSTEN_CHAIN_ID] =
accountTokens[address][ROPSTEN];
case 'ropsten':
newAccountTokens[address]['0x3'] = accountTokens[address].ropsten;
break;
case RINKEBY:
newAccountTokens[address][RINKEBY_CHAIN_ID] =
accountTokens[address][RINKEBY];
case 'rinkeby':
newAccountTokens[address]['0x4'] = accountTokens[address].rinkeby;
break;
case GOERLI:
newAccountTokens[address][GOERLI_CHAIN_ID] =
accountTokens[address][GOERLI];
break;
case KOVAN:
newAccountTokens[address][KOVAN_CHAIN_ID] =
accountTokens[address][KOVAN];
case 'kovan':
newAccountTokens[address]['0x2a'] = accountTokens[address].kovan;
break;
default:
break;
@ -94,21 +85,21 @@ function transformState(state = {}) {
newAccountHiddenTokens[address][MAINNET_CHAIN_ID] =
accountHiddenTokens[address][MAINNET];
break;
case ROPSTEN:
newAccountHiddenTokens[address][ROPSTEN_CHAIN_ID] =
accountHiddenTokens[address][ROPSTEN];
case 'ropsten':
newAccountHiddenTokens[address]['0x3'] =
accountHiddenTokens[address].ropsten;
break;
case RINKEBY:
newAccountHiddenTokens[address][RINKEBY_CHAIN_ID] =
accountHiddenTokens[address][RINKEBY];
case 'rinkeby':
newAccountHiddenTokens[address]['0x4'] =
accountHiddenTokens[address].rinkeby;
break;
case GOERLI:
newAccountHiddenTokens[address][GOERLI_CHAIN_ID] =
accountHiddenTokens[address][GOERLI];
break;
case KOVAN:
newAccountHiddenTokens[address][KOVAN_CHAIN_ID] =
accountHiddenTokens[address][KOVAN];
case 'kovan':
newAccountHiddenTokens[address]['0x2a'] =
accountHiddenTokens[address].kovan;
break;
default:
break;

View File

@ -1,15 +1,9 @@
import {
GOERLI,
GOERLI_CHAIN_ID,
KOVAN,
KOVAN_CHAIN_ID,
MAINNET,
MAINNET_CHAIN_ID,
NETWORK_TYPE_RPC,
RINKEBY,
RINKEBY_CHAIN_ID,
ROPSTEN,
ROPSTEN_CHAIN_ID,
} from '../../../shared/constants/network';
import migration52 from './052';
@ -85,25 +79,25 @@ describe('migration #52', () => {
});
});
it(`should move ${RINKEBY} tokens and hidden tokens to be keyed by ${RINKEBY_CHAIN_ID} for each address`, async () => {
it(`should move rinkeby tokens and hidden tokens to be keyed by '0x4' for each address`, async () => {
const oldStorage = {
meta: {},
data: {
PreferencesController: {
accountHiddenTokens: {
'0x1111': {
[RINKEBY]: [TOKEN1],
rinkeby: [TOKEN1],
},
'0x1112': {
[RINKEBY]: [TOKEN3],
rinkeby: [TOKEN3],
},
},
accountTokens: {
'0x1111': {
[RINKEBY]: [TOKEN1, TOKEN2],
rinkeby: [TOKEN1, TOKEN2],
},
'0x1112': {
[RINKEBY]: [TOKEN1, TOKEN3],
rinkeby: [TOKEN1, TOKEN3],
},
},
bar: 'baz',
@ -117,18 +111,18 @@ describe('migration #52', () => {
PreferencesController: {
accountHiddenTokens: {
'0x1111': {
[RINKEBY_CHAIN_ID]: [TOKEN1],
'0x4': [TOKEN1],
},
'0x1112': {
[RINKEBY_CHAIN_ID]: [TOKEN3],
'0x4': [TOKEN3],
},
},
accountTokens: {
'0x1111': {
[RINKEBY_CHAIN_ID]: [TOKEN1, TOKEN2],
'0x4': [TOKEN1, TOKEN2],
},
'0x1112': {
[RINKEBY_CHAIN_ID]: [TOKEN1, TOKEN3],
'0x4': [TOKEN1, TOKEN3],
},
},
bar: 'baz',
@ -137,25 +131,25 @@ describe('migration #52', () => {
});
});
it(`should move ${KOVAN} tokens and hidden tokens to be keyed by ${KOVAN_CHAIN_ID} for each address`, async () => {
it(`should move kovan tokens and hidden tokens to be keyed by 0x2a for each address`, async () => {
const oldStorage = {
meta: {},
data: {
PreferencesController: {
accountHiddenTokens: {
'0x1111': {
[KOVAN]: [TOKEN1],
kovan: [TOKEN1],
},
'0x1112': {
[KOVAN]: [TOKEN3],
kovan: [TOKEN3],
},
},
accountTokens: {
'0x1111': {
[KOVAN]: [TOKEN1, TOKEN2],
kovan: [TOKEN1, TOKEN2],
},
'0x1112': {
[KOVAN]: [TOKEN1, TOKEN3],
kovan: [TOKEN1, TOKEN3],
},
},
bar: 'baz',
@ -169,18 +163,18 @@ describe('migration #52', () => {
PreferencesController: {
accountHiddenTokens: {
'0x1111': {
[KOVAN_CHAIN_ID]: [TOKEN1],
'0x2a': [TOKEN1],
},
'0x1112': {
[KOVAN_CHAIN_ID]: [TOKEN3],
'0x2a': [TOKEN3],
},
},
accountTokens: {
'0x1111': {
[KOVAN_CHAIN_ID]: [TOKEN1, TOKEN2],
'0x2a': [TOKEN1, TOKEN2],
},
'0x1112': {
[KOVAN_CHAIN_ID]: [TOKEN1, TOKEN3],
'0x2a': [TOKEN1, TOKEN3],
},
},
bar: 'baz',
@ -241,25 +235,25 @@ describe('migration #52', () => {
});
});
it(`should move ${ROPSTEN} tokens and hidden tokens to be keyed by ${ROPSTEN_CHAIN_ID} for each address`, async () => {
it(`should move ropsten tokens and hidden tokens to be keyed by 0x3 for each address`, async () => {
const oldStorage = {
meta: {},
data: {
PreferencesController: {
accountHiddenTokens: {
'0x1111': {
[ROPSTEN]: [TOKEN1],
ropsten: [TOKEN1],
},
'0x1112': {
[ROPSTEN]: [TOKEN3],
ropsten: [TOKEN3],
},
},
accountTokens: {
'0x1111': {
[ROPSTEN]: [TOKEN1, TOKEN2],
ropsten: [TOKEN1, TOKEN2],
},
'0x1112': {
[ROPSTEN]: [TOKEN1, TOKEN3],
ropsten: [TOKEN1, TOKEN3],
},
},
bar: 'baz',
@ -273,18 +267,18 @@ describe('migration #52', () => {
PreferencesController: {
accountHiddenTokens: {
'0x1111': {
[ROPSTEN_CHAIN_ID]: [TOKEN1],
'0x3': [TOKEN1],
},
'0x1112': {
[ROPSTEN_CHAIN_ID]: [TOKEN3],
'0x3': [TOKEN3],
},
},
accountTokens: {
'0x1111': {
[ROPSTEN_CHAIN_ID]: [TOKEN1, TOKEN2],
'0x3': [TOKEN1, TOKEN2],
},
'0x1112': {
[ROPSTEN_CHAIN_ID]: [TOKEN1, TOKEN3],
'0x3': [TOKEN1, TOKEN3],
},
},
bar: 'baz',

View File

@ -1,7 +1,4 @@
import {
MAINNET_CHAIN_ID,
ROPSTEN_CHAIN_ID,
} from '../../../shared/constants/network';
import { MAINNET_CHAIN_ID } from '../../../shared/constants/network';
import migration54 from './054';
describe('migration #54', () => {
@ -174,7 +171,7 @@ describe('migration #54', () => {
],
},
'0x1112': {
[ROPSTEN_CHAIN_ID]: [
'0x3': [
{
address: '0x06012c8cf97bead5deae237070f9587f8e7a266d',
decimals: '0',
@ -232,7 +229,7 @@ describe('migration #54', () => {
],
},
'0x1112': {
[ROPSTEN_CHAIN_ID]: [
'0x3': [
{
address: '0x06012c8cf97bead5deae237070f9587f8e7a266d',
decimals: 0,
@ -292,7 +289,7 @@ describe('migration #54', () => {
],
},
'0x1112': {
[ROPSTEN_CHAIN_ID]: [
'0x3': [
{
address: '0x06012c8cf97bead5deae237070f9587f8e7a266d',
decimals: 0,
@ -350,7 +347,7 @@ describe('migration #54', () => {
],
},
'0x1112': {
[ROPSTEN_CHAIN_ID]: [
'0x3': [
{
address: '0x06012c8cf97bead5deae237070f9587f8e7a266d',
decimals: 0,
@ -410,7 +407,7 @@ describe('migration #54', () => {
],
},
'0x1112': {
[ROPSTEN_CHAIN_ID]: [
'0x3': [
{
address: '0x06012c8cf97bead5deae237070f9587f8e7a266d',
decimals: '0',
@ -489,7 +486,7 @@ describe('migration #54', () => {
],
},
'0x1112': {
[ROPSTEN_CHAIN_ID]: [
'0x3': [
{
address: '0x06012c8cf97bead5deae237070f9587f8e7a266d',
decimals: 0,
@ -570,7 +567,7 @@ describe('migration #54', () => {
],
},
'0x1112': {
[ROPSTEN_CHAIN_ID]: [
'0x3': [
{
address: '0x06012c8cf97bead5deae237070f9587f8e7a266d',
decimals: '0',
@ -644,7 +641,7 @@ describe('migration #54', () => {
],
},
'0x1112': {
[ROPSTEN_CHAIN_ID]: [
'0x3': [
{
address: '0x06012c8cf97bead5deae237070f9587f8e7a266d',
decimals: 0,

View File

@ -19,6 +19,24 @@ export default {
const UNKNOWN_CHAIN_ID_KEY = 'UNKNOWN';
const BUILT_IN_NETWORKS = {};
BUILT_IN_NETWORKS.rinkeby = {
networkId: '4',
chainId: '0x4',
ticker: 'ETH',
};
BUILT_IN_NETWORKS.ropsten = {
networkId: '3',
chainId: '0x3',
ticker: 'ETH',
};
BUILT_IN_NETWORKS.kovan = {
networkId: '42',
chainId: '0x2a',
ticker: 'ETH',
};
function transformState(state) {
if (
state?.IncomingTransactionsController?.incomingTxLastFetchedBlocksByNetwork

View File

@ -1,14 +1,8 @@
import {
GOERLI,
GOERLI_CHAIN_ID,
KOVAN,
KOVAN_CHAIN_ID,
MAINNET,
MAINNET_CHAIN_ID,
RINKEBY,
RINKEBY_CHAIN_ID,
ROPSTEN,
ROPSTEN_CHAIN_ID,
} from '../../../shared/constants/network';
import migration55 from './055';
@ -42,10 +36,10 @@ describe('migration #55', () => {
},
incomingTxLastFetchedBlocksByNetwork: {
[MAINNET]: 1,
[ROPSTEN]: 2,
[RINKEBY]: 3,
ropsten: 2,
rinkeby: 3,
[GOERLI]: 4,
[KOVAN]: 5,
kovan: 5,
},
},
foo: 'bar',
@ -59,10 +53,10 @@ describe('migration #55', () => {
oldStorage.data.IncomingTransactionsController.incomingTransactions,
incomingTxLastFetchedBlockByChainId: {
[MAINNET_CHAIN_ID]: 1,
[ROPSTEN_CHAIN_ID]: 2,
[RINKEBY_CHAIN_ID]: 3,
'0x3': 2,
'0x4': 3,
[GOERLI_CHAIN_ID]: 4,
[KOVAN_CHAIN_ID]: 5,
'0x2a': 5,
},
},
foo: 'bar',

View File

@ -1,8 +1,6 @@
import { cloneDeep } from 'lodash';
import {
KOVAN_CHAIN_ID,
MAINNET_CHAIN_ID,
RINKEBY_CHAIN_ID,
GOERLI_CHAIN_ID,
} from '../../../shared/constants/network';
import {
@ -33,7 +31,7 @@ const ERRONEOUS_TRANSACTION_STATE = {
2: {
type: SENT_ETHER,
id: 2,
chainId: KOVAN_CHAIN_ID,
chainId: '0x2a',
txParams: {
nonce: '0x2',
},
@ -41,7 +39,7 @@ const ERRONEOUS_TRANSACTION_STATE = {
3: {
type: SENT_ETHER,
id: 3,
chainId: RINKEBY_CHAIN_ID,
chainId: '0x4',
txParams: {
nonce: '0x3',
},
@ -49,7 +47,7 @@ const ERRONEOUS_TRANSACTION_STATE = {
4: {
type: SENT_ETHER,
id: 4,
chainId: RINKEBY_CHAIN_ID,
chainId: '0x4',
txParams: {
nonce: '0x4',
},
@ -65,7 +63,7 @@ const ERRONEOUS_TRANSACTION_STATE = {
6: {
type: SENT_ETHER,
id: 6,
chainId: KOVAN_CHAIN_ID,
chainId: '0x2a',
txParams: {
nonce: '0x6',
},
@ -73,7 +71,7 @@ const ERRONEOUS_TRANSACTION_STATE = {
7: {
type: SENT_ETHER,
id: 7,
chainId: RINKEBY_CHAIN_ID,
chainId: '0x4',
txParams: {
nonce: '0x7',
},
@ -81,7 +79,7 @@ const ERRONEOUS_TRANSACTION_STATE = {
8: {
type: SENT_ETHER,
id: 8,
chainId: RINKEBY_CHAIN_ID,
chainId: '0x4',
txParams: {
nonce: '0x8',
},
@ -89,7 +87,7 @@ const ERRONEOUS_TRANSACTION_STATE = {
9: {
type: SENT_ETHER,
id: 9,
chainId: RINKEBY_CHAIN_ID,
chainId: '0x4',
status: TRANSACTION_STATUSES.UNAPPROVED,
},
};

View File

@ -0,0 +1,132 @@
import { cloneDeep, uniq } from 'lodash';
import BigNumber from 'bignumber.js';
import { getRpcUrl } from '../../../shared/constants/network';
const version = 74;
const hexNumberIsGreaterThanZero = (hexNumber) =>
new BigNumber(hexNumber || '0x0', 16).gt(0);
const DEPRECATED_TEST_NET_CHAINIDS = ['0x3', '0x2a', '0x4'];
const DEPRECATED_TEST_NET_DETAILS = {
'0x3': {
rpcUrl: getRpcUrl({ network: 'ropsten' }),
nickname: 'Ropsten',
ticker: 'RopstenETH',
},
'0x2a': {
rpcUrl: getRpcUrl({ network: 'kovan' }),
nickname: 'Kovan',
ticker: 'KovanETH',
},
'0x4': {
rpcUrl: getRpcUrl({ network: 'rinkeby' }),
nickname: 'Rinkeby',
ticker: 'RinkebyETH',
},
};
/**
* Migrates the user default but deprecated testnet networks to custom networks, and
* if the current network is one such network, updates the network provider details so that it
* will work as a custom rpc
*/
export default {
version,
async migrate(originalVersionedData) {
const versionedData = cloneDeep(originalVersionedData);
versionedData.meta.version = version;
const state = versionedData.data;
const newState = transformState(state);
versionedData.data = newState;
return versionedData;
},
};
function transformState(state) {
const PreferencesController = state?.PreferencesController || {};
const preferences = PreferencesController.preferences || {};
const NetworkController = state?.NetworkController || {};
const provider = NetworkController?.provider || {};
const currentlyOnDeprecatedNetwork = DEPRECATED_TEST_NET_CHAINIDS.filter(
(chainId) => chainId === provider?.chainId,
);
// If the user does not want to see test networks, and if the the user is not on a deprecated test network, then
// no need to migrate the test network data to a custom network
if (
!preferences.showTestNetworks &&
currentlyOnDeprecatedNetwork.length === 0
) {
return state;
}
const transactions = state?.TransactionController?.transactions || {};
const cachedBalances = state.CachedBalancesController?.cachedBalances || {};
const deprecatedTestnetsOnWhichTheUserHasMadeATransaction = Object.values(
transactions,
)
.filter(({ chainId }) => DEPRECATED_TEST_NET_CHAINIDS.includes(chainId))
.map(({ chainId }) => chainId);
const deprecatedTestnetsOnWhichTheUserHasCachedBalance =
DEPRECATED_TEST_NET_CHAINIDS.filter((chainId) => {
const cachedBalancesForChain = Object.values(
cachedBalances[chainId] || {},
);
const userHasABalanceGreaterThanZeroOnThisChain =
cachedBalancesForChain.some(hexNumberIsGreaterThanZero);
return userHasABalanceGreaterThanZeroOnThisChain;
});
const deprecatedTestnetsThatHaveBeenUsed = uniq([
...deprecatedTestnetsOnWhichTheUserHasCachedBalance,
...deprecatedTestnetsOnWhichTheUserHasMadeATransaction,
...currentlyOnDeprecatedNetwork,
]);
const newFrequentRpcListDetail =
PreferencesController.frequentRpcListDetail ?? [];
deprecatedTestnetsThatHaveBeenUsed.forEach((chainId) => {
if (
!newFrequentRpcListDetail.find(
(rpcDetails) => rpcDetails.chainId === chainId,
)
) {
newFrequentRpcListDetail.unshift({
rpcUrl: DEPRECATED_TEST_NET_DETAILS[chainId].rpcUrl,
chainId,
ticker: DEPRECATED_TEST_NET_DETAILS[chainId].ticker,
nickname: DEPRECATED_TEST_NET_DETAILS[chainId].nickname,
rpcPrefs: {},
});
}
});
if (newFrequentRpcListDetail.length) {
PreferencesController.frequentRpcListDetail = newFrequentRpcListDetail;
}
if (currentlyOnDeprecatedNetwork.length) {
const selectedNetworkChainId = currentlyOnDeprecatedNetwork[0];
NetworkController.provider = {
...NetworkController.provider,
type: 'rpc',
rpcUrl: DEPRECATED_TEST_NET_DETAILS[selectedNetworkChainId].rpcUrl,
chainId: selectedNetworkChainId,
nickname: DEPRECATED_TEST_NET_DETAILS[selectedNetworkChainId].nickname,
ticker: DEPRECATED_TEST_NET_DETAILS[selectedNetworkChainId].ticker,
};
}
return {
...state,
PreferencesController: {
...PreferencesController,
},
NetworkController: {
...NetworkController,
},
};
}

View File

@ -0,0 +1,561 @@
import migration74 from './074';
describe('migration #74', () => {
it('should update the version metadata', async () => {
const oldStorage = {
meta: {
version: 73,
},
data: {},
};
const newStorage = await migration74.migrate(oldStorage);
expect(newStorage.meta).toStrictEqual({
version: 74,
});
});
it('should add a deprecated testnet to custom networks if that network is currently selected and modify the provider', async () => {
const oldStorage = {
meta: {
version: 73,
},
data: {
NetworkController: {
provider: {
chainId: '0x4',
type: 'rinkeby',
},
},
},
};
const newStorage = await migration74.migrate(oldStorage);
expect(newStorage).toStrictEqual({
meta: {
version: 74,
},
data: {
NetworkController: {
provider: {
chainId: '0x4',
type: 'rpc',
rpcUrl: `https://rinkeby.infura.io/v3/${process.env.INFURA_PROJECT_ID}`,
nickname: 'Rinkeby',
ticker: 'RinkebyETH',
},
},
PreferencesController: {
frequentRpcListDetail: [
{
rpcUrl: `https://rinkeby.infura.io/v3/${process.env.INFURA_PROJECT_ID}`,
chainId: '0x4',
nickname: 'Rinkeby',
ticker: 'RinkebyETH',
rpcPrefs: {},
},
],
},
},
});
});
it('should not add a deprecated testnet to custom networks if no deprecated testnet is selected', async () => {
const oldStorage = {
meta: {
version: 73,
},
data: {
NetworkController: {
provider: {
chainId: '0xabc',
},
},
PreferencesController: {
preferences: {
showTestNetworks: true,
},
},
},
};
const newStorage = await migration74.migrate(oldStorage);
expect(newStorage).toStrictEqual({
meta: {
version: 74,
},
data: {
NetworkController: {
provider: {
chainId: '0xabc',
},
},
PreferencesController: {
preferences: {
showTestNetworks: true,
},
},
},
});
});
it('should add a deprecated testnet to custom networks if a transaction has been sent from that network', async () => {
const oldStorage = {
meta: {
version: 73,
},
data: {
NetworkController: {
provider: {
chainId: '0x1',
},
},
TransactionController: {
transactions: {
1: {
chainId: '0x3',
},
2: {
chainId: '0x4',
},
3: {
chainId: '0xabc',
},
},
},
PreferencesController: {
preferences: {
showTestNetworks: true,
},
},
},
};
const newStorage = await migration74.migrate(oldStorage);
expect(newStorage).toStrictEqual({
meta: {
version: 74,
},
data: {
NetworkController: {
provider: {
chainId: '0x1',
},
},
PreferencesController: {
frequentRpcListDetail: [
{
rpcUrl: `https://rinkeby.infura.io/v3/${process.env.INFURA_PROJECT_ID}`,
chainId: '0x4',
nickname: 'Rinkeby',
ticker: 'RinkebyETH',
rpcPrefs: {},
},
{
rpcUrl: `https://ropsten.infura.io/v3/${process.env.INFURA_PROJECT_ID}`,
chainId: '0x3',
nickname: 'Ropsten',
ticker: 'RopstenETH',
rpcPrefs: {},
},
],
preferences: {
showTestNetworks: true,
},
},
TransactionController: {
transactions: {
1: {
chainId: '0x3',
},
2: {
chainId: '0x4',
},
3: {
chainId: '0xabc',
},
},
},
},
});
});
it('should add a deprecated testnet to custom networks if there is balance on that network', async () => {
const oldStorage = {
meta: {
version: 73,
},
data: {
NetworkController: {
provider: {
chainId: '0x1',
},
},
PreferencesController: {
preferences: {
showTestNetworks: true,
},
},
CachedBalancesController: {
cachedBalances: {
'0x2a': {
'0x123456789': '0x1',
},
},
},
},
};
const newStorage = await migration74.migrate(oldStorage);
expect(newStorage).toStrictEqual({
meta: {
version: 74,
},
data: {
NetworkController: {
provider: {
chainId: '0x1',
},
},
PreferencesController: {
frequentRpcListDetail: [
{
rpcUrl: `https://kovan.infura.io/v3/${process.env.INFURA_PROJECT_ID}`,
chainId: '0x2a',
nickname: 'Kovan',
ticker: 'KovanETH',
rpcPrefs: {},
},
],
preferences: {
showTestNetworks: true,
},
},
CachedBalancesController: {
cachedBalances: {
'0x2a': {
'0x123456789': '0x1',
},
},
},
},
});
});
it('should add all three deprecated testnets to custom networks if each has a different reason for being added', async () => {
const oldStorage = {
meta: {
version: 73,
},
data: {
NetworkController: {
provider: {
chainId: '0x2a',
},
},
TransactionController: {
transactions: {
1: {
chainId: '0x3',
},
},
},
PreferencesController: {
preferences: {
showTestNetworks: true,
},
},
CachedBalancesController: {
cachedBalances: {
'0x4': {
'0x123456789': '0x1',
},
},
},
},
};
const newStorage = await migration74.migrate(oldStorage);
expect(newStorage).toStrictEqual({
meta: {
version: 74,
},
data: {
NetworkController: {
provider: {
rpcUrl: `https://kovan.infura.io/v3/${process.env.INFURA_PROJECT_ID}`,
chainId: '0x2a',
nickname: 'Kovan',
ticker: 'KovanETH',
type: 'rpc',
},
},
PreferencesController: {
frequentRpcListDetail: [
{
rpcUrl: `https://kovan.infura.io/v3/${process.env.INFURA_PROJECT_ID}`,
chainId: '0x2a',
nickname: 'Kovan',
ticker: 'KovanETH',
rpcPrefs: {},
},
{
rpcUrl: `https://ropsten.infura.io/v3/${process.env.INFURA_PROJECT_ID}`,
chainId: '0x3',
nickname: 'Ropsten',
ticker: 'RopstenETH',
rpcPrefs: {},
},
{
rpcUrl: `https://rinkeby.infura.io/v3/${process.env.INFURA_PROJECT_ID}`,
chainId: '0x4',
nickname: 'Rinkeby',
ticker: 'RinkebyETH',
rpcPrefs: {},
},
],
preferences: {
showTestNetworks: true,
},
},
CachedBalancesController: {
cachedBalances: {
'0x4': {
'0x123456789': '0x1',
},
},
},
TransactionController: {
transactions: {
1: {
chainId: '0x3',
},
},
},
},
});
});
it('should not add deprecated testnets to custom networks if none is selected and showTestNetworks is false', async () => {
const oldStorage = {
meta: {
version: 73,
},
data: {
NetworkController: {
provider: {
chainId: '0xabc',
},
},
TransactionController: {
transactions: {
1: {
chainId: '0x3',
},
},
},
PreferencesController: {
preferences: {
showTestNetworks: false,
},
},
CachedBalancesController: {
cachedBalances: {
'0x4': {
'0x123456789': '0x1',
},
},
},
},
};
const newStorage = await migration74.migrate(oldStorage);
expect(newStorage).toStrictEqual({
meta: {
version: 74,
},
data: {
NetworkController: {
provider: {
chainId: '0xabc',
},
},
PreferencesController: {
preferences: {
showTestNetworks: false,
},
},
CachedBalancesController: {
cachedBalances: {
'0x4': {
'0x123456789': '0x1',
},
},
},
TransactionController: {
transactions: {
1: {
chainId: '0x3',
},
},
},
},
});
});
it('should not alter or remove existing custom networks when no deprecated testnets are being added', async () => {
const oldStorage = {
meta: {
version: 73,
},
data: {
NetworkController: {
provider: {
chainId: '0xabc',
},
},
TransactionController: {
transactions: {
1: {
chainId: '0x3',
},
},
},
PreferencesController: {
frequentRpcListDetail: [
{
rpcUrl: `https://example.com`,
chainId: '0xdef',
ticker: 'ETH',
nickname: 'Kovan',
rpcPrefs: {},
},
],
preferences: {
showTestNetworks: false,
},
},
CachedBalancesController: {
cachedBalances: {
'0x4': {
'0x123456789': '0x1',
},
},
},
},
};
const newStorage = await migration74.migrate(oldStorage);
expect(newStorage).toStrictEqual({
meta: {
version: 74,
},
data: {
NetworkController: {
provider: {
chainId: '0xabc',
},
},
PreferencesController: {
frequentRpcListDetail: [
{
rpcUrl: `https://example.com`,
chainId: '0xdef',
ticker: 'ETH',
nickname: 'Kovan',
rpcPrefs: {},
},
],
preferences: {
showTestNetworks: false,
},
},
CachedBalancesController: {
cachedBalances: {
'0x4': {
'0x123456789': '0x1',
},
},
},
TransactionController: {
transactions: {
1: {
chainId: '0x3',
},
},
},
},
});
});
it('should not modify an existing custom network with the same chainId as a deprecated testnet', async () => {
const oldStorage = {
meta: {
version: 73,
},
data: {
NetworkController: {
provider: {
chainId: '0x1',
},
},
TransactionController: {
transactions: {
1: {
chainId: '0x3',
},
},
},
PreferencesController: {
preferences: {
showTestNetworks: true,
},
frequentRpcListDetail: [
{
rpcUrl: `https://example.com`,
chainId: '0x3',
ticker: 'ETH',
nickname: 'Ropsten',
rpcPrefs: {},
},
],
},
},
};
const newStorage = await migration74.migrate(oldStorage);
expect(newStorage).toStrictEqual({
meta: {
version: 74,
},
data: {
NetworkController: {
provider: {
chainId: '0x1',
},
},
TransactionController: {
transactions: {
1: {
chainId: '0x3',
},
},
},
PreferencesController: {
preferences: {
showTestNetworks: true,
},
frequentRpcListDetail: [
{
rpcUrl: `https://example.com`,
chainId: '0x3',
ticker: 'ETH',
nickname: 'Ropsten',
rpcPrefs: {},
},
],
},
},
});
});
});

View File

@ -77,6 +77,7 @@ import m070 from './070';
import m071 from './071';
import m072 from './072';
import m073 from './073';
import m074 from './074';
const migrations = [
m002,
@ -151,6 +152,7 @@ const migrations = [
m071,
m072,
m073,
m074,
];
export default migrations;

View File

@ -149,11 +149,6 @@ describe('wallet1 is migrated successfully', () => {
'testnet',
);
return migration13.migrate(twelfthResult);
})
.then((thirteenthResult) => {
expect(thirteenthResult.data.config.provider.type).toStrictEqual(
'ropsten',
);
});
});
});

View File

@ -229,7 +229,7 @@
"useETHAsPrimaryCurrency": true
},
"provider": {
"type": "rinkeby"
"type": "goerli"
},
"network": "4",
"accounts": {
@ -276,7 +276,7 @@
"0x8cf82b5aa41ff2282427be151dd328568684007a": {},
"0xbe1a00e10ec68b154adb84e8119167146a71c9a2": {},
"0xe2f12a09ba1098312a7d1cad7581ed253ca5f4b2": {
"rinkeby": [
"goerli": [
{
"address": "0xe0b7927c4af23765cb51314a0e0521a9645f0e2a",
"decimals": 9,
@ -305,10 +305,7 @@
"conversionDate": 1538859376,
"shapeShiftTxList": [],
"infuraNetworkStatus": {
"kovan": "ok",
"mainnet": "ok",
"rinkeby": "ok",
"ropsten": "ok",
"goerli": "ok",
"sepolia": "ok"
}

930
shared/constants/network.ts Normal file
View File

@ -0,0 +1,930 @@
import { capitalize } from 'lodash';
/**
* A type representing any valid value for 'type' for setProviderType and other
* methods that add or manipulate networks in MetaMask state.
*/
export type NetworkType = typeof NETWORK_TYPES[keyof typeof NETWORK_TYPES];
/**
* A union type of all possible hard-coded chain ids. This type is not
* exhaustive and cannot be used for typing chainId in areas where the user or
* dapp may specify any chainId.
*/
export type ChainId = typeof CHAIN_IDS[keyof typeof CHAIN_IDS];
/**
* A type that is a union type of all possible hardcoded currency symbols.
* This type is non-exhaustive, and cannot be used for areas where the user
* or dapp may supply their own symbol.
*/
type CurrencySymbol = typeof CURRENCY_SYMBOLS[keyof typeof CURRENCY_SYMBOLS];
/**
* A type that is a union type for the supported symbols on different onramp providers.
*/
type SupportedCurrencySymbol =
typeof SUPPORTED_CURRENCY_SYMBOLS[keyof typeof SUPPORTED_CURRENCY_SYMBOLS];
/**
* Test networks have special symbols that combine the network name and 'ETH'
* so that they are distinct from mainnet and other networks that use 'ETH'.
*/
export type TestNetworkCurrencySymbol =
typeof TEST_NETWORK_TICKER_MAP[keyof typeof TEST_NETWORK_TICKER_MAP];
/**
* MoonPay is a fiat onramp provider, and there are some special strings that
* inform the MoonPay API which network the user is attempting to onramp into.
* This type reflects those possible values.
*/
type MoonPayNetworkAbbreviation = 'BSC' | 'CCHAIN' | 'POLYGON';
/**
* MoonPay requires some settings that are configured per network that it is
* enabled on. This type describes those settings.
*/
type MoonPayChainSettings = {
/**
* What should the default onramp currency be, for example 'eth' on 'mainnet'
* This type matches a single SupportedCurrencySymbol or a
* SupportedCurrencySymbol and a MoonPayNetworkAbbreviation joined by a '_'.
*/
defaultCurrencyCode:
| SupportedCurrencySymbol
| `${SupportedCurrencySymbol}_${MoonPayNetworkAbbreviation}`;
/**
* We must also configure all possible onramp currencies we wish to support.
* This type matches either an array of SupportedCurrencySymbol or
* an array of SupportedCurrencySymbol and a MoonPayNetworkAbbreviation joined by a '_'.
*/
showOnlyCurrencies:
| SupportedCurrencySymbol[]
| `${SupportedCurrencySymbol}_${MoonPayNetworkAbbreviation}`[];
};
/**
* An object containing preferences for an RPC definition
*/
type RPCPreferences = {
/**
* A URL for the block explorer for the RPC's network
*/
blockExplorerUrl: `https://${string}`;
/**
* A image reflecting the asset symbol for the network
*/
imageUrl: string;
};
/**
* An object that describes a network to be used inside of MetaMask
*/
type RPCDefinition = {
/**
* The hex encoded ChainId for the network
*/
chainId: ChainId;
/**
* The nickname for the network
*/
nickname: string;
/**
* The URL for the client to send network requests to
*/
rpcUrl: `https://${string}`;
/**
* The Currency Symbol for the network
*/
ticker: string;
/**
* Additional preferences for the network, such as blockExplorerUrl
*/
rpcPrefs: RPCPreferences;
};
/**
* Wyre is a fiat onramp provider. We must provide some settings for networks
* that support Wyre.
*/
type WyreChainSettings = {
/**
* The network name
*/
srn: string;
/**
* The native currency for the network
*/
currencyCode: CurrencySymbol;
/**
* The list of supported currencies for the Wyre onramp provider
*/
currencies: SupportedCurrencySymbol[];
};
/**
* For each chain that we support fiat onramps for, we provide a set of
* configuration options that help for initializing the connectiong to the
* onramp providers.
*/
type BuyableChainSettings = {
/**
* The native currency for the given chain
*/
nativeCurrency: CurrencySymbol | TestNetworkCurrencySymbol;
/**
* The network name or identifier
*/
network: string;
/**
* The list of supported currencies for the Transak onramp provider
*/
transakCurrencies?: SupportedCurrencySymbol[];
/**
* A configuration object for the MoonPay onramp provider
*/
moonPay?: MoonPayChainSettings;
/**
* A configuration object for the Wyre onramp provider
*/
wyre?: WyreChainSettings;
/**
* The list of supported currencies for the CoinbasePay onramp provider
*/
coinbasePayCurrencies?: SupportedCurrencySymbol[];
};
/**
* Throughout the extension we set the current provider by referencing its
* "type", which can be any of the values in the below object. These values
* represent the built-in networks of MetaMask, including test nets, as well
* as "rpc" which is the "type" of a custom network added by the user or via
* wallet_addEthereumChain.
*/
export const NETWORK_TYPES = {
GOERLI: 'goerli',
LOCALHOST: 'localhost',
MAINNET: 'mainnet',
RPC: 'rpc',
SEPOLIA: 'sepolia',
} as const;
/**
* An object containing shortcut names for any non-builtin network. We need
* this to be able to differentiate between networks that require custom
* sections of code for our various features, such as swaps or token lists.
*/
export const NETWORK_NAMES = {
HOMESTEAD: 'homestead',
};
/**
* The Network ID for our builtin networks. This is the decimal equivalent of
* the chain id for the network, but is expresssed as a string. Many moons ago
* the decision was made on the extension team to expressly use chainId with
* hex encoding over network id. Consider that when accessing this object. Note
* for cross product purposes: alignment with mobile on this matter has not
* been fully achieved, thus it is possible for some dependencies to still
* ask for or require network id.
*/
export const NETWORK_IDS = {
MAINNET: '1',
GOERLI: '5',
LOCALHOST: '1337',
SEPOLIA: '11155111',
} as const;
/**
* An object containing all of the chain ids for networks both built in and
* those that we have added custom code to support our feature set.
*/
export const CHAIN_IDS = {
MAINNET: '0x1',
GOERLI: '0x5',
LOCALHOST: '0x539',
BSC: '0x38',
OPTIMISM: '0xa',
OPTIMISM_TESTNET: '0x1a4',
POLYGON: '0x89',
AVALANCHE: '0xa86a',
FANTOM: '0xfa',
CELO: '0xa4ec',
ARBITRUM: '0xa4b1',
HARMONY: '0x63564c40',
PALM: '0x2a15c308d',
SEPOLIA: '0xaa36a7',
} as const;
/**
* The largest possible chain ID we can handle.
* Explanation: https://gist.github.com/rekmarks/a47bd5f2525936c4b8eee31a16345553
*/
export const MAX_SAFE_CHAIN_ID = 4503599627370476;
export const MAINNET_DISPLAY_NAME = 'Ethereum Mainnet';
export const GOERLI_DISPLAY_NAME = 'Goerli';
export const SEPOLIA_DISPLAY_NAME = 'Sepolia';
export const LOCALHOST_DISPLAY_NAME = 'Localhost 8545';
export const BSC_DISPLAY_NAME = 'Binance Smart Chain';
export const POLYGON_DISPLAY_NAME = 'Polygon';
export const AVALANCHE_DISPLAY_NAME = 'Avalanche Network C-Chain';
export const ARBITRUM_DISPLAY_NAME = 'Arbitrum One';
export const BNB_DISPLAY_NAME =
'BNB Smart Chain (previously Binance Smart Chain Mainnet)';
export const OPTIMISM_DISPLAY_NAME = 'Optimism';
export const FANTOM_DISPLAY_NAME = 'Fantom Opera';
export const HARMONY_DISPLAY_NAME = 'Harmony Mainnet Shard 0';
export const PALM_DISPLAY_NAME = 'Palm';
export const infuraProjectId = process.env.INFURA_PROJECT_ID;
export const getRpcUrl = ({
network,
excludeProjectId = false,
}: {
network: NetworkType;
excludeProjectId?: boolean;
}) =>
`https://${network}.infura.io/v3/${excludeProjectId ? '' : infuraProjectId}`;
export const MAINNET_RPC_URL = getRpcUrl({
network: NETWORK_TYPES.MAINNET,
});
export const GOERLI_RPC_URL = getRpcUrl({ network: NETWORK_TYPES.GOERLI });
export const SEPOLIA_RPC_URL = getRpcUrl({ network: NETWORK_TYPES.SEPOLIA });
export const LOCALHOST_RPC_URL = 'http://localhost:8545';
/**
* An object containing the token symbols for various tokens that are either
* native currencies or those that have been special cased by the extension
* for supporting our feature set.
*/
export const CURRENCY_SYMBOLS = {
ARBITRUM: 'ETH',
AVALANCHE: 'AVAX',
BNB: 'BNB',
BUSD: 'BUSD',
CELO: 'CELO',
DAI: 'DAI',
ETH: 'ETH',
FANTOM: 'FTM',
HARMONY: 'ONE',
PALM: 'PALM',
MATIC: 'MATIC',
TEST_ETH: 'TESTETH',
USDC: 'USDC',
USDT: 'USDT',
WETH: 'WETH',
} as const;
/**
* An object containing the token symbols for various tokens that are supported
* on different on ramp providers. This object is meant for internal consumption,
* hence why it is not exported.
*/
const SUPPORTED_CURRENCY_SYMBOLS = {
...CURRENCY_SYMBOLS,
'1INCH': '1INCH',
AAVE: 'AAVE',
ABT: 'ABT',
ACH: 'ACH',
AGEUR: 'AGEUR',
AGLD: 'AGLD',
AMP: 'AMP',
ANKR: 'ANKR',
APE: 'APE',
ARPA: 'ARPA',
ASM: 'ASM',
AUCTION: 'AUCTION',
AXS: 'AXS',
AVAX: 'AVAX',
AVAXC: 'AVAXC',
AVAXCUSDC: 'AVAXCUSDC',
BADGER: 'BADGER',
BAL: 'BAL',
BAND: 'BAND',
BAT: 'BAT',
BNT: 'BNT',
BOBA: 'BOBA',
BOND: 'BOND',
BTRST: 'BTRST',
CHAIN: 'CHAIN',
CHZ: 'CHZ',
CLV: 'CLV',
COMP: 'COMP',
COTI: 'COTI',
CRO: 'CRO',
CRV: 'CRV',
CTSI: 'CTSI',
CVC: 'CVC',
DAO: 'DAO',
DDX: 'DDX',
DNT: 'DNT',
ENJ: 'ENJ',
ENS: 'ENS',
EURT: 'EURT',
FARM: 'FARM',
FET: 'FET',
FORTH: 'FORTH',
FX: 'FX',
GNO: 'GNO',
GRT: 'GRT',
GTC: 'GTC',
GTH: 'GTH',
GUSD: 'GUSD',
GYEN: 'GYEN',
HEX: 'HEX',
IOTX: 'IOTX',
IMX: 'IMX',
JASMY: 'JASMY',
KEEP: 'KEEP',
KNC: 'KNC',
KRL: 'KRL',
LCX: 'LCX',
LINK: 'LINK',
LPT: 'LPT',
LRC: 'LRC',
MANA: 'MANA',
MASK: 'MASK',
MINDS: 'MINDS',
MIR: 'MIR',
MKR: 'MKR',
MLN: 'MLN',
MTL: 'MTL',
MUSDC: 'mUSDC',
NKN: 'NKN',
NMR: 'NMR',
NU: 'NU',
OGN: 'OGN',
OMG: 'OMG',
ORN: 'ORN',
OXT: 'OXT',
PAX: 'PAX',
PERP: 'PERP',
PLA: 'PLA',
POLS: 'POLS',
POLY: 'POLY',
QNT: 'QNT',
QUICK: 'QUICK',
RAD: 'RAD',
RAI: 'RAI',
RARI: 'RARI',
REN: 'REN',
REP: 'REP',
REQ: 'REQ',
RLC: 'RLC',
RLY: 'RLY',
SAND: 'SAND',
SHIB: 'SHIB',
SKL: 'SKL',
SNX: 'SNX',
STETH: 'STETH',
STORJ: 'STORJ',
SUKU: 'SUKU',
SUSHI: 'SUSHI',
SWAP: 'SWAP',
SWFTC: 'SWFTC',
TRAC: 'TRAC',
TRB: 'TRB',
TRIBE: 'TRIBE',
TRU: 'TRU',
TXL: 'TXL',
UMA: 'UMA',
UNI: 'UNI',
USDS: 'USDS',
VRA: 'VRA',
WBTC: 'WBTC',
WCFG: 'WCFG',
XYO: 'XYO',
YFII: 'YFII',
YFI: 'YFI',
YLD: 'YLD',
ZRX: 'ZRX',
ZUSD: 'ZUSD',
} as const;
export const ETH_TOKEN_IMAGE_URL = './images/eth_logo.svg';
export const TEST_ETH_TOKEN_IMAGE_URL = './images/black-eth-logo.svg';
export const BNB_TOKEN_IMAGE_URL = './images/bnb.png';
export const MATIC_TOKEN_IMAGE_URL = './images/matic-token.png';
export const AVAX_TOKEN_IMAGE_URL = './images/avax-token.png';
export const AETH_TOKEN_IMAGE_URL = './images/arbitrum.svg';
export const FTM_TOKEN_IMAGE_URL = './images/fantom-opera.svg';
export const HARMONY_ONE_TOKEN_IMAGE_URL = './images/harmony-one.svg';
export const OPTIMISM_TOKEN_IMAGE_URL = './images/optimism.svg';
export const PALM_TOKEN_IMAGE_URL = './images/palm.svg';
export const INFURA_PROVIDER_TYPES = [
NETWORK_TYPES.MAINNET,
NETWORK_TYPES.GOERLI,
NETWORK_TYPES.SEPOLIA,
];
export const TEST_CHAINS = [
CHAIN_IDS.GOERLI,
CHAIN_IDS.SEPOLIA,
CHAIN_IDS.LOCALHOST,
];
const typedCapitalize = <K extends string>(k: K): Capitalize<K> =>
capitalize(k) as Capitalize<typeof k>;
export const TEST_NETWORK_TICKER_MAP: {
[K in Exclude<
NetworkType,
'localhost' | 'mainnet' | 'rpc'
>]: `${Capitalize<K>}${typeof CURRENCY_SYMBOLS.ETH}`;
} = {
[NETWORK_TYPES.GOERLI]: `${typedCapitalize(NETWORK_TYPES.GOERLI)}${
CURRENCY_SYMBOLS.ETH
}`,
[NETWORK_TYPES.SEPOLIA]: `${typedCapitalize(NETWORK_TYPES.SEPOLIA)}${
CURRENCY_SYMBOLS.ETH
}`,
};
/**
* Map of all build-in Infura networks to their network, ticker and chain IDs.
*/
export const BUILT_IN_NETWORKS = {
[NETWORK_TYPES.GOERLI]: {
networkId: NETWORK_IDS.GOERLI,
chainId: CHAIN_IDS.GOERLI,
ticker: TEST_NETWORK_TICKER_MAP[NETWORK_TYPES.GOERLI],
},
[NETWORK_TYPES.SEPOLIA]: {
networkId: NETWORK_IDS.SEPOLIA,
chainId: CHAIN_IDS.SEPOLIA,
ticker: TEST_NETWORK_TICKER_MAP[NETWORK_TYPES.SEPOLIA],
},
[NETWORK_TYPES.MAINNET]: {
networkId: NETWORK_IDS.MAINNET,
chainId: CHAIN_IDS.MAINNET,
},
[NETWORK_TYPES.LOCALHOST]: {
networkId: NETWORK_IDS.LOCALHOST,
chainId: CHAIN_IDS.LOCALHOST,
},
} as const;
export const NETWORK_TO_NAME_MAP = {
[NETWORK_TYPES.MAINNET]: MAINNET_DISPLAY_NAME,
[NETWORK_TYPES.GOERLI]: GOERLI_DISPLAY_NAME,
[NETWORK_TYPES.SEPOLIA]: SEPOLIA_DISPLAY_NAME,
[NETWORK_TYPES.LOCALHOST]: LOCALHOST_DISPLAY_NAME,
[NETWORK_IDS.GOERLI]: GOERLI_DISPLAY_NAME,
[NETWORK_IDS.SEPOLIA]: SEPOLIA_DISPLAY_NAME,
[NETWORK_IDS.MAINNET]: MAINNET_DISPLAY_NAME,
[NETWORK_IDS.LOCALHOST]: LOCALHOST_DISPLAY_NAME,
[CHAIN_IDS.GOERLI]: GOERLI_DISPLAY_NAME,
[CHAIN_IDS.SEPOLIA]: SEPOLIA_DISPLAY_NAME,
[CHAIN_IDS.MAINNET]: MAINNET_DISPLAY_NAME,
[CHAIN_IDS.LOCALHOST]: LOCALHOST_DISPLAY_NAME,
} as const;
export const CHAIN_ID_TO_TYPE_MAP = {
[CHAIN_IDS.MAINNET]: NETWORK_TYPES.MAINNET,
[CHAIN_IDS.GOERLI]: NETWORK_TYPES.GOERLI,
[CHAIN_IDS.SEPOLIA]: NETWORK_TYPES.SEPOLIA,
[CHAIN_IDS.LOCALHOST]: NETWORK_TYPES.LOCALHOST,
} as const;
export const CHAIN_ID_TO_RPC_URL_MAP = {
[CHAIN_IDS.GOERLI]: GOERLI_RPC_URL,
[CHAIN_IDS.SEPOLIA]: SEPOLIA_RPC_URL,
[CHAIN_IDS.MAINNET]: MAINNET_RPC_URL,
[CHAIN_IDS.LOCALHOST]: LOCALHOST_RPC_URL,
} as const;
export const CHAIN_ID_TO_NETWORK_IMAGE_URL_MAP = {
[CHAIN_IDS.MAINNET]: ETH_TOKEN_IMAGE_URL,
[CHAIN_IDS.AVALANCHE]: AVAX_TOKEN_IMAGE_URL,
[CHAIN_IDS.BSC]: BNB_TOKEN_IMAGE_URL,
[CHAIN_IDS.POLYGON]: MATIC_TOKEN_IMAGE_URL,
[CHAIN_IDS.ARBITRUM]: AETH_TOKEN_IMAGE_URL,
[CHAIN_IDS.FANTOM]: FTM_TOKEN_IMAGE_URL,
[CHAIN_IDS.HARMONY]: HARMONY_ONE_TOKEN_IMAGE_URL,
[CHAIN_IDS.OPTIMISM]: OPTIMISM_TOKEN_IMAGE_URL,
[CHAIN_IDS.PALM]: PALM_TOKEN_IMAGE_URL,
} as const;
export const NETWORK_ID_TO_ETHERS_NETWORK_NAME_MAP = {
[NETWORK_IDS.GOERLI]: NETWORK_TYPES.GOERLI,
[NETWORK_IDS.SEPOLIA]: NETWORK_TYPES.SEPOLIA,
[NETWORK_IDS.MAINNET]: NETWORK_NAMES.HOMESTEAD,
} as const;
export const CHAIN_ID_TO_NETWORK_ID_MAP = {
[CHAIN_IDS.MAINNET]: NETWORK_IDS.MAINNET,
[CHAIN_IDS.GOERLI]: NETWORK_IDS.GOERLI,
[CHAIN_IDS.SEPOLIA]: NETWORK_IDS.SEPOLIA,
[CHAIN_IDS.LOCALHOST]: NETWORK_IDS.LOCALHOST,
} as const;
export const NATIVE_CURRENCY_TOKEN_IMAGE_MAP = {
[CURRENCY_SYMBOLS.ETH]: ETH_TOKEN_IMAGE_URL,
[CURRENCY_SYMBOLS.TEST_ETH]: TEST_ETH_TOKEN_IMAGE_URL,
[CURRENCY_SYMBOLS.BNB]: BNB_TOKEN_IMAGE_URL,
[CURRENCY_SYMBOLS.MATIC]: MATIC_TOKEN_IMAGE_URL,
[CURRENCY_SYMBOLS.AVALANCHE]: AVAX_TOKEN_IMAGE_URL,
} as const;
export const INFURA_BLOCKED_KEY = 'countryBlocked';
/**
* Hardforks are points in the chain where logic is changed significantly
* enough where there is a fork and the new fork becomes the active chain.
* These constants are presented in chronological order starting with BERLIN
* because when we first needed to track the hardfork we had launched support
* for EIP-2718 (where transactions can have types and different shapes) and
* EIP-2930 (optional access lists), which were included in BERLIN.
*
* BERLIN - forked at block number 12,244,000, included typed transactions and
* optional access lists
* LONDON - future, upcoming fork that introduces the baseFeePerGas, an amount
* of the ETH transaction fees that will be burned instead of given to the
* miner. This change necessitated the third type of transaction envelope to
* specify maxFeePerGas and maxPriorityFeePerGas moving the fee bidding system
* to a second price auction model.
*/
export const HARDFORKS = {
BERLIN: 'berlin',
LONDON: 'london',
} as const;
export const CHAIN_ID_TO_GAS_LIMIT_BUFFER_MAP = {
[CHAIN_IDS.OPTIMISM]: 1,
[CHAIN_IDS.OPTIMISM_TESTNET]: 1,
};
/**
* Ethereum JSON-RPC methods that are known to exist but that we intentionally
* do not support.
*/
export const UNSUPPORTED_RPC_METHODS = new Set([
// This is implemented later in our middleware stack specifically, in
// eth-json-rpc-middleware but our UI does not support it.
'eth_signTransaction' as const,
]);
export const IPFS_DEFAULT_GATEWAY_URL = 'dweb.link';
// The first item in transakCurrencies must be the
// default crypto currency for the network
const BUYABLE_CHAIN_ETHEREUM_NETWORK_NAME = 'ethereum';
export const BUYABLE_CHAINS_MAP: {
[K in Exclude<
ChainId,
| typeof CHAIN_IDS.LOCALHOST
| typeof CHAIN_IDS.PALM
| typeof CHAIN_IDS.HARMONY
| typeof CHAIN_IDS.OPTIMISM
| typeof CHAIN_IDS.OPTIMISM_TESTNET
| typeof CHAIN_IDS.ARBITRUM
>]: BuyableChainSettings;
} = {
[CHAIN_IDS.MAINNET]: {
nativeCurrency: CURRENCY_SYMBOLS.ETH,
network: BUYABLE_CHAIN_ETHEREUM_NETWORK_NAME,
transakCurrencies: [
SUPPORTED_CURRENCY_SYMBOLS.ETH,
SUPPORTED_CURRENCY_SYMBOLS['1INCH'],
SUPPORTED_CURRENCY_SYMBOLS.AAVE,
SUPPORTED_CURRENCY_SYMBOLS.AGEUR,
SUPPORTED_CURRENCY_SYMBOLS.BUSD,
SUPPORTED_CURRENCY_SYMBOLS.CHAIN,
SUPPORTED_CURRENCY_SYMBOLS.CLV,
SUPPORTED_CURRENCY_SYMBOLS.COMP,
SUPPORTED_CURRENCY_SYMBOLS.CTSI,
SUPPORTED_CURRENCY_SYMBOLS.DAI,
SUPPORTED_CURRENCY_SYMBOLS.DAO,
SUPPORTED_CURRENCY_SYMBOLS.ENJ,
SUPPORTED_CURRENCY_SYMBOLS.EURT,
SUPPORTED_CURRENCY_SYMBOLS.GTH,
SUPPORTED_CURRENCY_SYMBOLS.HEX,
SUPPORTED_CURRENCY_SYMBOLS.LINK,
SUPPORTED_CURRENCY_SYMBOLS.MANA,
SUPPORTED_CURRENCY_SYMBOLS.MASK,
SUPPORTED_CURRENCY_SYMBOLS.MINDS,
SUPPORTED_CURRENCY_SYMBOLS.MKR,
SUPPORTED_CURRENCY_SYMBOLS.PLA,
SUPPORTED_CURRENCY_SYMBOLS.POLS,
SUPPORTED_CURRENCY_SYMBOLS.SAND,
SUPPORTED_CURRENCY_SYMBOLS.STETH,
SUPPORTED_CURRENCY_SYMBOLS.SUSHI,
SUPPORTED_CURRENCY_SYMBOLS.SWAP,
SUPPORTED_CURRENCY_SYMBOLS.TXL,
SUPPORTED_CURRENCY_SYMBOLS.UNI,
SUPPORTED_CURRENCY_SYMBOLS.USDC,
SUPPORTED_CURRENCY_SYMBOLS.USDT,
SUPPORTED_CURRENCY_SYMBOLS.VRA,
SUPPORTED_CURRENCY_SYMBOLS.WBTC,
SUPPORTED_CURRENCY_SYMBOLS.YLD,
],
moonPay: {
defaultCurrencyCode: SUPPORTED_CURRENCY_SYMBOLS.ETH,
showOnlyCurrencies: [
SUPPORTED_CURRENCY_SYMBOLS.ETH,
SUPPORTED_CURRENCY_SYMBOLS.USDT,
SUPPORTED_CURRENCY_SYMBOLS.USDC,
SUPPORTED_CURRENCY_SYMBOLS.DAI,
SUPPORTED_CURRENCY_SYMBOLS.MATIC,
SUPPORTED_CURRENCY_SYMBOLS.ORN,
SUPPORTED_CURRENCY_SYMBOLS.WETH,
SUPPORTED_CURRENCY_SYMBOLS.IMX,
],
},
wyre: {
srn: 'ethereum',
currencyCode: CURRENCY_SYMBOLS.ETH,
currencies: [
SUPPORTED_CURRENCY_SYMBOLS.ETH,
SUPPORTED_CURRENCY_SYMBOLS.AAVE,
SUPPORTED_CURRENCY_SYMBOLS.BAT,
SUPPORTED_CURRENCY_SYMBOLS.BUSD,
SUPPORTED_CURRENCY_SYMBOLS.COMP,
SUPPORTED_CURRENCY_SYMBOLS.CRV,
SUPPORTED_CURRENCY_SYMBOLS.DAI,
SUPPORTED_CURRENCY_SYMBOLS.GUSD,
SUPPORTED_CURRENCY_SYMBOLS.GYEN,
SUPPORTED_CURRENCY_SYMBOLS.LINK,
SUPPORTED_CURRENCY_SYMBOLS.MKR,
SUPPORTED_CURRENCY_SYMBOLS.PAX,
SUPPORTED_CURRENCY_SYMBOLS.RAI,
SUPPORTED_CURRENCY_SYMBOLS.SNX,
SUPPORTED_CURRENCY_SYMBOLS.UMA,
SUPPORTED_CURRENCY_SYMBOLS.UNI,
SUPPORTED_CURRENCY_SYMBOLS.USDC,
SUPPORTED_CURRENCY_SYMBOLS.USDS,
SUPPORTED_CURRENCY_SYMBOLS.USDT,
SUPPORTED_CURRENCY_SYMBOLS.WBTC,
SUPPORTED_CURRENCY_SYMBOLS.WETH,
SUPPORTED_CURRENCY_SYMBOLS.YFI,
SUPPORTED_CURRENCY_SYMBOLS.ZUSD,
],
},
coinbasePayCurrencies: [
SUPPORTED_CURRENCY_SYMBOLS.ETH,
SUPPORTED_CURRENCY_SYMBOLS['1INCH'],
SUPPORTED_CURRENCY_SYMBOLS.AAVE,
SUPPORTED_CURRENCY_SYMBOLS.ABT,
SUPPORTED_CURRENCY_SYMBOLS.ACH,
SUPPORTED_CURRENCY_SYMBOLS.AGLD,
SUPPORTED_CURRENCY_SYMBOLS.AMP,
SUPPORTED_CURRENCY_SYMBOLS.ANKR,
SUPPORTED_CURRENCY_SYMBOLS.APE,
SUPPORTED_CURRENCY_SYMBOLS.ARPA,
SUPPORTED_CURRENCY_SYMBOLS.ASM,
SUPPORTED_CURRENCY_SYMBOLS.AUCTION,
SUPPORTED_CURRENCY_SYMBOLS.AXS,
SUPPORTED_CURRENCY_SYMBOLS.BADGER,
SUPPORTED_CURRENCY_SYMBOLS.BAL,
SUPPORTED_CURRENCY_SYMBOLS.BAND,
SUPPORTED_CURRENCY_SYMBOLS.BAT,
SUPPORTED_CURRENCY_SYMBOLS.BNT,
SUPPORTED_CURRENCY_SYMBOLS.BOBA,
SUPPORTED_CURRENCY_SYMBOLS.BOND,
SUPPORTED_CURRENCY_SYMBOLS.BTRST,
SUPPORTED_CURRENCY_SYMBOLS.CHZ,
SUPPORTED_CURRENCY_SYMBOLS.CLV,
SUPPORTED_CURRENCY_SYMBOLS.COMP,
SUPPORTED_CURRENCY_SYMBOLS.COTI,
SUPPORTED_CURRENCY_SYMBOLS.CRO,
SUPPORTED_CURRENCY_SYMBOLS.CRV,
SUPPORTED_CURRENCY_SYMBOLS.CTSI,
SUPPORTED_CURRENCY_SYMBOLS.CVC,
SUPPORTED_CURRENCY_SYMBOLS.DAI,
SUPPORTED_CURRENCY_SYMBOLS.DDX,
SUPPORTED_CURRENCY_SYMBOLS.DNT,
SUPPORTED_CURRENCY_SYMBOLS.ENJ,
SUPPORTED_CURRENCY_SYMBOLS.ENS,
SUPPORTED_CURRENCY_SYMBOLS.FARM,
SUPPORTED_CURRENCY_SYMBOLS.FET,
SUPPORTED_CURRENCY_SYMBOLS.FORTH,
SUPPORTED_CURRENCY_SYMBOLS.FX,
SUPPORTED_CURRENCY_SYMBOLS.GNO,
SUPPORTED_CURRENCY_SYMBOLS.GRT,
SUPPORTED_CURRENCY_SYMBOLS.GTC,
SUPPORTED_CURRENCY_SYMBOLS.IOTX,
SUPPORTED_CURRENCY_SYMBOLS.JASMY,
SUPPORTED_CURRENCY_SYMBOLS.KEEP,
SUPPORTED_CURRENCY_SYMBOLS.KNC,
SUPPORTED_CURRENCY_SYMBOLS.KRL,
SUPPORTED_CURRENCY_SYMBOLS.LCX,
SUPPORTED_CURRENCY_SYMBOLS.LINK,
SUPPORTED_CURRENCY_SYMBOLS.LPT,
SUPPORTED_CURRENCY_SYMBOLS.LRC,
SUPPORTED_CURRENCY_SYMBOLS.MANA,
SUPPORTED_CURRENCY_SYMBOLS.MASK,
SUPPORTED_CURRENCY_SYMBOLS.MATIC,
SUPPORTED_CURRENCY_SYMBOLS.MIR,
SUPPORTED_CURRENCY_SYMBOLS.MKR,
SUPPORTED_CURRENCY_SYMBOLS.MLN,
SUPPORTED_CURRENCY_SYMBOLS.MTL,
SUPPORTED_CURRENCY_SYMBOLS.NKN,
SUPPORTED_CURRENCY_SYMBOLS.NMR,
SUPPORTED_CURRENCY_SYMBOLS.NU,
SUPPORTED_CURRENCY_SYMBOLS.OGN,
SUPPORTED_CURRENCY_SYMBOLS.OMG,
SUPPORTED_CURRENCY_SYMBOLS.OXT,
SUPPORTED_CURRENCY_SYMBOLS.PAX,
SUPPORTED_CURRENCY_SYMBOLS.PERP,
SUPPORTED_CURRENCY_SYMBOLS.PLA,
SUPPORTED_CURRENCY_SYMBOLS.POLY,
SUPPORTED_CURRENCY_SYMBOLS.QNT,
SUPPORTED_CURRENCY_SYMBOLS.QUICK,
SUPPORTED_CURRENCY_SYMBOLS.RAD,
SUPPORTED_CURRENCY_SYMBOLS.RAI,
SUPPORTED_CURRENCY_SYMBOLS.RARI,
SUPPORTED_CURRENCY_SYMBOLS.REN,
SUPPORTED_CURRENCY_SYMBOLS.REP,
SUPPORTED_CURRENCY_SYMBOLS.REQ,
SUPPORTED_CURRENCY_SYMBOLS.RLC,
SUPPORTED_CURRENCY_SYMBOLS.RLY,
SUPPORTED_CURRENCY_SYMBOLS.SAND,
SUPPORTED_CURRENCY_SYMBOLS.SHIB,
SUPPORTED_CURRENCY_SYMBOLS.SKL,
SUPPORTED_CURRENCY_SYMBOLS.SNX,
SUPPORTED_CURRENCY_SYMBOLS.STORJ,
SUPPORTED_CURRENCY_SYMBOLS.SUKU,
SUPPORTED_CURRENCY_SYMBOLS.SUSHI,
SUPPORTED_CURRENCY_SYMBOLS.SWFTC,
SUPPORTED_CURRENCY_SYMBOLS.TRAC,
SUPPORTED_CURRENCY_SYMBOLS.TRB,
SUPPORTED_CURRENCY_SYMBOLS.TRIBE,
SUPPORTED_CURRENCY_SYMBOLS.TRU,
SUPPORTED_CURRENCY_SYMBOLS.UMA,
SUPPORTED_CURRENCY_SYMBOLS.UNI,
SUPPORTED_CURRENCY_SYMBOLS.USDC,
SUPPORTED_CURRENCY_SYMBOLS.USDT,
SUPPORTED_CURRENCY_SYMBOLS.WBTC,
SUPPORTED_CURRENCY_SYMBOLS.WCFG,
SUPPORTED_CURRENCY_SYMBOLS.XYO,
SUPPORTED_CURRENCY_SYMBOLS.YFII,
SUPPORTED_CURRENCY_SYMBOLS.ZRX,
],
},
[CHAIN_IDS.GOERLI]: {
nativeCurrency: TEST_NETWORK_TICKER_MAP[NETWORK_TYPES.GOERLI],
network: BUYABLE_CHAIN_ETHEREUM_NETWORK_NAME,
},
[CHAIN_IDS.SEPOLIA]: {
nativeCurrency: TEST_NETWORK_TICKER_MAP[NETWORK_TYPES.SEPOLIA],
network: BUYABLE_CHAIN_ETHEREUM_NETWORK_NAME,
},
[CHAIN_IDS.BSC]: {
nativeCurrency: CURRENCY_SYMBOLS.BNB,
network: 'bsc',
transakCurrencies: [
SUPPORTED_CURRENCY_SYMBOLS.BNB,
SUPPORTED_CURRENCY_SYMBOLS.BUSD,
],
moonPay: {
defaultCurrencyCode: `${SUPPORTED_CURRENCY_SYMBOLS.BNB}_BSC`,
showOnlyCurrencies: [
`${SUPPORTED_CURRENCY_SYMBOLS.BNB}_BSC`,
`${SUPPORTED_CURRENCY_SYMBOLS.BUSD}_BSC`,
],
},
},
[CHAIN_IDS.POLYGON]: {
nativeCurrency: CURRENCY_SYMBOLS.MATIC,
network: 'polygon',
transakCurrencies: [
SUPPORTED_CURRENCY_SYMBOLS.MATIC,
SUPPORTED_CURRENCY_SYMBOLS.USDT,
SUPPORTED_CURRENCY_SYMBOLS.USDC,
SUPPORTED_CURRENCY_SYMBOLS.DAI,
],
moonPay: {
defaultCurrencyCode: `${SUPPORTED_CURRENCY_SYMBOLS.BNB}_POLYGON`,
showOnlyCurrencies: [
`${SUPPORTED_CURRENCY_SYMBOLS.MATIC}_POLYGON`,
`${SUPPORTED_CURRENCY_SYMBOLS.USDC}_POLYGON`,
],
},
wyre: {
srn: 'matic',
currencyCode: CURRENCY_SYMBOLS.MATIC,
currencies: [
SUPPORTED_CURRENCY_SYMBOLS.MATIC,
SUPPORTED_CURRENCY_SYMBOLS.MUSDC,
],
},
},
[CHAIN_IDS.AVALANCHE]: {
nativeCurrency: CURRENCY_SYMBOLS.AVALANCHE,
network: 'avaxcchain',
transakCurrencies: [SUPPORTED_CURRENCY_SYMBOLS.AVALANCHE],
moonPay: {
defaultCurrencyCode: `${SUPPORTED_CURRENCY_SYMBOLS.AVAX}_CCHAIN`,
showOnlyCurrencies: [`${SUPPORTED_CURRENCY_SYMBOLS.AVAX}_CCHAIN`],
},
wyre: {
srn: 'avalanche',
currencyCode: CURRENCY_SYMBOLS.AVALANCHE,
currencies: [
SUPPORTED_CURRENCY_SYMBOLS.AVALANCHE,
SUPPORTED_CURRENCY_SYMBOLS.AVAXC,
SUPPORTED_CURRENCY_SYMBOLS.AVAXCUSDC,
],
},
coinbasePayCurrencies: [SUPPORTED_CURRENCY_SYMBOLS.AVALANCHE],
},
[CHAIN_IDS.FANTOM]: {
nativeCurrency: CURRENCY_SYMBOLS.FANTOM,
network: 'fantom',
transakCurrencies: [SUPPORTED_CURRENCY_SYMBOLS.FANTOM],
},
[CHAIN_IDS.CELO]: {
nativeCurrency: CURRENCY_SYMBOLS.CELO,
network: 'celo',
transakCurrencies: [SUPPORTED_CURRENCY_SYMBOLS.CELO],
moonPay: {
defaultCurrencyCode: SUPPORTED_CURRENCY_SYMBOLS.CELO,
showOnlyCurrencies: [SUPPORTED_CURRENCY_SYMBOLS.CELO],
},
},
};
export const FEATURED_RPCS: RPCDefinition[] = [
{
chainId: CHAIN_IDS.ARBITRUM,
nickname: ARBITRUM_DISPLAY_NAME,
rpcUrl: `https://arbitrum-mainnet.infura.io/v3/${infuraProjectId}`,
ticker: CURRENCY_SYMBOLS.ARBITRUM,
rpcPrefs: {
blockExplorerUrl: 'https://explorer.arbitrum.io',
imageUrl: AETH_TOKEN_IMAGE_URL,
},
},
{
chainId: CHAIN_IDS.AVALANCHE,
nickname: AVALANCHE_DISPLAY_NAME,
rpcUrl: `https://avalanche-mainnet.infura.io/v3/${infuraProjectId}`,
ticker: CURRENCY_SYMBOLS.AVALANCHE,
rpcPrefs: {
blockExplorerUrl: 'https://snowtrace.io/',
imageUrl: AVAX_TOKEN_IMAGE_URL,
},
},
{
chainId: CHAIN_IDS.BSC,
nickname: BNB_DISPLAY_NAME,
rpcUrl: 'https://bsc-dataseed.binance.org/',
ticker: CURRENCY_SYMBOLS.BNB,
rpcPrefs: {
blockExplorerUrl: 'https://bscscan.com/',
imageUrl: BNB_TOKEN_IMAGE_URL,
},
},
{
chainId: CHAIN_IDS.FANTOM,
nickname: FANTOM_DISPLAY_NAME,
rpcUrl: 'https://rpc.ftm.tools/',
ticker: CURRENCY_SYMBOLS.FANTOM,
rpcPrefs: {
blockExplorerUrl: 'https://ftmscan.com/',
imageUrl: FTM_TOKEN_IMAGE_URL,
},
},
{
chainId: CHAIN_IDS.HARMONY,
nickname: HARMONY_DISPLAY_NAME,
rpcUrl: 'https://api.harmony.one/',
ticker: CURRENCY_SYMBOLS.HARMONY,
rpcPrefs: {
blockExplorerUrl: 'https://explorer.harmony.one/',
imageUrl: HARMONY_ONE_TOKEN_IMAGE_URL,
},
},
{
chainId: CHAIN_IDS.OPTIMISM,
nickname: OPTIMISM_DISPLAY_NAME,
rpcUrl: `https://optimism-mainnet.infura.io/v3/${infuraProjectId}`,
ticker: CURRENCY_SYMBOLS.ETH,
rpcPrefs: {
blockExplorerUrl: 'https://optimistic.etherscan.io/',
imageUrl: OPTIMISM_TOKEN_IMAGE_URL,
},
},
{
chainId: CHAIN_IDS.PALM,
nickname: PALM_DISPLAY_NAME,
rpcUrl: `https://palm-mainnet.infura.io/v3/${infuraProjectId}`,
ticker: CURRENCY_SYMBOLS.PALM,
rpcPrefs: {
blockExplorerUrl: 'https://explorer.palm.io/',
imageUrl: PALM_TOKEN_IMAGE_URL,
},
},
{
chainId: CHAIN_IDS.POLYGON,
nickname: `${POLYGON_DISPLAY_NAME} ${capitalize(NETWORK_TYPES.MAINNET)}`,
rpcUrl: `https://polygon-mainnet.infura.io/v3/${infuraProjectId}`,
ticker: CURRENCY_SYMBOLS.MATIC,
rpcPrefs: {
blockExplorerUrl: 'https://polygonscan.com/',
imageUrl: MATIC_TOKEN_IMAGE_URL,
},
},
];

View File

@ -5,8 +5,8 @@
"id": 6854191329910881,
"time": 1631558469046,
"status": "approved",
"metamaskNetworkId": "42",
"chainId": "0x2a",
"metamaskNetworkId": "5",
"chainId": "0x5",
"loadingDefaults": false,
"dappSuggestedGasFees": null,
"txParams": {
@ -25,8 +25,8 @@
"id": 6854191329910881,
"time": 1631558469046,
"status": "unapproved",
"metamaskNetworkId": "42",
"chainId": "0x2a",
"metamaskNetworkId": "5",
"chainId": "0x5",
"loadingDefaults": true,
"dappSuggestedGasFees": null,
"txParams": {
@ -81,8 +81,8 @@
"id": 6854191329910881,
"time": 1631558469046,
"status": "approved",
"metamaskNetworkId": "42",
"chainId": "0x2a",
"metamaskNetworkId": "5",
"chainId": "0x5",
"loadingDefaults": false,
"dappSuggestedGasFees": null,
"txParams": {
@ -101,8 +101,8 @@
"id": 6854191329910881,
"time": 1631558469046,
"status": "unapproved",
"metamaskNetworkId": "42",
"chainId": "0x2a",
"metamaskNetworkId": "5",
"chainId": "0x5",
"loadingDefaults": true,
"dappSuggestedGasFees": null,
"txParams": {
@ -158,8 +158,8 @@
"id": 6854191329910881,
"time": 1631558469046,
"status": "approved",
"metamaskNetworkId": "42",
"chainId": "0x2a",
"metamaskNetworkId": "5",
"chainId": "0x5",
"loadingDefaults": false,
"dappSuggestedGasFees": null,
"txParams": {
@ -178,8 +178,8 @@
"id": 6854191329910881,
"time": 1631558469046,
"status": "unapproved",
"metamaskNetworkId": "42",
"chainId": "0x2a",
"metamaskNetworkId": "5",
"chainId": "0x5",
"loadingDefaults": true,
"dappSuggestedGasFees": null,
"txParams": {

View File

@ -49,9 +49,10 @@
"featureFlags": {
"showIncomingTransactions": true
},
"network": "4",
"network": "5",
"provider": {
"chainId": "0x4"
"type": "rpc",
"chainId": "0x5"
},
"keyrings": [
{
@ -181,10 +182,10 @@
"nativeCurrency": "ETH",
"conversionRate": 556.12,
"addressBook": {
"0x4": {
"0x5": {
"0xc42edfcc21ed14dda456aa0756c153f7985d8813": {
"address": "0xc42edfcc21ed14dda456aa0756c153f7985d8813",
"chainId": "0x4",
"chainId": "0x5",
"isEns": false,
"memo": "",
"name": "Address Book Account 1"

File diff suppressed because it is too large Load Diff

View File

@ -864,10 +864,10 @@
"id": 1441203963845330,
"time": 1652206763566,
"status": "confirmed",
"metamaskNetworkId": "4",
"metamaskNetworkId": "5",
"originalGasEstimate": "0x118e0",
"userEditedGasLimit": false,
"chainId": "0x4",
"chainId": "0x5",
"loadingDefaults": false,
"dappSuggestedGasFees": {
"maxPriorityFeePerGas": "0x3B9ACA00",
@ -884,7 +884,7 @@
"maxFeePerGas": "0x7be830aec",
"maxPriorityFeePerGas": "0x3B9ACA00"
},
"origin": "https://rinkeby.etherscan.io",
"origin": "https://goerli.etherscan.io",
"type": "safetransferfrom",
"userFeeLevel": "dappSuggested",
"defaultGasEstimates": {
@ -980,10 +980,10 @@
"id": 1441203963845330,
"time": 1652206763566,
"status": "confirmed",
"metamaskNetworkId": "4",
"metamaskNetworkId": "5",
"originalGasEstimate": "0x118e0",
"userEditedGasLimit": false,
"chainId": "0x4",
"chainId": "0x5",
"loadingDefaults": false,
"dappSuggestedGasFees": {
"maxPriorityFeePerGas": "0x3B9ACA00",
@ -1000,7 +1000,7 @@
"maxFeePerGas": "0x7be830aec",
"maxPriorityFeePerGas": "0x3B9ACA00"
},
"origin": "https://rinkeby.etherscan.io",
"origin": "https://goerli.etherscan.io",
"type": "safetransferfrom",
"userFeeLevel": "dappSuggested",
"defaultGasEstimates": {
@ -1095,10 +1095,10 @@
"id": 1441203963845330,
"time": 1652206763566,
"status": "confirmed",
"metamaskNetworkId": "4",
"metamaskNetworkId": "5",
"originalGasEstimate": "0x118e0",
"userEditedGasLimit": false,
"chainId": "0x4",
"chainId": "0x5",
"loadingDefaults": false,
"dappSuggestedGasFees": {
"maxPriorityFeePerGas": "0x3B9ACA00",
@ -1115,7 +1115,7 @@
"maxFeePerGas": "0x7be830aec",
"maxPriorityFeePerGas": "0x3B9ACA00"
},
"origin": "https://rinkeby.etherscan.io",
"origin": "https://goerli.etherscan.io",
"type": "safetransferfrom",
"userFeeLevel": "dappSuggested",
"defaultGasEstimates": {

View File

@ -33,10 +33,8 @@
"incomingTransactions": {},
"incomingTxLastFetchedBlocksByNetwork": {
"goerli": null,
"kovan": null,
"mainnet": null,
"sepolia": null,
"rinkeby": 5570536
"sepolia": null
}
},
"KeyringController": {
@ -128,8 +126,8 @@
"PreferencesController": {
"accountTokens": {
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": {
"rinkeby": [],
"ropsten": []
"goerli": [],
"sepolia": []
}
},
"assetImages": {},

View File

@ -22,10 +22,8 @@
"incomingTransactions": {},
"incomingTxLastFetchedBlocksByNetwork": {
"goerli": null,
"kovan": null,
"mainnet": null,
"sepolia": null,
"rinkeby": 5570536,
"localhost": 98
}
},
@ -130,8 +128,8 @@
"frequentRpcListDetail": [],
"accountTokens": {
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": {
"rinkeby": [],
"ropsten": []
"goerli": [],
"sepolia": []
}
},
"assetImages": {},

View File

@ -19,10 +19,8 @@
"incomingTransactions": {},
"incomingTxLastFetchedBlocksByNetwork": {
"goerli": null,
"kovan": null,
"mainnet": null,
"sepolia": null,
"rinkeby": 5570536
"sepolia": null
}
},
"KeyringController": {
@ -130,8 +128,8 @@
],
"accountTokens": {
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": {
"rinkeby": [],
"ropsten": []
"goerli": [],
"sepolia": []
}
},
"assetImages": {},

View File

@ -17,7 +17,7 @@
},
"CachedBalancesController": {
"cachedBalances": {
"0x4": {
"0x5": {
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": "0x0"
}
}
@ -35,10 +35,7 @@
"incomingTransactions": {},
"incomingTxLastFetchedBlockByChainId": {
"0x1": null,
"0x2a": null,
"0x3": null,
"0x4": 8977934,
"0x5": null
"0x5": 8977934
}
},
"KeyringController": {
@ -54,9 +51,9 @@
"EIPS": {}
},
"previousProviderStore": {
"chainId": "0x4",
"chainId": "0x5",
"ticker": "ETH",
"type": "rinkeby"
"type": "goerli"
},
"provider": {
"chainId": "0x539",

View File

@ -20,10 +20,8 @@
"incomingTransactions": {},
"incomingTxLastFetchedBlocksByNetwork": {
"goerli": null,
"kovan": null,
"mainnet": null,
"sepolia": null,
"rinkeby": 5570536
"sepolia": null
}
},
"KeyringController": {
@ -115,8 +113,8 @@
"PreferencesController": {
"accountTokens": {
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": {
"rinkeby": [],
"ropsten": []
"goerli": [],
"sepolia": []
}
},
"assetImages": {},

View File

@ -20,10 +20,8 @@
"incomingTransactions": {},
"incomingTxLastFetchedBlocksByNetwork": {
"goerli": null,
"kovan": null,
"mainnet": null,
"sepolia": null,
"rinkeby": 5570536
"sepolia": null
}
},
"KeyringController": {
@ -115,8 +113,8 @@
"PreferencesController": {
"accountTokens": {
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": {
"rinkeby": [],
"ropsten": []
"goerli": [],
"sepolia": []
}
},
"assetImages": {},

View File

@ -19,10 +19,8 @@
"incomingTransactions": {},
"incomingTxLastFetchedBlocksByNetwork": {
"goerli": null,
"kovan": null,
"mainnet": null,
"sepolia": null,
"rinkeby": 5570536
"sepolia": null
}
},
"KeyringController": {
@ -114,8 +112,8 @@
"PreferencesController": {
"accountTokens": {
"0x5cfe73b6021e818b776b421b1c4db2474086a7e1": {
"rinkeby": [],
"ropsten": []
"goerli": [],
"sepolia": []
}
},
"assetImages": {},

Some files were not shown because too many files have changed in this diff Show More