mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
feat: add the ConsenSys zkEVM (Linea) as a default network (#17875)
* feat: add the consensys zkEVM as a default network * fix: change infuraNetworkStatus in navigate-txs file * fix: remove account tracker for zkEVM + remove zkEVM from infura list * fix: change consensys zkevm name to linea + change rpc url for linea network * fix: rebase conflicts * feat: add new colors for linea goerli network * feat: add new function inside network dropdown to render non infura networks * feat: add feature toggle for linea network * fix: add new unit test --------- Co-authored-by: Dan J Miller <danjm.com@gmail.com>
This commit is contained in:
parent
0847917df4
commit
a04fa20f96
6
app/_locales/am/messages.json
generated
6
app/_locales/am/messages.json
generated
@ -157,6 +157,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "ከ Goerli የሙከራ አውታረ መረብ ጋር መገናኘት"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "ከ Linea Goerli የሙከራ አውታረ መረብ ጋር መገናኘት"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "ከዋናው የ Ethereum አውታረ መረብ ጋር መገናኘት"
|
||||
},
|
||||
@ -400,6 +403,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "እነዚህን ተለዋጭ ስሞች ለማከል ይፈልጋሉ?"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "የ Linea Goerli የሙከራ አውታረ መረብ"
|
||||
},
|
||||
"links": {
|
||||
"message": "ማስፈንጠሪያዎች"
|
||||
},
|
||||
|
6
app/_locales/ar/messages.json
generated
6
app/_locales/ar/messages.json
generated
@ -167,6 +167,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "الاتصال بشبكة اختبار Goerli"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "الاتصال بشبكة اختبار Linea Goerli"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "جارِ الاتصال بشبكة إيثيريوم الرئيسية"
|
||||
},
|
||||
@ -412,6 +415,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "هل ترغب في إضافة هذه الرموز؟"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "شبكة اختبار Linea Goerli"
|
||||
},
|
||||
"links": {
|
||||
"message": "الروابط"
|
||||
},
|
||||
|
6
app/_locales/bg/messages.json
generated
6
app/_locales/bg/messages.json
generated
@ -163,6 +163,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "Свързване с тестова мрежа на Goerli"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "Свързване с тестова мрежа на Linea Goerli"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "Свързване с главната мрежа Ethereum"
|
||||
},
|
||||
@ -408,6 +411,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "Искате ли да добавите тези жетони?"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "Тестова мрежа на Linea Goerli"
|
||||
},
|
||||
"links": {
|
||||
"message": "Връзки"
|
||||
},
|
||||
|
6
app/_locales/ca/messages.json
generated
6
app/_locales/ca/messages.json
generated
@ -160,6 +160,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "Connectant a Xarxa de Prova Goerli"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "Connectant a Xarxa de Prova Linea Goerli"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "Connectant a Xarxa Principal Ethereum"
|
||||
},
|
||||
@ -399,6 +402,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "T'agradaria afegir aquestes fitxes?"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "Xarxa de test Linea Goerli"
|
||||
},
|
||||
"links": {
|
||||
"message": "Enllaços"
|
||||
},
|
||||
|
6
app/_locales/da/messages.json
generated
6
app/_locales/da/messages.json
generated
@ -163,6 +163,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "Opretter forbindelse til Goerli Testnetværk"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "Opretter forbindelse til Linea Goerli Testnetværk"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "Forbinder til dit Primære Ethereum Netværk"
|
||||
},
|
||||
@ -405,6 +408,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "Ønsker du at tilføje disse tokens?"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "Linea-testnetværk"
|
||||
},
|
||||
"loadMore": {
|
||||
"message": "Indlæs Mere"
|
||||
},
|
||||
|
6
app/_locales/de/messages.json
generated
6
app/_locales/de/messages.json
generated
@ -711,6 +711,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "Verbindungsaufbau zum Goerli-Testnetzwerk"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "Verbindungsaufbau zum Linea-Testnetzwerk"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "Verbinde zum Ethereum Mainnet"
|
||||
},
|
||||
@ -1892,6 +1895,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "Möchtest du diese Token hinzufügen?"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "Linea-Testnetzwerk"
|
||||
},
|
||||
"link": {
|
||||
"message": "Link"
|
||||
},
|
||||
|
6
app/_locales/el/messages.json
generated
6
app/_locales/el/messages.json
generated
@ -711,6 +711,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "Σύνδεση στο Δίκτυο Δοκιμής Goerli"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "Σύνδεση στο δίκτυο δοκιμών Linea Goerli"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "Σύνδεση στο Κύριο Δίκτυο Ethereum"
|
||||
},
|
||||
@ -1892,6 +1895,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "Θέλετε να προσθέσετε αυτά τα token;"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "Δίκτυο δοκιμών Linea Goerli"
|
||||
},
|
||||
"link": {
|
||||
"message": "Σύνδεσμος"
|
||||
},
|
||||
|
6
app/_locales/en/messages.json
generated
6
app/_locales/en/messages.json
generated
@ -732,6 +732,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "Connecting to Goerli test network"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "Connecting to Linea Goerli test network"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "Connecting to Ethereum Mainnet"
|
||||
},
|
||||
@ -1940,6 +1943,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "Would you like to import these tokens?"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "Linea Goerli test network"
|
||||
},
|
||||
"link": {
|
||||
"message": "Link"
|
||||
},
|
||||
|
6
app/_locales/es/messages.json
generated
6
app/_locales/es/messages.json
generated
@ -711,6 +711,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "Estableciendo conexión a la red de prueba Goerli"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "Conectando a la red de prueba Linea Goerli"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "Estableciendo conexión a la red principal de Ethereum"
|
||||
},
|
||||
@ -1892,6 +1895,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "¿Le gustaría agregar estos tokens?"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "Red de prueba Linea Goerli"
|
||||
},
|
||||
"link": {
|
||||
"message": "Vínculo"
|
||||
},
|
||||
|
6
app/_locales/es_419/messages.json
generated
6
app/_locales/es_419/messages.json
generated
@ -451,6 +451,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "Estableciendo conexión a la red de prueba Goerli"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "Estableciendo conexión a la red de prueba Linea Goerli"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "Estableciendo conexión a la red principal de Ethereum"
|
||||
},
|
||||
@ -1269,6 +1272,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "¿Quiere agregar estos tokens?"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "Red de prueba Linea Goerli"
|
||||
},
|
||||
"link": {
|
||||
"message": "Enlace"
|
||||
},
|
||||
|
6
app/_locales/et/messages.json
generated
6
app/_locales/et/messages.json
generated
@ -163,6 +163,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "Ühendamine Goerli testvõrguga"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "Ühendamine Linea Goerli testvõrguga"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "Ühenduse loomine peamise Etherumi võrguga"
|
||||
},
|
||||
@ -408,6 +411,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "Kas soovite need load lisada?"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "Linea Goerli testvõrk"
|
||||
},
|
||||
"links": {
|
||||
"message": "Lingid"
|
||||
},
|
||||
|
6
app/_locales/fa/messages.json
generated
6
app/_locales/fa/messages.json
generated
@ -163,6 +163,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "در حال اتصال به شبکه آزمایشی Goerli "
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "در حال اتصال به شبکه آزمایشی Linea Goerli"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "در حال اتصال به شبکه اصلی ایتریم"
|
||||
},
|
||||
@ -412,6 +415,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "آیا میخواهید این رمزیاب ها را اضافه نمایید؟"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "شبکه آزمایشی Linea Goerli"
|
||||
},
|
||||
"links": {
|
||||
"message": "لینک ها"
|
||||
},
|
||||
|
6
app/_locales/fi/messages.json
generated
6
app/_locales/fi/messages.json
generated
@ -163,6 +163,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "Yhdistetään Goerlin testiverkostoon"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "Yhdistetään Linea Goerli testiverkostoon"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "Yhdistetään Ethereumin pääverkkoon"
|
||||
},
|
||||
@ -412,6 +415,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "Haluaisitko lisätä nämä poletit?"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "Linea-testiverkko"
|
||||
},
|
||||
"links": {
|
||||
"message": "Linkit"
|
||||
},
|
||||
|
3
app/_locales/fil/messages.json
generated
3
app/_locales/fil/messages.json
generated
@ -142,6 +142,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "Kumokonekta sa Goerli Test Network"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "Kumokonekta sa Linea Goerli Test Network"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "Kumokonekta sa Ethereum Mainnet"
|
||||
},
|
||||
|
6
app/_locales/fr/messages.json
generated
6
app/_locales/fr/messages.json
generated
@ -711,6 +711,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "Connexion au testnet Goerli"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "Connexion au réseau de test Linea Goerli"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "Connexion au réseau principal Ethereum"
|
||||
},
|
||||
@ -1892,6 +1895,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "Souhaitez-vous ajouter ces jetons ?"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "Réseau de test Linea Goerli"
|
||||
},
|
||||
"link": {
|
||||
"message": "Associer"
|
||||
},
|
||||
|
6
app/_locales/he/messages.json
generated
6
app/_locales/he/messages.json
generated
@ -163,6 +163,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "מתחבר ל-Goerli Test Network"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "מתחבר ל-Linea Goerli Test Network"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "מתחבר לרשת אתריום הראשית"
|
||||
},
|
||||
@ -412,6 +415,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "האם ברצונך להוסיף טוקנים אלה?"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "רשת בדיקה Linea Goerli"
|
||||
},
|
||||
"links": {
|
||||
"message": "קישורים"
|
||||
},
|
||||
|
6
app/_locales/hi/messages.json
generated
6
app/_locales/hi/messages.json
generated
@ -711,6 +711,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "Goerli टेस्ट नेटवर्क से कनेक्ट हो रहा है"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "Linea Goerli टेस्ट नेटवर्क से कनेक्ट हो रहा है"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "Ethereum Mainnet से कनेक्ट हो रहा है"
|
||||
},
|
||||
@ -1892,6 +1895,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "क्या आप इन टोकन को इंपोर्ट करना चाहते हैं?"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "Linea Goerli टेस्ट नेटवर्क"
|
||||
},
|
||||
"link": {
|
||||
"message": "लिंक"
|
||||
},
|
||||
|
6
app/_locales/hr/messages.json
generated
6
app/_locales/hr/messages.json
generated
@ -163,6 +163,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "Povezivanje na testnu mrežu Goerli"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "Povezivanje na testnu mrežu Linea Goerli"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "Povezivanje na glavnu mrežu Ethereum"
|
||||
},
|
||||
@ -408,6 +411,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "Želite li dodati ove tokene?"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "Testna mreža Linea Goerli"
|
||||
},
|
||||
"links": {
|
||||
"message": "Poveznice"
|
||||
},
|
||||
|
6
app/_locales/hu/messages.json
generated
6
app/_locales/hu/messages.json
generated
@ -163,6 +163,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "Csatlakozás a Goerli teszthálózathoz"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "Csatlakozás a Linea Goerli teszthálózathoz"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "Csatlakozás a fő Ethereum hálózathoz"
|
||||
},
|
||||
@ -408,6 +411,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "Hozzá szeretné adni ezeket az érméket?"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "Linea Goerli teszthálózat"
|
||||
},
|
||||
"links": {
|
||||
"message": "Linkek"
|
||||
},
|
||||
|
6
app/_locales/id/messages.json
generated
6
app/_locales/id/messages.json
generated
@ -711,6 +711,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "Menghubungkan ke jaringan uji Goerli"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "Menghubungkan ke jaringan uji Linea Goerli"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "Menghubungkan ke Ethereum Mainnet"
|
||||
},
|
||||
@ -1892,6 +1895,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "Apakah Anda ingin menambahkan token ini?"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "Jaringan uji Linea Goerli"
|
||||
},
|
||||
"link": {
|
||||
"message": "Tautan"
|
||||
},
|
||||
|
6
app/_locales/it/messages.json
generated
6
app/_locales/it/messages.json
generated
@ -551,6 +551,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "Connessione alla Rete di Test Goerli"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "Connessione alla Rete di test Linea Goerli"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "Connessione alla Rete Ethereum Principale"
|
||||
},
|
||||
@ -1125,6 +1128,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "Vorresti aggiungere questi token?"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "Rete di test Linea Goerli"
|
||||
},
|
||||
"links": {
|
||||
"message": "Collegamenti"
|
||||
},
|
||||
|
6
app/_locales/ja/messages.json
generated
6
app/_locales/ja/messages.json
generated
@ -711,6 +711,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "Goerliテストネットワークに接続中"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "Linea Goerli テストネットワークに接続中"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "イーサリアムメインネットに接続中"
|
||||
},
|
||||
@ -1892,6 +1895,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "これらのトークンを追加しますか?"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "Linea Goerli テストネットワーク"
|
||||
},
|
||||
"link": {
|
||||
"message": "リンク"
|
||||
},
|
||||
|
6
app/_locales/kn/messages.json
generated
6
app/_locales/kn/messages.json
generated
@ -163,6 +163,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "Goerli ಪರೀಕ್ಷಾ ನೆಟ್ವರ್ಕ್ಗೆ ಸಂಪರ್ಕಿಸಲಾಗುತ್ತಿದೆ"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "Linea Goerli ಪರೀಕ್ಷಾ ನೆಟ್ವರ್ಕ್ಗೆ ಸಂಪರ್ಕಿಸಲಾಗುತ್ತಿದೆ"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "ಮುಖ್ಯ ಎಥೆರಿಯಮ್ ನೆಟ್ವರ್ಕ್ಗೆ ಸಂಪರ್ಕಿಸಲಾಗುತ್ತಿದೆ"
|
||||
},
|
||||
@ -412,6 +415,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "ನೀವು ಈ ಟೋಕನ್ಗಳನ್ನು ಸೇರಿಸಲು ಬಯಸುತ್ತೀರಾ?"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "Linea Goerli ಪರೀಕ್ಷೆ ನೆಟ್ವರ್ಕ್"
|
||||
},
|
||||
"links": {
|
||||
"message": "ಲಿಂಕ್ಗಳು"
|
||||
},
|
||||
|
6
app/_locales/ko/messages.json
generated
6
app/_locales/ko/messages.json
generated
@ -711,6 +711,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "Goerli 테스트 네트워크에 연결 중"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "Linea Goerli 테스트 네트워크에 연결 중"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "이더리움 메인넷에 연결 중"
|
||||
},
|
||||
@ -1892,6 +1895,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "이 토큰을 추가할까요?"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "Linea Goerli 테스트 네트워크"
|
||||
},
|
||||
"link": {
|
||||
"message": "링크"
|
||||
},
|
||||
|
6
app/_locales/lt/messages.json
generated
6
app/_locales/lt/messages.json
generated
@ -163,6 +163,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "Jungiamasi prie „Goerli“ bandomojo tinklo"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "Jungiamasi prie „Linea“ bandomojo tinklo"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "Jungiamasi prie pagrindinio „Ethereum“ tinklo"
|
||||
},
|
||||
@ -412,6 +415,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "Ar norėtumėte pridėti šiuos žetonus?"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "„Linea“ bandomasis tinklas"
|
||||
},
|
||||
"links": {
|
||||
"message": "Nuorodos"
|
||||
},
|
||||
|
6
app/_locales/lv/messages.json
generated
6
app/_locales/lv/messages.json
generated
@ -163,6 +163,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "Pieslēdzas Goerli testa tīklam"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "Pieslēdzas Linea Goerli testa tīklam"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "Savienojas ar galveno Ethereum tīklu"
|
||||
},
|
||||
@ -408,6 +411,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "Vai vēlaties pievienot šos marķierus?"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "Linea Goerli testa tīkls"
|
||||
},
|
||||
"links": {
|
||||
"message": "Saites"
|
||||
},
|
||||
|
6
app/_locales/ms/messages.json
generated
6
app/_locales/ms/messages.json
generated
@ -163,6 +163,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "Menyambung kepada Rangkaian Ujian Goerli"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "Menyambung kepada Rangkaian Ujian Linea Goerli"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "Menyambung kepada Rangkaian Ethereum Utama"
|
||||
},
|
||||
@ -401,6 +404,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "Adakah anda ingin menambah token ini?"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "Rangkaian Ujian Linea Goerli"
|
||||
},
|
||||
"links": {
|
||||
"message": "Pautan"
|
||||
},
|
||||
|
3
app/_locales/no/messages.json
generated
3
app/_locales/no/messages.json
generated
@ -160,6 +160,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "Oppretter forbindelse med Goerli Test Network"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "Oppretter forbindelse med Linea Goerli Test Network"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "Forbinder med hoved-Ethereumnettverk "
|
||||
},
|
||||
|
6
app/_locales/ph/messages.json
generated
6
app/_locales/ph/messages.json
generated
@ -314,6 +314,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "Kumokonekta sa Goerli Test Network"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "Kumokonekta sa Linea Goerli Test Network"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "Kumokonekta sa Ethereum Mainnet"
|
||||
},
|
||||
@ -804,6 +807,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "Gusto mo bang idagdag ang mga token na ito?"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "Linea Goerli Test Network"
|
||||
},
|
||||
"links": {
|
||||
"message": "Mga Link"
|
||||
},
|
||||
|
6
app/_locales/pl/messages.json
generated
6
app/_locales/pl/messages.json
generated
@ -163,6 +163,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "Łączenie z siecią testową Goerli"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "Łączenie z siecią testową Linea Goerli"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "Łączenie z główną siecią Ethereum"
|
||||
},
|
||||
@ -412,6 +415,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "Czy chcesz dodać te tokeny?"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "Sieć testowa Linea Goerli"
|
||||
},
|
||||
"links": {
|
||||
"message": "Łącza"
|
||||
},
|
||||
|
6
app/_locales/pt/messages.json
generated
6
app/_locales/pt/messages.json
generated
@ -711,6 +711,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "Conectando à rede de testes Goerli"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "Conectando à rede de teste Linea Goerli"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "Conectando à mainnet do Ethereum"
|
||||
},
|
||||
@ -1892,6 +1895,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "Gostaria de adicionar estes tokens?"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "Rede de teste Linea Goerli"
|
||||
},
|
||||
"link": {
|
||||
"message": "Link"
|
||||
},
|
||||
|
6
app/_locales/pt_BR/messages.json
generated
6
app/_locales/pt_BR/messages.json
generated
@ -451,6 +451,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "Conectando à rede de testes Goerli"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "Conectando à rede de testes Linea Goerli"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "Conectando à mainnet do Ethereum"
|
||||
},
|
||||
@ -1269,6 +1272,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "Você gostaria de importar esses tokens?"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "Rede de testes Linea Goerli"
|
||||
},
|
||||
"link": {
|
||||
"message": "Link"
|
||||
},
|
||||
|
6
app/_locales/ro/messages.json
generated
6
app/_locales/ro/messages.json
generated
@ -163,6 +163,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "Se conectează la rețeaua de test Goerli"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "Se conectează la rețeaua de test Linea Goerli"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "Se conectează la rețeaua Ethereum principală"
|
||||
},
|
||||
@ -402,6 +405,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "Adăugați aceste indicative?"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "Rețea de test Linea Goerli"
|
||||
},
|
||||
"links": {
|
||||
"message": "Link-uri"
|
||||
},
|
||||
|
6
app/_locales/ru/messages.json
generated
6
app/_locales/ru/messages.json
generated
@ -711,6 +711,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "Подключение к тестовой сети Goerli..."
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "Подключение к тестовой сети Linea..."
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "Подключение к сети Ethereum Mainnet..."
|
||||
},
|
||||
@ -1892,6 +1895,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "Вы хотели бы импортировать эти токены?"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "Тестовая сеть Linea Goerli"
|
||||
},
|
||||
"link": {
|
||||
"message": "Привязать"
|
||||
},
|
||||
|
6
app/_locales/sk/messages.json
generated
6
app/_locales/sk/messages.json
generated
@ -157,6 +157,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "Pripája sa k testovacej sieti Goerli"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "Pripája sa k testovacej sieti Linea Goerli"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "Připojuji se k Ethereum Mainnet"
|
||||
},
|
||||
@ -399,6 +402,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "Chcete přidat tyto tokeny?"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "Testovacia sieť Linea Goerli"
|
||||
},
|
||||
"links": {
|
||||
"message": "Odkazy"
|
||||
},
|
||||
|
6
app/_locales/sl/messages.json
generated
6
app/_locales/sl/messages.json
generated
@ -163,6 +163,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "Povezovanje na testno omrežje Goerli"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "Povezovanje na testno omrežje Linea Goerli"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "Povezovanje na glavno omrežje"
|
||||
},
|
||||
@ -406,6 +409,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "Želite dodati te žetone?"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "Testno omrežje Linea Goerli"
|
||||
},
|
||||
"links": {
|
||||
"message": "Povezave"
|
||||
},
|
||||
|
6
app/_locales/sr/messages.json
generated
6
app/_locales/sr/messages.json
generated
@ -160,6 +160,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "Povezuje se sa test mrežom Goerli "
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "Povezuje se sa test mrežom Linea Goerli"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "Povezuje se na glavnu Ethereum mrežu"
|
||||
},
|
||||
@ -409,6 +412,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "Želite li da dodate ove tokene?"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "Test mreža Linea Goerli"
|
||||
},
|
||||
"links": {
|
||||
"message": "Veze"
|
||||
},
|
||||
|
6
app/_locales/sv/messages.json
generated
6
app/_locales/sv/messages.json
generated
@ -157,6 +157,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "Ansluter till Goerli Test Network"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "Ansluter till Linea Goerli Test Network"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "Koppla till Ethereums huvudnätverk"
|
||||
},
|
||||
@ -402,6 +405,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "Vill du lägga till dessa tokens?"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "Linea Goerli testnätverk"
|
||||
},
|
||||
"links": {
|
||||
"message": "Länkar"
|
||||
},
|
||||
|
6
app/_locales/sw/messages.json
generated
6
app/_locales/sw/messages.json
generated
@ -157,6 +157,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "Inaunganisha kwenye Mtandao wa Majaribio wa Goerli"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "Inaunganisha kwenye Mtandao wa Majaribio wa Linea Goerli"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "Inaunganisha kwenye Mtandao Mkuu wa Ethereum"
|
||||
},
|
||||
@ -399,6 +402,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "Je, ungependa kuongeza vianzio hivi?"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "Mtandao wa Majaribio wa Linea Goerli"
|
||||
},
|
||||
"links": {
|
||||
"message": "Viungo"
|
||||
},
|
||||
|
6
app/_locales/tl/messages.json
generated
6
app/_locales/tl/messages.json
generated
@ -711,6 +711,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "Kumokonekta sa Goerli Test Network"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "Kumokonekta sa Linea Goerli test network"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "Kumokonekta sa Ethereum Mainnet"
|
||||
},
|
||||
@ -1892,6 +1895,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "Gusto mo bang idagdag ang mga token na ito?"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "Linea Goerli test network"
|
||||
},
|
||||
"link": {
|
||||
"message": "Link"
|
||||
},
|
||||
|
6
app/_locales/tr/messages.json
generated
6
app/_locales/tr/messages.json
generated
@ -711,6 +711,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "Goerli Test Ağına Bağlanıyor"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "Linea Goerli test ağına bağlanılıyor"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "Ethereum Mainnet ağına bağlanıyor"
|
||||
},
|
||||
@ -1892,6 +1895,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "Bu tokenleri içe aktarmak ister misiniz?"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "Linea Goerli test ağı"
|
||||
},
|
||||
"link": {
|
||||
"message": "Bağlantı"
|
||||
},
|
||||
|
6
app/_locales/uk/messages.json
generated
6
app/_locales/uk/messages.json
generated
@ -163,6 +163,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "Підключення до тестової мережі Goerli"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "Підключення до тестової мережі Linea Goerli"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "З'єднуємось з Головною мережею Ethereum"
|
||||
},
|
||||
@ -412,6 +415,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "Ви б хотіли додати ці токени?"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "Тестова мережа Linea Goerli"
|
||||
},
|
||||
"links": {
|
||||
"message": "Посилання"
|
||||
},
|
||||
|
6
app/_locales/vi/messages.json
generated
6
app/_locales/vi/messages.json
generated
@ -711,6 +711,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "Đang kết nối với mạng thử nghiệm Goerli"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "Đang kết nối với mạng thử nghiệm Linea Goerli"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "Đang kết nối với mạng chính thức của Ethereum"
|
||||
},
|
||||
@ -1892,6 +1895,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "Bạn có muốn nhập những token này không?"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "Mạng thử nghiệm Linea Goerli"
|
||||
},
|
||||
"link": {
|
||||
"message": "Liên kết"
|
||||
},
|
||||
|
6
app/_locales/zh_CN/messages.json
generated
6
app/_locales/zh_CN/messages.json
generated
@ -711,6 +711,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "正在连接 Goerli 测试网络"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "正在连接Linea测试网络"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "正在连接到以太坊主网"
|
||||
},
|
||||
@ -1892,6 +1895,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "您想导入这些代币吗?"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "Linea测试网络"
|
||||
},
|
||||
"link": {
|
||||
"message": "链接"
|
||||
},
|
||||
|
6
app/_locales/zh_TW/messages.json
generated
6
app/_locales/zh_TW/messages.json
generated
@ -313,6 +313,9 @@
|
||||
"connectingToGoerli": {
|
||||
"message": "連線到 Goerli 測試網路"
|
||||
},
|
||||
"connectingToLineaTestnet": {
|
||||
"message": "連線到 Linea Goerli 測試網路"
|
||||
},
|
||||
"connectingToMainnet": {
|
||||
"message": "連線到 Ethereum 主網路"
|
||||
},
|
||||
@ -812,6 +815,9 @@
|
||||
"likeToImportTokens": {
|
||||
"message": "確定要加入代幣?"
|
||||
},
|
||||
"lineatestnet": {
|
||||
"message": "Linea Goerli 測試網路"
|
||||
},
|
||||
"links": {
|
||||
"message": "連結"
|
||||
},
|
||||
|
@ -110,7 +110,8 @@ async function switchEthereumChainHandler(
|
||||
});
|
||||
if (
|
||||
chainId in CHAIN_ID_TO_TYPE_MAP &&
|
||||
approvedRequestData.type !== NETWORK_TYPES.LOCALHOST
|
||||
approvedRequestData.type !== NETWORK_TYPES.LOCALHOST &&
|
||||
approvedRequestData.type !== NETWORK_TYPES.LINEA_TESTNET
|
||||
) {
|
||||
setProviderType(approvedRequestData.type);
|
||||
} else {
|
||||
|
@ -304,7 +304,8 @@
|
||||
"infuraNetworkStatus": {
|
||||
"mainnet": "ok",
|
||||
"goerli": "ok",
|
||||
"sepolia": "ok"
|
||||
"sepolia": "ok",
|
||||
"lineatestnet": "ok"
|
||||
}
|
||||
},
|
||||
"send": {
|
||||
|
@ -95,6 +95,7 @@ export const NETWORK_TYPES = {
|
||||
MAINNET: 'mainnet',
|
||||
RPC: 'rpc',
|
||||
SEPOLIA: 'sepolia',
|
||||
LINEA_TESTNET: 'lineatestnet',
|
||||
} as const;
|
||||
|
||||
/**
|
||||
@ -120,6 +121,7 @@ export const NETWORK_IDS = {
|
||||
GOERLI: '5',
|
||||
LOCALHOST: '1337',
|
||||
SEPOLIA: '11155111',
|
||||
LINEA_TESTNET: '59140',
|
||||
} as const;
|
||||
|
||||
/**
|
||||
@ -145,6 +147,7 @@ export const CHAIN_IDS = {
|
||||
HARMONY: '0x63564c40',
|
||||
PALM: '0x2a15c308d',
|
||||
SEPOLIA: '0xaa36a7',
|
||||
LINEA_TESTNET: '0xe704',
|
||||
AURORA: '0x4e454152',
|
||||
MOONBEAM: '0x504',
|
||||
MOONBEAM_TESTNET: '0x507',
|
||||
@ -160,6 +163,7 @@ 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 LINEA_TESTNET_DISPLAY_NAME = 'Linea Goerli test network';
|
||||
export const LOCALHOST_DISPLAY_NAME = 'Localhost 8545';
|
||||
export const BSC_DISPLAY_NAME = 'Binance Smart Chain';
|
||||
export const POLYGON_DISPLAY_NAME = 'Polygon';
|
||||
@ -189,6 +193,7 @@ export const MAINNET_RPC_URL = getRpcUrl({
|
||||
});
|
||||
export const GOERLI_RPC_URL = getRpcUrl({ network: NETWORK_TYPES.GOERLI });
|
||||
export const SEPOLIA_RPC_URL = getRpcUrl({ network: NETWORK_TYPES.SEPOLIA });
|
||||
export const LINEA_TESTNET_RPC_URL = 'https://rpc.goerli.linea.build';
|
||||
export const LOCALHOST_RPC_URL = 'http://localhost:8545';
|
||||
|
||||
/**
|
||||
@ -238,6 +243,7 @@ export const INFURA_PROVIDER_TYPES = [
|
||||
export const TEST_CHAINS = [
|
||||
CHAIN_IDS.GOERLI,
|
||||
CHAIN_IDS.SEPOLIA,
|
||||
CHAIN_IDS.LINEA_TESTNET,
|
||||
CHAIN_IDS.LOCALHOST,
|
||||
];
|
||||
|
||||
@ -256,6 +262,10 @@ export const TEST_NETWORK_TICKER_MAP: {
|
||||
[NETWORK_TYPES.SEPOLIA]: `${typedCapitalize(NETWORK_TYPES.SEPOLIA)}${
|
||||
CURRENCY_SYMBOLS.ETH
|
||||
}`,
|
||||
[NETWORK_TYPES.LINEA_TESTNET]:
|
||||
`Linea${CURRENCY_SYMBOLS.ETH}` as `${Capitalize<
|
||||
typeof NETWORK_TYPES.LINEA_TESTNET
|
||||
>}${typeof CURRENCY_SYMBOLS.ETH}`,
|
||||
};
|
||||
|
||||
/**
|
||||
@ -274,6 +284,12 @@ export const BUILT_IN_NETWORKS = {
|
||||
ticker: TEST_NETWORK_TICKER_MAP[NETWORK_TYPES.SEPOLIA],
|
||||
blockExplorerUrl: `https://${NETWORK_TYPES.SEPOLIA}.etherscan.io`,
|
||||
},
|
||||
[NETWORK_TYPES.LINEA_TESTNET]: {
|
||||
networkId: NETWORK_IDS.LINEA_TESTNET,
|
||||
chainId: CHAIN_IDS.LINEA_TESTNET,
|
||||
ticker: TEST_NETWORK_TICKER_MAP[NETWORK_TYPES.LINEA_TESTNET],
|
||||
blockExplorerUrl: 'https://explorer.goerli.linea.build',
|
||||
},
|
||||
[NETWORK_TYPES.MAINNET]: {
|
||||
networkId: NETWORK_IDS.MAINNET,
|
||||
chainId: CHAIN_IDS.MAINNET,
|
||||
@ -289,15 +305,18 @@ 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.LINEA_TESTNET]: LINEA_TESTNET_DISPLAY_NAME,
|
||||
[NETWORK_TYPES.LOCALHOST]: LOCALHOST_DISPLAY_NAME,
|
||||
|
||||
[NETWORK_IDS.GOERLI]: GOERLI_DISPLAY_NAME,
|
||||
[NETWORK_IDS.SEPOLIA]: SEPOLIA_DISPLAY_NAME,
|
||||
[NETWORK_IDS.LINEA_TESTNET]: LINEA_TESTNET_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.LINEA_TESTNET]: LINEA_TESTNET_DISPLAY_NAME,
|
||||
[CHAIN_IDS.MAINNET]: MAINNET_DISPLAY_NAME,
|
||||
[CHAIN_IDS.LOCALHOST]: LOCALHOST_DISPLAY_NAME,
|
||||
} as const;
|
||||
@ -306,12 +325,14 @@ 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.LINEA_TESTNET]: NETWORK_TYPES.LINEA_TESTNET,
|
||||
[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.LINEA_TESTNET]: LINEA_TESTNET_RPC_URL,
|
||||
[CHAIN_IDS.MAINNET]: MAINNET_RPC_URL,
|
||||
[CHAIN_IDS.LOCALHOST]: LOCALHOST_RPC_URL,
|
||||
} as const;
|
||||
@ -333,6 +354,7 @@ export const CHAIN_ID_TO_NETWORK_IMAGE_URL_MAP = {
|
||||
export const NETWORK_ID_TO_ETHERS_NETWORK_NAME_MAP = {
|
||||
[NETWORK_IDS.GOERLI]: NETWORK_TYPES.GOERLI,
|
||||
[NETWORK_IDS.SEPOLIA]: NETWORK_TYPES.SEPOLIA,
|
||||
[NETWORK_IDS.LINEA_TESTNET]: NETWORK_TYPES.LINEA_TESTNET,
|
||||
[NETWORK_IDS.MAINNET]: NETWORK_NAMES.HOMESTEAD,
|
||||
} as const;
|
||||
|
||||
@ -340,6 +362,7 @@ 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.LINEA_TESTNET]: NETWORK_IDS.LINEA_TESTNET,
|
||||
[CHAIN_IDS.LOCALHOST]: NETWORK_IDS.LOCALHOST,
|
||||
} as const;
|
||||
|
||||
@ -380,6 +403,11 @@ export const ETHERSCAN_SUPPORTED_NETWORKS = {
|
||||
}`,
|
||||
networkId: CHAIN_ID_TO_NETWORK_ID_MAP[CHAIN_IDS.SEPOLIA],
|
||||
},
|
||||
[CHAIN_IDS.LINEA_TESTNET]: {
|
||||
domain: 'linea.build',
|
||||
subdomain: 'explorer.goerli',
|
||||
networkId: CHAIN_ID_TO_NETWORK_ID_MAP[CHAIN_IDS.LINEA_TESTNET],
|
||||
},
|
||||
[CHAIN_IDS.BSC]: {
|
||||
domain: 'bscscan.com',
|
||||
subdomain: defaultEtherscanSubdomainPrefix,
|
||||
@ -504,6 +532,7 @@ export const BUYABLE_CHAINS_MAP: {
|
||||
| typeof CHAIN_IDS.MOONBEAM_TESTNET
|
||||
| typeof CHAIN_IDS.MOONRIVER
|
||||
| typeof CHAIN_IDS.AURORA
|
||||
| typeof CHAIN_IDS.LINEA_TESTNET
|
||||
>]: BuyableChainSettings;
|
||||
} = {
|
||||
[CHAIN_IDS.MAINNET]: {
|
||||
@ -650,3 +679,6 @@ export const FEATURED_RPCS: RPCDefinition[] = [
|
||||
},
|
||||
},
|
||||
];
|
||||
|
||||
export const SHOULD_SHOW_LINEA_TESTNET_NETWORK =
|
||||
new Date().getTime() > Date.UTC(2023, 2, 28);
|
||||
|
@ -8,8 +8,13 @@ import Button from '../../ui/button';
|
||||
import * as actions from '../../../store/actions';
|
||||
import { openAlert as displayInvalidCustomNetworkAlert } from '../../../ducks/alerts/invalid-custom-network';
|
||||
import {
|
||||
BUILT_IN_NETWORKS,
|
||||
CHAIN_ID_TO_RPC_URL_MAP,
|
||||
LINEA_TESTNET_RPC_URL,
|
||||
LOCALHOST_RPC_URL,
|
||||
NETWORK_TO_NAME_MAP,
|
||||
NETWORK_TYPES,
|
||||
SHOULD_SHOW_LINEA_TESTNET_NETWORK,
|
||||
} from '../../../../shared/constants/network';
|
||||
import { isPrefixedFormattedHexString } from '../../../../shared/modules/network.utils';
|
||||
|
||||
@ -65,6 +70,8 @@ function mapDispatchToProps(dispatch) {
|
||||
setActiveNetwork: (networkConfigurationId) => {
|
||||
dispatch(actions.setActiveNetwork(networkConfigurationId));
|
||||
},
|
||||
upsertNetworkConfiguration: (...args) =>
|
||||
dispatch(actions.upsertNetworkConfiguration(...args)),
|
||||
hideNetworkDropdown: () => dispatch(actions.hideNetworkDropdown()),
|
||||
displayInvalidCustomNetworkAlert: (networkName) => {
|
||||
dispatch(displayInvalidCustomNetworkAlert(networkName));
|
||||
@ -109,6 +116,7 @@ class NetworkDropdown extends Component {
|
||||
dropdownStyles: PropTypes.object,
|
||||
hideElementsForOnboarding: PropTypes.bool,
|
||||
onAddClick: PropTypes.func,
|
||||
upsertNetworkConfiguration: PropTypes.func.isRequired,
|
||||
};
|
||||
|
||||
handleClick(newProviderType) {
|
||||
@ -231,6 +239,8 @@ class NetworkDropdown extends Component {
|
||||
return t('goerli');
|
||||
case NETWORK_TYPES.SEPOLIA:
|
||||
return t('sepolia');
|
||||
case NETWORK_TYPES.LINEA_TESTNET:
|
||||
return t('lineatestnet');
|
||||
case NETWORK_TYPES.LOCALHOST:
|
||||
return t('localhost');
|
||||
default:
|
||||
@ -275,6 +285,78 @@ class NetworkDropdown extends Component {
|
||||
);
|
||||
}
|
||||
|
||||
renderNonInfuraDefaultNetwork(networkConfigurations, network) {
|
||||
const {
|
||||
provider: { type: providerType },
|
||||
setActiveNetwork,
|
||||
upsertNetworkConfiguration,
|
||||
} = this.props;
|
||||
|
||||
const isCurrentRpcTarget = providerType === NETWORK_TYPES.RPC;
|
||||
return (
|
||||
<DropdownMenuItem
|
||||
key={network}
|
||||
closeMenu={this.props.hideNetworkDropdown}
|
||||
onClick={async () => {
|
||||
const { chainId, ticker, blockExplorerUrl } =
|
||||
BUILT_IN_NETWORKS[network];
|
||||
const networkName = NETWORK_TO_NAME_MAP[network];
|
||||
|
||||
const networkConfiguration = pickBy(
|
||||
networkConfigurations,
|
||||
(config) => config.rpcUrl === CHAIN_ID_TO_RPC_URL_MAP[chainId],
|
||||
);
|
||||
|
||||
let configurationId = null;
|
||||
// eslint-disable-next-line no-extra-boolean-cast, no-implicit-coercion
|
||||
if (!!networkConfiguration) {
|
||||
const rpcUrl = CHAIN_ID_TO_RPC_URL_MAP[chainId];
|
||||
configurationId = await upsertNetworkConfiguration(
|
||||
{
|
||||
rpcUrl,
|
||||
ticker,
|
||||
chainId,
|
||||
nickname: networkName,
|
||||
rpcPrefs: {
|
||||
blockExplorerUrl,
|
||||
},
|
||||
},
|
||||
{
|
||||
setActive: true,
|
||||
source: EVENT.SOURCE.NETWORK.CUSTOM_NETWORK_FORM,
|
||||
},
|
||||
);
|
||||
}
|
||||
setActiveNetwork(configurationId);
|
||||
}}
|
||||
style={DROP_DOWN_MENU_ITEM_STYLE}
|
||||
>
|
||||
{isCurrentRpcTarget ? (
|
||||
<Icon name={ICON_NAMES.CHECK} color={IconColor.successDefault} />
|
||||
) : (
|
||||
<div className="network-check__transparent">✓</div>
|
||||
)}
|
||||
<ColorIndicator
|
||||
color={network}
|
||||
size={Size.LG}
|
||||
type={ColorIndicator.TYPES.FILLED}
|
||||
/>
|
||||
<span
|
||||
className="network-name-item"
|
||||
data-testid={`${network}-network-item`}
|
||||
style={{
|
||||
color:
|
||||
providerType === network
|
||||
? 'var(--color-text-default)'
|
||||
: 'var(--color-text-alternative)',
|
||||
}}
|
||||
>
|
||||
{this.context.t(network)}
|
||||
</span>
|
||||
</DropdownMenuItem>
|
||||
);
|
||||
}
|
||||
|
||||
render() {
|
||||
const {
|
||||
history,
|
||||
@ -286,9 +368,11 @@ class NetworkDropdown extends Component {
|
||||
networkConfigurations,
|
||||
} = this.props;
|
||||
|
||||
const rpcListDetailWithoutLocalHost = pickBy(
|
||||
const rpcListDetailWithoutLocalHostAndLinea = pickBy(
|
||||
networkConfigurations,
|
||||
(config) => config.rpcUrl !== LOCALHOST_RPC_URL,
|
||||
(config) =>
|
||||
config.rpcUrl !== LOCALHOST_RPC_URL &&
|
||||
config.rpcUrl !== LINEA_TESTNET_RPC_URL,
|
||||
);
|
||||
const rpcListDetailForLocalHost = pickBy(
|
||||
networkConfigurations,
|
||||
@ -363,7 +447,7 @@ class NetworkDropdown extends Component {
|
||||
{this.renderNetworkEntry(NETWORK_TYPES.MAINNET)}
|
||||
|
||||
{this.renderCustomRpcList(
|
||||
rpcListDetailWithoutLocalHost,
|
||||
rpcListDetailWithoutLocalHostAndLinea,
|
||||
this.props.provider,
|
||||
)}
|
||||
|
||||
@ -371,6 +455,14 @@ class NetworkDropdown extends Component {
|
||||
<>
|
||||
{this.renderNetworkEntry(NETWORK_TYPES.GOERLI)}
|
||||
{this.renderNetworkEntry(NETWORK_TYPES.SEPOLIA)}
|
||||
{SHOULD_SHOW_LINEA_TESTNET_NETWORK && (
|
||||
<>
|
||||
{this.renderNonInfuraDefaultNetwork(
|
||||
networkConfigurations,
|
||||
NETWORK_TYPES.LINEA_TESTNET,
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
{this.renderCustomRpcList(
|
||||
rpcListDetailForLocalHost,
|
||||
this.props.provider,
|
||||
|
@ -6,6 +6,15 @@ import { renderWithProvider } from '../../../../test/lib/render-helpers';
|
||||
import { LOCALHOST_RPC_URL } from '../../../../shared/constants/network';
|
||||
import NetworkDropdown from './network-dropdown';
|
||||
|
||||
// Mock linea test network feature toggle
|
||||
jest.mock('../../../../shared/constants/network', () => {
|
||||
const constants = jest.requireActual('../../../../shared/constants/network');
|
||||
return {
|
||||
...constants,
|
||||
SHOULD_SHOW_LINEA_TESTNET_NETWORK: true,
|
||||
};
|
||||
});
|
||||
|
||||
describe('Network Dropdown', () => {
|
||||
const createMockStore = configureMockStore([thunk]);
|
||||
|
||||
@ -103,6 +112,13 @@ describe('Network Dropdown', () => {
|
||||
expect(localhostColorIndicator).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('checks background color for seventh ColorIndicator', () => {
|
||||
const lineaColorIndicator = screen.queryByTestId(
|
||||
'color-icon-lineatestnet',
|
||||
);
|
||||
expect(lineaColorIndicator).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('checks that Add Network button is rendered', () => {
|
||||
const addNetworkButton = screen.queryByText('Add network');
|
||||
expect(addNetworkButton).toBeInTheDocument();
|
||||
@ -110,8 +126,7 @@ describe('Network Dropdown', () => {
|
||||
|
||||
it('shows test networks in the dropdown', () => {
|
||||
const networkItems = screen.queryAllByTestId(/network-item/u);
|
||||
|
||||
expect(networkItems).toHaveLength(6);
|
||||
expect(networkItems).toHaveLength(7);
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -49,6 +49,8 @@ export default class LoadingNetworkScreen extends PureComponent {
|
||||
return t('connectingToGoerli');
|
||||
case NETWORK_TYPES.SEPOLIA:
|
||||
return t('connectingToSepolia');
|
||||
case NETWORK_TYPES.LINEA_TESTNET:
|
||||
return t('connectingToLineaTestnet');
|
||||
default:
|
||||
return t('connectingTo', [providerId]);
|
||||
}
|
||||
|
@ -73,6 +73,8 @@ export default class SignatureRequestOriginal extends Component {
|
||||
return t('goerli');
|
||||
case NETWORK_TYPES.SEPOLIA:
|
||||
return t('sepolia');
|
||||
case NETWORK_TYPES.LINEA_TESTNET:
|
||||
return t('lineatestnet');
|
||||
case NETWORK_TYPES.LOCALHOST:
|
||||
return t('localhost');
|
||||
default:
|
||||
|
@ -110,6 +110,8 @@ export default class SignatureRequest extends PureComponent {
|
||||
return t('goerli');
|
||||
case NETWORK_TYPES.SEPOLIA:
|
||||
return t('sepolia');
|
||||
case NETWORK_TYPES.LINEA_TESTNET:
|
||||
return t('lineatestnet');
|
||||
case NETWORK_TYPES.LOCALHOST:
|
||||
return t('localhost');
|
||||
default:
|
||||
|
@ -33,6 +33,8 @@ export const ValidColors = [
|
||||
Color.sepolia,
|
||||
Color.goerliInverse,
|
||||
Color.sepoliaInverse,
|
||||
Color.lineaTestnet,
|
||||
Color.lineaTestnetInverse,
|
||||
];
|
||||
|
||||
export const ValidTags = [
|
||||
|
@ -41,6 +41,8 @@ $color-map: (
|
||||
'sepolia': --color-network-sepolia-default,
|
||||
'goerli-inverse':--color-network-goerli-inverse,
|
||||
'sepolia-inverse': --color-network-sepolia-inverse,
|
||||
'lineatestnet': --color-network-linea-testnet-default,
|
||||
'lineatestnet-inverse': --color-network-linea-testnet-inverse,
|
||||
'localhost': --color-network-localhost-default,
|
||||
'transparent': --transparent,
|
||||
'flask-purple': --color-flask-default,
|
||||
|
@ -25,6 +25,10 @@
|
||||
background-color: rgba(207, 181, 240, 0.7) !important;
|
||||
}
|
||||
|
||||
&.linea-test-network .menu-icon-circle div {
|
||||
background-color: rgba(0, 0, 0, 0.7) !important;
|
||||
}
|
||||
|
||||
&.localhost-network .menu-icon-circle div {
|
||||
background-color: rgba(3, 135, 137, 0.7) !important;
|
||||
}
|
||||
|
@ -4,6 +4,8 @@
|
||||
--mainnet: #29b6af;
|
||||
--inherit: inherit;
|
||||
--transparent: transparent;
|
||||
--color-network-linea-testnet-default: #000;
|
||||
--color-network-linea-testnet-inverse: #fcfcfc;
|
||||
// DO NOT CHANGE
|
||||
// Required for the QR reader to work properly
|
||||
--qr-code-white-background: #fff;
|
||||
|
@ -46,6 +46,8 @@ export enum Color {
|
||||
mainnet = 'mainnet',
|
||||
goerli = 'goerli',
|
||||
sepolia = 'sepolia',
|
||||
lineaTestnet = 'lineatestnet',
|
||||
lineaTestnetInverse = 'lineatestnet-inverse',
|
||||
transparent = 'transparent',
|
||||
localhost = 'localhost',
|
||||
inherit = 'inherit',
|
||||
@ -75,6 +77,7 @@ export enum BackgroundColor {
|
||||
mainnet = 'mainnet',
|
||||
goerli = 'goerli',
|
||||
sepolia = 'sepolia',
|
||||
lineaTestnet = 'lineatestnet',
|
||||
transparent = 'transparent',
|
||||
localhost = 'localhost',
|
||||
}
|
||||
@ -100,6 +103,7 @@ export enum BorderColor {
|
||||
mainnet = 'mainnet',
|
||||
goerli = 'goerli',
|
||||
sepolia = 'sepolia',
|
||||
lineaTestnet = 'lineatestnet',
|
||||
transparent = 'transparent',
|
||||
localhost = 'localhost',
|
||||
}
|
||||
@ -122,6 +126,8 @@ export enum TextColor {
|
||||
inherit = 'inherit',
|
||||
goerli = 'goerli',
|
||||
sepolia = 'sepolia',
|
||||
lineaTestnet = 'lineatestnet',
|
||||
lineaTestnetInverse = 'lineatestnet-inverse',
|
||||
goerliInverse = 'goerli-inverse',
|
||||
sepoliaInverse = 'sepolia-inverse',
|
||||
}
|
||||
@ -144,6 +150,8 @@ export enum IconColor {
|
||||
inherit = 'inherit',
|
||||
goerli = 'goerli',
|
||||
sepolia = 'sepolia',
|
||||
lineaTestnet = 'lineatestnet',
|
||||
lineaTestnetInverse = 'lineatestnet-inverse',
|
||||
goerliInverse = 'goerli-inverse',
|
||||
sepoliaInverse = 'sepolia-inverse',
|
||||
}
|
||||
|
@ -254,6 +254,13 @@ export const SETTINGS_CONSTANTS = [
|
||||
route: `${NETWORKS_ROUTE}#networks-sepolia`,
|
||||
icon: 'fa fa-plug',
|
||||
},
|
||||
{
|
||||
tabMessage: (t) => t('networks'),
|
||||
sectionMessage: (t) => t('lineatestnet'),
|
||||
descriptionMessage: (t) => t('lineatestnet'),
|
||||
route: `${NETWORKS_ROUTE}#networks-lineatestnet`,
|
||||
icon: 'fa fa-plug',
|
||||
},
|
||||
{
|
||||
tabMessage: (t) => t('networks'),
|
||||
sectionMessage: (t) => t('localhost'),
|
||||
|
@ -177,7 +177,7 @@ describe('Settings Search Utils', () => {
|
||||
});
|
||||
|
||||
it('should get good network section number', () => {
|
||||
expect(getNumberOfSettingsInSection(t, t('networks'))).toStrictEqual(4);
|
||||
expect(getNumberOfSettingsInSection(t, t('networks'))).toStrictEqual(5);
|
||||
});
|
||||
|
||||
it('should get good experimental section number', () => {
|
||||
|
@ -62,6 +62,7 @@ export function isDefaultMetaMaskChain(chainId) {
|
||||
chainId === CHAIN_IDS.MAINNET ||
|
||||
chainId === CHAIN_IDS.GOERLI ||
|
||||
chainId === CHAIN_IDS.SEPOLIA ||
|
||||
chainId === CHAIN_IDS.LINEA_TESTNET ||
|
||||
chainId === CHAIN_IDS.LOCALHOST
|
||||
) {
|
||||
return true;
|
||||
|
@ -1,5 +1,6 @@
|
||||
import Bowser from 'bowser';
|
||||
import { BN } from 'ethereumjs-util';
|
||||
import { CHAIN_IDS } from '../../../shared/constants/network';
|
||||
import { addHexPrefixToObjectValues } from '../../../shared/lib/swaps-utils';
|
||||
import { toPrecisionWithoutTrailingZeros } from '../../../shared/lib/transactions-controller-utils';
|
||||
import * as util from './util';
|
||||
@ -907,4 +908,14 @@ describe('util', () => {
|
||||
).toStrictEqual('The Quick Brown \\u202EFox Jumps Over The Lazy Dog');
|
||||
});
|
||||
});
|
||||
|
||||
describe('isDefaultMetaMaskChain()', () => {
|
||||
it('should return true if the provided chainId is a default MetaMask chain', () => {
|
||||
expect(util.isDefaultMetaMaskChain(CHAIN_IDS.GOERLI)).toBeTruthy();
|
||||
});
|
||||
|
||||
it('should return false if the provided chainId is a not default MetaMask chain', () => {
|
||||
expect(util.isDefaultMetaMaskChain(CHAIN_IDS.CELO)).toBeFalsy();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
@ -522,6 +522,8 @@ export default class Routes extends Component {
|
||||
return t('connectingToGoerli');
|
||||
case NETWORK_TYPES.SEPOLIA:
|
||||
return t('connectingToSepolia');
|
||||
case NETWORK_TYPES.LINEA_TESTNET:
|
||||
return t('connectingToLineaTestnet');
|
||||
default:
|
||||
return t('connectingTo', [providerId]);
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ import {
|
||||
CURRENCY_SYMBOLS,
|
||||
CHAIN_IDS,
|
||||
NETWORK_TYPES,
|
||||
LINEA_TESTNET_RPC_URL,
|
||||
} from '../../../../shared/constants/network';
|
||||
|
||||
const defaultNetworksData = [
|
||||
@ -43,6 +44,15 @@ const defaultNetworksData = [
|
||||
ticker: TEST_NETWORK_TICKER_MAP[NETWORK_TYPES.SEPOLIA],
|
||||
blockExplorerUrl: 'https://sepolia.etherscan.io',
|
||||
},
|
||||
{
|
||||
labelKey: NETWORK_TYPES.LINEA_TESTNET,
|
||||
iconColor: '#234FD5',
|
||||
providerType: NETWORK_TYPES.LINEA_TESTNET,
|
||||
rpcUrl: LINEA_TESTNET_RPC_URL,
|
||||
chainId: CHAIN_IDS.LINEA_TESTNET,
|
||||
ticker: TEST_NETWORK_TICKER_MAP[NETWORK_TYPES.LINEA_TESTNET],
|
||||
blockExplorerUrl: 'https://explorer.goerli.linea.build',
|
||||
},
|
||||
];
|
||||
|
||||
export { defaultNetworksData };
|
||||
|
@ -20,7 +20,9 @@ import {
|
||||
getProvider,
|
||||
} from '../../../selectors';
|
||||
import {
|
||||
CHAIN_IDS,
|
||||
NETWORK_TYPES,
|
||||
SHOULD_SHOW_LINEA_TESTNET_NETWORK,
|
||||
TEST_CHAINS,
|
||||
} from '../../../../shared/constants/network';
|
||||
import { defaultNetworksData } from './networks-tab.constants';
|
||||
@ -53,8 +55,8 @@ const NetworksTab = ({ addNewNetwork }) => {
|
||||
getNetworksTabSelectedNetworkConfigurationId,
|
||||
);
|
||||
|
||||
const networkConfigurationsList = Object.entries(networkConfigurations).map(
|
||||
([networkConfigurationId, networkConfiguration]) => {
|
||||
const networkConfigurationsList = Object.entries(networkConfigurations)
|
||||
.map(([networkConfigurationId, networkConfiguration]) => {
|
||||
return {
|
||||
label: networkConfiguration.nickname,
|
||||
iconColor: 'var(--color-icon-alternative)',
|
||||
@ -66,10 +68,15 @@ const NetworksTab = ({ addNewNetwork }) => {
|
||||
isATestNetwork: TEST_CHAINS.includes(networkConfiguration.chainId),
|
||||
networkConfigurationId,
|
||||
};
|
||||
},
|
||||
);
|
||||
})
|
||||
.filter((network) => network.chainId !== CHAIN_IDS.LINEA_TESTNET);
|
||||
|
||||
const networksToRender = [...defaultNetworks, ...networkConfigurationsList];
|
||||
let networksToRender = [...defaultNetworks, ...networkConfigurationsList];
|
||||
if (!SHOULD_SHOW_LINEA_TESTNET_NETWORK) {
|
||||
networksToRender = networksToRender.filter(
|
||||
(network) => network.chainId !== CHAIN_IDS.LINEA_TESTNET,
|
||||
);
|
||||
}
|
||||
let selectedNetwork =
|
||||
networksToRender.find(
|
||||
(network) =>
|
||||
|
Loading…
Reference in New Issue
Block a user