1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-10-22 19:26:13 +02:00

Merge pull request #9902 from MetaMask/Version-v8.1.5

Version v8.1.5 RC
This commit is contained in:
Mark Stacey 2020-11-19 19:38:27 -03:30 committed by GitHub
commit 8799671955
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
128 changed files with 394 additions and 711 deletions

View File

@ -1,7 +1,21 @@
# Changelog
## Current Develop Branch
- [#9612](https://github.com/MetaMask/metamask-extension/pull/9612): Update main-quote-summary designs/styles
## 8.1.5 Wed Nov 18 2020
- [#9871](https://github.com/MetaMask/metamask-extension/pull/9871): Show send text upon hover in main asset list
- [#9855](https://github.com/MetaMask/metamask-extension/pull/9855): Make edit icon and account name in account details modal focusable
- [#9853](https://github.com/MetaMask/metamask-extension/pull/9853): Provide alternative text for images where appropriate
- [#9869](https://github.com/MetaMask/metamask-extension/pull/9869): Remove CoinSwitch from the Deposit modal
- [#9883](https://github.com/MetaMask/metamask-extension/pull/9883): Move add contact button in fullscreen/expanded view of settings lower to expose the close button.
- [#9891](https://github.com/MetaMask/metamask-extension/pull/9891): Add token verification message to swaps build quote screen
- [#9896](https://github.com/MetaMask/metamask-extension/pull/9896): Show failed token balance updates
- [#9909](https://github.com/MetaMask/metamask-extension/pull/9909): Update asset page etherscan link to the address-filtered token page on Etherscan
- [#9910](https://github.com/MetaMask/metamask-extension/pull/9910): Revert "Show a 'send eth' button on home screen in full screen mode"
- [#9907](https://github.com/MetaMask/metamask-extension/pull/9907): Ensure "Known contract address" warning is shown on send screen even when changing asset
- [#9911](https://github.com/MetaMask/metamask-extension/pull/9911): Fix display of Ledger connection error
- [#9918](https://github.com/MetaMask/metamask-extension/pull/9918): Fix missing icon in asset page dropdown and in advanced gas modal button group
## 8.1.4 Tue Nov 10 2020
- [#9687](https://github.com/MetaMask/metamask-extension/pull/9687): Allow speeding up of underpriced transactions

View File

@ -146,12 +146,6 @@
"builtInCalifornia": {
"message": "MetaMask ካሊፎርኒያ ውስጥ ተዘጋጅቶ የተገነባ ነው።"
},
"buyCoinSwitch": {
"message": "በ CoinSwitch ላይ ይግዙ"
},
"buyCoinSwitchExplainer": {
"message": "CoinSwitch ከ300 በላይ ክሪፕቶ ከረንሲዎችን በጥሩ ዋጋ ለመመንዘር ባለ አንድ ማቆሚያ መዳረሻ ነው።"
},
"buyWithWyre": {
"message": "ETH በ Wyre ይግዙ"
},
@ -224,9 +218,6 @@
"connectingToRopsten": {
"message": "ከ Ropsten የሙከራ አውታረ መረብ ጋር በመገናኘት ላይ"
},
"continueToCoinSwitch": {
"message": "ወደ CoinSwitch ይቀጥሉ"
},
"continueToWyre": {
"message": "ወደ Wyre ይቀጥሉ"
},

View File

@ -146,12 +146,6 @@
"builtInCalifornia": {
"message": "تم تصميم وإنشاء MetaMask في ولاية كاليفورنيا."
},
"buyCoinSwitch": {
"message": "قم بالشراء على CoinSwitch"
},
"buyCoinSwitchExplainer": {
"message": "CoinSwitch هي الوجهة الوحيدة لتبادل أكثر من 300 عملة مشفرة بأفضل سعر."
},
"buyWithWyre": {
"message": "قم بشراء عملة إيثير بواسطة Wyre"
},
@ -224,9 +218,6 @@
"connectingToRopsten": {
"message": "جارِ الاتصال بشبكة اختبار Ropsten "
},
"continueToCoinSwitch": {
"message": "المتابعة إلى CoinSwitch"
},
"continueToWyre": {
"message": "الاستمرار إلى Wyre"
},

View File

@ -146,12 +146,6 @@
"builtInCalifornia": {
"message": "MetaMask е проектиран и създаден в Калифорния."
},
"buyCoinSwitch": {
"message": "Купете на CoinSwitch"
},
"buyCoinSwitchExplainer": {
"message": "CoinSwitch е дестинацията за еднократна размяна, с цел да обменя повече от 300 криптовалути с най-добър курс."
},
"buyWithWyre": {
"message": "Купете ETH с Wyre"
},
@ -224,9 +218,6 @@
"connectingToRopsten": {
"message": "Свързване с тестова мрежа Ropsten"
},
"continueToCoinSwitch": {
"message": "Продължете към CoinSwitch"
},
"continueToWyre": {
"message": "Продължете към Wyre"
},

View File

@ -146,12 +146,6 @@
"builtInCalifornia": {
"message": "MetaMask ক্যালিফোর্নিয়াতে ডিজাইন করা এবং নির্মিত।"
},
"buyCoinSwitch": {
"message": "CoinSwitch এ ক্রয় করুন"
},
"buyCoinSwitchExplainer": {
"message": "CoinSwitch হল 300রও বেশি ক্রিপ্টোকারেন্সি সর্বোত্তম হারে বিনময় করার সবথেকে ভালো স্থান।"
},
"buyWithWyre": {
"message": "Wyre দিয়ে ETH ক্রয় করুন"
},
@ -224,9 +218,6 @@
"connectingToRopsten": {
"message": "রপস্টেন টেস্ট নেটওয়ার্কের সাথে সংযোগ করছে"
},
"continueToCoinSwitch": {
"message": "CoinSwitch এ অবিরত থাকুন"
},
"continueToWyre": {
"message": "Wyre এ অবিরত রাখুন"
},

View File

@ -146,12 +146,6 @@
"builtInCalifornia": {
"message": "MetaMask ha estat dissenyat i desenvolupat a Califòrnia."
},
"buyCoinSwitch": {
"message": "Comprar a CoinSwitch"
},
"buyCoinSwitchExplainer": {
"message": "CoinSwitch és la destinació número 1 per a canviar més de 300 criptomonedes al millor preu."
},
"buyWithWyre": {
"message": "Compra ETH amb Wyre"
},
@ -221,9 +215,6 @@
"connectingToRopsten": {
"message": "Connectant a la xarxa de test Ropsten"
},
"continueToCoinSwitch": {
"message": "Continua a CoinSwitch"
},
"continueToWyre": {
"message": "Continua a Wyre"
},

View File

@ -49,12 +49,6 @@
"builtInCalifornia": {
"message": "MetaMask je navržen a vytvořen v Kalifornii."
},
"buyCoinSwitch": {
"message": "Nákup na CoinSwitch"
},
"buyCoinSwitchExplainer": {
"message": "CoinSwitch je jediným místem, kde můžete vyměňovat více než 300 kryptocurrencí za nejlepší cenu."
},
"cancel": {
"message": "Zrušit"
},
@ -79,9 +73,6 @@
"connectingToRopsten": {
"message": "Připojuji se k Ropsten Test Network"
},
"continueToCoinSwitch": {
"message": "Přejít na CoinSwitch"
},
"contractDeployment": {
"message": "Nasazení kontraktu"
},

View File

@ -146,12 +146,6 @@
"builtInCalifornia": {
"message": "MetaMask er designet og bygget i Californien."
},
"buyCoinSwitch": {
"message": "Køb på CoinSwitch"
},
"buyCoinSwitchExplainer": {
"message": "CoinSwitch er den direkte destination for veksling af mere end 300 kryptovalutaer til den bedste sats."
},
"buyWithWyre": {
"message": "Køb ETH med Wyre"
},
@ -224,9 +218,6 @@
"connectingToRopsten": {
"message": "Forbinder til Ropsten-testnetværk"
},
"continueToCoinSwitch": {
"message": "Fortsæt til CoinSwitch"
},
"continueToWyre": {
"message": "Fortsæt til Wyre"
},

View File

@ -143,12 +143,6 @@
"builtInCalifornia": {
"message": "MetaMask wurde in Kalifornien entwickelt und gebaut."
},
"buyCoinSwitch": {
"message": "Auf CoinSwitch kaufen"
},
"buyCoinSwitchExplainer": {
"message": "CoinSwitch ist die One-Stop-Destination, um mehr als 300 Kryptowährungen zum besten Preis zu tauschen."
},
"buyWithWyre": {
"message": "ETH mit Wyre kaufen"
},
@ -215,9 +209,6 @@
"connectingToRopsten": {
"message": " Verbinde zum Ropsten Testnetzwerk"
},
"continueToCoinSwitch": {
"message": "Zu CoinSwitch fortfahren"
},
"continueToWyre": {
"message": "Weiter zu Wyre"
},

View File

@ -146,12 +146,6 @@
"builtInCalifornia": {
"message": "Το MetaMask έχει σχεδιαστεί και αναπτυχθεί στην Καλιφόρνια."
},
"buyCoinSwitch": {
"message": "Αγοράστε στο CoinSwitch"
},
"buyCoinSwitchExplainer": {
"message": "Το CoinSwitch είναι ο προορισμός μιας στάσης για ανταλλαγή σε περισσότερα από 300 κρυπτονομίσματα στην καλύτερη ισοτιμία."
},
"buyWithWyre": {
"message": "Αγοράστε ETH με το Wyre"
},
@ -221,9 +215,6 @@
"connectingToRopsten": {
"message": "Σύνδεση με το Δίκτυο Δοκιμών Ropsten"
},
"continueToCoinSwitch": {
"message": "Συνέχεια με CoinSwitch"
},
"continueToWyre": {
"message": "Συνεχίστε στο Wyre"
},

View File

@ -43,6 +43,9 @@
"activityLog": {
"message": "activity log"
},
"addAccount": {
"message": "Add an account"
},
"addAcquiredTokens": {
"message": "Add the tokens you've acquired using MetaMask"
},
@ -221,12 +224,6 @@
"buy": {
"message": "Buy"
},
"buyCoinSwitch": {
"message": "Buy on CoinSwitch"
},
"buyCoinSwitchExplainer": {
"message": "CoinSwitch is the one-stop destination to exchange more than 300 cryptocurrencies at the best rate."
},
"buyWithWyre": {
"message": "Buy ETH with Wyre"
},
@ -361,9 +358,6 @@
"contactsSettingsDescription": {
"message": "Add, edit, remove, and manage your contacts"
},
"continueToCoinSwitch": {
"message": "Continue to CoinSwitch"
},
"continueToWyre": {
"message": "Continue to Wyre"
},
@ -635,6 +629,9 @@
"ethereumPublicAddress": {
"message": "Ethereum Public Address"
},
"etherscan": {
"message": "Etherscan"
},
"etherscanView": {
"message": "View account on Etherscan"
},
@ -1358,6 +1355,9 @@
"scanQrCode": {
"message": "Scan QR Code"
},
"scrollDown": {
"message": "Scroll down"
},
"search": {
"message": "Search"
},
@ -1841,6 +1841,9 @@
"swapUnknown": {
"message": "Unknown"
},
"swapVerifyTokenExplanation": {
"message": "Multiple tokens can use the same name and symbol. Check Etherscan to verify this is the token you're looking for."
},
"swapViewToken": {
"message": "View $1"
},
@ -2079,6 +2082,10 @@
"userName": {
"message": "Username"
},
"verifyThisTokenOn": {
"message": "Verify this token on $1",
"description": "Points the user to etherscan as a place they can verify information about a token. $1 is replaced with the translation for \"etherscan\""
},
"viewAccount": {
"message": "View Account"
},

View File

@ -127,12 +127,6 @@
"builtInCalifornia": {
"message": "MetaMask fue diseñado y construido en California"
},
"buyCoinSwitch": {
"message": "Comprar en CoinSwitch"
},
"buyCoinSwitchExplainer": {
"message": "CoinSwitch es el destino de una sola parada para intercambiar más de 300 criptomonedas al mejor precio."
},
"cancel": {
"message": "Cancelar"
},
@ -193,9 +187,6 @@
"connectingToRopsten": {
"message": "Conectando a la red de test Ropsten"
},
"continueToCoinSwitch": {
"message": "Continuar a CoinSwitch"
},
"continueToWyre": {
"message": "Continuar a Wyre"
},

View File

@ -146,12 +146,6 @@
"builtInCalifornia": {
"message": "MetaMask se diseñó y creó en California."
},
"buyCoinSwitch": {
"message": "Comprar en CoinSwitch"
},
"buyCoinSwitchExplainer": {
"message": "CoinSwitch es un destino integral para intercambiar más de 300 tipos de criptomonedas con la mejor tasa."
},
"buyWithWyre": {
"message": "Comprar ETH con Wyre"
},
@ -221,9 +215,6 @@
"connectingToRopsten": {
"message": "Conexión con la red de prueba Ropsten"
},
"continueToCoinSwitch": {
"message": "Continuar a CoinSwitch"
},
"continueToWyre": {
"message": "Continuar a Wyre"
},

View File

@ -146,12 +146,6 @@
"builtInCalifornia": {
"message": "MetaMask on projekteeritud ja loodud Californias."
},
"buyCoinSwitch": {
"message": "Osta CoinSwitchil"
},
"buyCoinSwitchExplainer": {
"message": "CoinSwitch on ühe akna sihtpunkt enama kui 300 krüptoraha vahetamiseks parima hinnaga."
},
"buyWithWyre": {
"message": "Ostke ETH-d Wyre'iga"
},
@ -224,9 +218,6 @@
"connectingToRopsten": {
"message": "Ühendamine Ropsteni testvõrguga"
},
"continueToCoinSwitch": {
"message": "Avage ConSwitch"
},
"continueToWyre": {
"message": "Ava Wyre"
},

View File

@ -146,12 +146,6 @@
"builtInCalifornia": {
"message": "MetaMask در کالیفورنیا طراحی و ساخته شده است."
},
"buyCoinSwitch": {
"message": "خرید بر اساس CoinSwitch "
},
"buyCoinSwitchExplainer": {
"message": "CoinSwitch یک مقصد یک-ایستگاه است تا بیش از 300 رمز ارز را در بهترین نرخ مبادله نماید."
},
"buyWithWyre": {
"message": "ETH را توسط Wyre خریداری نمایید"
},
@ -224,9 +218,6 @@
"connectingToRopsten": {
"message": "در حال اتصال به شبکه آزمایشی Ropsten"
},
"continueToCoinSwitch": {
"message": "ادامه به CoinSwitch"
},
"continueToWyre": {
"message": "ادامه به Wyre"
},

View File

@ -146,12 +146,6 @@
"builtInCalifornia": {
"message": "MetaMask on suunniteltu ja koottu Kaliforniassa."
},
"buyCoinSwitch": {
"message": "Osta CoinSwitchissa"
},
"buyCoinSwitchExplainer": {
"message": "CoinSwitch on yhden pysähdyksen kohde yli 300 kryptovaluutan vaihtoon parhailla kursseilla."
},
"buyWithWyre": {
"message": "Osta ETH:ta Wyrella"
},
@ -224,9 +218,6 @@
"connectingToRopsten": {
"message": "Yhdistetään Ropstenin koeverkkoon"
},
"continueToCoinSwitch": {
"message": "Jatka CoinSwitchiin"
},
"continueToWyre": {
"message": "Jatka Wyreen"
},

View File

@ -131,12 +131,6 @@
"builtInCalifornia": {
"message": "Ang MetaMask ay dinisenyo at binuo sa California."
},
"buyCoinSwitch": {
"message": "Bilhin sa CoinSwitch"
},
"buyCoinSwitchExplainer": {
"message": "Ang CoinSwitch ay ang one-stop na destinasyon para magpapalit ng mahigit sa 300 cryptocurrency sa pinakamababang halaga."
},
"buyWithWyre": {
"message": "Bumili ng ETH gamit ang Wyre"
},
@ -203,9 +197,6 @@
"connectingToRopsten": {
"message": "Kumokonekta sa Ropsten Test Network"
},
"continueToCoinSwitch": {
"message": "Magpatuloy sa CoinSwitch"
},
"continueToWyre": {
"message": "Magpatuloy sa Wyre"
},

View File

@ -140,12 +140,6 @@
"builtInCalifornia": {
"message": "MetaMask est designé et developpé en Californie."
},
"buyCoinSwitch": {
"message": "Acheter sur CoinSwitch"
},
"buyCoinSwitchExplainer": {
"message": "CoinSwitch est la destination unique pour échanger plus de 300 crypto-devises au meilleur taux."
},
"buyWithWyre": {
"message": "Acheter ETH avec Wyre"
},
@ -215,9 +209,6 @@
"connectingToRopsten": {
"message": "Connexion au réseau de test Ropsten"
},
"continueToCoinSwitch": {
"message": "Continuer vers CoinSwitch"
},
"continueToWyre": {
"message": "Continuer vers Wyre"
},

View File

@ -146,12 +146,6 @@
"builtInCalifornia": {
"message": "MetaMask תוכנן ונבנה בקליפורניה."
},
"buyCoinSwitch": {
"message": "רכישה ב-CoinSwitch"
},
"buyCoinSwitchExplainer": {
"message": "CoinSwitch הוא היעד עם כלל האפשרויות להחלפת יותר מ-300 מטבעות קריפטו בשער הטוב ביותר."
},
"buyWithWyre": {
"message": "רכישת את'ר עם Wyre"
},
@ -224,9 +218,6 @@
"connectingToRopsten": {
"message": "מתחבר אל רשת בדיקה Ropsten "
},
"continueToCoinSwitch": {
"message": "המשך אל CoinSwitch"
},
"continueToWyre": {
"message": "המשך ל-Wyre"
},

View File

@ -146,12 +146,6 @@
"builtInCalifornia": {
"message": "मेटामास्क का डिजाइन और निर्माण कैलिफोर्निया में किया गया है।"
},
"buyCoinSwitch": {
"message": "CoinSwitch पर खरीदें"
},
"buyCoinSwitchExplainer": {
"message": "300 से अधिक क्रिप्टोकरेंसी को सबसे अच्छी दर पर एक्सचेंज करने के लिए CoinSwitch सर्वोत्तम स्थल है।"
},
"buyWithWyre": {
"message": "Wyre से ETH खरीदें"
},
@ -224,9 +218,6 @@
"connectingToRopsten": {
"message": "रोपस्टेन टेस्ट नेटवर्क से कनेक्ट करना"
},
"continueToCoinSwitch": {
"message": "कॉइनस्विच पर जारी रखें "
},
"continueToWyre": {
"message": "Wyre को जारी रखें"
},

View File

@ -46,12 +46,6 @@
"builtInCalifornia": {
"message": "मेटामास्क कैलिफ़ोर्निया में डिज़ाइन और बनाया गया है।"
},
"buyCoinSwitch": {
"message": "कॉइनस्विच पर खरीदें"
},
"buyCoinSwitchExplainer": {
"message": "कॉइनस्विच 300 से अधिक क्रिप्टोक्रांसियों को सर्वोत्तम दर पर विनिमय करने का एक-स्टॉप गंतव्य है।"
},
"cancel": {
"message": "रद्द करें"
},
@ -61,9 +55,6 @@
"confirmPassword": {
"message": "पासवर्ड की पुष्टि करें"
},
"continueToCoinSwitch": {
"message": "कॉइनस्विच को ब्हेजना जारी रखें"
},
"contractDeployment": {
"message": "अनुबंध परिनियोजन व तैनाती"
},

View File

@ -146,12 +146,6 @@
"builtInCalifornia": {
"message": "MetaMask je osmišljen i izrađen u Kaliforniji."
},
"buyCoinSwitch": {
"message": "Kupujte na usluzi CoinSwitch"
},
"buyCoinSwitchExplainer": {
"message": "Usluga CoinSwitch predstavlja mjesto stalne razmjene više od 300 kriptovaluta po najboljim tečajevima."
},
"buyWithWyre": {
"message": "Kupi ETH Wyerom"
},
@ -224,9 +218,6 @@
"connectingToRopsten": {
"message": "Povezivanje na testnu mrežu Ropsten"
},
"continueToCoinSwitch": {
"message": "Nastavi na uslugu CoinSwitch"
},
"continueToWyre": {
"message": "Nastavi na uslugu Wyre"
},

View File

@ -76,12 +76,6 @@
"builtInCalifornia": {
"message": "MetaMask fèt e bati nan California."
},
"buyCoinSwitch": {
"message": "Achte sou CoinSwitch"
},
"buyCoinSwitchExplainer": {
"message": "CoinSwitch se destinasyon nan yon sèl-Stop nan echanj plis pase 300 kriptoksèr nan pousantaj la pi byen."
},
"cancel": {
"message": "Anile"
},
@ -121,9 +115,6 @@
"connectingToRopsten": {
"message": "Konekte ak Ropsten Tès Rezo a"
},
"continueToCoinSwitch": {
"message": "Kontinye CoinSwitch"
},
"contractDeployment": {
"message": "Kontra Deplwaman"
},

View File

@ -146,12 +146,6 @@
"builtInCalifornia": {
"message": "A MetaMaskot Kaliforniában tervezték és hozták létre."
},
"buyCoinSwitch": {
"message": "Vegye meg a CoinSwitchen"
},
"buyCoinSwitchExplainer": {
"message": "A CoinSwitch a legjobb hely több mint 300 cryptovaluta legjobb árfolyamon történő átváltására."
},
"buyWithWyre": {
"message": "Vásároljon ETH-t a Wyre-rel"
},
@ -224,9 +218,6 @@
"connectingToRopsten": {
"message": "Csatlakozás a Ropsten teszthálózathoz"
},
"continueToCoinSwitch": {
"message": "Tovább a CoinSwitch-re"
},
"continueToWyre": {
"message": "Tovább a Wyre-re"
},

View File

@ -146,12 +146,6 @@
"builtInCalifornia": {
"message": "MetaMask dirancang dan dibangun di California."
},
"buyCoinSwitch": {
"message": "Beli di CoinSwitch"
},
"buyCoinSwitchExplainer": {
"message": "CoinSwitch adalah destinasi serba-ada untuk pertukaran lebih dari 300 mata uang kripto dengan kurs terbaik."
},
"buyWithWyre": {
"message": "Membeli ETH dengan Wyre"
},
@ -224,9 +218,6 @@
"connectingToRopsten": {
"message": "Menghubungkan ke Jaringan Uji Coba Ropsten "
},
"continueToCoinSwitch": {
"message": "Lanjut ke CoinSwitch"
},
"continueToWyre": {
"message": "Lanjutkan ke Wyre"
},

View File

@ -208,12 +208,6 @@
"buy": {
"message": "Compra"
},
"buyCoinSwitch": {
"message": "Compra su CoinSwitch"
},
"buyCoinSwitchExplainer": {
"message": "CoinSwitch è la destinazione one-stop per lo scambio di oltre 300 criptovalute alla migliore tariffa."
},
"buyWithWyre": {
"message": "Compra ETH con Wyre"
},
@ -348,9 +342,6 @@
"contactsSettingsDescription": {
"message": "Aggiungi, modifica, rimuovi e gestisci i tuoi contatti"
},
"continueToCoinSwitch": {
"message": "Continua su CoinSwitch"
},
"continueToWyre": {
"message": "Continua su Wyre"
},

View File

@ -112,12 +112,6 @@
"blockiesIdenticon": {
"message": "Blockies Identicon を使用"
},
"buyCoinSwitch": {
"message": "CoinSwitchのサイトで購入"
},
"buyCoinSwitchExplainer": {
"message": "CoinSwitchは、最高のレートで300以上の暗号化交換を行うワンストップの宛先です。"
},
"cancel": {
"message": "キャンセル"
},
@ -130,9 +124,6 @@
"confirmPassword": {
"message": "パスワードの確認"
},
"continueToCoinSwitch": {
"message": "CoinSwitchを開く"
},
"contractDeployment": {
"message": "コントラクトのデプロイ"
},

View File

@ -146,12 +146,6 @@
"builtInCalifornia": {
"message": "MetaMask ಅನ್ನು ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ ಮತ್ತು ಕ್ಯಾಲಿಫೋರ್ನಿಯಾದಲ್ಲಿ ನಿರ್ಮಿಸಲಾಗಿದೆ."
},
"buyCoinSwitch": {
"message": "ಕಾಯಿನ್‌ಸ್ವೀಚ್‌ನಲ್ಲಿ ಖರೀದಿಸಿ"
},
"buyCoinSwitchExplainer": {
"message": "300 ಕ್ಕೂ ಹೆಚ್ಚು ಕ್ರಿಪ್ಟೋಕರೆನ್ಸಿಗಳನ್ನು ಉತ್ತಮ ದರದಲ್ಲಿ ವಿನಿಮಯ ಮಾಡಿಕೊಳ್ಳುವ ಒಂದು ತಾಣವೆಂದರೆ ಕಾಯಿನ್‌ಸ್ವಿಚ್ ಆಗಿದೆ."
},
"buyWithWyre": {
"message": "Wyre ನೊಂದಿಗೆ ETH ಖರೀದಿಸಿ"
},
@ -224,9 +218,6 @@
"connectingToRopsten": {
"message": "Ropsten ಪರೀಕ್ಷಾ ನೆಟ್‌ವರ್ಕ್‌ಗೆ ಸಂಪರ್ಕಿಸಲಾಗುತ್ತಿದೆ"
},
"continueToCoinSwitch": {
"message": "CoinSwitch ಗೆ ಮುಂದುವರಿಸಿ"
},
"continueToWyre": {
"message": "Wyre ಗೆ ಮುಂದುವರಿಸಿ"
},

View File

@ -143,12 +143,6 @@
"builtInCalifornia": {
"message": "메타마스크는 캘리포니아에서 디자인되고 만들어졌습니다."
},
"buyCoinSwitch": {
"message": "코인 스위치 구입"
},
"buyCoinSwitchExplainer": {
"message": "코인 스위치는 최상의 속도로 300 개 이상의 크립토 카드를 교환하는 원 스톱 목적지입니다."
},
"buyWithWyre": {
"message": "Wyre로 ETH 구매"
},
@ -221,9 +215,6 @@
"connectingToRopsten": {
"message": "Ropsten 테스트넷 접속 중"
},
"continueToCoinSwitch": {
"message": "코인 스위치 계속하기"
},
"continueToWyre": {
"message": "Wyre로 계속 진행"
},

View File

@ -146,12 +146,6 @@
"builtInCalifornia": {
"message": "„MetaMask“ suprojektuota ir įdiegta Kalifornijoje."
},
"buyCoinSwitch": {
"message": "Pirkti „CoinSwitch“"
},
"buyCoinSwitchExplainer": {
"message": "„CoinSwitch“ tai lengvai pasiekiama vieta keisti per 300 kriptovaliutų geriausiu santykiu."
},
"buyWithWyre": {
"message": "Pirkti ETH su „Wyre“"
},
@ -224,9 +218,6 @@
"connectingToRopsten": {
"message": "Jungiamasi prie „Ropsten“ bandomojo tinklo"
},
"continueToCoinSwitch": {
"message": "Tęsti su „CoinSwitch“"
},
"continueToWyre": {
"message": "Tęsti su „Wyre“"
},

View File

@ -146,12 +146,6 @@
"builtInCalifornia": {
"message": "MetaMask ir izstrādāta un izveidota Kalifornijā."
},
"buyCoinSwitch": {
"message": "Pirkt CoinSwitch"
},
"buyCoinSwitchExplainer": {
"message": "CoinSwitch ir vienots galamērķis vairāk nekā 300 kriptovalūtu maiņai, izmantojot labāko kursu."
},
"buyWithWyre": {
"message": "Pirkt ETH ar Wyre"
},
@ -224,9 +218,6 @@
"connectingToRopsten": {
"message": "Pieslēdzas Ropsten testa tīklam"
},
"continueToCoinSwitch": {
"message": "Iet uz CoinSwitch"
},
"continueToWyre": {
"message": "Pāriet uz Wyre"
},

View File

@ -146,12 +146,6 @@
"builtInCalifornia": {
"message": "MetaMask direka dan dibina di California."
},
"buyCoinSwitch": {
"message": "Beli di CoinSwitch"
},
"buyCoinSwitchExplainer": {
"message": "CoinSwitch ialah tempat sehentian untuk menukar lebih daripada 300 mata wang kripto dengan kadar terbaik."
},
"buyWithWyre": {
"message": "Beli ETH dengan Wyre"
},
@ -224,9 +218,6 @@
"connectingToRopsten": {
"message": "Menyambungkan kepada Rangkaian Ujian Ropsten"
},
"continueToCoinSwitch": {
"message": "Teruskan ke CoinSwitch"
},
"continueToWyre": {
"message": "Teruskan ke Wyre"
},

View File

@ -43,12 +43,6 @@
"builtInCalifornia": {
"message": "MetaMask is ontworpen en gebouwd in Californië."
},
"buyCoinSwitch": {
"message": "Koop op CoinSwitch"
},
"buyCoinSwitchExplainer": {
"message": "CoinSwitch is de one-stop-bestemming om meer dan 300 cryptocurrencies tegen de beste prijs in te wisselen."
},
"cancel": {
"message": "Annuleer"
},
@ -58,9 +52,6 @@
"confirmPassword": {
"message": "bevestig wachtwoord"
},
"continueToCoinSwitch": {
"message": "Ga verder naar CoinSwitch"
},
"contractDeployment": {
"message": "Contractimplementatie"
},

View File

@ -146,12 +146,6 @@
"builtInCalifornia": {
"message": "MetaMask ble bygget og designet i California."
},
"buyCoinSwitch": {
"message": "Kjøp på CoinSwitch "
},
"buyCoinSwitchExplainer": {
"message": "CoinSwitch er destinasjonen som utveksler mer enn 300 typer kryptovaluta med den beste kursen."
},
"buyWithWyre": {
"message": "Kjøp ETH med Wyre"
},
@ -221,9 +215,6 @@
"connectingToRopsten": {
"message": "Kobler til Ropsten testnettverk"
},
"continueToCoinSwitch": {
"message": "Fortsett med CoinSwitch "
},
"continueToWyre": {
"message": "Fortsett til Wyre "
},

View File

@ -31,12 +31,6 @@
"balance": {
"message": "Balanse:"
},
"buyCoinSwitch": {
"message": "Bumili sa CoinSwitch"
},
"buyCoinSwitchExplainer": {
"message": "Ang CoinSwitch ay isang one-stop destination upang makipagpalitan ng higit sa 300 mga cryptocurrency sa pinakamahusay na rate."
},
"cancel": {
"message": "Kanselahin"
},
@ -46,9 +40,6 @@
"confirmPassword": {
"message": "Tiyakin ang Password"
},
"continueToCoinSwitch": {
"message": "Magpatuloy sa CoinSwitch"
},
"contractDeployment": {
"message": "Pag-deploy ng Contract"
},

View File

@ -146,12 +146,6 @@
"builtInCalifornia": {
"message": "MetaMask został zaprojektowany i stworzony w Kaliforni."
},
"buyCoinSwitch": {
"message": "Kup w CoinSwitch"
},
"buyCoinSwitchExplainer": {
"message": "CoinSwitch to miejsce, w którym możesz wymieniać ponad 300 kryptowalut po najlepszym kursie."
},
"buyWithWyre": {
"message": "Kup ETH poprzez Wyre"
},
@ -224,9 +218,6 @@
"connectingToRopsten": {
"message": "Łączenie z siecią testową Ropsten"
},
"continueToCoinSwitch": {
"message": "Przejdź do CoinSwitch"
},
"continueToWyre": {
"message": "Przejdź do Wyre"
},

View File

@ -46,12 +46,6 @@
"builtInCalifornia": {
"message": "MetaMask é desenhada e construída na California."
},
"buyCoinSwitch": {
"message": "Comprar no CoinSwitch"
},
"buyCoinSwitchExplainer": {
"message": "CoinSwitch é o destino único para trocar mais de 300 moedas criptográficas com a melhor taxa."
},
"cancel": {
"message": "Cancelar"
},
@ -61,9 +55,6 @@
"confirmPassword": {
"message": "Confirmar Palavra-passe"
},
"continueToCoinSwitch": {
"message": "Continuar para o CoinSwitch"
},
"contractDeployment": {
"message": "Distribuição do Contrato"
},

View File

@ -143,12 +143,6 @@
"builtInCalifornia": {
"message": "O MetaMask foi projetado e desenvolvido na Califórnia."
},
"buyCoinSwitch": {
"message": "Compre no CoinSwitch"
},
"buyCoinSwitchExplainer": {
"message": "O CoinSwitch é o destino único para trocar mais de 300 criptomoedas com a melhor taxa."
},
"buyWithWyre": {
"message": "Comprar ETH com Wyre"
},
@ -218,9 +212,6 @@
"connectingToRopsten": {
"message": "Conectando à Rede de Testes Ropsten"
},
"continueToCoinSwitch": {
"message": "Continuar para CoinSwitch"
},
"continueToWyre": {
"message": "Continuar para Wyre"
},

View File

@ -146,12 +146,6 @@
"builtInCalifornia": {
"message": "MetaMask este concepută și creată în California."
},
"buyCoinSwitch": {
"message": "Cumpărați pe CoinSwitch"
},
"buyCoinSwitchExplainer": {
"message": "CoinSwitch este destinația unică pentru a schimba peste 300 de cripto monede la cele mai bune cursuri."
},
"buyWithWyre": {
"message": "Cumpărați ETH cu Wyre"
},
@ -224,9 +218,6 @@
"connectingToRopsten": {
"message": "Se conectează la rețeaua de test Ropsten"
},
"continueToCoinSwitch": {
"message": "Continuare către CoinSwitch"
},
"continueToWyre": {
"message": "Continuați la Wyre"
},

View File

@ -145,12 +145,6 @@
"builtInCalifornia": {
"message": "MetaMask спроектирован и разработан в Калифорнии."
},
"buyCoinSwitch": {
"message": "Купить на CoinSwitch"
},
"buyCoinSwitchExplainer": {
"message": "CoinSwitch - это однонаправленное место для обмена более 300 криптоконверсий по наилучшей цене."
},
"buyWithWyre": {
"message": "Купить ETH на Wyre"
},
@ -223,9 +217,6 @@
"connectingToRopsten": {
"message": "Соединение с тестовой сетью Ropsten"
},
"continueToCoinSwitch": {
"message": "Продолжить в CoinSwitch"
},
"continueToWyre": {
"message": "Продолжить на Wyre"
},

View File

@ -140,12 +140,6 @@
"builtInCalifornia": {
"message": "MetaMask je navržen a vytvořen v Kalifornii."
},
"buyCoinSwitch": {
"message": "Kúpiť na CoinSwitch"
},
"buyCoinSwitchExplainer": {
"message": "CoinSwitch je jedno miesto, kde si môžete vymieňať viac ako 300 kryptomien za najlepšiu cenu."
},
"buyWithWyre": {
"message": "Kúpte ETH s Wyre"
},
@ -218,9 +212,6 @@
"connectingToRopsten": {
"message": "Připojuji se k Ropsten Test Network"
},
"continueToCoinSwitch": {
"message": "Pokračovať na CoinSwitch"
},
"continueToWyre": {
"message": "Pokračovať na Wyre"
},

View File

@ -146,12 +146,6 @@
"builtInCalifornia": {
"message": "MetaMask je zasnovan in ustvarjen v Kaliforniji."
},
"buyCoinSwitch": {
"message": "Kupi na CoinSwitch"
},
"buyCoinSwitchExplainer": {
"message": "CoinSwitch je destinacija na enem mestu za izmenjavo več kot 300 kriptokotovitev po najboljši hitrosti."
},
"buyWithWyre": {
"message": "Kupi ETH z Wyre"
},
@ -224,9 +218,6 @@
"connectingToRopsten": {
"message": "Povezovanje na testno omrežje Ropsten"
},
"continueToCoinSwitch": {
"message": "Nadaljuj na CoinSwitch"
},
"continueToWyre": {
"message": "Nadaljuj na Wyre"
},

View File

@ -146,12 +146,6 @@
"builtInCalifornia": {
"message": "MetaMask je dizajniran i izgrađen u Kaliforniji."
},
"buyCoinSwitch": {
"message": "Kupujte na CoinSwitch"
},
"buyCoinSwitchExplainer": {
"message": "CoinSwitch je odredište gde na jednom mestu možete razmeniti više od 300 kripto valuta po najboljem kursu."
},
"buyWithWyre": {
"message": "Kupite ETH preko servisa Wyre"
},
@ -221,9 +215,6 @@
"connectingToRopsten": {
"message": "Povezuje se na Ropsten Test mrežu"
},
"continueToCoinSwitch": {
"message": "Nastavi na CoinSwitch"
},
"continueToWyre": {
"message": "Nastavite ka Wyre"
},

View File

@ -146,12 +146,6 @@
"builtInCalifornia": {
"message": "MetaMask är skapat och utformat i Kalifornien."
},
"buyCoinSwitch": {
"message": "Köp på CoinSwitch"
},
"buyCoinSwitchExplainer": {
"message": "CoinSwitch är allt-i-ett-platsen för att växla mer än 300 kryptovalutor till bästa kurs."
},
"buyWithWyre": {
"message": "Köp ETH med Wyre"
},
@ -218,9 +212,6 @@
"connectingToRopsten": {
"message": "Ansluter till Ropsten Test Network"
},
"continueToCoinSwitch": {
"message": "Fortsätt till CoinSwitch"
},
"continueToWyre": {
"message": "Fortsätt till Wyre"
},

View File

@ -143,12 +143,6 @@
"builtInCalifornia": {
"message": "MetaMask imeundwa na kutengenezwa California."
},
"buyCoinSwitch": {
"message": "Nunua kwenye CoinSwitch"
},
"buyCoinSwitchExplainer": {
"message": "CoinSwitch ni kituo cha kubadilisha fedha za kidijitali zaidi ya 300 kwa bei nzuri kabisa."
},
"buyWithWyre": {
"message": "Nunua ETH kwa kutumia Wyre"
},
@ -218,9 +212,6 @@
"connectingToRopsten": {
"message": "Inaunganisha kwenye Mtandao wa Majaribio wa Ropsten"
},
"continueToCoinSwitch": {
"message": "Endelea kwenye CoinSwitch"
},
"continueToWyre": {
"message": "Endelea kwenye Wyre"
},

View File

@ -58,12 +58,6 @@
"builtInCalifornia": {
"message": "மேடமஸ்க் வடிவமைக்கப்பட்டு கலிபோர்னியாவில் கட்டப்பட்டுள்ளது."
},
"buyCoinSwitch": {
"message": "நாணயம் ஸ்விட்சில் வாங்கவும்"
},
"buyCoinSwitchExplainer": {
"message": "சிறந்த விகிதத்தில் 300 க்கும் அதிகமான cryptocurrencies ஐ பரிமாறிக்கொள்ள ஒரு நாணயமாற்று இலக்கு நாணயம் ஸ்விட்ச் ஆகும்."
},
"cancel": {
"message": "ரத்து செய்"
},
@ -94,9 +88,6 @@
"connectingToRopsten": {
"message": "ரொப்ஸ்டென் டெஸ்ட் நெட்வொர்க்குடன் இணைக்கிறது"
},
"continueToCoinSwitch": {
"message": "நாணயம் மாறாமல் தொடர்க"
},
"contractDeployment": {
"message": "ஒப்பந்த வரிசைப்படுத்தல்"
},

View File

@ -52,12 +52,6 @@
"builtInCalifornia": {
"message": "MetaMask ออกแบบและพัฒนาที่แคลิฟอร์เนีย"
},
"buyCoinSwitch": {
"message": "ซื้อด้วย CoinSwitch"
},
"buyCoinSwitchExplainer": {
"message": "CoinSwitch เป็นจุดหมายปลายทางแบบครบวงจรในการแลกเปลี่ยนสกุลเงินมากกว่า 300 ครั้งในอัตราที่ดีที่สุด"
},
"cancel": {
"message": "ยกเลิก"
},
@ -88,9 +82,6 @@
"connectingToRopsten": {
"message": "เชื่อมต่อกับเครือข่ายทดสอบ Ropsten"
},
"continueToCoinSwitch": {
"message": "ไปที่ CoinSwitch"
},
"continueToWyre": {
"message": "ไปที่ Wyre"
},

View File

@ -49,12 +49,6 @@
"builtInCalifornia": {
"message": "MetaMask California'da tasarlandı ve yaratıldı"
},
"buyCoinSwitch": {
"message": "CoinSwitch'de satın al"
},
"buyCoinSwitchExplainer": {
"message": "Cairnswich, 300'den fazla kriptona en iyi oranda eşlik eden tek durak noktasıdır."
},
"cancel": {
"message": "Vazgeç"
},
@ -79,9 +73,6 @@
"connectingToRopsten": {
"message": "Ropsten Test Ağına bağlanıyor"
},
"continueToCoinSwitch": {
"message": "CoinSwitch'e devam et"
},
"contractDeployment": {
"message": "Sözleşme kurulumu"
},

View File

@ -146,12 +146,6 @@
"builtInCalifornia": {
"message": "MetaMask розроблено й створено в Каліфорнії."
},
"buyCoinSwitch": {
"message": "Купувати на CoinSwitch"
},
"buyCoinSwitchExplainer": {
"message": "CoinSwitch це точка призначення з однією зупинкою для обміну більш ніж 300 криптовалют за найкращими курсами. "
},
"buyWithWyre": {
"message": "Купити ETH через Wyre"
},
@ -224,9 +218,6 @@
"connectingToRopsten": {
"message": "Під'єднуємось до Тестової мережі Ropsten"
},
"continueToCoinSwitch": {
"message": "Продовжити в CoinSwitch"
},
"continueToWyre": {
"message": "Продовжити у Wyre"
},

View File

@ -34,12 +34,6 @@
"balance": {
"message": "Số dư:"
},
"buyCoinSwitch": {
"message": "Mua trên CoinSwitch"
},
"buyCoinSwitchExplainer": {
"message": "CoinSwitch là điểm đến duy nhất để trao đổi hơn 300 tiền điện tử với tốc độ tốt nhất."
},
"cancel": {
"message": "Hủy"
},
@ -49,9 +43,6 @@
"confirmPassword": {
"message": "Xác nhận mật khẩu"
},
"continueToCoinSwitch": {
"message": "Tiếp tục đến CoinSwitch"
},
"contractDeployment": {
"message": "Triển khai hợp đồng"
},

View File

@ -146,12 +146,6 @@
"builtInCalifornia": {
"message": "MetaMask在加利福尼亚设计和制造。"
},
"buyCoinSwitch": {
"message": "在CoinSwitch上购买"
},
"buyCoinSwitchExplainer": {
"message": "CoinSwitch是以最优惠的价格交换超过300种加密货币的一站式目的地。"
},
"buyWithWyre": {
"message": "使用 Wyre 购买 ETH"
},
@ -224,9 +218,6 @@
"connectingToRopsten": {
"message": "正在连接到Ropsten测试网络"
},
"continueToCoinSwitch": {
"message": "继续访问 CoinSwitch"
},
"continueToWyre": {
"message": "继续前往 Wyre"
},

View File

@ -146,12 +146,6 @@
"builtInCalifornia": {
"message": "MetaMask 是在加州設計製造"
},
"buyCoinSwitch": {
"message": "在CoinSwitch上购买"
},
"buyCoinSwitchExplainer": {
"message": "CoinSwitch是以最优惠的价格交换超过300种加密货币的一站式目的地。"
},
"buyWithWyre": {
"message": "用 Wyre 購買 ETH"
},
@ -224,9 +218,6 @@
"connectingToRopsten": {
"message": "連線到 Ropsten 測試網路"
},
"continueToCoinSwitch": {
"message": "繼續前往 CoinSwitch"
},
"continueToWyre": {
"message": "繼續至 Wyre"
},

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -64,6 +64,6 @@
"notifications"
],
"short_name": "__MSG_appName__",
"version": "8.1.4",
"version": "8.1.5",
"web_accessible_resources": ["inpage.js", "phishing.html"]
}

View File

@ -29,8 +29,8 @@
</head>
<body class="notification">
<div id="app-content">
<img id="loading__logo" src="./images/logo/metamask-fox.svg" />
<img id="loading__spinner" src="./images/spinner.gif" />
<img id="loading__logo" src="./images/logo/metamask-fox.svg" alt="" />
<img id="loading__spinner" src="./images/spinner.gif" alt="" />
</div>
<div id="popover-content"></div>
<script src="./ui-libs.js" type="text/javascript" charset="utf-8"></script>

View File

@ -225,10 +225,7 @@ function setupController(initState, initLangCode) {
const controller = new MetamaskController({
infuraProjectId: process.env.INFURA_PROJECT_ID,
// User confirmation callbacks:
showUnconfirmedMessage: triggerUi,
showUnapprovedTx: triggerUi,
showPermissionRequest: triggerUi,
showUnlockRequest: triggerUi,
showUserConfirmation: triggerUi,
openPopup,
// initial state
initState,

View File

@ -5,6 +5,7 @@ import { isValidAddress, sha3, bufferToHex } from 'ethereumjs-util'
import ethers from 'ethers'
import log from 'loglevel'
import { isPrefixedFormattedHexString } from '../lib/util'
import { LISTED_CONTRACT_ADDRESSES } from '../../../shared/constants/tokens'
import { addInternalMethodPrefix } from './permissions'
import { NETWORK_TYPE_TO_ID_MAP } from './network/enums'
@ -175,7 +176,13 @@ export default class PreferencesController {
const suggested = this.getSuggestedTokens()
const { rawAddress, symbol, decimals, image } = tokenOpts
const address = normalizeAddress(rawAddress)
const newEntry = { address, symbol, decimals, image }
const newEntry = {
address,
symbol,
decimals,
image,
unlisted: !LISTED_CONTRACT_ADDRESSES.includes(address.toLowerCase()),
}
suggested[address] = newEntry
this.store.updateState({ suggestedTokens: suggested })
}

View File

@ -18,8 +18,6 @@ export default function getBuyEthUrl({ network, address, service }) {
switch (service) {
case 'wyre':
return `https://pay.sendwyre.com/purchase?dest=ethereum:${address}&destCurrency=ETH&accountId=AC-7AG3W4XH4N2&paymentMethod=debit-card`
case 'coinswitch':
return `https://metamask.coinswitch.co/?address=${address}&to=eth`
case 'metamask-faucet':
return 'https://faucet.metamask.io/'
case 'rinkeby-faucet':

View File

@ -44,7 +44,6 @@ function logWeb3UsageHandler(req, res, _next, end, { origin, sendMetrics }) {
recordedWeb3Usage[origin][path] = true
sendMetrics({
matomo: true,
event: `Website Used window.web3`,
category: 'inpage_provider',
properties: { action, web3Path: path },

View File

@ -71,15 +71,19 @@ export default function setupWeb3(log) {
for (const [key, path] of applyTrapKeys) {
web3[topKey][key] = new Proxy(web3[topKey][key], {
apply: (...params) => {
window.ethereum.request({
method: 'metamask_logInjectedWeb3Usage',
params: [
{
action: 'apply',
path,
},
],
})
try {
window.ethereum.request({
method: 'metamask_logInjectedWeb3Usage',
params: [
{
action: 'apply',
path,
},
],
})
} catch (error) {
log.debug('Failed to log web3 usage.', error)
}
// Call function normally
return Reflect.apply(...params)
@ -93,15 +97,19 @@ export default function setupWeb3(log) {
const name = stringifyKey(key)
if (getTrapKeys.has(name)) {
window.ethereum.request({
method: 'metamask_logInjectedWeb3Usage',
params: [
{
action: 'get',
path: getTrapKeys.get(name),
},
],
})
try {
window.ethereum.request({
method: 'metamask_logInjectedWeb3Usage',
params: [
{
action: 'get',
path: getTrapKeys.get(name),
},
],
})
} catch (error) {
log.debug('Failed to log web3 usage.', error)
}
}
// return value normally
@ -109,47 +117,51 @@ export default function setupWeb3(log) {
},
})
})
const topLevelFunctions = [
'isConnected',
'setProvider',
'reset',
'sha3',
'toHex',
'toAscii',
'fromAscii',
'toDecimal',
'fromDecimal',
'fromWei',
'toWei',
'toBigNumber',
'isAddress',
]
// apply-trap top-level functions
topLevelFunctions.forEach((key) => {
// This type check is probably redundant, but we've been burned before.
if (typeof web3[key] === 'function') {
web3[key] = new Proxy(web3[key], {
apply: (...params) => {
try {
window.ethereum.request({
method: 'metamask_logInjectedWeb3Usage',
params: [
{
action: 'apply',
path: `web3.${key}`,
},
],
})
} catch (error) {
log.debug('Failed to log web3 usage.', error)
}
// Call function normally
return Reflect.apply(...params)
},
})
}
})
}
const topLevelFunctions = [
'isConnected',
'setProvider',
'reset',
'sha3',
'toHex',
'toAscii',
'fromAscii',
'toDecimal',
'fromDecimal',
'fromWei',
'toWei',
'toBigNumber',
'isAddress',
]
// apply-trap top-level functions
topLevelFunctions.forEach((key) => {
// This type check is probably redundant, but we've been burned before.
if (typeof web3[key] === 'function') {
web3[key] = new Proxy(web3[key], {
apply: (...params) => {
window.ethereum.request({
method: 'metamask_logInjectedWeb3Usage',
params: [
{
action: 'apply',
path: `web3.${key}`,
},
],
})
// Call function normally
return Reflect.apply(...params)
},
})
}
})
const web3Proxy = new Proxy(web3, {
get: (...params) => {
// get the time of use

View File

@ -150,7 +150,7 @@ export default class MetamaskController extends EventEmitter {
isUnlocked: this.isUnlocked.bind(this),
initState: initState.AppStateController,
onInactiveTimeout: () => this.setLocked(),
showUnlockRequest: opts.showUnlockRequest,
showUnlockRequest: opts.showUserConfirmation,
preferencesStore: this.preferencesController.store,
})
@ -247,7 +247,7 @@ export default class MetamaskController extends EventEmitter {
notifyDomain: this.notifyConnections.bind(this),
notifyAllDomains: this.notifyAllConnections.bind(this),
preferences: this.preferencesController.store,
showPermissionRequest: opts.showPermissionRequest,
showPermissionRequest: opts.showUserConfirmation,
},
initState.PermissionsController,
initState.PermissionsMetadata,
@ -302,7 +302,7 @@ export default class MetamaskController extends EventEmitter {
getParticipateInMetrics: () =>
this.preferencesController.getParticipateInMetaMetrics(),
})
this.txController.on('newUnapprovedTx', () => opts.showUnapprovedTx())
this.txController.on('newUnapprovedTx', () => opts.showUserConfirmation())
this.txController.on(`tx:status-update`, async (txId, status) => {
if (
@ -1376,7 +1376,7 @@ export default class MetamaskController extends EventEmitter {
req,
)
this.sendUpdate()
this.opts.showUnconfirmedMessage()
this.opts.showUserConfirmation()
return promise
}
@ -1439,7 +1439,7 @@ export default class MetamaskController extends EventEmitter {
req,
)
this.sendUpdate()
this.opts.showUnconfirmedMessage()
this.opts.showUserConfirmation()
return promise
}
@ -1498,7 +1498,7 @@ export default class MetamaskController extends EventEmitter {
req,
)
this.sendUpdate()
this.opts.showUnconfirmedMessage()
this.opts.showUserConfirmation()
return promise
}
@ -1590,7 +1590,7 @@ export default class MetamaskController extends EventEmitter {
req,
)
this.sendUpdate()
this.opts.showUnconfirmedMessage()
this.opts.showUserConfirmation()
return promise
}
@ -1655,7 +1655,7 @@ export default class MetamaskController extends EventEmitter {
version,
)
this.sendUpdate()
this.opts.showUnconfirmedMessage()
this.opts.showUserConfirmation()
return promise
}

View File

@ -5,12 +5,15 @@ const pify = require('pify')
const exec = pify(childProcess.exec, { multiArgs: true })
const VERSION = require('../dist/chrome/manifest.json').version // eslint-disable-line import/no-unresolved
start().catch(console.error)
start().catch((error) => {
console.error(error)
process.exit(1)
})
async function start() {
const authWorked = await checkIfAuthWorks()
if (!authWorked) {
console.log(`Sentry auth failed...`)
throw new Error(`Sentry auth failed`)
}
// check if version exists or not
const versionAlreadyExists = await checkIfVersionExists()

View File

@ -70,10 +70,10 @@
"@formatjs/intl-relativetimeformat": "^5.2.6",
"@fortawesome/fontawesome-free": "^5.13.0",
"@material-ui/core": "^4.11.0",
"@metamask/controllers": "^4.0.2",
"@metamask/controllers": "^4.2.0",
"@metamask/eth-ledger-bridge-keyring": "^0.2.6",
"@metamask/eth-token-tracker": "^3.0.1",
"@metamask/etherscan-link": "^1.2.0",
"@metamask/etherscan-link": "^1.3.0",
"@metamask/inpage-provider": "^6.1.0",
"@metamask/jazzicon": "^2.0.0",
"@metamask/logo": "^2.5.0",

View File

@ -0,0 +1,10 @@
import contractMap from 'eth-contract-metadata'
/**
* A normalized list of addresses exported as part of the contractMap in
* eth-contract-metadata. Used primarily to validate if manually entered
* contract addresses do not match one of our listed tokens
*/
export const LISTED_CONTRACT_ADDRESSES = Object.keys(
contractMap,
).map((address) => address.toLowerCase())

View File

@ -97,8 +97,7 @@ describe('MetaMaskController', function () {
.reply(200, '{"JPY":12415.9}')
metamaskController = new MetaMaskController({
showUnapprovedTx: noop,
showUnconfirmedMessage: noop,
showUserConfirmation: noop,
encryptor: {
encrypt(_, object) {
this.object = object

View File

@ -44,8 +44,7 @@ describe('Actions', function () {
platform: { getVersion: () => 'foo' },
provider,
keyringController: new KeyringController({}),
showUnapprovedTx: noop,
showUnconfirmedMessage: noop,
showUserConfirmation: noop,
encryptor: {
encrypt(_, object) {
this.object = object

View File

@ -278,22 +278,22 @@ export default class AccountMenu extends Component {
}
renderScrollButton() {
const { shouldShowScrollButton } = this.state
if (!this.state.shouldShowScrollButton) {
return null
}
return (
shouldShowScrollButton && (
<div
className="account-menu__scroll-button"
onClick={this.handleScrollDown}
>
<img
src="./images/icons/down-arrow.svg"
width={28}
height={28}
alt="scroll down"
/>
</div>
)
<div
className="account-menu__scroll-button"
onClick={this.handleScrollDown}
>
<img
src="./images/icons/down-arrow.svg"
width="28"
height="28"
alt={this.context.t('scrollDown')}
/>
</div>
)
}
@ -357,6 +357,7 @@ export default class AccountMenu extends Component {
<img
className="account-menu__item-icon"
src="images/plus-btn-white.svg"
alt={t('createAccount')}
/>
}
text={t('createAccount')}
@ -377,6 +378,7 @@ export default class AccountMenu extends Component {
<img
className="account-menu__item-icon"
src="images/import-account.svg"
alt={t('importAccount')}
/>
}
text={t('importAccount')}
@ -401,6 +403,7 @@ export default class AccountMenu extends Component {
<img
className="account-menu__item-icon"
src="images/connect-icon.svg"
alt={t('connectHardwareWallet')}
/>
}
text={t('connectHardwareWallet')}
@ -411,7 +414,7 @@ export default class AccountMenu extends Component {
toggleAccountMenu()
history.push(ABOUT_US_ROUTE)
}}
icon={<img src="images/mm-info-icon.svg" />}
icon={<img src="images/mm-info-icon.svg" alt={t('infoHelp')} />}
text={t('infoHelp')}
/>
<AccountMenuItem

View File

@ -13,13 +13,11 @@ import {
getCurrentAccountWithSendEtherInfo,
getNativeCurrency,
getShouldShowFiat,
getSelectedAddress,
} from '../../../selectors'
import { useCurrencyDisplay } from '../../../hooks/useCurrencyDisplay'
const AssetList = ({ onClickAsset }) => {
const history = useHistory()
const selectedAddress = useSelector((state) => getSelectedAddress(state))
const selectedAccountBalance = useSelector(
(state) => getCurrentAccountWithSendEtherInfo(state).balance,
)
@ -71,7 +69,6 @@ const AssetList = ({ onClickAsset }) => {
onClick={() => onClickAsset(nativeCurrency)}
data-testid="wallet-balance"
primary={primaryCurrencyProperties.value}
tokenAddress={selectedAddress}
tokenSymbol={primaryCurrencyProperties.suffix}
secondary={showFiat ? secondaryCurrencyDisplay : undefined}
/>

View File

@ -7,6 +7,7 @@ const ConfirmPageContainerWarning = (props) => {
<img
className="confirm-page-container-warning__icon"
src="/images/alert.svg"
alt=""
/>
<div className="confirm-page-container-warning__warning">
{props.warning}

View File

@ -47,7 +47,7 @@ export default function ConfirmPageContainerHeader({
visibility: showEdit ? 'initial' : 'hidden',
}}
>
<img src="/images/caret-left.svg" />
<img src="/images/caret-left.svg" alt="" />
<span
className="confirm-page-container-header__back-button"
onClick={() => onEdit()}

View File

@ -33,14 +33,14 @@ const ConfirmPageContainerNavigation = (props) => {
data-testid="first-page"
onClick={() => onNextTx(firstTx)}
>
<img src="/images/double-arrow.svg" />
<img src="/images/double-arrow.svg" alt="" />
</div>
<div
className="confirm-page-container-navigation__arrow"
data-testid="previous-page"
onClick={() => onNextTx(prevTxId)}
>
<img src="/images/single-arrow.svg" />
<img src="/images/single-arrow.svg" alt="" />
</div>
</div>
<div className="confirm-page-container-navigation__textcontainer">
@ -65,6 +65,7 @@ const ConfirmPageContainerNavigation = (props) => {
<img
className="confirm-page-container-navigation__imageflip"
src="/images/single-arrow.svg"
alt=""
/>
</div>
<div
@ -75,6 +76,7 @@ const ConfirmPageContainerNavigation = (props) => {
<img
className="confirm-page-container-navigation__imageflip"
src="/images/double-arrow.svg"
alt=""
/>
</div>
</div>

View File

@ -247,6 +247,7 @@
display: flex;
color: $primary-blue;
font-weight: 900;
}
}
}

View File

@ -54,7 +54,10 @@ export default class ConfirmRemoveAccount extends Component {
rel="noopener noreferrer"
title={this.context.t('etherscanView')}
>
<img src="images/popout.svg" />
<img
src="images/popout.svg"
alt={this.context.t('etherscanView')}
/>
</a>
</div>
</div>

View File

@ -12,7 +12,6 @@ export default class DepositEtherModal extends Component {
static propTypes = {
network: PropTypes.string.isRequired,
toWyre: PropTypes.func.isRequired,
toCoinSwitch: PropTypes.func.isRequired,
address: PropTypes.string.isRequired,
toFaucet: PropTypes.func.isRequired,
hideWarning: PropTypes.func.isRequired,
@ -87,7 +86,7 @@ export default class DepositEtherModal extends Component {
}
render() {
const { network, toWyre, toCoinSwitch, address, toFaucet } = this.props
const { network, toWyre, address, toFaucet } = this.props
const isTestNetwork = ['3', '4', '5', '42'].find((n) => n === network)
const networkName = getNetworkDisplayName(network)
@ -111,31 +110,6 @@ export default class DepositEtherModal extends Component {
</div>
<div className="page-container__content">
<div className="deposit-ether-modal__buy-rows">
{this.renderRow({
logo: (
<img
alt=""
className="deposit-ether-modal__logo"
src="./images/deposit-eth.svg"
style={{
height: '75px',
width: '75px',
}}
/>
),
title: this.context.t('directDepositEther'),
text: this.context.t('directDepositEtherExplainer'),
buttonLabel: this.context.t('viewAccount'),
onButtonClick: () => this.goToAccountDetailsModal(),
})}
{this.renderRow({
logo: <i className="fa fa-tint fa-2x" />,
title: this.context.t('testFaucet'),
text: this.faucetRowText(networkName),
buttonLabel: this.context.t('getEther'),
onButtonClick: () => toFaucet(network),
hide: !isTestNetwork,
})}
{this.renderRow({
logo: (
<div
@ -163,28 +137,28 @@ export default class DepositEtherModal extends Component {
})}
{this.renderRow({
logo: (
<div
<img
alt=""
className="deposit-ether-modal__logo"
src="./images/deposit-eth.svg"
style={{
backgroundImage: "url('./images/coinswitch_logo.png')",
height: '40px',
height: '75px',
width: '75px',
}}
/>
),
title: this.context.t('buyCoinSwitch'),
text: this.context.t('buyCoinSwitchExplainer'),
buttonLabel: this.context.t('continueToCoinSwitch'),
onButtonClick: () => {
this.context.metricsEvent({
eventOpts: {
category: 'Accounts',
action: 'Deposit Ether',
name: 'Click buy Ether via CoinSwitch',
},
})
toCoinSwitch(address)
},
hide: isTestNetwork,
title: this.context.t('directDepositEther'),
text: this.context.t('directDepositEtherExplainer'),
buttonLabel: this.context.t('viewAccount'),
onButtonClick: () => this.goToAccountDetailsModal(),
})}
{this.renderRow({
logo: <i className="fa fa-tint fa-2x" />,
title: this.context.t('testFaucet'),
text: this.faucetRowText(networkName),
buttonLabel: this.context.t('getEther'),
onButtonClick: () => toFaucet(network),
hide: !isTestNetwork,
})}
</div>
</div>

View File

@ -19,9 +19,6 @@ function mapDispatchToProps(dispatch) {
toWyre: (address) => {
dispatch(buyEth({ service: 'wyre', address }))
},
toCoinSwitch: (address) => {
dispatch(buyEth({ service: 'coinswitch', address }))
},
hideModal: () => {
dispatch(hideModal())
},

View File

@ -24,7 +24,7 @@ export default class MetaMetricsOptInModal extends Component {
<div className="metametrics-opt-in__content">
<MetaFoxLogo />
<div className="metametrics-opt-in__body-graphic">
<img src="images/metrics-chart.svg" />
<img src="images/metrics-chart.svg" alt="" />
</div>
<div className="metametrics-opt-in__title">
Help Us Improve MetaMask

View File

@ -210,7 +210,7 @@ export default class QrScanner extends Component {
return (
<>
<div className="qr-scanner__image">
<img src="images/webcam.svg" width={70} height={70} />
<img src="images/webcam.svg" width="70" height="70" alt="" />
</div>
{title ? <div className="qr-scanner__title">{title}</div> : null}
<div className="qr-scanner__error">{msg}</div>

View File

@ -28,7 +28,7 @@ export default class TransactionConfirmed extends PureComponent {
return (
<Modal onSubmit={this.handleSubmit} submitText={t('ok')}>
<div className="transaction-confirmed__content">
<img src="images/check-icon.svg" />
<img src="images/check-icon.svg" alt="" />
<div className="transaction-confirmed__title">
{`${t('confirmed')}!`}
</div>

View File

@ -173,7 +173,7 @@ export default class Network extends Component {
<img
title={t('attemptingConnect')}
src="images/loading.svg"
alt=""
alt={t('attemptingConnect')}
/>
</span>
) : (

View File

@ -10,7 +10,7 @@ import { useTokenFiatAmount } from '../../../hooks/useTokenFiatAmount'
export default function TokenCell({
address,
decimals,
outdatedBalance,
balanceError,
symbol,
string,
image,
@ -21,13 +21,14 @@ export default function TokenCell({
const formattedFiat = useTokenFiatAmount(address, string, symbol)
const warning = outdatedBalance ? (
const warning = balanceError ? (
<span>
{t('troubleTokenBalances')}
<a
href={`https://ethplorer.io/address/${userAddress}`}
rel="noopener noreferrer"
target="_blank"
onClick={(event) => event.stopPropagation()}
style={{ color: '#F7861C' }}
>
{t('here')}
@ -38,7 +39,7 @@ export default function TokenCell({
return (
<AssetListItem
className={classnames('token-cell', {
'token-cell--outdated': outdatedBalance,
'token-cell--outdated': Boolean(balanceError),
})}
iconClassName="token-cell__icon"
onClick={onClick.bind(null, address)}
@ -55,7 +56,7 @@ export default function TokenCell({
TokenCell.propTypes = {
address: PropTypes.string,
outdatedBalance: PropTypes.bool,
balanceError: PropTypes.object,
symbol: PropTypes.string,
decimals: PropTypes.number,
string: PropTypes.string,
@ -64,5 +65,5 @@ TokenCell.propTypes = {
}
TokenCell.defaultProps = {
outdatedBalance: false,
balanceError: null,
}

View File

@ -16,7 +16,7 @@ export default function TokenList({ onTokenClick }) {
// from the background so it has a new reference with each background update,
// even if the tokens haven't changed
const tokens = useSelector(getTokens, isEqual)
const { loading, error, tokensWithBalances } = useTokenTracker(tokens)
const { loading, tokensWithBalances } = useTokenTracker(tokens, true)
if (loading) {
return (
@ -38,14 +38,7 @@ export default function TokenList({ onTokenClick }) {
<div>
{tokensWithBalances.map((tokenData, index) => {
tokenData.image = assetImages[tokenData.address]
return (
<TokenCell
key={index}
{...tokenData}
outdatedBalance={Boolean(error)}
onClick={onTokenClick}
/>
)
return <TokenCell key={index} {...tokenData} onClick={onTokenClick} />
})}
</div>
)

View File

@ -40,7 +40,7 @@ export default class TransactionActivityLogIcon extends PureComponent {
return (
<div className={classnames('transaction-activity-log-icon', className)}>
{imagePath && <img src={imagePath} height={9} width={9} />}
{imagePath && <img src={imagePath} height="9" width="9" alt="" />}
</div>
)
}

View File

@ -206,7 +206,7 @@ export default class TransactionListItemDetails extends PureComponent {
onClick={this.handleEtherscanClick}
disabled={!hash}
>
<img src="/images/arrow-popout.svg" />
<img src="/images/arrow-popout.svg" alt="" />
</Button>
</Tooltip>
{showRetry && (

View File

@ -23,7 +23,7 @@ export default function UserPreferencedCurrencyDisplay({
const prefixComponent = useMemo(() => {
return (
currency === ETH &&
showEthLogo && <img src="/images/eth.svg" height={ethLogoHeight} />
showEthLogo && <img src="/images/eth.svg" height={ethLogoHeight} alt="" />
)
}, [currency, showEthLogo, ethLogoHeight])

View File

@ -40,6 +40,7 @@ export default class CircleIcon extends PureComponent {
height: iconSize,
width: iconSize,
}}
alt=""
/>
</div>
)

View File

@ -45,13 +45,15 @@ class EditableLabel extends Component {
className={classnames('large-input', 'editable-label__input', {
'editable-label__input--error': value === '',
})}
autoFocus
/>,
<div className="editable-label__icon-wrapper" key={2}>
<i
className="fa fa-check editable-label__icon"
onClick={() => this.handleSubmit()}
/>
</div>,
<button
className="editable-label__icon-button"
key={2}
onClick={() => this.handleSubmit()}
>
<i className="fa fa-check editable-label__icon" />
</button>,
]
}
@ -60,12 +62,13 @@ class EditableLabel extends Component {
<div key={1} className="editable-label__value">
{this.state.value}
</div>,
<div key={2} className="editable-label__icon-wrapper">
<i
className="fas fa-pencil-alt editable-label__icon"
onClick={() => this.setState({ isEditing: true })}
/>
</div>,
<button
key={2}
className="editable-label__icon-button"
onClick={() => this.setState({ isEditing: true })}
>
<i className="fas fa-pencil-alt editable-label__icon" />
</button>,
]
}

View File

@ -23,10 +23,11 @@
}
}
&__icon-wrapper {
&__icon-button {
position: absolute;
margin-left: 10px;
left: 100%;
background: unset;
}
&__icon {

View File

@ -7,7 +7,7 @@ const ErrorMessage = (props, context) => {
return (
<div className="error-message">
<img src="/images/alert-red.svg" className="error-message__icon" />
<img src="/images/alert-red.svg" alt="" className="error-message__icon" />
<div className="error-message__text">{`ALERT: ${error}`}</div>
</div>
)

View File

@ -30,6 +30,7 @@ export default class IconWithFallback extends PureComponent {
src={icon}
style={style}
className={className}
alt=""
/>
) : (
<i

View File

@ -19,7 +19,7 @@ const BlockieIdenticon = ({ address, diameter }) => {
return (
<>
<canvas ref={canvasRef} style={{ display: 'none' }} />
<img src={dataUrl} height={diameter} width={diameter} />
<img src={dataUrl} height={diameter} width={diameter} alt="" />
</>
)
}

View File

@ -40,6 +40,7 @@ export default class Identicon extends PureComponent {
className={classnames('identicon', className)}
src={image}
style={getStyles(diameter)}
alt=""
/>
)
}
@ -108,6 +109,7 @@ export default class Identicon extends PureComponent {
className={classnames('identicon__eth-logo', className)}
src="./images/eth_logo.svg"
style={getStyles(diameter)}
alt=""
/>
)
}

View File

@ -32,7 +32,7 @@ export default function InfoTooltip({
html={contentText}
theme={wide ? 'tippy-tooltip-wideInfo' : 'tippy-tooltip-info'}
>
<img src="images/mm-info-icon.svg" />
<img src="images/mm-info-icon.svg" alt="" />
</Tooltip>
</div>
)

View File

@ -24,12 +24,13 @@ export default class MetaFoxLogo extends PureComponent {
})}
>
<img
height={30}
height="30"
src="/images/logo/metamask-logo-horizontal.svg"
className={classnames(
'app-header__metafox-logo',
'app-header__metafox-logo--horizontal',
)}
alt=""
/>
<img
{...iconProps}
@ -38,6 +39,7 @@ export default class MetaFoxLogo extends PureComponent {
'app-header__metafox-logo',
'app-header__metafox-logo--icon',
)}
alt=""
/>
</div>
)

View File

@ -174,12 +174,12 @@ function Arrow({ variant }) {
return variant === DEFAULT_VARIANT ? (
<div className="sender-to-recipient__arrow-container">
<div className="sender-to-recipient__arrow-circle">
<img height={15} width={15} src="./images/arrow-right.svg" />
<img height="15" width="15" src="./images/arrow-right.svg" alt="" />
</div>
</div>
) : (
<div className="sender-to-recipient__arrow-container">
<img height={20} src="./images/caret-right.svg" />
<img height="20" src="./images/caret-right.svg" alt="" />
</div>
)
}

View File

@ -127,7 +127,8 @@ export function MetaMetricsProvider({ children }) {
location.pathname.startsWith('/initialize')) ||
participateInMetaMetrics
) {
// Events that happen during initialization before the user opts into MetaMetrics will be anonymous
// Events that happen during initialization before the user opts into
// MetaMetrics will be anonymous
const idTrait = metaMetricsId ? 'userId' : 'anonymousId'
const idValue = metaMetricsId ?? METAMETRICS_ANONYMOUS_ID
const match = matchPath(location.pathname, {
@ -135,19 +136,15 @@ export function MetaMetricsProvider({ children }) {
exact: true,
strict: true,
})
// Start by checking for a missing match route. If this falls through to the else if, then we know we
// have a matched route for tracking.
// Start by checking for a missing match route. If this falls through to
// the else if, then we know we have a matched route for tracking.
if (!match) {
// We have more specific pages for each type of transaction confirmation
// The user lands on /confirm-transaction first, then is redirected based on
// the contents of state.
if (location.pathname !== '/confirm-transaction') {
// Otherwise we are legitimately missing a matching route
captureMessage(`Segment page tracking found unmatched route`, {
captureMessage(`Segment page tracking found unmatched route`, {
extra: {
previousMatch,
currentPath: location.pathname,
})
}
},
})
} else if (
previousMatch.current !== match.path &&
!(
@ -156,9 +153,11 @@ export function MetaMetricsProvider({ children }) {
previousMatch.current === undefined
)
) {
// When a notification window is open by a Dapp we do not want to track the initial home route load that can
// sometimes happen. To handle this we keep track of the previousMatch, and we skip the event track in the event
// that we are dealing with the initial load of the homepage
// When a notification window is open by a Dapp we do not want to track
// the initial home route load that can sometimes happen. To handle
// this we keep track of the previousMatch, and we skip the event track
// in the event that we are dealing with the initial load of the
// homepage
const { path, params } = match
const name = PATH_NAME_MAP[path]
segment.page({

View File

@ -99,6 +99,8 @@ const PATH_NAME_MAP = {
[`${CONNECT_ROUTE}/:id${CONNECT_CONFIRM_PERMISSIONS_ROUTE}`]: 'Grant Connected Site Permissions Confirmation Page',
[CONNECTED_ROUTE]: 'Sites Connected To This Account Page',
[CONNECTED_ACCOUNTS_ROUTE]: 'Accounts Connected To This Site Page',
[`${CONFIRM_TRANSACTION_ROUTE}/:id`]: 'Confirmation Root Page',
[CONFIRM_TRANSACTION_ROUTE]: 'Confirmation Root Page',
[`${CONFIRM_TRANSACTION_ROUTE}/:id${CONFIRM_TOKEN_METHOD_PATH}`]: 'Confirm Token Method Transaction Page',
[`${CONFIRM_TRANSACTION_ROUTE}/:id${CONFIRM_SEND_ETHER_PATH}`]: 'Confirm Send Ether Transaction Page',
[`${CONFIRM_TRANSACTION_ROUTE}/:id${CONFIRM_SEND_TOKEN_PATH}`]: 'Confirm Send Token Transaction Page',

View File

@ -4,7 +4,7 @@ import { useSelector } from 'react-redux'
import { getCurrentNetwork, getSelectedAddress } from '../selectors'
import { useEqualityCheck } from './useEqualityCheck'
export function useTokenTracker(tokens) {
export function useTokenTracker(tokens, includeFailedTokens = false) {
const network = useSelector(getCurrentNetwork)
const userAddress = useSelector(getSelectedAddress)
@ -42,6 +42,7 @@ export function useTokenTracker(tokens) {
userAddress: address,
provider: global.ethereumProvider,
tokens: tokenList,
includeFailedTokens,
pollingInterval: 8000,
})
@ -49,7 +50,7 @@ export function useTokenTracker(tokens) {
tokenTracker.current.on('error', showError)
tokenTracker.current.updateBalances()
},
[updateBalances, showError, teardownTracker],
[updateBalances, includeFailedTokens, showError, teardownTracker],
)
// Effect to remove the tracker when the component is removed from DOM

View File

@ -10,7 +10,7 @@ export default class TokenListPlaceholder extends Component {
render() {
return (
<div className="token-list-placeholder">
<img src="images/tokensearch.svg" />
<img src="images/tokensearch.svg" alt="" width="65" height="58" />
<div className="token-list-placeholder__text">
{this.context.t('addAcquiredTokens')}
</div>

View File

@ -53,7 +53,7 @@ export default class TokenSearch extends Component {
renderAdornment() {
return (
<InputAdornment position="start" style={{ marginRight: '12px' }}>
<img src="images/search.svg" width="17" height="17" />
<img src="images/search.svg" width="17" height="17" alt="" />
</InputAdornment>
)
}

View File

@ -42,5 +42,7 @@
&__icon {
@include Paragraph;
font-weight: 900;
}
}

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