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

fix: refactor linea goerli testnet implementation (#19321)

* fix: refactor linea goerli testnet implementation

* fix: rename linea goerli network

* feat: add linea testnet logo

* update linea goerli block explorer url

* update @metamask/eth-json-rpc-infura package to version 8.1.0

* fix: refactor ticker map object in shared/constants/networks.ts files
This commit is contained in:
Victorien Gauch 2023-06-15 13:38:07 +02:00 committed by GitHub
parent 2648c783ad
commit 1fca9255c1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
71 changed files with 266 additions and 230 deletions

View File

@ -151,7 +151,7 @@
"connectingToGoerli": {
"message": "ከ Goerli የሙከራ አውታረ መረብ ጋር መገናኘት"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "ከ Linea Goerli የሙከራ አውታረ መረብ ጋር መገናኘት"
},
"connectingToMainnet": {
@ -394,7 +394,7 @@
"likeToImportTokens": {
"message": "እነዚህን ተለዋጭ ስሞች ለማከል ይፈልጋሉ?"
},
"lineatestnet": {
"lineaGoerli": {
"message": "የ Linea Goerli የሙከራ አውታረ መረብ"
},
"links": {

View File

@ -161,7 +161,7 @@
"connectingToGoerli": {
"message": "الاتصال بشبكة اختبار Goerli"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "الاتصال بشبكة اختبار Linea Goerli"
},
"connectingToMainnet": {
@ -406,7 +406,7 @@
"likeToImportTokens": {
"message": "هل ترغب في إضافة هذه الرموز؟"
},
"lineatestnet": {
"lineaGoerli": {
"message": "شبكة اختبار Linea Goerli"
},
"links": {

View File

@ -157,7 +157,7 @@
"connectingToGoerli": {
"message": "Свързване с тестова мрежа на Goerli"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "Свързване с тестова мрежа на Linea Goerli"
},
"connectingToMainnet": {
@ -402,7 +402,7 @@
"likeToImportTokens": {
"message": "Искате ли да добавите тези жетони?"
},
"lineatestnet": {
"lineaGoerli": {
"message": "Тестова мрежа на Linea Goerli"
},
"links": {

View File

@ -154,7 +154,7 @@
"connectingToGoerli": {
"message": "Connectant a Xarxa de Prova Goerli"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "Connectant a Xarxa de Prova Linea Goerli"
},
"connectingToMainnet": {
@ -393,7 +393,7 @@
"likeToImportTokens": {
"message": "T'agradaria afegir aquestes fitxes?"
},
"lineatestnet": {
"lineaGoerli": {
"message": "Xarxa de test Linea Goerli"
},
"links": {

View File

@ -157,7 +157,7 @@
"connectingToGoerli": {
"message": "Opretter forbindelse til Goerli Testnetværk"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "Opretter forbindelse til Linea Goerli Testnetværk"
},
"connectingToMainnet": {
@ -399,7 +399,7 @@
"likeToImportTokens": {
"message": "Ønsker du at tilføje disse tokens?"
},
"lineatestnet": {
"lineaGoerli": {
"message": "Linea-testnetværk"
},
"loadMore": {

View File

@ -689,7 +689,7 @@
"connectingToGoerli": {
"message": "Verbindungsaufbau zum Goerli-Testnetzwerk"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "Verbindungsaufbau zum Linea-Testnetzwerk"
},
"connectingToMainnet": {
@ -1840,7 +1840,7 @@
"likeToImportTokens": {
"message": "Möchtest du diese Token hinzufügen?"
},
"lineatestnet": {
"lineaGoerli": {
"message": "Linea-Testnetzwerk"
},
"link": {

View File

@ -689,7 +689,7 @@
"connectingToGoerli": {
"message": "Σύνδεση στο Δίκτυο Δοκιμής Goerli"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "Σύνδεση στο δίκτυο δοκιμών Linea Goerli"
},
"connectingToMainnet": {
@ -1840,7 +1840,7 @@
"likeToImportTokens": {
"message": "Θέλετε να προσθέσετε αυτά τα token;"
},
"lineatestnet": {
"lineaGoerli": {
"message": "Δίκτυο δοκιμών Linea Goerli"
},
"link": {

View File

@ -796,7 +796,7 @@
"connectingToGoerli": {
"message": "Connecting to Goerli test network"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "Connecting to Linea Goerli test network"
},
"connectingToMainnet": {
@ -2126,7 +2126,7 @@
"likeToImportTokens": {
"message": "Would you like to import these tokens?"
},
"lineatestnet": {
"lineaGoerli": {
"message": "Linea Goerli test network"
},
"link": {

View File

@ -689,7 +689,7 @@
"connectingToGoerli": {
"message": "Estableciendo conexión a la red de prueba Goerli"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "Conectando a la red de prueba Linea Goerli"
},
"connectingToMainnet": {
@ -1840,7 +1840,7 @@
"likeToImportTokens": {
"message": "¿Le gustaría agregar estos tokens?"
},
"lineatestnet": {
"lineaGoerli": {
"message": "Red de prueba Linea Goerli"
},
"link": {

View File

@ -442,7 +442,7 @@
"connectingToGoerli": {
"message": "Estableciendo conexión a la red de prueba Goerli"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "Estableciendo conexión a la red de prueba Linea Goerli"
},
"connectingToMainnet": {
@ -1245,7 +1245,7 @@
"likeToImportTokens": {
"message": "¿Quiere agregar estos tokens?"
},
"lineatestnet": {
"lineaGoerli": {
"message": "Red de prueba Linea Goerli"
},
"link": {

View File

@ -157,7 +157,7 @@
"connectingToGoerli": {
"message": "Ühendamine Goerli testvõrguga"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "Ühendamine Linea Goerli testvõrguga"
},
"connectingToMainnet": {
@ -402,7 +402,7 @@
"likeToImportTokens": {
"message": "Kas soovite need load lisada?"
},
"lineatestnet": {
"lineaGoerli": {
"message": "Linea Goerli testvõrk"
},
"links": {

View File

@ -157,7 +157,7 @@
"connectingToGoerli": {
"message": "در حال اتصال به شبکه آزمایشی Goerli "
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "در حال اتصال به شبکه آزمایشی Linea Goerli"
},
"connectingToMainnet": {
@ -406,7 +406,7 @@
"likeToImportTokens": {
"message": "آیا میخواهید این رمزیاب ها را اضافه نمایید؟"
},
"lineatestnet": {
"lineaGoerli": {
"message": "شبکه آزمایشی Linea Goerli"
},
"links": {

View File

@ -157,7 +157,7 @@
"connectingToGoerli": {
"message": "Yhdistetään Goerlin testiverkostoon"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "Yhdistetään Linea Goerli testiverkostoon"
},
"connectingToMainnet": {
@ -406,7 +406,7 @@
"likeToImportTokens": {
"message": "Haluaisitko lisätä nämä poletit?"
},
"lineatestnet": {
"lineaGoerli": {
"message": "Linea-testiverkko"
},
"links": {

View File

@ -136,7 +136,7 @@
"connectingToGoerli": {
"message": "Kumokonekta sa Goerli Test Network"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "Kumokonekta sa Linea Goerli Test Network"
},
"connectingToMainnet": {

View File

@ -689,7 +689,7 @@
"connectingToGoerli": {
"message": "Connexion au testnet Goerli"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "Connexion au réseau de test Linea Goerli"
},
"connectingToMainnet": {
@ -1840,7 +1840,7 @@
"likeToImportTokens": {
"message": "Souhaitez-vous ajouter ces jetons ?"
},
"lineatestnet": {
"lineaGoerli": {
"message": "Réseau de test Linea Goerli"
},
"link": {

View File

@ -157,7 +157,7 @@
"connectingToGoerli": {
"message": "מתחבר ל-Goerli Test Network"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "מתחבר ל-Linea Goerli Test Network"
},
"connectingToMainnet": {
@ -406,7 +406,7 @@
"likeToImportTokens": {
"message": "האם ברצונך להוסיף טוקנים אלה?"
},
"lineatestnet": {
"lineaGoerli": {
"message": "רשת בדיקה Linea Goerli"
},
"links": {

View File

@ -689,7 +689,7 @@
"connectingToGoerli": {
"message": "Goerli टेस्ट नेटवर्क से कनेक्ट हो रहा है"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "Linea Goerli टेस्ट नेटवर्क से कनेक्ट हो रहा है"
},
"connectingToMainnet": {
@ -1840,7 +1840,7 @@
"likeToImportTokens": {
"message": "क्या आप इन टोकन को इंपोर्ट करना चाहते हैं?"
},
"lineatestnet": {
"lineaGoerli": {
"message": "Linea Goerli टेस्ट नेटवर्क"
},
"link": {

View File

@ -157,7 +157,7 @@
"connectingToGoerli": {
"message": "Povezivanje na testnu mrežu Goerli"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "Povezivanje na testnu mrežu Linea Goerli"
},
"connectingToMainnet": {
@ -402,7 +402,7 @@
"likeToImportTokens": {
"message": "Želite li dodati ove tokene?"
},
"lineatestnet": {
"lineaGoerli": {
"message": "Testna mreža Linea Goerli"
},
"links": {

View File

@ -157,7 +157,7 @@
"connectingToGoerli": {
"message": "Csatlakozás a Goerli teszthálózathoz"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "Csatlakozás a Linea Goerli teszthálózathoz"
},
"connectingToMainnet": {
@ -402,7 +402,7 @@
"likeToImportTokens": {
"message": "Hozzá szeretné adni ezeket az érméket?"
},
"lineatestnet": {
"lineaGoerli": {
"message": "Linea Goerli teszthálózat"
},
"links": {

View File

@ -689,7 +689,7 @@
"connectingToGoerli": {
"message": "Menghubungkan ke jaringan uji Goerli"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "Menghubungkan ke jaringan uji Linea Goerli"
},
"connectingToMainnet": {
@ -1840,7 +1840,7 @@
"likeToImportTokens": {
"message": "Apakah Anda ingin menambahkan token ini?"
},
"lineatestnet": {
"lineaGoerli": {
"message": "Jaringan uji Linea Goerli"
},
"link": {

View File

@ -532,7 +532,7 @@
"connectingToGoerli": {
"message": "Connessione alla Rete di Test Goerli"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "Connessione alla Rete di test Linea Goerli"
},
"connectingToMainnet": {
@ -1106,7 +1106,7 @@
"likeToImportTokens": {
"message": "Vorresti aggiungere questi token?"
},
"lineatestnet": {
"lineaGoerli": {
"message": "Rete di test Linea Goerli"
},
"links": {

View File

@ -689,7 +689,7 @@
"connectingToGoerli": {
"message": "Goerliテストネットワークに接続中"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "Linea Goerli テストネットワークに接続中"
},
"connectingToMainnet": {
@ -1840,7 +1840,7 @@
"likeToImportTokens": {
"message": "これらのトークンを追加しますか?"
},
"lineatestnet": {
"lineaGoerli": {
"message": "Linea Goerli テストネットワーク"
},
"link": {

View File

@ -157,7 +157,7 @@
"connectingToGoerli": {
"message": "Goerli ಪರೀಕ್ಷಾ ನೆಟ್‌ವರ್ಕ್‌ಗೆ ಸಂಪರ್ಕಿಸಲಾಗುತ್ತಿದೆ"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "Linea Goerli ಪರೀಕ್ಷಾ ನೆಟ್‌ವರ್ಕ್‌ಗೆ ಸಂಪರ್ಕಿಸಲಾಗುತ್ತಿದೆ"
},
"connectingToMainnet": {
@ -406,7 +406,7 @@
"likeToImportTokens": {
"message": "ನೀವು ಈ ಟೋಕನ್‌ಗಳನ್ನು ಸೇರಿಸಲು ಬಯಸುತ್ತೀರಾ?"
},
"lineatestnet": {
"lineaGoerli": {
"message": "Linea Goerli ಪರೀಕ್ಷೆ ನೆಟ್‌ವರ್ಕ್"
},
"links": {

View File

@ -689,7 +689,7 @@
"connectingToGoerli": {
"message": "Goerli 테스트 네트워크에 연결 중"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "Linea Goerli 테스트 네트워크에 연결 중"
},
"connectingToMainnet": {
@ -1840,7 +1840,7 @@
"likeToImportTokens": {
"message": "이 토큰을 추가할까요?"
},
"lineatestnet": {
"lineaGoerli": {
"message": "Linea Goerli 테스트 네트워크"
},
"link": {

View File

@ -157,7 +157,7 @@
"connectingToGoerli": {
"message": "Jungiamasi prie „Goerli“ bandomojo tinklo"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "Jungiamasi prie „Linea“ bandomojo tinklo"
},
"connectingToMainnet": {
@ -406,7 +406,7 @@
"likeToImportTokens": {
"message": "Ar norėtumėte pridėti šiuos žetonus?"
},
"lineatestnet": {
"lineaGoerli": {
"message": "„Linea“ bandomasis tinklas"
},
"links": {

View File

@ -157,7 +157,7 @@
"connectingToGoerli": {
"message": "Pieslēdzas Goerli testa tīklam"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "Pieslēdzas Linea Goerli testa tīklam"
},
"connectingToMainnet": {
@ -402,7 +402,7 @@
"likeToImportTokens": {
"message": "Vai vēlaties pievienot šos marķierus?"
},
"lineatestnet": {
"lineaGoerli": {
"message": "Linea Goerli testa tīkls"
},
"links": {

View File

@ -157,7 +157,7 @@
"connectingToGoerli": {
"message": "Menyambung kepada Rangkaian Ujian Goerli"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "Menyambung kepada Rangkaian Ujian Linea Goerli"
},
"connectingToMainnet": {
@ -395,7 +395,7 @@
"likeToImportTokens": {
"message": "Adakah anda ingin menambah token ini?"
},
"lineatestnet": {
"lineaGoerli": {
"message": "Rangkaian Ujian Linea Goerli"
},
"links": {

View File

@ -154,7 +154,7 @@
"connectingToGoerli": {
"message": "Oppretter forbindelse med Goerli Test Network"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "Oppretter forbindelse med Linea Goerli Test Network"
},
"connectingToMainnet": {

View File

@ -305,7 +305,7 @@
"connectingToGoerli": {
"message": "Kumokonekta sa Goerli Test Network"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "Kumokonekta sa Linea Goerli Test Network"
},
"connectingToMainnet": {
@ -795,7 +795,7 @@
"likeToImportTokens": {
"message": "Gusto mo bang idagdag ang mga token na ito?"
},
"lineatestnet": {
"lineaGoerli": {
"message": "Linea Goerli Test Network"
},
"links": {

View File

@ -157,7 +157,7 @@
"connectingToGoerli": {
"message": "Łączenie z siecią testową Goerli"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "Łączenie z siecią testową Linea Goerli"
},
"connectingToMainnet": {
@ -406,7 +406,7 @@
"likeToImportTokens": {
"message": "Czy chcesz dodać te tokeny?"
},
"lineatestnet": {
"lineaGoerli": {
"message": "Sieć testowa Linea Goerli"
},
"links": {

View File

@ -689,7 +689,7 @@
"connectingToGoerli": {
"message": "Conectando à rede de testes Goerli"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "Conectando à rede de teste Linea Goerli"
},
"connectingToMainnet": {
@ -1840,7 +1840,7 @@
"likeToImportTokens": {
"message": "Gostaria de adicionar estes tokens?"
},
"lineatestnet": {
"lineaGoerli": {
"message": "Rede de teste Linea Goerli"
},
"link": {

View File

@ -442,7 +442,7 @@
"connectingToGoerli": {
"message": "Conectando à rede de testes Goerli"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "Conectando à rede de testes Linea Goerli"
},
"connectingToMainnet": {
@ -1245,7 +1245,7 @@
"likeToImportTokens": {
"message": "Você gostaria de importar esses tokens?"
},
"lineatestnet": {
"lineaGoerli": {
"message": "Rede de testes Linea Goerli"
},
"link": {

View File

@ -157,7 +157,7 @@
"connectingToGoerli": {
"message": "Se conectează la rețeaua de test Goerli"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "Se conectează la rețeaua de test Linea Goerli"
},
"connectingToMainnet": {
@ -396,7 +396,7 @@
"likeToImportTokens": {
"message": "Adăugați aceste indicative?"
},
"lineatestnet": {
"lineaGoerli": {
"message": "Rețea de test Linea Goerli"
},
"links": {

View File

@ -689,7 +689,7 @@
"connectingToGoerli": {
"message": "Подключение к тестовой сети Goerli..."
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "Подключение к тестовой сети Linea..."
},
"connectingToMainnet": {
@ -1840,7 +1840,7 @@
"likeToImportTokens": {
"message": "Вы хотели бы импортировать эти токены?"
},
"lineatestnet": {
"lineaGoerli": {
"message": "Тестовая сеть Linea Goerli"
},
"link": {

View File

@ -151,7 +151,7 @@
"connectingToGoerli": {
"message": "Pripája sa k testovacej sieti Goerli"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "Pripája sa k testovacej sieti Linea Goerli"
},
"connectingToMainnet": {
@ -393,7 +393,7 @@
"likeToImportTokens": {
"message": "Chcete přidat tyto tokeny?"
},
"lineatestnet": {
"lineaGoerli": {
"message": "Testovacia sieť Linea Goerli"
},
"links": {

View File

@ -157,7 +157,7 @@
"connectingToGoerli": {
"message": "Povezovanje na testno omrežje Goerli"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "Povezovanje na testno omrežje Linea Goerli"
},
"connectingToMainnet": {
@ -400,7 +400,7 @@
"likeToImportTokens": {
"message": "Želite dodati te žetone?"
},
"lineatestnet": {
"lineaGoerli": {
"message": "Testno omrežje Linea Goerli"
},
"links": {

View File

@ -154,7 +154,7 @@
"connectingToGoerli": {
"message": "Povezuje se sa test mrežom Goerli "
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "Povezuje se sa test mrežom Linea Goerli"
},
"connectingToMainnet": {
@ -403,7 +403,7 @@
"likeToImportTokens": {
"message": "Želite li da dodate ove tokene?"
},
"lineatestnet": {
"lineaGoerli": {
"message": "Test mreža Linea Goerli"
},
"links": {

View File

@ -151,7 +151,7 @@
"connectingToGoerli": {
"message": "Ansluter till Goerli Test Network"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "Ansluter till Linea Goerli Test Network"
},
"connectingToMainnet": {
@ -396,7 +396,7 @@
"likeToImportTokens": {
"message": "Vill du lägga till dessa tokens?"
},
"lineatestnet": {
"lineaGoerli": {
"message": "Linea Goerli testnätverk"
},
"links": {

View File

@ -151,7 +151,7 @@
"connectingToGoerli": {
"message": "Inaunganisha kwenye Mtandao wa Majaribio wa Goerli"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "Inaunganisha kwenye Mtandao wa Majaribio wa Linea Goerli"
},
"connectingToMainnet": {
@ -393,7 +393,7 @@
"likeToImportTokens": {
"message": "Je, ungependa kuongeza vianzio hivi?"
},
"lineatestnet": {
"lineaGoerli": {
"message": "Mtandao wa Majaribio wa Linea Goerli"
},
"links": {

View File

@ -689,7 +689,7 @@
"connectingToGoerli": {
"message": "Kumokonekta sa Goerli Test Network"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "Kumokonekta sa Linea Goerli test network"
},
"connectingToMainnet": {
@ -1840,7 +1840,7 @@
"likeToImportTokens": {
"message": "Gusto mo bang idagdag ang mga token na ito?"
},
"lineatestnet": {
"lineaGoerli": {
"message": "Linea Goerli test network"
},
"link": {

View File

@ -689,7 +689,7 @@
"connectingToGoerli": {
"message": "Goerli Test Ağına Bağlanıyor"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "Linea Goerli test ağına bağlanılıyor"
},
"connectingToMainnet": {
@ -1840,7 +1840,7 @@
"likeToImportTokens": {
"message": "Bu tokenleri içe aktarmak ister misiniz?"
},
"lineatestnet": {
"lineaGoerli": {
"message": "Linea Goerli test ağı"
},
"link": {

View File

@ -157,7 +157,7 @@
"connectingToGoerli": {
"message": "Підключення до тестової мережі Goerli"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "Підключення до тестової мережі Linea Goerli"
},
"connectingToMainnet": {
@ -406,7 +406,7 @@
"likeToImportTokens": {
"message": "Ви б хотіли додати ці токени?"
},
"lineatestnet": {
"lineaGoerli": {
"message": "Тестова мережа Linea Goerli"
},
"links": {

View File

@ -689,7 +689,7 @@
"connectingToGoerli": {
"message": "Đang kết nối với mạng thử nghiệm Goerli"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "Đang kết nối với mạng thử nghiệm Linea Goerli"
},
"connectingToMainnet": {
@ -1840,7 +1840,7 @@
"likeToImportTokens": {
"message": "Bạn có muốn nhập những token này không?"
},
"lineatestnet": {
"lineaGoerli": {
"message": "Mạng thử nghiệm Linea Goerli"
},
"link": {

View File

@ -689,7 +689,7 @@
"connectingToGoerli": {
"message": "正在连接 Goerli 测试网络"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "正在连接Linea测试网络"
},
"connectingToMainnet": {
@ -1840,7 +1840,7 @@
"likeToImportTokens": {
"message": "您想导入这些代币吗?"
},
"lineatestnet": {
"lineaGoerli": {
"message": "Linea测试网络"
},
"link": {

View File

@ -304,7 +304,7 @@
"connectingToGoerli": {
"message": "連線到 Goerli 測試網路"
},
"connectingToLineaTestnet": {
"connectingToLineaGoerli": {
"message": "連線到 Linea Goerli 測試網路"
},
"connectingToMainnet": {
@ -803,7 +803,7 @@
"likeToImportTokens": {
"message": "確定要加入代幣?"
},
"lineatestnet": {
"lineaGoerli": {
"message": "Linea Goerli 測試網路"
},
"links": {

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -277,7 +277,11 @@ export default class TransactionController extends EventEmitter {
// type will be one of our default network names or 'rpc'. the default
// network names are sufficient configuration, simply pass the name as the
// chain argument in the constructor.
if (type !== NETWORK_TYPES.RPC && type !== NETWORK_TYPES.SEPOLIA) {
if (
type !== NETWORK_TYPES.RPC &&
type !== NETWORK_TYPES.SEPOLIA &&
type !== NETWORK_TYPES.LINEA_GOERLI
) {
return new Common({
chain: type,
hardfork,

View File

@ -305,7 +305,7 @@
"mainnet": "ok",
"goerli": "ok",
"sepolia": "ok",
"lineatestnet": "ok"
"lineaGoerli": "ok"
}
},
"send": {

View File

@ -980,6 +980,7 @@
"packages": {
"@lavamoat/allow-scripts>@npmcli/run-script>node-gyp>npmlog>are-we-there-yet": true,
"@lavamoat/allow-scripts>@npmcli/run-script>node-gyp>npmlog>gauge": true,
"@storybook/addon-mdx-gfm>@storybook/node-logger>npmlog>console-control-strings": true,
"@storybook/react>@storybook/node-logger>npmlog>console-control-strings": true,
"nyc>yargs>set-blocking": true
}
@ -1008,6 +1009,9 @@
"@lavamoat/allow-scripts>@npmcli/run-script>node-gyp>npmlog>gauge>aproba": true,
"@lavamoat/allow-scripts>@npmcli/run-script>node-gyp>npmlog>gauge>string-width": true,
"@lavamoat/allow-scripts>@npmcli/run-script>node-gyp>npmlog>gauge>strip-ansi": true,
"@storybook/addon-mdx-gfm>@storybook/node-logger>npmlog>console-control-strings": true,
"@storybook/addon-mdx-gfm>@storybook/node-logger>npmlog>gauge>has-unicode": true,
"@storybook/addon-mdx-gfm>@storybook/node-logger>npmlog>gauge>wide-align": true,
"@storybook/react>@storybook/node-logger>npmlog>console-control-strings": true,
"@storybook/react>@storybook/node-logger>npmlog>gauge>has-unicode": true,
"@storybook/react>@storybook/node-logger>npmlog>gauge>wide-align": true,
@ -1133,11 +1137,33 @@
"@metamask/jazzicon>color>color-convert>color-name": true
}
},
"@sentry/cli>mkdirp": {
"builtin": {
"fs": true,
"path.dirname": true,
"path.resolve": true
}
},
"@storybook/addon-knobs>qs": {
"packages": {
"string.prototype.matchall>side-channel": true
}
},
"@storybook/addon-mdx-gfm>@storybook/node-logger>npmlog>gauge>has-unicode": {
"builtin": {
"os.type": true
},
"globals": {
"process.env.LANG": true,
"process.env.LC_ALL": true,
"process.env.LC_CTYPE": true
}
},
"@storybook/addon-mdx-gfm>@storybook/node-logger>npmlog>gauge>wide-align": {
"packages": {
"yargs>string-width": true
}
},
"@storybook/core>@storybook/core-server>x-default-browser>default-browser-id>untildify>os-homedir": {
"builtin": {
"os.homedir": true
@ -4886,9 +4912,20 @@
},
"packages": {
"@storybook/core>@storybook/core-server>x-default-browser>default-browser-id>untildify>os-homedir": true,
"gulp-watch>chokidar>fsevents>node-pre-gyp>nopt>osenv>os-homedir": true,
"gulp-watch>chokidar>fsevents>node-pre-gyp>nopt>osenv>os-tmpdir": true
}
},
"gulp-watch>chokidar>fsevents>node-pre-gyp>nopt>osenv>os-homedir": {
"builtin": {
"os.homedir": true
},
"globals": {
"process.env": true,
"process.getuid": true,
"process.platform": true
}
},
"gulp-watch>chokidar>fsevents>node-pre-gyp>nopt>osenv>os-tmpdir": {
"globals": {
"process.env.SystemRoot": true,
@ -4910,9 +4947,34 @@
"setTimeout": true
},
"packages": {
"gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob": true,
"nyc>glob": true
}
},
"gulp-watch>chokidar>fsevents>node-pre-gyp>rimraf>glob": {
"builtin": {
"assert": true,
"events.EventEmitter": true,
"fs": true,
"path.join": true,
"path.resolve": true,
"util": true
},
"globals": {
"console.error": true,
"process.cwd": true,
"process.nextTick": true,
"process.platform": true
},
"packages": {
"eslint>minimatch": true,
"gulp-watch>path-is-absolute": true,
"nyc>glob>fs.realpath": true,
"nyc>glob>inflight": true,
"pump>once": true,
"pumpify>inherits": true
}
},
"gulp-watch>chokidar>fsevents>node-pre-gyp>semver": {
"globals": {
"console": true,
@ -8246,14 +8308,7 @@
"path.dirname": true
},
"packages": {
"stylelint>file-entry-cache>flat-cache>write>mkdirp": true
}
},
"stylelint>file-entry-cache>flat-cache>write>mkdirp": {
"builtin": {
"fs": true,
"path.dirname": true,
"path.resolve": true
"@sentry/cli>mkdirp": true
}
},
"stylelint>global-modules": {

View File

@ -235,7 +235,7 @@
"@metamask/controller-utils": "^4.0.0",
"@metamask/design-tokens": "^1.9.0",
"@metamask/desktop": "^0.3.0",
"@metamask/eth-json-rpc-infura": "^8.0.0",
"@metamask/eth-json-rpc-infura": "^8.1.0",
"@metamask/eth-json-rpc-middleware": "^11.0.0",
"@metamask/eth-json-rpc-provider": "^1.0.0",
"@metamask/eth-keyring-controller": "^10.0.1",

View File

@ -95,7 +95,7 @@ export const NETWORK_TYPES = {
MAINNET: 'mainnet',
RPC: 'rpc',
SEPOLIA: 'sepolia',
LINEA_TESTNET: 'lineatestnet',
LINEA_GOERLI: 'linea-goerli',
} as const;
/**
@ -121,7 +121,7 @@ export const NETWORK_IDS = {
GOERLI: '5',
LOCALHOST: '1337',
SEPOLIA: '11155111',
LINEA_TESTNET: '59140',
LINEA_GOERLI: '59140',
} as const;
/**
@ -147,7 +147,7 @@ export const CHAIN_IDS = {
HARMONY: '0x63564c40',
PALM: '0x2a15c308d',
SEPOLIA: '0xaa36a7',
LINEA_TESTNET: '0xe704',
LINEA_GOERLI: '0xe704',
AURORA: '0x4e454152',
MOONBEAM: '0x504',
MOONBEAM_TESTNET: '0x507',
@ -164,7 +164,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 LINEA_GOERLI_DISPLAY_NAME = 'Linea Goerli';
export const LOCALHOST_DISPLAY_NAME = 'Localhost 8545';
export const BSC_DISPLAY_NAME = 'Binance Smart Chain';
export const POLYGON_DISPLAY_NAME = 'Polygon';
@ -194,7 +194,9 @@ 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://linea-goerli.infura.io/v3/${infuraProjectId}`;
export const LINEA_GOERLI_RPC_URL = getRpcUrl({
network: NETWORK_TYPES.LINEA_GOERLI,
});
export const LOCALHOST_RPC_URL = 'http://localhost:8545';
/**
@ -227,6 +229,7 @@ export const CURRENCY_SYMBOLS = {
} as const;
export const ETH_TOKEN_IMAGE_URL = './images/eth_logo.png';
export const LINEA_GOERLI_TOKEN_IMAGE_URL = './images/linea-logo-testnet.png';
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';
@ -243,12 +246,13 @@ export const INFURA_PROVIDER_TYPES = [
NETWORK_TYPES.MAINNET,
NETWORK_TYPES.GOERLI,
NETWORK_TYPES.SEPOLIA,
NETWORK_TYPES.LINEA_GOERLI,
] as const;
export const TEST_CHAINS = [
CHAIN_IDS.GOERLI,
CHAIN_IDS.SEPOLIA,
CHAIN_IDS.LINEA_TESTNET,
CHAIN_IDS.LINEA_GOERLI,
CHAIN_IDS.LOCALHOST,
];
@ -256,10 +260,7 @@ 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}`;
[K in Exclude<NetworkType, 'localhost' | 'mainnet' | 'rpc'>]: string;
} = {
[NETWORK_TYPES.GOERLI]: `${typedCapitalize(NETWORK_TYPES.GOERLI)}${
CURRENCY_SYMBOLS.ETH
@ -267,10 +268,7 @@ 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}`,
[NETWORK_TYPES.LINEA_GOERLI]: `Linea${CURRENCY_SYMBOLS.ETH}`,
};
/**
@ -289,11 +287,11 @@ 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.LINEA_GOERLI]: {
networkId: NETWORK_IDS.LINEA_GOERLI,
chainId: CHAIN_IDS.LINEA_GOERLI,
ticker: TEST_NETWORK_TICKER_MAP[NETWORK_TYPES.LINEA_GOERLI],
blockExplorerUrl: 'https://goerli.lineascan.build',
},
[NETWORK_TYPES.MAINNET]: {
networkId: NETWORK_IDS.MAINNET,
@ -317,18 +315,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.LINEA_GOERLI]: LINEA_GOERLI_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.LINEA_GOERLI]: LINEA_GOERLI_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.LINEA_GOERLI]: LINEA_GOERLI_DISPLAY_NAME,
[CHAIN_IDS.MAINNET]: MAINNET_DISPLAY_NAME,
[CHAIN_IDS.LOCALHOST]: LOCALHOST_DISPLAY_NAME,
} as const;
@ -337,20 +335,21 @@ 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.LINEA_GOERLI]: NETWORK_TYPES.LINEA_GOERLI,
[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.LINEA_GOERLI]: LINEA_GOERLI_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.LINEA_GOERLI]: LINEA_GOERLI_TOKEN_IMAGE_URL,
[CHAIN_IDS.AVALANCHE]: AVAX_TOKEN_IMAGE_URL,
[CHAIN_IDS.BSC]: BNB_TOKEN_IMAGE_URL,
[CHAIN_IDS.POLYGON]: MATIC_TOKEN_IMAGE_URL,
@ -366,7 +365,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.LINEA_GOERLI]: NETWORK_TYPES.LINEA_GOERLI,
[NETWORK_IDS.MAINNET]: NETWORK_NAMES.HOMESTEAD,
} as const;
@ -374,7 +373,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.LINEA_GOERLI]: NETWORK_IDS.LINEA_GOERLI,
[CHAIN_IDS.LOCALHOST]: NETWORK_IDS.LOCALHOST,
} as const;
@ -416,10 +415,10 @@ 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.LINEA_GOERLI]: {
domain: 'lineascan.build',
subdomain: 'goerli',
networkId: CHAIN_ID_TO_NETWORK_ID_MAP[CHAIN_IDS.LINEA_GOERLI],
},
[CHAIN_IDS.BSC]: {
domain: 'bscscan.com',
@ -519,7 +518,7 @@ export const BUYABLE_CHAINS_MAP: {
| typeof CHAIN_IDS.AVALANCHE_TESTNET
| typeof CHAIN_IDS.FANTOM_TESTNET
| typeof CHAIN_IDS.MOONBEAM_TESTNET
| typeof CHAIN_IDS.LINEA_TESTNET
| typeof CHAIN_IDS.LINEA_GOERLI
| typeof CHAIN_IDS.GOERLI
>]: BuyableChainSettings;
} = {
@ -688,9 +687,6 @@ export const FEATURED_RPCS: RPCDefinition[] = [
},
];
export const SHOULD_SHOW_LINEA_TESTNET_NETWORK =
new Date().getTime() > Date.UTC(2023, 2, 28, 8);
/**
* Represents the availability state of the currently selected network.
*/

View File

@ -184,6 +184,7 @@ function defaultFixture() {
[CHAIN_IDS.MAINNET]: null,
[CHAIN_IDS.GOERLI]: null,
[CHAIN_IDS.SEPOLIA]: null,
[CHAIN_IDS.LINEA_GOERLI]: null,
},
},
KeyringController: {

View File

@ -64,8 +64,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');
case NETWORK_TYPES.LINEA_GOERLI:
return t('connectingToLineaGoerli');
default:
return t('connectingTo', [providerId]);
}

View File

@ -20,6 +20,7 @@ import { useI18nContext } from '../../../hooks/useI18nContext';
import { isNetworkLoading } from '../../../selectors';
import { Icon, IconName, IconSize } from '../../component-library';
import { getProviderConfig } from '../../../ducks/metamask/metamask';
import { getNetworkLabelKey } from '../../../helpers/utils/i18n-helper';
export default function NetworkDisplay({
indicatorSize,
@ -69,7 +70,7 @@ export default function NetworkDisplay({
label={
networkType === NETWORK_TYPES.RPC
? nickname ?? t('privateNetwork')
: t(networkType)
: t(getNetworkLabelKey(networkType))
}
className={classnames('network-display', {
'network-display--disabled': disabled,

View File

@ -59,8 +59,8 @@ function renderBackgroundColor(color) {
case Color.sepoliaInverse:
bgColor = BackgroundColor.sepolia;
break;
case Color.lineaTestnetInverse:
bgColor = BackgroundColor.lineaTestnet;
case Color.lineaGoerliInverse:
bgColor = BackgroundColor.lineaGoerli;
break;
default:
bgColor = null;

View File

@ -23,7 +23,7 @@ import { useI18nContext } from '../../../hooks/useI18nContext';
import Tooltip from '../../ui/tooltip/tooltip';
import {
GOERLI_DISPLAY_NAME,
LINEA_TESTNET_DISPLAY_NAME,
LINEA_GOERLI_DISPLAY_NAME,
SEPOLIA_DISPLAY_NAME,
} from '../../../../shared/constants/network';
@ -33,8 +33,8 @@ function getAvatarNetworkColor(name) {
switch (name) {
case GOERLI_DISPLAY_NAME:
return BackgroundColor.goerli;
case LINEA_TESTNET_DISPLAY_NAME:
return BackgroundColor.lineaTestnet;
case LINEA_GOERLI_DISPLAY_NAME:
return BackgroundColor.lineaGoerli;
case SEPOLIA_DISPLAY_NAME:
return BackgroundColor.sepolia;
default:

View File

@ -11,14 +11,12 @@ import {
setShowTestNetworks,
setProviderType,
toggleNetworkMenu,
upsertNetworkConfiguration,
} from '../../../store/actions';
import { CHAIN_IDS, TEST_CHAINS } from '../../../../shared/constants/network';
import {
getShowTestNetworks,
getAllEnabledNetworks,
getCurrentChainId,
getNetworkConfigurations,
} from '../../../selectors';
import Box from '../../ui/box/box';
import ToggleButton from '../../ui/toggle-button';
@ -38,7 +36,6 @@ import { MetaMetricsContext } from '../../../contexts/metametrics';
import {
MetaMetricsEventCategory,
MetaMetricsEventName,
MetaMetricsNetworkEventSource,
} from '../../../../shared/constants/metametrics';
import { getCompletedOnboarding } from '../../../ducks/metamask/metamask';
@ -48,7 +45,6 @@ export const NetworkListMenu = ({ onClose }) => {
const t = useI18nContext();
const networks = useSelector(getAllEnabledNetworks);
const showTestNetworks = useSelector(getShowTestNetworks);
const networkConfigurations = useSelector(getNetworkConfigurations);
const currentChainId = useSelector(getCurrentChainId);
const dispatch = useDispatch();
const history = useHistory();
@ -96,29 +92,7 @@ export const NetworkListMenu = ({ onClose }) => {
if (network.providerType) {
dispatch(setProviderType(network.providerType));
} else {
// Linea needs to be added as a custom network because
// it is not yet supported by Infura. The following lazily
// adds Linea to the custom network configurations object
let networkId = network.id;
if (network.chainId === CHAIN_IDS.LINEA_TESTNET) {
const lineaNetworkConfiguration = Object.values(
networkConfigurations,
).find(
({ chainId }) => chainId === CHAIN_IDS.LINEA_TESTNET,
);
if (lineaNetworkConfiguration) {
networkId = lineaNetworkConfiguration.id;
} else {
networkId = await dispatch(
upsertNetworkConfiguration(network, {
setActive: true,
source:
MetaMetricsNetworkEventSource.CustomNetworkForm,
}),
);
}
}
dispatch(setActiveNetwork(networkId));
dispatch(setActiveNetwork(network.id));
}
trackEvent({
event: MetaMetricsEventName.NavNetworkSwitched,

View File

@ -33,8 +33,8 @@ export const ValidColors = [
Color.sepolia,
Color.goerliInverse,
Color.sepoliaInverse,
Color.lineaTestnet,
Color.lineaTestnetInverse,
Color.lineaGoerli,
Color.lineaGoerliInverse,
];
export const ValidTags = [

View File

@ -41,8 +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,
'linea-goerli': --color-network-linea-goerli-default,
'linea-goerli-inverse': --color-network-linea-goerli-inverse,
'localhost': --color-network-localhost-default,
'transparent': --transparent,
'flask-purple': --color-flask-default,

View File

@ -4,8 +4,8 @@
--mainnet: #29b6af;
--inherit: inherit;
--transparent: transparent;
--color-network-linea-testnet-default: #000;
--color-network-linea-testnet-inverse: #fcfcfc;
--color-network-linea-goerli-default: #000;
--color-network-linea-goerli-inverse: #fcfcfc;
// DO NOT CHANGE
// Required for the QR reader to work properly
--qr-code-white-background: #fff;

View File

@ -46,8 +46,8 @@ export enum Color {
mainnet = 'mainnet',
goerli = 'goerli',
sepolia = 'sepolia',
lineaTestnet = 'lineatestnet',
lineaTestnetInverse = 'lineatestnet-inverse',
lineaGoerli = 'linea-goerli',
lineaGoerliInverse = 'linea-goerli-inverse',
transparent = 'transparent',
localhost = 'localhost',
inherit = 'inherit',
@ -77,7 +77,7 @@ export enum BackgroundColor {
mainnet = 'mainnet',
goerli = 'goerli',
sepolia = 'sepolia',
lineaTestnet = 'lineatestnet',
lineaGoerli = 'linea-goerli',
transparent = 'transparent',
localhost = 'localhost',
}
@ -103,7 +103,7 @@ export enum BorderColor {
mainnet = 'mainnet',
goerli = 'goerli',
sepolia = 'sepolia',
lineaTestnet = 'lineatestnet',
lineaGoerli = 'linea-goerli',
transparent = 'transparent',
localhost = 'localhost',
backgroundDefault = 'background-default', // exception for border color when element is meant to look "cut out"
@ -127,8 +127,8 @@ export enum TextColor {
inherit = 'inherit',
goerli = 'goerli',
sepolia = 'sepolia',
lineaTestnet = 'lineatestnet',
lineaTestnetInverse = 'lineatestnet-inverse',
lineaGoerli = 'linea-goerli',
lineaGoerliInverse = 'linea-goerli-inverse',
goerliInverse = 'goerli-inverse',
sepoliaInverse = 'sepolia-inverse',
transparent = 'transparent',
@ -152,8 +152,8 @@ export enum IconColor {
inherit = 'inherit',
goerli = 'goerli',
sepolia = 'sepolia',
lineaTestnet = 'lineatestnet',
lineaTestnetInverse = 'lineatestnet-inverse',
lineaGoerli = 'linea-goerli',
lineaGoerliInverse = 'linea-goerli-inverse',
goerliInverse = 'goerli-inverse',
sepoliaInverse = 'sepolia-inverse',
}

View File

@ -242,9 +242,9 @@ export const SETTINGS_CONSTANTS = [
},
{
tabMessage: (t) => t('networks'),
sectionMessage: (t) => t('lineatestnet'),
descriptionMessage: (t) => t('lineatestnet'),
route: `${NETWORKS_ROUTE}#networks-lineatestnet`,
sectionMessage: (t) => t('lineaGoerli'),
descriptionMessage: (t) => t('lineaGoerli'),
route: `${NETWORKS_ROUTE}#networks-linea-goerli`,
icon: 'fa fa-plug',
},
{

View File

@ -4,6 +4,7 @@ import log from 'loglevel';
import { Json } from '@metamask/utils';
import * as Sentry from '@sentry/browser';
import getFetchWithTimeout from '../../../shared/modules/fetch-with-timeout';
import { NETWORK_TYPES } from '../../../shared/constants/network';
const fetchWithTimeout = getFetchWithTimeout();
@ -165,3 +166,10 @@ async function fetchRelativeTimeFormatData(languageTag: string): Promise<Json> {
);
return await response.json();
}
export function getNetworkLabelKey(network: string): string {
if (network === NETWORK_TYPES.LINEA_GOERLI) {
return 'lineaGoerli';
}
return network;
}

View File

@ -64,7 +64,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.LINEA_GOERLI ||
chainId === CHAIN_IDS.LOCALHOST
) {
return true;

View File

@ -589,8 +589,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');
case NETWORK_TYPES.LINEA_GOERLI:
return t('connectingToLineaGoerli');
default:
return t('connectingTo', [providerId]);
}

View File

@ -40,6 +40,7 @@ import {
} from '../../../../../shared/constants/network';
import { decimalToHex } from '../../../../../shared/modules/conversion.utils';
import { MetaMetricsContext } from '../../../../contexts/metametrics';
import { getNetworkLabelKey } from '../../../../helpers/utils/i18n-helper';
/**
* Attempts to convert the given chainId to a decimal string, for display
@ -90,7 +91,8 @@ const NetworksForm = ({
const t = useI18nContext();
const dispatch = useDispatch();
const { label, labelKey, viewOnly, rpcPrefs } = selectedNetwork;
const selectedNetworkName = label || (labelKey && t(labelKey));
const selectedNetworkName =
label || (labelKey && t(getNetworkLabelKey(labelKey)));
const [networkName, setNetworkName] = useState(selectedNetworkName || '');
const [rpcUrl, setRpcUrl] = useState(selectedNetwork?.rpcUrl || '');
const [chainId, setChainId] = useState(selectedNetwork?.chainId || '');

View File

@ -4,6 +4,7 @@ import classnames from 'classnames';
import { useDispatch, useSelector } from 'react-redux';
import { useI18nContext } from '../../../../hooks/useI18nContext';
import {
CHAIN_IDS,
CHAIN_ID_TO_NETWORK_IMAGE_URL_MAP,
NETWORK_TYPES,
} from '../../../../../shared/constants/network';
@ -22,6 +23,7 @@ import {
IconSize,
} from '../../../../components/component-library';
import { IconColor } from '../../../../helpers/constants/design-system';
import { getNetworkLabelKey } from '../../../../helpers/utils/i18n-helper';
const NetworksListItem = ({
network,
@ -99,7 +101,7 @@ const NetworksListItem = ({
/>
)
)}
{network.isATestNetwork && (
{network.isATestNetwork && network.chainId !== CHAIN_IDS.LINEA_GOERLI && (
<UrlIcon
name={label || labelKey}
fallbackClassName={classnames(
@ -119,7 +121,7 @@ const NetworksListItem = ({
!displayNetworkListItemAsSelected,
})}
>
{label || t(labelKey)}
{label || t(getNetworkLabelKey(labelKey))}
{currentProviderType !== NETWORK_TYPES.RPC && (
<Icon
name={IconName.Lock}

View File

@ -4,7 +4,6 @@ import {
CURRENCY_SYMBOLS,
CHAIN_IDS,
NETWORK_TYPES,
LINEA_TESTNET_RPC_URL,
} from '../../../../shared/constants/network';
const defaultNetworksData = [
@ -45,13 +44,16 @@ const defaultNetworksData = [
blockExplorerUrl: 'https://sepolia.etherscan.io',
},
{
labelKey: NETWORK_TYPES.LINEA_TESTNET,
labelKey: NETWORK_TYPES.LINEA_GOERLI,
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',
providerType: NETWORK_TYPES.LINEA_GOERLI,
rpcUrl: getRpcUrl({
network: NETWORK_TYPES.LINEA_GOERLI,
excludeProjectId: true,
}),
chainId: CHAIN_IDS.LINEA_GOERLI,
ticker: TEST_NETWORK_TICKER_MAP[NETWORK_TYPES.LINEA_GOERLI],
blockExplorerUrl: 'https://goerli.lineascan.build',
},
];

View File

@ -20,9 +20,7 @@ import {
} from '../../../selectors';
import { getProviderConfig } from '../../../ducks/metamask/metamask';
import {
CHAIN_IDS,
NETWORK_TYPES,
SHOULD_SHOW_LINEA_TESTNET_NETWORK,
TEST_CHAINS,
} from '../../../../shared/constants/network';
import { defaultNetworksData } from './networks-tab.constants';
@ -30,13 +28,11 @@ import NetworksTabContent from './networks-tab-content';
import NetworksForm from './networks-form';
import NetworksFormSubheader from './networks-tab-subheader';
const defaultNetworks = defaultNetworksData
.map((network) => ({
...network,
viewOnly: true,
isATestNetwork: TEST_CHAINS.includes(network.chainId),
}))
.filter((network) => network.chainId !== CHAIN_IDS.LINEA_TESTNET);
const defaultNetworks = defaultNetworksData.map((network) => ({
...network,
viewOnly: true,
isATestNetwork: TEST_CHAINS.includes(network.chainId),
}));
const NetworksTab = ({ addNewNetwork }) => {
const t = useI18nContext();
@ -73,12 +69,8 @@ const NetworksTab = ({ addNewNetwork }) => {
},
);
let networksToRender = [...defaultNetworks, ...networkConfigurationsList];
if (!SHOULD_SHOW_LINEA_TESTNET_NETWORK) {
networksToRender = networksToRender.filter(
(network) => network.chainId !== CHAIN_IDS.LINEA_TESTNET,
);
}
const networksToRender = [...defaultNetworks, ...networkConfigurationsList];
let selectedNetwork =
networksToRender.find(
(network) =>

View File

@ -29,9 +29,10 @@ import {
SEPOLIA_DISPLAY_NAME,
GOERLI_DISPLAY_NAME,
ETH_TOKEN_IMAGE_URL,
LINEA_TESTNET_DISPLAY_NAME,
LINEA_GOERLI_DISPLAY_NAME,
CURRENCY_SYMBOLS,
TEST_NETWORK_TICKER_MAP,
LINEA_GOERLI_TOKEN_IMAGE_URL,
} from '../../shared/constants/network';
import {
WebHIDConnectedStatuses,
@ -1175,13 +1176,7 @@ export function getAllNetworks(state) {
},
// Custom networks added by the user
...Object.values(networkConfigurations).filter(
({ chainId }) =>
![
CHAIN_IDS.LOCALHOST,
// Linea gets added as a custom network configuration so
// we must ignore it here to display in test networks
CHAIN_IDS.LINEA_TESTNET,
].includes(chainId),
({ chainId }) => ![CHAIN_IDS.LOCALHOST].includes(chainId),
),
// Test networks
{
@ -1199,10 +1194,14 @@ export function getAllNetworks(state) {
ticker: TEST_NETWORK_TICKER_MAP[NETWORK_TYPES.SEPOLIA],
},
{
chainId: CHAIN_IDS.LINEA_TESTNET,
nickname: LINEA_TESTNET_DISPLAY_NAME,
rpcUrl: CHAIN_ID_TO_RPC_URL_MAP[CHAIN_IDS.LINEA_TESTNET],
ticker: TEST_NETWORK_TICKER_MAP[NETWORK_TYPES.LINEA_TESTNET],
chainId: CHAIN_IDS.LINEA_GOERLI,
nickname: LINEA_GOERLI_DISPLAY_NAME,
rpcUrl: CHAIN_ID_TO_RPC_URL_MAP[CHAIN_IDS.LINEA_GOERLI],
rpcPrefs: {
imageUrl: LINEA_GOERLI_TOKEN_IMAGE_URL,
},
providerType: NETWORK_TYPES.LINEA_GOERLI,
ticker: TEST_NETWORK_TICKER_MAP[NETWORK_TYPES.LINEA_GOERLI],
},
// Localhosts
...Object.values(networkConfigurations).filter(

View File

@ -4122,16 +4122,16 @@ __metadata:
languageName: node
linkType: hard
"@metamask/eth-json-rpc-infura@npm:^8.0.0":
version: 8.0.0
resolution: "@metamask/eth-json-rpc-infura@npm:8.0.0"
"@metamask/eth-json-rpc-infura@npm:^8.0.0, @metamask/eth-json-rpc-infura@npm:^8.1.0":
version: 8.1.0
resolution: "@metamask/eth-json-rpc-infura@npm:8.1.0"
dependencies:
"@metamask/utils": ^3.0.1
eth-json-rpc-middleware: ^9.0.0
eth-rpc-errors: ^4.0.3
json-rpc-engine: ^6.1.0
node-fetch: ^2.6.7
checksum: e8c3a4b75d4f2bb09f68d7d2ac6b992f264df893921b50a05c35968ee684b7bba90180870eebecfc89b7fbf40d11de2a545ab68f1d511f569ce0a6519c64b0aa
checksum: fd09383e2b3c16187b8889b53bfc431fc7ea4f6483acc23ddf77f2fd771ad0fbff41d6a62d4b05833e7cda66adafe0cb3730d7c0e9575b89683b71a82ab1ee1f
languageName: node
linkType: hard
@ -24048,7 +24048,7 @@ __metadata:
"@metamask/eslint-config-mocha": ^9.0.0
"@metamask/eslint-config-nodejs": ^9.0.0
"@metamask/eslint-config-typescript": ^9.0.1
"@metamask/eth-json-rpc-infura": ^8.0.0
"@metamask/eth-json-rpc-infura": ^8.1.0
"@metamask/eth-json-rpc-middleware": ^11.0.0
"@metamask/eth-json-rpc-provider": ^1.0.0
"@metamask/eth-keyring-controller": ^10.0.1