remove customize-gas modal and related code that is no longer used (#16004)

feature/default_network_editable
Brad Decker 2 years ago committed by GitHub
parent 8e736e39d8
commit 99808eb02c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      .eslintrc.js
  2. 27
      app/_locales/am/messages.json
  3. 27
      app/_locales/ar/messages.json
  4. 27
      app/_locales/bg/messages.json
  5. 27
      app/_locales/bn/messages.json
  6. 27
      app/_locales/ca/messages.json
  7. 3
      app/_locales/cs/messages.json
  8. 27
      app/_locales/da/messages.json
  9. 30
      app/_locales/de/messages.json
  10. 30
      app/_locales/el/messages.json
  11. 30
      app/_locales/en/messages.json
  12. 30
      app/_locales/es/messages.json
  13. 30
      app/_locales/es_419/messages.json
  14. 27
      app/_locales/et/messages.json
  15. 27
      app/_locales/fa/messages.json
  16. 27
      app/_locales/fi/messages.json
  17. 27
      app/_locales/fil/messages.json
  18. 30
      app/_locales/fr/messages.json
  19. 3
      app/_locales/gu/messages.json
  20. 27
      app/_locales/he/messages.json
  21. 30
      app/_locales/hi/messages.json
  22. 3
      app/_locales/hn/messages.json
  23. 27
      app/_locales/hr/messages.json
  24. 3
      app/_locales/ht/messages.json
  25. 27
      app/_locales/hu/messages.json
  26. 30
      app/_locales/id/messages.json
  27. 30
      app/_locales/it/messages.json
  28. 30
      app/_locales/ja/messages.json
  29. 27
      app/_locales/kn/messages.json
  30. 30
      app/_locales/ko/messages.json
  31. 27
      app/_locales/lt/messages.json
  32. 27
      app/_locales/lv/messages.json
  33. 3
      app/_locales/ml/messages.json
  34. 3
      app/_locales/mr/messages.json
  35. 27
      app/_locales/ms/messages.json
  36. 3
      app/_locales/nl/messages.json
  37. 27
      app/_locales/no/messages.json
  38. 30
      app/_locales/ph/messages.json
  39. 27
      app/_locales/pl/messages.json
  40. 30
      app/_locales/pt/messages.json
  41. 30
      app/_locales/pt_BR/messages.json
  42. 3
      app/_locales/pt_PT/messages.json
  43. 27
      app/_locales/ro/messages.json
  44. 30
      app/_locales/ru/messages.json
  45. 27
      app/_locales/sk/messages.json
  46. 27
      app/_locales/sl/messages.json
  47. 27
      app/_locales/sr/messages.json
  48. 27
      app/_locales/sv/messages.json
  49. 27
      app/_locales/sw/messages.json
  50. 6
      app/_locales/ta/messages.json
  51. 3
      app/_locales/te/messages.json
  52. 12
      app/_locales/th/messages.json
  53. 30
      app/_locales/tl/messages.json
  54. 30
      app/_locales/tr/messages.json
  55. 27
      app/_locales/uk/messages.json
  56. 30
      app/_locales/vi/messages.json
  57. 30
      app/_locales/zh_CN/messages.json
  58. 27
      app/_locales/zh_TW/messages.json
  59. 26
      development/ts-migration-dashboard/files-to-convert.json
  60. 2
      ui/components/app/advanced-gas-inputs/advanced-gas-inputs.component.js
  61. 8
      ui/components/app/advanced-gas-inputs/advanced-gas-inputs.container.js
  62. 4
      ui/components/app/advanced-gas-inputs/advanced-gas-inputs.test.js
  63. 0
      ui/components/app/advanced-gas-inputs/index.js
  64. 0
      ui/components/app/advanced-gas-inputs/index.scss
  65. 4
      ui/components/app/app-components.scss
  66. 91
      ui/components/app/gas-customization/gas-modal-page-container/advanced-tab-content/advanced-tab-content-component.test.js
  67. 76
      ui/components/app/gas-customization/gas-modal-page-container/advanced-tab-content/advanced-tab-content.component.js
  68. 1
      ui/components/app/gas-customization/gas-modal-page-container/advanced-tab-content/index.js
  69. 112
      ui/components/app/gas-customization/gas-modal-page-container/advanced-tab-content/index.scss
  70. 103
      ui/components/app/gas-customization/gas-modal-page-container/basic-tab-content/basic-tab-content-component.test.js
  71. 42
      ui/components/app/gas-customization/gas-modal-page-container/basic-tab-content/basic-tab-content.component.js
  72. 1
      ui/components/app/gas-customization/gas-modal-page-container/basic-tab-content/index.js
  73. 33
      ui/components/app/gas-customization/gas-modal-page-container/basic-tab-content/index.scss
  74. 272
      ui/components/app/gas-customization/gas-modal-page-container/gas-modal-page-container-component.test.js
  75. 274
      ui/components/app/gas-customization/gas-modal-page-container/gas-modal-page-container-container.test.js
  76. 240
      ui/components/app/gas-customization/gas-modal-page-container/gas-modal-page-container.component.js
  77. 330
      ui/components/app/gas-customization/gas-modal-page-container/gas-modal-page-container.container.js
  78. 1
      ui/components/app/gas-customization/gas-modal-page-container/index.js
  79. 160
      ui/components/app/gas-customization/gas-modal-page-container/index.scss
  80. 308
      ui/components/app/gas-customization/gas-price-button-group/gas-price-button-group-component.test.js
  81. 139
      ui/components/app/gas-customization/gas-price-button-group/gas-price-button-group.component.js
  82. 47
      ui/components/app/gas-customization/gas-price-button-group/gas-price-button-group.stories.js
  83. 1
      ui/components/app/gas-customization/gas-price-button-group/index.js
  84. 251
      ui/components/app/gas-customization/gas-price-button-group/index.scss
  85. 40
      ui/components/app/gas-customization/gas-slider/gas-slider.component.js
  86. 34
      ui/components/app/gas-customization/gas-slider/gas-slider.stories.js
  87. 1
      ui/components/app/gas-customization/gas-slider/index.js
  88. 54
      ui/components/app/gas-customization/gas-slider/index.scss
  89. 3
      ui/components/app/gas-customization/index.scss
  90. 31
      ui/components/app/modals/modal.js
  91. 179
      ui/css/itcss/components/send.scss
  92. 4
      ui/ducks/gas/gas.duck.js
  93. 2
      ui/pages/send/send-content/send-gas-row/send-gas-row.component.js
  94. 63
      ui/pages/send/send-content/send-gas-row/send-gas-row.container.js
  95. 78
      ui/pages/send/send-content/send-gas-row/send-gas-row.container.test.js
  96. 167
      ui/selectors/custom-gas.js
  97. 517
      ui/selectors/custom-gas.test.js

@ -15,6 +15,7 @@ module.exports = {
'development/ts-migration-dashboard/build/**',
'dist/**/*',
'node_modules/**/*',
'jest-coverage/**/*',
],
overrides: [
/**

@ -2,9 +2,6 @@
"about": {
"message": "ስለ"
},
"acceleratingATransaction": {
"message": "* ከፍተኛ የነዳጅ ዋጋን በመጠቀም ግብይትን ማፋጠን በአውታረ መረቡ በፍጥነት እንዲከወን የማድረግ ዕድልን ይጨምራል፤ ነገር ግን ሁልጊዜም የተረጋገጠ አይደለም።"
},
"accessingYourCamera": {
"message": "ወደ ካሜራዎ መድረስ..."
},
@ -241,12 +238,6 @@
"currentLanguage": {
"message": "ወቅታዊ ቋንቋ"
},
"customGas": {
"message": "ነዳጅን አብጅ"
},
"customGasSubTitle": {
"message": "ክፍያ መጨመር የመከወኛ ጊዜን ሊቀንስ ቢችልም ይህ ግን ዋስትና የለውም።"
},
"customToken": {
"message": "ብጁ ተለዋጭ ስም"
},
@ -331,9 +322,6 @@
"enterPasswordContinue": {
"message": "ለመቀጠል የይለፍ ቃል ያስገቡ"
},
"estimatedProcessingTimes": {
"message": "የሚገመት የክወና ጊዜያት"
},
"ethereumPublicAddress": {
"message": "Ethereum ሕዝባዊ አድራሻ"
},
@ -589,12 +577,6 @@
"newToMetaMask": {
"message": "ለ MetaMask አዲስ ነዎት?"
},
"newTotal": {
"message": "አዲስ ድምር"
},
"newTransactionFee": {
"message": "አዲስ የግብይት ክፍያ"
},
"next": {
"message": "ቀጣይ"
},
@ -795,9 +777,6 @@
"seedPhraseReq": {
"message": "የዘር ሐረጋት የ 12 ቃላት ርዝመት አላቸው"
},
"selectAHigherGasFee": {
"message": "የግብይትዎን ክዋኔ ለማቀላጠፍ የበለጠ የነዳጅ ዋጋ ይምረጡ።*"
},
"selectAnAccount": {
"message": "መለያ ይምረጡ"
},
@ -816,9 +795,6 @@
"send": {
"message": "ላክ"
},
"sendAmount": {
"message": "መጠኑን ላክ"
},
"sendTokens": {
"message": "ተለዋጭ ስሞችን ላክ"
},
@ -861,9 +837,6 @@
"signed": {
"message": "ተፈርሟል"
},
"slow": {
"message": "ቀስ"
},
"somethingWentWrong": {
"message": "ኤጭ! የሆነ ችግር ተፈጥሯል።"
},

@ -8,9 +8,6 @@
"about": {
"message": "حول"
},
"acceleratingATransaction": {
"message": "* تسريع المعاملات باستخدام سعر عملة جاس أعلى يزيد من فرص معالجتها بواسطة الشبكة بشكلٍ أسرع، لكن ذلك غير مضمون دائماً."
},
"acceptTermsOfUse": {
"message": "لقد قرأت دولار واحد وأوافق عليه",
"description": "$1 is the `terms` message"
@ -258,12 +255,6 @@
"custom": {
"message": "إعدادات متقدمة"
},
"customGas": {
"message": "تخصيص الغاز"
},
"customGasSubTitle": {
"message": "قد تؤدي زيادة الرسوم إلى تقليل أزمنة المعالجة، ولكن ذلك غير مضمون."
},
"customToken": {
"message": "عملة رمزية مخصصة"
},
@ -348,9 +339,6 @@
"enterPasswordContinue": {
"message": "أدخل كلمة المرور للمتابعة"
},
"estimatedProcessingTimes": {
"message": "أوقات المعالجة المقدرة"
},
"ethereumPublicAddress": {
"message": "عنوان الإيثيريوم العمومي"
},
@ -605,12 +593,6 @@
"newToMetaMask": {
"message": "هل انت جديد في MetaMask؟"
},
"newTotal": {
"message": "إجمالي جديد"
},
"newTransactionFee": {
"message": "رسوم المعاملات الجديدة"
},
"next": {
"message": "التالي"
},
@ -811,9 +793,6 @@
"seedPhraseReq": {
"message": "طول الجمل البذرية 12 كلمة"
},
"selectAHigherGasFee": {
"message": "حدد رسوم جاس أعلى لتسريع معالجة معاملتك. *"
},
"selectAnAccount": {
"message": "قم بتحديد حساب"
},
@ -832,9 +811,6 @@
"send": {
"message": "إرسال"
},
"sendAmount": {
"message": "إرسال المبلغ"
},
"sendTokens": {
"message": "إرسال عملات رمزية"
},
@ -877,9 +853,6 @@
"signed": {
"message": "مسجل الدخول"
},
"slow": {
"message": "بطيء"
},
"somethingWentWrong": {
"message": "عذراً! حدث خطأ ما."
},

@ -8,9 +8,6 @@
"about": {
"message": "Информация"
},
"acceleratingATransaction": {
"message": "* Ускоряването на транзакция чрез използване на по-висока цена на газа увеличава шансовете й да се обработва по-бързо от мрежата, но това не винаги е гарантирано."
},
"accessingYourCamera": {
"message": "Достъп до вашата камера ..."
},
@ -250,12 +247,6 @@
"custom": {
"message": "Разширени"
},
"customGas": {
"message": "Персонализирайте газ"
},
"customGasSubTitle": {
"message": "Увеличаването на таксата може да намали времето за обработка, но това не е гарантирано."
},
"customToken": {
"message": "Персонализиран маркер"
},
@ -340,9 +331,6 @@
"enterPasswordContinue": {
"message": "Въведете парола, за да продължите"
},
"estimatedProcessingTimes": {
"message": "Приблизителни времена за обработка"
},
"ethereumPublicAddress": {
"message": "Публичен адрес за етереум"
},
@ -600,12 +588,6 @@
"newToMetaMask": {
"message": "Нови ли сте в MetaMask?"
},
"newTotal": {
"message": "Ново общо"
},
"newTransactionFee": {
"message": "Нова такса за транзакция"
},
"next": {
"message": "Напред"
},
@ -806,9 +788,6 @@
"seedPhraseReq": {
"message": "Фразите зародиш се състоят от 12 думи"
},
"selectAHigherGasFee": {
"message": "\nИзберете по-висока такса за газ, за да ускорите обработката на Вашата транзакция.*"
},
"selectAnAccount": {
"message": "Изберете акаунт"
},
@ -827,9 +806,6 @@
"send": {
"message": "Изпращане"
},
"sendAmount": {
"message": "Изпратете сумата"
},
"sendTokens": {
"message": "Изпращане на жетони"
},
@ -872,9 +848,6 @@
"signed": {
"message": "Подписан"
},
"slow": {
"message": "Бавно"
},
"somethingWentWrong": {
"message": "Упс! Нещо се обърка."
},

@ -8,9 +8,6 @@
"about": {
"message": "সমপর"
},
"acceleratingATransaction": {
"message": "* একটি উচচতর গর ময বযবহর কর একটিনদর গতিিটওয়র দির পরকিকরণ দততর হওয়র সমবনি কর, কি সবসময় সির নিচয়তওয়য় ন।"
},
"accessingYourCamera": {
"message": "আপনর কস করছ..."
},
@ -250,12 +247,6 @@
"custom": {
"message": "উননত"
},
"customGas": {
"message": "গস কইজ করন"
},
"customGasSubTitle": {
"message": "ফি কররকিকরণর সময় কম, কিির নিচয়তওয় হয় ন।"
},
"customToken": {
"message": "কটম টন"
},
@ -340,9 +331,6 @@
"enterPasswordContinue": {
"message": "অবিরত রখতসওয়ড লিন"
},
"estimatedProcessingTimes": {
"message": "আনিক পরকিকরণর সময়"
},
"ethereumPublicAddress": {
"message": "Ethereum পবলিক অস"
},
@ -604,12 +592,6 @@
"newToMetaMask": {
"message": "MetaMask এ নতন?"
},
"newTotal": {
"message": "নতন সমষি"
},
"newTransactionFee": {
"message": "নতন লনদন ফ"
},
"next": {
"message": "পরবর"
},
@ -810,9 +792,6 @@
"seedPhraseReq": {
"message": "সড ফজগি 12 শবর"
},
"selectAHigherGasFee": {
"message": "আপনর লনদনটিরকিকরণ তবরিত করত একটি উচচতর গস ফিচন করন।*"
},
"selectAnAccount": {
"message": "একটিউনট নিচন করন"
},
@ -831,9 +810,6 @@
"send": {
"message": "পন"
},
"sendAmount": {
"message": "প অরথরি"
},
"sendTokens": {
"message": "টনগিন"
},
@ -876,9 +852,6 @@
"signed": {
"message": "সষরিত"
},
"slow": {
"message": "মনথর"
},
"somethingWentWrong": {
"message": "ওহ! কি সমস হয়।"
},

@ -8,9 +8,6 @@
"about": {
"message": "Informació"
},
"acceleratingATransaction": {
"message": "* Accelerar una transacció utilitzant un preu de gas més alt augmenta les possibilitats de ser processat més ràpidament per la xarxa, però no sempre es pot garantir."
},
"accessingYourCamera": {
"message": "Accedint a la teva càmera..."
},
@ -247,12 +244,6 @@
"custom": {
"message": "Configuració avançada"
},
"customGas": {
"message": "Customitza el gas"
},
"customGasSubTitle": {
"message": "Augmentar la tarifa pot disminuir els temps de processament, però això no està garantit."
},
"customToken": {
"message": "Fitxa a Mida"
},
@ -337,9 +328,6 @@
"enterPasswordContinue": {
"message": "Introdueix la contrasenya per continuar"
},
"estimatedProcessingTimes": {
"message": "Temps de processament estimats"
},
"ethereumPublicAddress": {
"message": "Adreça Pública d'Ethereum"
},
@ -588,12 +576,6 @@
"newToMetaMask": {
"message": "Nou a MetaMask?"
},
"newTotal": {
"message": "Nou total"
},
"newTransactionFee": {
"message": "Nova Tarifa de Transacció"
},
"next": {
"message": "Següent"
},
@ -788,9 +770,6 @@
"seedPhraseReq": {
"message": "Les frases de recuperació tenen 12 paraules"
},
"selectAHigherGasFee": {
"message": "Selecciona un preu de gas més alt per a accelerar el procès de la teva transacció.*"
},
"selectAnAccount": {
"message": "Selecciona un Compte"
},
@ -809,9 +788,6 @@
"send": {
"message": "Envia"
},
"sendAmount": {
"message": "Enviar Quantitat"
},
"sendTokens": {
"message": "Enviar Fitxes"
},
@ -854,9 +830,6 @@
"signed": {
"message": "Signat"
},
"slow": {
"message": "Lent"
},
"somethingWentWrong": {
"message": "Ui! Alguna cosa ha fallat."
},

@ -93,9 +93,6 @@
"createAccount": {
"message": "Vytvořit účet"
},
"customGas": {
"message": "Nastavit palivo"
},
"customToken": {
"message": "Vlastní token"
},

@ -8,9 +8,6 @@
"about": {
"message": "Om"
},
"acceleratingATransaction": {
"message": "* At gøre din transaktion hurtigere ved at bruge en højere Gas-priser, øger dennes chancer for at blive behandlet af netværket hurtigere, men det er ikke altid garanteret."
},
"accessingYourCamera": {
"message": "Tilgår din kamera..."
},
@ -250,12 +247,6 @@
"custom": {
"message": "Avanceret"
},
"customGas": {
"message": "Tilpas brændstof"
},
"customGasSubTitle": {
"message": "Forøgelse af gebyr kan mindske bearbejdningstiden, men det er ikke en garanti."
},
"customToken": {
"message": "Brugerdefineret Token"
},
@ -340,9 +331,6 @@
"enterPasswordContinue": {
"message": "Indtast adgangskode for at fortsætte"
},
"estimatedProcessingTimes": {
"message": "Estimerede behandlingstider"
},
"ethereumPublicAddress": {
"message": "Offentlig Ethereum-adresse"
},
@ -588,12 +576,6 @@
"newToMetaMask": {
"message": "Ny på MetaMask?"
},
"newTotal": {
"message": "Ny Sum"
},
"newTransactionFee": {
"message": "Nyt Transaktionsgebyr"
},
"next": {
"message": "Næste"
},
@ -791,9 +773,6 @@
"seedPhraseReq": {
"message": "Backupsætninger er 12 ord lange"
},
"selectAHigherGasFee": {
"message": "Vælg et højere Gas-gebyr, for at gøre behandlingen af din transaktion hurtigere.*"
},
"selectAnAccount": {
"message": "Vælg en Konto"
},
@ -809,9 +788,6 @@
"selectType": {
"message": "Vælg type"
},
"sendAmount": {
"message": "Send Beløb"
},
"sendTokens": {
"message": "Send tokens"
},
@ -854,9 +830,6 @@
"signed": {
"message": "Underskrevet"
},
"slow": {
"message": "Langsom"
},
"somethingWentWrong": {
"message": "Ups! Noget gik galt."
},

@ -101,9 +101,6 @@
"about": {
"message": "Über"
},
"acceleratingATransaction": {
"message": "* Die Beschleunigung einer Transaktion durch die Verwendung eines höheren Gaspreises erhöht die Chancen einer schnelleren Verarbeitung durch das Netz, wofür es allerdings keine Garantie gibt."
},
"acceptTermsOfUse": {
"message": "Ich habe die $1 gelesen und stimme ihnen zu",
"description": "$1 is the `terms` message"
@ -852,16 +849,10 @@
"customContentSearch": {
"message": "Suche nach einem zuvor hinzugefügten Netzwerk"
},
"customGas": {
"message": "Gas anpassen"
},
"customGasSettingToolTipMessage": {
"message": "$1 verwenden, um den Gaspreis anzupassen. Das kann verwirrend sein, wenn Sie damit nicht vertraut sind. Interaktion auf eigene Gefahr.",
"description": "$1 is key 'advanced' (text: 'Advanced') separated here so that it can be passed in with bold font-weight"
},
"customGasSubTitle": {
"message": "Höhere Gebühren können Bearbeitungszeiten verkürzen, wofür es allerdings keine Garantie gibt."
},
"customSpendLimit": {
"message": "Benutzerdefiniertes Ausgabelimit"
},
@ -1300,9 +1291,6 @@
"message": "Stapel:",
"description": "Title for error stack, which is displayed for debugging purposes"
},
"estimatedProcessingTimes": {
"message": "Geschätzte Bearbeitungszeiten"
},
"ethGasPriceFetchWarning": {
"message": "Der Gaspreis, der sich aus der Gaseinschätzung ergibt, ist derzeit nicht verfügbar."
},
@ -1348,9 +1336,6 @@
"fast": {
"message": "Schnell"
},
"fastest": {
"message": "Schnellste"
},
"feeAssociatedRequest": {
"message": "Mit dieser Anfrage ist eine Gebühr verbunden."
},
@ -2234,12 +2219,6 @@
"newTokensImportedTitle": {
"message": "Token importiert"
},
"newTotal": {
"message": "Neue Summe"
},
"newTransactionFee": {
"message": "Neue Transaktionsgebühr"
},
"newValues": {
"message": "neue Werte"
},
@ -3061,9 +3040,6 @@
"seedPhraseWriteDownHeader": {
"message": "Schreiben Sie Ihre geheime Sicherungsphrase auf"
},
"selectAHigherGasFee": {
"message": "Wählen Sie eine höhere Gasgebühr, um die Abwicklung Ihrer Transaktion zu beschleunigen.*"
},
"selectAccounts": {
"message": "Wählen Sie das Konto/die Konten aus, um sie auf dieser Seite zu verwenden"
},
@ -3097,9 +3073,6 @@
"send": {
"message": "Senden"
},
"sendAmount": {
"message": "Betrag senden"
},
"sendBugReport": {
"message": "Übermitteln Sie uns einen Fehlerbericht."
},
@ -3234,9 +3207,6 @@
"skipAccountSecurityDetails": {
"message": "Mir ist klar, dass ich meine Konten und alle dazugehörigen Vermögenswerte verlieren kann, solange ich keine Sicherungskopie meiner Geheimen Wiederherstellungsphrase erstelle."
},
"slow": {
"message": "Langsam"
},
"smartTransaction": {
"message": "Intelligente Transaktionen"
},

@ -101,9 +101,6 @@
"about": {
"message": "Σχετικά με"
},
"acceleratingATransaction": {
"message": "* Η επιτάχυνση μιας συναλλαγής με τη χρήση υψηλότερης τιμής καυσίμου αυξάνει τις πιθανότητές της για ταχύτερη επεξεργασία από το δίκτυο, αλλά δεν είναι πάντοτε εγγυημένη."
},
"acceptTermsOfUse": {
"message": "Έχω διαβάσει και συμφωνώ με το $1",
"description": "$1 is the `terms` message"
@ -852,16 +849,10 @@
"customContentSearch": {
"message": "Αναζήτηση δικτύου που προστέθηκε προηγουμένως"
},
"customGas": {
"message": "Προσαρμογή τέλους συναλλαγής"
},
"customGasSettingToolTipMessage": {
"message": "Χρησιμοποιήστε 1 $ για να προσαρμόσετε την τιμή του τέλους συναλλαγής. Αυτό μπορεί να προκαλέσει σύγχυση, αν δεν είστε εξοικειωμένοι. Επεξεργαστείτε το με δικό σας ρίσκο.",
"description": "$1 is key 'advanced' (text: 'Advanced') separated here so that it can be passed in with bold font-weight"
},
"customGasSubTitle": {
"message": "Η αύξηση των τελών μπορεί να μειώσει τους χρόνους επεξεργασίας, αλλά αυτό δεν είναι εγγυημένο."
},
"customSpendLimit": {
"message": "Προσαρμοσμένο Όριο Δαπάνης"
},
@ -1300,9 +1291,6 @@
"message": "Στοίβα:",
"description": "Title for error stack, which is displayed for debugging purposes"
},
"estimatedProcessingTimes": {
"message": "Εκτιμώμενοι Χρόνοι Επεξεργασίας"
},
"ethGasPriceFetchWarning": {
"message": "Το εφεδρικό τέλος συναλλαγής που παρέχεται ως η κύρια υπηρεσία εκτίμησης τελών συναλλαγής, δεν είναι διαθέσιμο αυτή τη στιγμή."
},
@ -1348,9 +1336,6 @@
"fast": {
"message": "Γρήγορα"
},
"fastest": {
"message": "Ταχύτερη"
},
"feeAssociatedRequest": {
"message": "Ένα τέλος σχετίζεται με αυτό το αίτημα."
},
@ -2234,12 +2219,6 @@
"newTokensImportedTitle": {
"message": "Τα token εισήχθησαν"
},
"newTotal": {
"message": "Νέο Σύνολο"
},
"newTransactionFee": {
"message": "Τέλος Νέας Συναλλαγής"
},
"newValues": {
"message": "νέες τιμές"
},
@ -3061,9 +3040,6 @@
"seedPhraseWriteDownHeader": {
"message": "Γράψτε τη Μυστική Φράση Ανάκτησης σας"
},
"selectAHigherGasFee": {
"message": "Επιλέξτε ένα μεγαλύτερο τέλος gas για να επιταχύνετε την επεξεργασία της συναλλαγής σας.*"
},
"selectAccounts": {
"message": "Επιλέξτε τον/τους λογαριασμό(ούς) που θα χρησιμοποιήσετε σε αυτόν τον ιστότοπο"
},
@ -3097,9 +3073,6 @@
"send": {
"message": "Αποστολή"
},
"sendAmount": {
"message": "Αποστολή Ποσού"
},
"sendBugReport": {
"message": "Στείλτε μας μια αναφορά σφάλματος."
},
@ -3234,9 +3207,6 @@
"skipAccountSecurityDetails": {
"message": "Καταλαβαίνω ότι μέχρι να δημιουργήσω αντίγραφα ασφαλείας για τη Μυστική Φράση Ανάκτησής μου, μπορεί να χάσω τους λογαριασμούς μου και όλα τα περιουσιακά στοιχεία τους."
},
"slow": {
"message": "Αργά"
},
"smartTransaction": {
"message": "Έξυπνη Συναλλαγή"
},

@ -101,9 +101,6 @@
"about": {
"message": "About"
},
"acceleratingATransaction": {
"message": "* Accelerating a transaction by using a higher gas price increases its chances of getting processed by the network faster, but it is not always guaranteed."
},
"acceptTermsOfUse": {
"message": "I have read and agree to the $1",
"description": "$1 is the `terms` message"
@ -852,16 +849,10 @@
"customContentSearch": {
"message": "Search for a previously added network"
},
"customGas": {
"message": "Customize gas"
},
"customGasSettingToolTipMessage": {
"message": "Use $1 to customize the gas price. This can be confusing if you aren’t familiar. Interact at your own risk.",
"description": "$1 is key 'advanced' (text: 'Advanced') separated here so that it can be passed in with bold font-weight"
},
"customGasSubTitle": {
"message": "Increasing fee may decrease processing times, but it is not guaranteed."
},
"customSpendLimit": {
"message": "Custom spend limit"
},
@ -1303,9 +1294,6 @@
"message": "Stack:",
"description": "Title for error stack, which is displayed for debugging purposes"
},
"estimatedProcessingTimes": {
"message": "Estimated processing times"
},
"ethGasPriceFetchWarning": {
"message": "Backup gas price is provided as the main gas estimation service is unavailable right now."
},
@ -1351,9 +1339,6 @@
"fast": {
"message": "Fast"
},
"fastest": {
"message": "Fastest"
},
"feeAssociatedRequest": {
"message": "A fee is associated with this request."
},
@ -2247,12 +2232,6 @@
"newTokensImportedTitle": {
"message": "Token imported"
},
"newTotal": {
"message": "New total"
},
"newTransactionFee": {
"message": "New transaction fee"
},
"newValues": {
"message": "new values"
},
@ -3074,9 +3053,6 @@
"seedPhraseWriteDownHeader": {
"message": "Write down your Secret Recovery Phrase"
},
"selectAHigherGasFee": {
"message": "Select a higher gas fee to accelerate the processing of your transaction.*"
},
"selectAccounts": {
"message": "Select the account(s) to use on this site"
},
@ -3110,9 +3086,6 @@
"send": {
"message": "Send"
},
"sendAmount": {
"message": "Send amount"
},
"sendBugReport": {
"message": "Send us a bug report."
},
@ -3247,9 +3220,6 @@
"skipAccountSecurityDetails": {
"message": "I understand that until I back up my Secret Recovery Phrase, I may lose my accounts and all of their assets."
},
"slow": {
"message": "Slow"
},
"smartTransaction": {
"message": "Smart transaction"
},

@ -101,9 +101,6 @@
"about": {
"message": "Acerca de"
},
"acceleratingATransaction": {
"message": "* Usar un precio de gas más alto para acelerar una transacción aumenta las posibilidades de un procesamiento más rápido en la red, pero esto no siempre se garantiza."
},
"acceptTermsOfUse": {
"message": "Leí y estoy de acuerdo con $1",
"description": "$1 is the `terms` message"
@ -852,16 +849,10 @@
"customContentSearch": {
"message": "Buscar una red agregada anteriormente"
},
"customGas": {
"message": "Personalizar gas"
},
"customGasSettingToolTipMessage": {
"message": "Use $1 para personalizar el precio de gas. Esto puede ser confuso si no está familiarizado. Interactúe bajo su propio riesgo.",
"description": "$1 is key 'advanced' (text: 'Advanced') separated here so that it can be passed in with bold font-weight"
},
"customGasSubTitle": {
"message": "Aumentar la cuota puede disminuir los tiempos de procesamiento, pero no está garantizado."
},
"customSpendLimit": {
"message": "Límite de gastos personalizado"
},
@ -1300,9 +1291,6 @@
"message": "Pila:",
"description": "Title for error stack, which is displayed for debugging purposes"
},
"estimatedProcessingTimes": {
"message": "Tiempos de procesamiento estimados"
},
"ethGasPriceFetchWarning": {
"message": "Se muestra el precio del gas de respaldo, ya que el servicio para calcular el precio del gas principal no se encuentra disponible en este momento."
},
@ -1348,9 +1336,6 @@
"fast": {
"message": "Rápido"
},
"fastest": {
"message": "El más rápido"
},
"feeAssociatedRequest": {
"message": "Esta solicitud tiene asociada una cuota."
},
@ -2234,12 +2219,6 @@
"newTokensImportedTitle": {
"message": "Token importado"
},
"newTotal": {
"message": "Total nuevo"
},
"newTransactionFee": {
"message": "Cuota de transacción nueva"
},
"newValues": {
"message": "nuevos valores"
},
@ -3061,9 +3040,6 @@
"seedPhraseWriteDownHeader": {
"message": "Anote la frase secreta de recuperación"
},
"selectAHigherGasFee": {
"message": "Seleccione una cuota de gas más alta para acelerar el procesamiento de la transacción.*"
},
"selectAccounts": {
"message": "Seleccionar cuentas"
},
@ -3097,9 +3073,6 @@
"send": {
"message": "Enviar"
},
"sendAmount": {
"message": "Enviar monto"
},
"sendBugReport": {
"message": "Envíenos un informe de error."
},
@ -3234,9 +3207,6 @@
"skipAccountSecurityDetails": {
"message": "Entiendo que hasta que no haga una copia de seguridad de mi frase secreta de recuperación, puedo perder mis cuentas y todos los activos asociados."
},
"slow": {
"message": "Lento"
},
"smartTransaction": {
"message": "Transacción inteligente"
},

@ -47,9 +47,6 @@
"about": {
"message": "Acerca de"
},
"acceleratingATransaction": {
"message": "* Usar un precio de gas más alto para acelerar una transacción aumenta las posibilidades de un procesamiento más rápido en la red, pero esto no siempre se garantiza."
},
"acceptTermsOfUse": {
"message": "Leí y estoy de acuerdo con $1",
"description": "$1 is the `terms` message"
@ -616,12 +613,6 @@
"custom": {
"message": "Avanzado"
},
"customGas": {
"message": "Personalizar gas"
},
"customGasSubTitle": {
"message": "Aumentar la tarifa puede disminuir los tiempos de procesamiento, pero no se garantiza esto."
},
"customSpendLimit": {
"message": "Límite de gastos personalizado"
},
@ -1008,9 +999,6 @@
"message": "Pila:",
"description": "Title for error stack, which is displayed for debugging purposes"
},
"estimatedProcessingTimes": {
"message": "Tiempos de procesamiento estimados"
},
"ethGasPriceFetchWarning": {
"message": "Se muestra el precio del gas de respaldo, ya que el servicio para calcular el precio del gas principal no se encuentra disponible en este momento."
},
@ -1050,9 +1038,6 @@
"fast": {
"message": "Rápido"
},
"fastest": {
"message": "El más rápido"
},
"feeAssociatedRequest": {
"message": "Esta solicitud tiene asociada una tarifa."
},
@ -1767,12 +1752,6 @@
"newToMetaMask": {
"message": "¿Es nuevo en MetaMask?"
},
"newTotal": {
"message": "Total nuevo"
},
"newTransactionFee": {
"message": "Tarifa de transacción nueva"
},
"newValues": {
"message": "nuevos valores"
},
@ -2357,9 +2336,6 @@
"seedPhraseWriteDownHeader": {
"message": "Anote su frase secreta de recuperación"
},
"selectAHigherGasFee": {
"message": "Seleccione una tarifa de gas más alta para acelerar el procesamiento de la transacción.*"
},
"selectAccounts": {
"message": "Seleccione la(s) cuenta(s) a usar en este sitio"
},
@ -2393,9 +2369,6 @@
"send": {
"message": "Enviar"
},
"sendAmount": {
"message": "Enviar monto"
},
"sendSpecifiedTokens": {
"message": "Enviar $1",
"description": "Symbol of the specified token"
@ -2497,9 +2470,6 @@
"skipAccountSecurityDetails": {
"message": "Entiendo que hasta que no haga una copia de seguridad de mi frase secreta de recuperación, puedo perder mis cuentas y todos los activos asociados."
},
"slow": {
"message": "Lento"
},
"somethingWentWrong": {
"message": "Lo lamentamos, se produjo un error."
},

@ -8,9 +8,6 @@
"about": {
"message": "Teave"
},
"acceleratingATransaction": {
"message": "* Tehingu kiirendamine kõrgemate gaasihindadega suurendab võimalust kiiremaks võrgus töötlemiseks, kuid see ei ole alati tagatud."
},
"accessingYourCamera": {
"message": "Kaamerale ligipääs..."
},
@ -250,12 +247,6 @@
"custom": {
"message": "Täpsemad"
},
"customGas": {
"message": "Gaasi kohandamine"
},
"customGasSubTitle": {
"message": "Tasu suurendamine võib töötlemisaegu vähendada, kuid see ei ole tagatud."
},
"customToken": {
"message": "Kohandatud luba"
},
@ -340,9 +331,6 @@
"enterPasswordContinue": {
"message": "Jätkamiseks sisestage parool"
},
"estimatedProcessingTimes": {
"message": "Eeldatavad töötlemisajad"
},
"ethereumPublicAddress": {
"message": "Ethereumi avalik aadress"
},
@ -594,12 +582,6 @@
"newToMetaMask": {
"message": "Pole MetaMaski varem kasutanud?"
},
"newTotal": {
"message": "Uus kogusumma"
},
"newTransactionFee": {
"message": "Uus vahendustasu"
},
"next": {
"message": "Edasi"
},
@ -800,9 +782,6 @@
"seedPhraseReq": {
"message": "Seemnefraasid on 12 sõna pikad"
},
"selectAHigherGasFee": {
"message": "Valige suurem gaasihind, et kiirendada tehingu töötlemist.*"
},
"selectAnAccount": {
"message": "Valige konto"
},
@ -821,9 +800,6 @@
"send": {
"message": "Saada"
},
"sendAmount": {
"message": "Saatke kogus"
},
"sendTokens": {
"message": "Saada lube"
},
@ -866,9 +842,6 @@
"signed": {
"message": "Allkirjastatud"
},
"slow": {
"message": "Aeglane"
},
"somethingWentWrong": {
"message": "Oih! Midagi läks valesti."
},

@ -8,9 +8,6 @@
"about": {
"message": "درباره"
},
"acceleratingATransaction": {
"message": "* تسریع یک معامله با استفاده از قیمت بالاتر گاز، فرصت تسریع پروسس آنرا توسط شبکه افزایش میدهد اما همیشه این تضمین نمیشود."
},
"accessingYourCamera": {
"message": "در حال دسترسی به کمره شما..."
},
@ -250,12 +247,6 @@
"custom": {
"message": "پیشرفته"
},
"customGas": {
"message": "گاز دلخواه"
},
"customGasSubTitle": {
"message": "اضافه نمودن فیس ممکن زمان پروسس را کاهش دهد، اما تضمین نمیشود."
},
"customToken": {
"message": "رمزیاب دلخواه"
},
@ -340,9 +331,6 @@
"enterPasswordContinue": {
"message": "برای ادامه رمز عبور را وارد کنید"
},
"estimatedProcessingTimes": {
"message": "زمان های تخمینی پروسس"
},
"ethereumPublicAddress": {
"message": "آدرس عمومی ایتریم"
},
@ -604,12 +592,6 @@
"newToMetaMask": {
"message": "آیا به MetaMask جدید هستید؟"
},
"newTotal": {
"message": "مجموع جدید"
},
"newTransactionFee": {
"message": "فیس جدید معامله"
},
"next": {
"message": "بعدی"
},
@ -810,9 +792,6 @@
"seedPhraseReq": {
"message": "عبارات بازیاب 12 کلمه اند"
},
"selectAHigherGasFee": {
"message": "یک فیس بالاتر گاز را انتخاب نمایید تا پروسس معامله تان تسریع یابد.*"
},
"selectAnAccount": {
"message": "یک حساب را انتخاب کنید"
},
@ -831,9 +810,6 @@
"send": {
"message": "ارسال"
},
"sendAmount": {
"message": "ارسال مبلغ"
},
"sendTokens": {
"message": "رمزیاب ها را ارسال کنید"
},
@ -876,9 +852,6 @@
"signed": {
"message": "وارد شد"
},
"slow": {
"message": "آهسته"
},
"somethingWentWrong": {
"message": "اوه! مشکلی پیش آمده."
},

@ -8,9 +8,6 @@
"about": {
"message": "Tietoja asetuksista"
},
"acceleratingATransaction": {
"message": "* Tapahtuman nopeuttaminen käyttämällä korkeampaa gas-hintaa parantaa mahdollisuutta, että verkko käsittelee sen nopeammin, mutta tämä ei ole aina taattua."
},
"accessingYourCamera": {
"message": "Muodostamme yhteyttä kameraasi..."
},
@ -250,12 +247,6 @@
"custom": {
"message": "Lisäasetukset"
},
"customGas": {
"message": "Mukauta bensa"
},
"customGasSubTitle": {
"message": "Taksan korottaminen saattaa vähentää käsittelyaikaa, mutta siitä ei anneta takeita."
},
"customToken": {
"message": "Mukautettu tietue"
},
@ -340,9 +331,6 @@
"enterPasswordContinue": {
"message": "Syötä salasana voidaksesi jatkaa"
},
"estimatedProcessingTimes": {
"message": "Arvioidut käsittelyajat"
},
"ethereumPublicAddress": {
"message": "Ethereumin julkinen osoite"
},
@ -604,12 +592,6 @@
"newToMetaMask": {
"message": "Onko MetaMask ennestään outo?"
},
"newTotal": {
"message": "Uusi kokonaissumma"
},
"newTransactionFee": {
"message": "Uusi tapahtumamaksu"
},
"next": {
"message": "Seuraava"
},
@ -807,9 +789,6 @@
"seedPhraseReq": {
"message": "Juurilauseet ovat 12 sanan pituisia"
},
"selectAHigherGasFee": {
"message": "Valitse korkeampi bensataksa vauhdittaaksesi tapahtumasi käsittelyä.*"
},
"selectAnAccount": {
"message": "Valitse tili"
},
@ -828,9 +807,6 @@
"send": {
"message": "Lähetä"
},
"sendAmount": {
"message": "Lähetä summa"
},
"sendTokens": {
"message": "Lähetä tietueita"
},
@ -873,9 +849,6 @@
"signed": {
"message": "Allekirjoitettu"
},
"slow": {
"message": "Hidas"
},
"somethingWentWrong": {
"message": "Hupsis! Jotakin meni pieleen."
},

@ -8,9 +8,6 @@
"about": {
"message": "Tungkol sa"
},
"acceleratingATransaction": {
"message": "* Ang pagpapabilis sa isang transaksyon sa pamamagitan ng paggamit ng mas mataas na presyo ng gas ay makakadagdag sa tsansa nitong maproseso ng network nang mas mabilis, pero hindi ito palaging garantisado."
},
"accessingYourCamera": {
"message": "Ina-access ang iyong camera..."
},
@ -226,12 +223,6 @@
"currentLanguage": {
"message": "Kasalukuyang Wika"
},
"customGas": {
"message": "I-customize ang Gas"
},
"customGasSubTitle": {
"message": "Maaaring mas bumilis ang pagpoproseso kapag dinagdagan ang fee, pero hindi ito garantisado."
},
"customToken": {
"message": "Custom na Token"
},
@ -316,9 +307,6 @@
"enterPasswordContinue": {
"message": "Ilagay ang password para magpatuloy"
},
"estimatedProcessingTimes": {
"message": "Tinatantiyang Tagal ng Pagproseso"
},
"etherscanView": {
"message": "Tingnan ang account sa Etherscan"
},
@ -538,12 +526,6 @@
"newToMetaMask": {
"message": "Bago ka ba sa MetaMask?"
},
"newTotal": {
"message": "Bagong Total"
},
"newTransactionFee": {
"message": "Bagong Transaction Fee"
},
"next": {
"message": "Susunod"
},
@ -728,9 +710,6 @@
"seedPhraseReq": {
"message": "Ang mga seed phrase ay may habang 12 salita"
},
"selectAHigherGasFee": {
"message": "Pumili ng mas mataas na gas fee para pabilisin ang pagproseso ng iyong transaksyon.*"
},
"selectAnAccount": {
"message": "Pumili ng Account"
},
@ -749,9 +728,6 @@
"send": {
"message": "Ipadala"
},
"sendAmount": {
"message": "Magpadala ng Halaga"
},
"sendTokens": {
"message": "Magpadala ng Mga Token"
},
@ -788,9 +764,6 @@
"signed": {
"message": "Na-sign"
},
"slow": {
"message": "Mabagal"
},
"somethingWentWrong": {
"message": "Oops! Nagkaroon ng problema."
},

@ -101,9 +101,6 @@
"about": {
"message": "À propos"
},
"acceleratingATransaction": {
"message": "* Accélérer une transaction en utilisant un prix de l’essence plus élevé augmente ses chances d’être traitée plus rapidement par le réseau, mais ce n’est pas toujours garanti."
},
"acceptTermsOfUse": {
"message": "J’ai lu et j’accepte les $1",
"description": "$1 is the `terms` message"
@ -852,16 +849,10 @@
"customContentSearch": {
"message": "Chercher un réseau ajouté précédemment"
},
"customGas": {
"message": "Personnaliser les frais de transaction"
},
"customGasSettingToolTipMessage": {
"message": "Utilisez $1 pour personnaliser le prix du carburant. Cela peut porter à confusion si vous n’en avez pas l’habitude. Agissez avec prudence!",
"description": "$1 is key 'advanced' (text: 'Advanced') separated here so that it can be passed in with bold font-weight"
},
"customGasSubTitle": {
"message": "Augmenter le tarif peut faire baisser le temps de traitement, mais cela n’est pas garanti."
},
"customSpendLimit": {
"message": "Limite de dépenses personnalisée"
},
@ -1300,9 +1291,6 @@
"message": "Stack:",
"description": "Title for error stack, which is displayed for debugging purposes"
},
"estimatedProcessingTimes": {
"message": "Délais de traitement estimés"
},
"ethGasPriceFetchWarning": {
"message": "Le prix de carburant de sauvegarde est fourni, car le service principal d’estimation du carburant est momentanément indisponible."
},
@ -1348,9 +1336,6 @@
"fast": {
"message": "Rapide"
},
"fastest": {
"message": "Plus rapide"
},
"feeAssociatedRequest": {
"message": "Des frais sont associés à cette demande."
},
@ -2234,12 +2219,6 @@
"newTokensImportedTitle": {
"message": "Jeton importé"
},
"newTotal": {
"message": "Nouveau total"
},
"newTransactionFee": {
"message": "Coût de la nouvelle transaction"
},
"newValues": {
"message": "nouvelles valeurs"
},
@ -3061,9 +3040,6 @@
"seedPhraseWriteDownHeader": {
"message": "Notez votre phrase secrète de récupération"
},
"selectAHigherGasFee": {
"message": "Choisissez des frais de carburant plus élevés pour accélérer le traitement de votre transaction*."
},
"selectAccounts": {
"message": "Sélectionnez le(s) compte(s) à utiliser sur ce site"
},
@ -3097,9 +3073,6 @@
"send": {
"message": "Envoyer"
},
"sendAmount": {
"message": "Envoyer le montant"
},
"sendBugReport": {
"message": "Envoyez-nous un rapport de bogue."
},
@ -3234,9 +3207,6 @@
"skipAccountSecurityDetails": {
"message": "Je suis conscient(e) que tant que je n’aurai pas sauvegardé ma phrase secrète de récupération, je risque de perdre mes comptes et tous leurs actifs."
},
"slow": {
"message": "Lente"
},
"smartTransaction": {
"message": "Transaction intelligente"
},

@ -136,9 +136,6 @@
"settings": {
"message": "સિસ"
},
"slow": {
"message": "ધ"
},
"tryAgain": {
"message": "ફરરયસ કર"
},

@ -8,9 +8,6 @@
"about": {
"message": "מידע כללי"
},
"acceleratingATransaction": {
"message": "* האצת עסקה על ידי שימוש במחיר דלק גבוה יותר מגדילה את סיכוייה לעבור עיבוד מהיר יותר ע\"י הרשת, אך זה לא תמיד מובטח."
},
"accessingYourCamera": {
"message": "ניגש למצלמה שלך ..."
},
@ -250,12 +247,6 @@
"custom": {
"message": "מתקדם"
},
"customGas": {
"message": "התאמה אישית של דלק"
},
"customGasSubTitle": {
"message": "הגדלת התשלום עשויה לצמצם את זמני העיבוד, אבל אין ערובה לכך."
},
"customToken": {
"message": "אסימון מותאם אישית"
},
@ -340,9 +331,6 @@
"enterPasswordContinue": {
"message": "יש להזין ססמה כדי להמשיך"
},
"estimatedProcessingTimes": {
"message": "זמני עיבוד משוערים"
},
"ethereumPublicAddress": {
"message": "כתובת אתריום ציבורית"
},
@ -601,12 +589,6 @@
"newToMetaMask": {
"message": "חדש/ה ב- MetaMask?"
},
"newTotal": {
"message": "סכום כולל חדש"
},
"newTransactionFee": {
"message": "עמלת עסקה חדשה"
},
"next": {
"message": "הבא"
},
@ -804,9 +786,6 @@
"seedPhraseReq": {
"message": "צירופי גרעין מורכבים מ-12 מילים"
},
"selectAHigherGasFee": {
"message": "בחר/י בעמלת דלק גבוהה יותר כדי להאיץ את עיבוד העסקה שלך. *"
},
"selectAnAccount": {
"message": "בחר חשבון"
},
@ -825,9 +804,6 @@
"send": {
"message": "שלח"
},
"sendAmount": {
"message": "שלח סכום"
},
"sendTokens": {
"message": "שלח טוקנים"
},
@ -870,9 +846,6 @@
"signed": {
"message": "חתום"
},
"slow": {
"message": "אטי"
},
"somethingWentWrong": {
"message": "אופס! משהו השתבש."
},

@ -101,9 +101,6 @@
"about": {
"message": "इसक"
},
"acceleratingATransaction": {
"message": "* गस क उचच कमत क उपयग करकनदन मटवरक दित हवन बढ, लिन हम इसक नह।"
},
"acceptTermsOfUse": {
"message": "म $1 पढि और म सहमत ह",
"description": "$1 is the `terms` message"
@ -852,16 +849,10 @@
"customContentSearch": {
"message": "पहलए नटवरक किए ख"
},
"customGas": {
"message": "गस अनित कर"
},
"customGasSettingToolTipMessage": {
"message": "गस कमत क अनित करनिए $1 क उपयग कर। यदि आप परिित नहमक ह सकत। अपनि पर बतचत कर।",
"description": "$1 is key 'advanced' (text: 'Advanced') separated here so that it can be passed in with bold font-weight"
},
"customGasSubTitle": {
"message": "शक बढरसकरण समय म कम सकत, लिन इसक नह।"
},
"customSpendLimit": {
"message": "कसटम खरच स"
},
@ -1300,9 +1291,6 @@
"message": "सक:",
"description": "Title for error stack, which is displayed for debugging purposes"
},
"estimatedProcessingTimes": {
"message": "अनित पिग समय"
},
"ethGasPriceFetchWarning": {
"message": "बकअप गस कमत परदन किय गस अनन सरिस अभ उपलबध नह।"
},
@ -1348,9 +1336,6 @@
"fast": {
"message": "तज"
},
"fastest": {
"message": "सबसज"
},
"feeAssociatedRequest": {
"message": "इस अनध कथ एक शक जआ ह।"
},
@ -2234,12 +2219,6 @@
"newTokensImportedTitle": {
"message": "टकन इमट ह गय"
},
"newTotal": {
"message": "नयलयग"
},
"newTransactionFee": {
"message": "नयनदन शक"
},
"newValues": {
"message": "नए मन"
},
@ -3061,9 +3040,6 @@
"seedPhraseWriteDownHeader": {
"message": "अपनट रिकवरज लि"
},
"selectAHigherGasFee": {
"message": "अपननदन करकििए उचच गस शक क चयन कर। *"
},
"selectAccounts": {
"message": "इस सइट पर उपयग करनिए ख (ख) क चयन कर"
},
@ -3097,9 +3073,6 @@
"send": {
"message": "भ"
},
"sendAmount": {
"message": "रि"
},
"sendBugReport": {
"message": "हम एक बग रिट भ।"
},
@ -3234,9 +3207,6 @@
"skipAccountSecurityDetails": {
"message": "म समझति जब तक म अपनट रिकवरज ककअप नह, म अपन और उनक सभपति सकत।"
},
"slow": {
"message": "ध"
},
"smartTransaction": {
"message": "सट लनदन"
},

@ -72,9 +72,6 @@
"createAccount": {
"message": "ख बन"
},
"customGas": {
"message": "अनित करस"
},
"decimal": {
"message": "दशमलव परिधत"
},

@ -8,9 +8,6 @@
"about": {
"message": "O opcijama"
},
"acceleratingATransaction": {
"message": "* Ubrzavanjem se transakcije pomoću veće cijene goriva povećava šansa za bržu obradu mrežom, ali se uvijek ne jamči."
},
"accessingYourCamera": {
"message": "Pristupanje vašoj kameri..."
},
@ -250,12 +247,6 @@
"custom": {
"message": "Napredno"
},
"customGas": {
"message": "Prilagodi gorivo"
},
"customGasSubTitle": {
"message": "Povećavanjem se naknade može smanjiti vrijeme obrade, ali se ne jamči."
},
"customToken": {
"message": "Prilagođeni token"
},
@ -340,9 +331,6 @@
"enterPasswordContinue": {
"message": "Upišite lozinku za nastavak"
},
"estimatedProcessingTimes": {
"message": "Procijenjeno vrijeme obrade"
},
"ethereumPublicAddress": {
"message": "Javna adresa Ethereum"
},
@ -597,12 +585,6 @@
"newToMetaMask": {
"message": "Novi korisnik usluge MetaMask?"
},
"newTotal": {
"message": "Novi ukupni zbroj"
},
"newTransactionFee": {
"message": "Nova naknada za transakciju"
},
"next": {
"message": "Sljedeće"
},
@ -803,9 +785,6 @@
"seedPhraseReq": {
"message": "Početne rečenice imaju 12 riječi"
},
"selectAHigherGasFee": {
"message": "Odaberite višu naknadu za gorivo kako biste ubrzali obrađivanje vaše transakcije.*"
},
"selectAnAccount": {
"message": "Odaberi račun"
},
@ -824,9 +803,6 @@
"send": {
"message": "Pošalji"
},
"sendAmount": {
"message": "Odaberi iznos"
},
"sendTokens": {
"message": "Pošalji tokene"
},
@ -869,9 +845,6 @@
"signed": {
"message": "Potpisano"
},
"slow": {
"message": "Sporo"
},
"somethingWentWrong": {
"message": "Ups! Nešto je pošlo po zlu."
},

@ -144,9 +144,6 @@
"currentLanguage": {
"message": "Lang Aktyèl"
},
"customGas": {
"message": "Koutim Gaz"
},
"customToken": {
"message": "Koutim Token"
},

@ -8,9 +8,6 @@
"about": {
"message": "Névjegy"
},
"acceleratingATransaction": {
"message": "* Ha szeretné felgyorsítani a tranzakciót azzal, hogy magasabb gázárat használ, az növeli a gyorsabb feldolgozás esélyét, de ez nem mindig garantált."
},
"accessingYourCamera": {
"message": "Kamerához való hozzáférés..."
},
@ -250,12 +247,6 @@
"custom": {
"message": "Speciális"
},
"customGas": {
"message": "Gáz testreszabása"
},
"customGasSubTitle": {
"message": "A díj növelése csökkentheti a feldolgozási időt, de ez nem garantált."
},
"customToken": {
"message": "Egyéni token"
},
@ -340,9 +331,6 @@
"enterPasswordContinue": {
"message": "A folytatáshoz adja meg a jelszót"
},
"estimatedProcessingTimes": {
"message": "Becsült feldolgozási idők"
},
"ethereumPublicAddress": {
"message": "Ethereum nyilvános címe"
},
@ -597,12 +585,6 @@
"newToMetaMask": {
"message": "Új a MetaMask-on?"
},
"newTotal": {
"message": "Új végösszeg"
},
"newTransactionFee": {
"message": "Új tranzakciós költség"
},
"next": {
"message": "Következő"
},
@ -803,9 +785,6 @@
"seedPhraseReq": {
"message": "A seed mondat 12 szóból áll"
},
"selectAHigherGasFee": {
"message": "Válasszon magasabb gázdíjat az ügylet feldolgozásának gyorsításához.*"
},
"selectAnAccount": {
"message": "Válasszon fiókot"
},
@ -824,9 +803,6 @@
"send": {
"message": "Küldés"
},
"sendAmount": {
"message": "Összeg küldése"
},
"sendTokens": {
"message": "Token küldése"
},
@ -869,9 +845,6 @@
"signed": {
"message": "Aláírva"
},
"slow": {
"message": "Lassú"
},
"somethingWentWrong": {
"message": "Hoppá! Valami hiba történt..."
},

@ -101,9 +101,6 @@
"about": {
"message": "Tentang"
},
"acceleratingATransaction": {
"message": "* Mempercepat transaksi dengan biaya gas yang lebih tinggi akan meningkatkan peluang untuk diproses oleh jaringan lebih cepat, namun tidak selalu terjamin."
},
"acceptTermsOfUse": {
"message": "Saya telah membaca dan menyetujui $1",
"description": "$1 is the `terms` message"
@ -852,16 +849,10 @@
"customContentSearch": {
"message": "Cari jaringan yang ditambahkan sebelumnya"
},
"customGas": {
"message": "Sesuaikan gas"
},
"customGasSettingToolTipMessage": {
"message": "Gunakan $1 untuk menyesuaikan harga gas. Anda akan bingung jika tidak terbiasa. Berinteraksi dengan risiko Anda sendiri.",
"description": "$1 is key 'advanced' (text: 'Advanced') separated here so that it can be passed in with bold font-weight"
},
"customGasSubTitle": {
"message": "Menaikkan biaya dapat mengurangi waktu pemrosesan, namun tidak ada jaminan."
},
"customSpendLimit": {
"message": "Batas penggunaan kustom"
},
@ -1300,9 +1291,6 @@
"message": "Tumpukan:",
"description": "Title for error stack, which is displayed for debugging purposes"
},
"estimatedProcessingTimes": {
"message": "Estimasi waktu pemrosesan"
},
"ethGasPriceFetchWarning": {
"message": "Biaya gas cadangan diberikan karena layanan estimasi gas utama saat ini tidak tersedia."
},
@ -1348,9 +1336,6 @@
"fast": {
"message": "Cepat"
},
"fastest": {
"message": "Tercepat"
},
"feeAssociatedRequest": {
"message": "Biaya dikaitkan dengan permintaan ini."
},
@ -2234,12 +2219,6 @@
"newTokensImportedTitle": {
"message": "Token diimpor"
},
"newTotal": {
"message": "Total baru"
},
"newTransactionFee": {
"message": "Biaya transaksi baru"
},
"newValues": {
"message": "nilai baru"
},
@ -3061,9 +3040,6 @@
"seedPhraseWriteDownHeader": {
"message": "Tuliskan Frasa Pemulihan Rahasia Anda"
},
"selectAHigherGasFee": {
"message": "Pilih biaya gas yang lebih tinggi untuk mempercepat pemrosesan transaksi Anda.*"
},
"selectAccounts": {
"message": "Pilih akun"
},
@ -3097,9 +3073,6 @@
"send": {
"message": "Kirim"
},
"sendAmount": {
"message": "Kirim jumlah"
},
"sendBugReport": {
"message": "Kirimi kami laporan bug."
},
@ -3234,9 +3207,6 @@
"skipAccountSecurityDetails": {
"message": "Saya memahami bahwa sampai saya mencadangkan Frasa Pemulihan Rahasia, saya dapat kehilangan akun saya dan semua aset yang ada."
},
"slow": {
"message": "Lambat"
},
"smartTransaction": {
"message": "Transaksi pintar"
},

@ -8,9 +8,6 @@
"about": {
"message": "Informazioni"
},
"acceleratingATransaction": {
"message": "* Accelerare una transazione usando un prezzo del gas maggiore aumenta la probabilità che la rete la elabori più velocemente, ma non è garantito."
},
"acceptTermsOfUse": {
"message": "Ho letto e accetto i $1",
"description": "$1 is the `terms` message"
@ -367,12 +364,6 @@
"custom": {
"message": "Avanzate"
},
"customGas": {
"message": "Personalizza Gas"
},
"customGasSubTitle": {
"message": "Incrementare il costo potrebbe diminuire il tempo di elaborazione, ma non è garantito."
},
"customSpendLimit": {
"message": "Limite Spesa Personalizzato"
},
@ -541,9 +532,6 @@
"message": "MetaMask ha riscontrato un errore",
"description": "Title of generic error page"
},
"estimatedProcessingTimes": {
"message": "Tempi di Elaborazione Stimati"
},
"ethereumPublicAddress": {
"message": "Indirizzo pubblico Ethereum "
},
@ -571,9 +559,6 @@
"fast": {
"message": "Veloce"
},
"fastest": {
"message": "Più veloce"
},
"feeAssociatedRequest": {
"message": "Una tassa è associata a questa richiesta."
},
@ -935,12 +920,6 @@
"newToMetaMask": {
"message": "Nuovo su MetaMask?"
},
"newTotal": {
"message": "Nuovo Totale"
},
"newTransactionFee": {
"message": "Costo in gas per la Transazione"
},
"next": {
"message": "Avanti"
},
@ -1200,9 +1179,6 @@
"seedPhraseReq": {
"message": "le frasi seed sono lunghe 12 parole"
},
"selectAHigherGasFee": {
"message": "Seleziona un costo in gas maggiore per accelerare l'elaborazione della transazione.*"
},
"selectAccounts": {
"message": "Seleziona account"
},
@ -1230,9 +1206,6 @@
"send": {
"message": "Invia"
},
"sendAmount": {
"message": "Invia Importo"
},
"sendSpecifiedTokens": {
"message": "Invia $1",
"description": "Symbol of the specified token"
@ -1288,9 +1261,6 @@
"signed": {
"message": "Firmata"
},
"slow": {
"message": "Lenta"
},
"somethingWentWrong": {
"message": "Oops! Qualcosa è andato storto."
},

@ -101,9 +101,6 @@
"about": {
"message": "バージョン情報"
},
"acceleratingATransaction": {
"message": "*より高いガス代を使用してトランザクションを加速すると、ネットワーク処理の高速化の可能性が増しますが、これは常に保証されるわけではありません。"
},
"acceptTermsOfUse": {
"message": "$1を読んで同意しました",
"description": "$1 is the `terms` message"
@ -852,16 +849,10 @@
"customContentSearch": {
"message": "以前追加されたネットワークを検索"
},
"customGas": {
"message": "ガスのカスタマイズ"
},
"customGasSettingToolTipMessage": {
"message": "ガス代をカスタマイズするには$1を使用します。慣れていない場合はわかりにくい可能性があります。自己責任で操作してください。",
"description": "$1 is key 'advanced' (text: 'Advanced') separated here so that it can be passed in with bold font-weight"
},
"customGasSubTitle": {
"message": "手数料を増やすと処理時間は短くなる可能性がありますが、必ずそうなるとは限りません。"
},
"customSpendLimit": {
"message": "カスタム使用限度額"
},
@ -1300,9 +1291,6 @@
"message": "スタック:",
"description": "Title for error stack, which is displayed for debugging purposes"
},
"estimatedProcessingTimes": {
"message": "推定処理時間"
},
"ethGasPriceFetchWarning": {
"message": "現在メインのガスの見積もりサービスが利用できないため、バックアップのガス代が提供されています。"
},
@ -1348,9 +1336,6 @@
"fast": {
"message": "高速"
},
"fastest": {
"message": "最高速"
},
"feeAssociatedRequest": {
"message": "手数料はこのリクエストに関連付けられています。"
},
@ -2234,12 +2219,6 @@
"newTokensImportedTitle": {
"message": "トークンがインポートされました"
},
"newTotal": {
"message": "新しい総額"
},
"newTransactionFee": {
"message": "新しいトランザクション手数料"
},
"newValues": {
"message": "新しい値"
},
@ -3061,9 +3040,6 @@
"seedPhraseWriteDownHeader": {
"message": "シークレットリカバリーフレーズを書き留めてください"
},
"selectAHigherGasFee": {
"message": "トランザクションの処理を加速させるには、より高いガス代を選択します。*"
},
"selectAccounts": {
"message": "このサイトに使用するアカウントを選択してください"
},
@ -3097,9 +3073,6 @@
"send": {
"message": "送金"
},
"sendAmount": {
"message": "送金額"
},
"sendBugReport": {
"message": "バグレポートをお送りください。"
},
@ -3234,9 +3207,6 @@
"skipAccountSecurityDetails": {
"message": "私は、シークレットリカバリーフレーズをバックアップするまで、アカウントとそのアセットのすべてを失う可能性があることを理解しています。"
},
"slow": {
"message": "低速"
},
"smartTransaction": {
"message": "スマートトランザクション"
},

@ -8,9 +8,6 @@
"about": {
"message": "ಕಿ"
},
"acceleratingATransaction": {
"message": "* ಹಿನ ಗಯನ ಬಳಸಿ ವಹಿಟನಗಗಿದರಿದ ನವರಗವಿರಕಿವ ಸಯತಗಳನ ಅದಿತದ, ಆದರ ಇದಗಲ ಖಚಿತವಿಿಲ."
},
"accessingYourCamera": {
"message": "ನಿಮ ಕಮರವನರವಿಸಲಿ..."
},
@ -250,12 +247,6 @@
"custom": {
"message": "ಸಿತ"
},
"customGas": {
"message": "ಗ ಕಸಟಮಿ"
},
"customGasSubTitle": {
"message": "ಹಿವ ಶಕವರಕಿಿವ ಸಮಯದಲಿ ಕಡಿತದ ಆದರ ಇದ ಖಚಿತವಿಲ."
},
"customToken": {
"message": "ಕಸಟಮಕನ"
},
@ -340,9 +331,6 @@
"enterPasswordContinue": {
"message": "ಮವರಯಲವರ ನಮಿಿ"
},
"estimatedProcessingTimes": {
"message": "ಅರಕಿ ಸಮಯ"
},
"ethereumPublicAddress": {
"message": "ಎಥಿಯಮವಜನಿಕ ವಿಸ"
},
@ -604,12 +592,6 @@
"newToMetaMask": {
"message": "MetaMask ಗಸಬರ?"
},
"newTotal": {
"message": "ಹಸ ಮತ"
},
"newTransactionFee": {
"message": "ಹಸ ವಹಿಕ"
},
"next": {
"message": "ಮ"
},
@ -810,9 +792,6 @@
"seedPhraseReq": {
"message": "ಸಗಳ 12 ಪದಗಳಷಘವಿ"
},
"selectAHigherGasFee": {
"message": "ನಿಮ ವಹಿಿನ ಪರಕಿಯನಿಸಲ ಅಧಿಕ ಗಕವನ ಆಯಿ.*"
},
"selectAnAccount": {
"message": "ಖಯನ ಆಯಿ"
},
@ -831,9 +810,6 @@
"send": {
"message": "ಕಳಿ"
},
"sendAmount": {
"message": "ಮತವನ ಕಳಿಿ"
},
"sendTokens": {
"message": "ಟಕನಗಳನ ಕಳಿಿ"
},
@ -876,9 +852,6 @@
"signed": {
"message": "ಸಹಿಡಲಿ"
},
"slow": {
"message": "ನಿನ"
},
"somethingWentWrong": {
"message": "ಓಹ! ಏನ ತಪಿ."
},

@ -101,9 +101,6 @@
"about": {
"message": "정보"
},
"acceleratingATransaction": {
"message": "* 높은 가스 가격을 이용해 거래를 가속화하면 네트워크를 통한 처리 속도가 개선되지만 항상 그렇지는 않습니다."
},
"acceptTermsOfUse": {
"message": "$1의 내용을 읽고 이에 동의합니다.",
"description": "$1 is the `terms` message"
@ -852,16 +849,10 @@
"customContentSearch": {
"message": "이전에 추가된 네트워크 검색"
},
"customGas": {
"message": "가스 커스터마이징"
},
"customGasSettingToolTipMessage": {
"message": "$1을(를) 사용하여 가스 가격을 맞춤설정하세요. 익숙하지 않은 경우 혼동될 수 있습니다. 자신의 책임하에 상호 작용하세요.",
"description": "$1 is key 'advanced' (text: 'Advanced') separated here so that it can be passed in with bold font-weight"
},
"customGasSubTitle": {
"message": "수수료를 올리면 처리 시간이 단축되기도 하지만 항상 그렇지는 않습니다."
},
"customSpendLimit": {
"message": "커스텀 지출 한도"
},
@ -1300,9 +1291,6 @@
"message": "스택:",
"description": "Title for error stack, which is displayed for debugging purposes"
},
"estimatedProcessingTimes": {
"message": "예상 처리 시간"
},
"ethGasPriceFetchWarning": {
"message": "현재 주요 가스 견적 서비스를 사용할 수 없으므로 백업 가스 가격을 제공합니다."
},
@ -1348,9 +1336,6 @@
"fast": {
"message": "빠름"
},
"fastest": {
"message": "가장 빠름"
},
"feeAssociatedRequest": {
"message": "수수료가 이 요청과 연결되어 있습니다."
},
@ -2234,12 +2219,6 @@
"newTokensImportedTitle": {
"message": "불러온 토큰"
},
"newTotal": {
"message": "새 합계"
},
"newTransactionFee": {
"message": "새 트랜잭션 수수료"
},
"newValues": {
"message": "새로운 가치"
},
@ -3061,9 +3040,6 @@
"seedPhraseWriteDownHeader": {
"message": "비밀 복구 구문 기록"
},
"selectAHigherGasFee": {
"message": "높은 가스 수수료를 선택하면 거래 처리 속도를 높일 수 있습니다.*"
},
"selectAccounts": {
"message": "계정 선택"
},
@ -3097,9 +3073,6 @@
"send": {
"message": "보내기"
},
"sendAmount": {
"message": "송금"
},
"sendBugReport": {
"message": "버그 리포트 전송"
},
@ -3234,9 +3207,6 @@
"skipAccountSecurityDetails": {
"message": "본인은 본인의 비밀 복구 구문을 백업하지 않는 한 본인의 계정과 모든 자산을 잃을 수 있다는 사실을 이해합니다."
},
"slow": {
"message": "느림"
},
"smartTransaction": {
"message": "스마트 트랜잭션"
},

@ -8,9 +8,6 @@
"about": {
"message": "Apie"
},
"acceleratingATransaction": {
"message": "Operacijos paspartinimas naudojantis didesne dujų kaina padidina galimybes, kad ji bus greičiau apdorota tinkle, tačiau tai ne visada garantuojama. "
},
"accessingYourCamera": {
"message": "Kreipiamasi į kamerą..."
},
@ -250,12 +247,6 @@
"custom": {
"message": "Išplėstiniai"
},
"customGas": {
"message": "Pritaikyti dujas"
},
"customGasSubTitle": {
"message": "Didinant mokestį gali mažėti apdorojimo trukmė, bet tai negarantuojama."
},
"customToken": {
"message": "Pritaikytas žetonas"
},
@ -340,9 +331,6 @@
"enterPasswordContinue": {
"message": "Norėdami tęsti, įveskite slaptažodį"
},
"estimatedProcessingTimes": {
"message": "Numatomos apdorojimo trukmės"
},
"ethereumPublicAddress": {
"message": "„Ethereum“ viešasis adresas"
},
@ -604,12 +592,6 @@
"newToMetaMask": {
"message": "Tik pradedate naudotis „MetaMask“?"
},
"newTotal": {
"message": "Nauja bendra suma"
},
"newTransactionFee": {
"message": "Naujas operacijos mokestis"
},
"next": {
"message": "Toliau"
},
@ -810,9 +792,6 @@
"seedPhraseReq": {
"message": "Atkūrimo frazės yra 12 žodžių ilgio"
},
"selectAHigherGasFee": {
"message": "Pasirinkite didesnį dujų mokestį, kad paspartintumėte savo operacijos apdorojimą.*"
},
"selectAnAccount": {
"message": "Pasirinkite paskyrą"
},
@ -831,9 +810,6 @@
"send": {
"message": "Siųsti"
},
"sendAmount": {
"message": "Siųsti sumą"
},
"sendTokens": {
"message": "Siųsti žetonus"
},
@ -876,9 +852,6 @@
"signed": {
"message": "Pasirašyta"
},
"slow": {
"message": "Lėtas"
},
"somethingWentWrong": {
"message": "Vaje! Kažkas negerai."
},

@ -8,9 +8,6 @@
"about": {
"message": "Par"
},
"acceleratingATransaction": {
"message": "* Darījuma paātrināšana, izmantojot augstāku Gas cenu, palielina iespēju, ka tīkls to apstrādās ātrāk, taču tas nav garantēts."
},
"accessingYourCamera": {
"message": "Piekļūst kamerai..."
},
@ -250,12 +247,6 @@
"custom": {
"message": "Papildu"
},
"customGas": {
"message": "Pielāgot Gas"
},
"customGasSubTitle": {
"message": "Nodevas palielināšana var saīsināt apstrādes laiku, bet ne garantēti."
},
"customToken": {
"message": "Pielāgots marķieris"
},
@ -340,9 +331,6 @@
"enterPasswordContinue": {
"message": "Ievadiet paroli, lai turpinātu"
},
"estimatedProcessingTimes": {
"message": "Aprēķinātais apstrādes laiks"
},
"ethereumPublicAddress": {
"message": "Ethereum publiskā adrese"
},
@ -600,12 +588,6 @@
"newToMetaMask": {
"message": "Nepazīstat MetaMask?"
},
"newTotal": {
"message": "Jaunā kopsumma"
},
"newTransactionFee": {
"message": "Jauna darījuma nodeva"
},
"next": {
"message": "Nākamais"
},
@ -806,9 +788,6 @@
"seedPhraseReq": {
"message": "Atkopšanas frāzes ir 12 vārdus garas"
},
"selectAHigherGasFee": {
"message": "Atlasiet lielāku maksu par Gas, lai paātrinātu darījuma apstrādi.*"
},
"selectAnAccount": {
"message": "Atlasiet kontu"
},
@ -827,9 +806,6 @@
"send": {
"message": "Sūtīt"
},
"sendAmount": {
"message": "Nosūtītā summa"
},
"sendTokens": {
"message": "Nosūtīt marķierus"
},
@ -872,9 +848,6 @@
"signed": {
"message": "Parakstīts"
},
"slow": {
"message": "Lēns"
},
"somethingWentWrong": {
"message": "Ak vai! Radās problēma."
},

@ -136,9 +136,6 @@
"settings": {
"message": "കരമകരണങങള"
},
"slow": {
"message": "പത"
},
"tryAgain": {
"message": "വരമിക"
},

@ -136,9 +136,6 @@
"settings": {
"message": "सिज"
},
"slow": {
"message": "ध"
},
"tryAgain": {
"message": "परयतन कर"
},

@ -8,9 +8,6 @@
"about": {
"message": "Mengenai"
},
"acceleratingATransaction": {
"message": "* Mempercepatkan transaksi menggunakan harga gas lebih tinggi akan meningkatkan peluang diproses oleh rangkaian lebih cepat, tetapi ini pun tidak sentiasa dijamin."
},
"accessingYourCamera": {
"message": "Mengakses kamera anda..."
},
@ -250,12 +247,6 @@
"custom": {
"message": "Lanjutan"
},
"customGas": {
"message": "Suaikan Gas"
},
"customGasSubTitle": {
"message": "Meningkatkan fi mungkin akan mengurangkan masa pemprosesan, tetapi ia tidak dijamin."
},
"customToken": {
"message": "Token Tersuai"
},
@ -337,9 +328,6 @@
"enterPasswordContinue": {
"message": "Masukkan kata laluan untuk teruskan"
},
"estimatedProcessingTimes": {
"message": "Masa Pemprosesan yang Dijangka"
},
"ethereumPublicAddress": {
"message": "Alamat Awam Ethereum"
},
@ -587,12 +575,6 @@
"newToMetaMask": {
"message": "Baru mengenali MetaMask?"
},
"newTotal": {
"message": "Jumlah Keseluruhan Baru"
},
"newTransactionFee": {
"message": "Fi Transaksi Baru"
},
"next": {
"message": "Seterusnya"
},
@ -790,9 +772,6 @@
"seedPhraseReq": {
"message": "Frasa benih panjangnya 12 patah perkataan"
},
"selectAHigherGasFee": {
"message": "Pilih yuran gas yang lebih tinggi untuk mempercepatkan pemprosesan transaksi anda.*"
},
"selectAnAccount": {
"message": "Pilih Akaun"
},
@ -811,9 +790,6 @@
"send": {
"message": "Hantar"
},
"sendAmount": {
"message": "Hantar Amaun"
},
"sendTokens": {
"message": "Hantar Token"
},
@ -856,9 +832,6 @@
"signed": {
"message": "Ditandatangani"
},
"slow": {
"message": "Perlahan"
},
"somethingWentWrong": {
"message": "Alamak! Ada yang tak kena."
},

@ -72,9 +72,6 @@
"createAccount": {
"message": "Account aanmaken"
},
"customGas": {
"message": "Pas Gas aan"
},
"decimal": {
"message": "Decimalen van precisie"
},

@ -8,9 +8,6 @@
"about": {
"message": "Info"
},
"acceleratingATransaction": {
"message": "* Akselerering av en transaksjon ved å bruke en høyere datakraftspris øker sjansene for å bli behandlet av nettverket raskere, men det er ikke alltid garantert."
},
"accessingYourCamera": {
"message": "Oppretter tilgang til kameraet ditt..."
},
@ -247,12 +244,6 @@
"custom": {
"message": "Avansert"
},
"customGas": {
"message": "Tilpass Gass"
},
"customGasSubTitle": {
"message": "Økt gebyr kan redusere behandlingstiden, men det er ikke garantert."
},
"customToken": {
"message": "Egendefinert token "
},
@ -337,9 +328,6 @@
"enterPasswordContinue": {
"message": "Skriv inn passord for å fortsette"
},
"estimatedProcessingTimes": {
"message": "Anslått behandlingstid"
},
"ethereumPublicAddress": {
"message": "Ethereum offentlig adresse"
},
@ -591,12 +579,6 @@
"newToMetaMask": {
"message": "Ny på MetaMask? "
},
"newTotal": {
"message": "Ny total"
},
"newTransactionFee": {
"message": "Ny transaksjonsavgift"
},
"next": {
"message": "Neste"
},
@ -794,9 +776,6 @@
"seedPhraseReq": {
"message": "Mnemoniske gjenopprettingsfraser består av 12 ord "
},
"selectAHigherGasFee": {
"message": "Velg en høyere gassavgift for å fremskynde transaksjonsbehandlingen.*"
},
"selectAnAccount": {
"message": "Velg en konto"
},
@ -812,9 +791,6 @@
"selectType": {
"message": "Velg type "
},
"sendAmount": {
"message": "Send beløp"
},
"sendTokens": {
"message": "Send tokener"
},
@ -857,9 +833,6 @@
"signed": {
"message": "Signert"
},
"slow": {
"message": "Lav"
},
"somethingWentWrong": {
"message": "Oisann! Noe gikk galt. "
},

@ -2,9 +2,6 @@
"about": {
"message": "Tungkol Dito"
},
"acceleratingATransaction": {
"message": "* Kapag in-accelerate ang transaksyon sa pamamagitan ng paggamit ng mas mataas na presyo ng gas, mas magiging malaki ang tsansang mas mabilis na maiproseso ng network, pero hindi ito palaging ginagarantiya."
},
"acceptTermsOfUse": {
"message": "Nabasa ko at sumasang-ayon ako sa $1",
"description": "$1 is the `terms` message"
@ -436,12 +433,6 @@
"currentLanguage": {
"message": "Kasalukuyang Wika"
},
"customGas": {
"message": "I-customize ang Gas"
},
"customGasSubTitle": {
"message": "Kapag dinagdagan ang bayarin, mababawasan ang mga oras ng pagproseso, pero hindi ito garantisado."
},
"customSpendLimit": {
"message": "Custom na Limitasyon sa Paggastos"
},
@ -641,9 +632,6 @@
"message": "Stack:",
"description": "Title for error stack, which is displayed for debugging purposes"
},
"estimatedProcessingTimes": {
"message": "Mga Tinatantyang Tagal ng Pagproseso"
},
"ethGasPriceFetchWarning": {
"message": "Ibinibigay ang backup na presyo ng gas dahil hindi available ang pangunahing serbisyo sa pagtatantya ng gas sa ngayon."
},
@ -677,9 +665,6 @@
"fast": {
"message": "Mabilis"
},
"fastest": {
"message": "Pinakamabilis"
},
"feeAssociatedRequest": {
"message": "May nauugnay na bayarin para sa request na ito."
},
@ -1121,12 +1106,6 @@
"newToMetaMask": {
"message": "Bago ka ba sa MetaMask?"
},
"newTotal": {
"message": "Bagong Kabuuan"
},
"newTransactionFee": {
"message": "Bagong Bayarin sa Transaksyon"
},
"next": {
"message": "Susunod"
},
@ -1522,9 +1501,6 @@
"seedPhraseReq": {
"message": "Ang mga Secret Recovery Phrase ay naglalaman ng 12, 15, 18, 21, o 24 na salita"
},
"selectAHigherGasFee": {
"message": "Pumili ng mas malaking bayarin sa gas para mapabilis ang pagproseso ng iyong transaksyon.*"
},
"selectAccounts": {
"message": "Pumili ng (mga) account"
},
@ -1555,9 +1531,6 @@
"send": {
"message": "Magpadala"
},
"sendAmount": {
"message": "Halaga ng Ipapadala"
},
"sendSpecifiedTokens": {
"message": "Magpadala ng $1",
"description": "Symbol of the specified token"
@ -1616,9 +1589,6 @@
"signed": {
"message": "Nilagdaan"
},
"slow": {
"message": "Mabagal"
},
"somethingWentWrong": {
"message": "Oops! Nagkaproblema."
},

@ -8,9 +8,6 @@
"about": {
"message": "Informacje"
},
"acceleratingATransaction": {
"message": "* Przyspieszenie transakcji poprzez zastosowanie wyższej ceny gazu zwiększa szanse na jej szybsze przetworzenie przez sieć, jednak skuteczność tej operacji nie jest gwarantowana."
},
"accessingYourCamera": {
"message": "Uruchamianie kamery..."
},
@ -250,12 +247,6 @@
"custom": {
"message": "Zaawansowane"
},
"customGas": {
"message": "Ustaw gaz"
},
"customGasSubTitle": {
"message": "Zwiększenie opłaty może skrócić czas przetwarzania transakcji, ale nie jest to gwarantowane."
},
"customToken": {
"message": "Własny token"
},
@ -340,9 +331,6 @@
"enterPasswordContinue": {
"message": "Podaj hasło żeby kontynuować"
},
"estimatedProcessingTimes": {
"message": "Szacunkowy czas przetwarzania"
},
"ethereumPublicAddress": {
"message": "Adres publiczny Ethereum"
},
@ -601,12 +589,6 @@
"newToMetaMask": {
"message": "Pierwszy raz w MetaMask?"
},
"newTotal": {
"message": "Nowa suma"
},
"newTransactionFee": {
"message": "Nowa opłata transakcyjna"
},
"next": {
"message": "Dalej"
},
@ -804,9 +786,6 @@
"seedPhraseReq": {
"message": "Frazy seed mają 12 słów"
},
"selectAHigherGasFee": {
"message": "Wybierz wyższą opłatę za gaz, aby przyspieszyć przetwarzanie transakcji.*"
},
"selectAnAccount": {
"message": "Wybierz konto"
},
@ -825,9 +804,6 @@
"send": {
"message": "Wyślij"
},
"sendAmount": {
"message": "Wyślij kwotę"
},
"sendTokens": {
"message": "Wyślij tokeny"
},
@ -870,9 +846,6 @@
"signed": {
"message": "Podpisane"
},
"slow": {
"message": "Powoli"
},
"somethingWentWrong": {
"message": "Ups! Coś poszło nie tak."
},

@ -101,9 +101,6 @@
"about": {
"message": "Sobre"
},
"acceleratingATransaction": {
"message": "* Acelerar uma transação usando um preço de gás mais alto aumenta as chances de agilizar o processamento pela rede, mas isso nem sempre é garantido."
},
"acceptTermsOfUse": {
"message": "Eu li e concordo com os $1",
"description": "$1 is the `terms` message"
@ -852,16 +849,10 @@
"customContentSearch": {
"message": "Buscar uma rede previamente adicionada"
},
"customGas": {
"message": "Personalizar gás"
},
"customGasSettingToolTipMessage": {
"message": "Use $1 para personalizar o preço do gás. Isso pode parecer confuso se você não estiver familiarizado. Interaja por sua conta e risco.",
"description": "$1 is key 'advanced' (text: 'Advanced') separated here so that it can be passed in with bold font-weight"
},
"customGasSubTitle": {
"message": "Aumentar a taxa pode diminuir o tempo de processamento, mas isso não é garantido."
},
"customSpendLimit": {
"message": "Limite de gastos personalizado"
},
@ -1300,9 +1291,6 @@
"message": "Lista:",
"description": "Title for error stack, which is displayed for debugging purposes"
},
"estimatedProcessingTimes": {
"message": "Tempo de processamento estimado"
},
"ethGasPriceFetchWarning": {
"message": "O preço de backup do gás é fornecido porque a estimativa de gás principal está indisponível no momento."
},
@ -1348,9 +1336,6 @@
"fast": {
"message": "Rápido"
},
"fastest": {
"message": "O mais rápido"
},
"feeAssociatedRequest": {
"message": "Há uma taxa associada a essa solicitação."
},
@ -2234,12 +2219,6 @@
"newTokensImportedTitle": {
"message": "Token importado"
},
"newTotal": {
"message": "Novo total"
},
"newTransactionFee": {
"message": "Nova taxa de transação"
},
"newValues": {
"message": "novos valores"
},
@ -3061,9 +3040,6 @@
"seedPhraseWriteDownHeader": {
"message": "Anote sua Frase Secreta de Recuperação"
},
"selectAHigherGasFee": {
"message": "Selecione uma taxa de gás mais alta para acelerar o processamento da sua transação.*"
},
"selectAccounts": {
"message": "Selecione a(s) conta(s) para usar nesse site"
},
@ -3097,9 +3073,6 @@
"send": {
"message": "Enviar"
},
"sendAmount": {
"message": "Enviar valor"
},
"sendBugReport": {
"message": "Envie-nos um relatório de erros."
},
@ -3234,9 +3207,6 @@
"skipAccountSecurityDetails": {
"message": "Compreendo que, até fazer o backup da minha Frase de Recuperação Secreta, poderei perder minhas contas e todos os ativos contidos nela."
},
"slow": {
"message": "Lento"
},
"smartTransaction": {
"message": "Transação inteligente"
},

@ -47,9 +47,6 @@
"about": {
"message": "Sobre"
},
"acceleratingATransaction": {
"message": "* Acelerar uma transação usando um preço de gás mais alto aumenta as chances de agilizar o processamento pela rede, mas isso nem sempre é garantido."
},
"acceptTermsOfUse": {
"message": "Eu li e concordo com os $1",
"description": "$1 is the `terms` message"
@ -616,12 +613,6 @@
"custom": {
"message": "Avançado"
},
"customGas": {
"message": "Personalizar gás"
},
"customGasSubTitle": {
"message": "Aumentar a taxa pode diminuir o tempo de processamento, mas isso não é garantido."
},
"customSpendLimit": {
"message": "Limite de gastos personalizado"
},
@ -992,9 +983,6 @@
"message": "Lista:",
"description": "Title for error stack, which is displayed for debugging purposes"
},
"estimatedProcessingTimes": {
"message": "Tempos de processamento estimados"
},
"ethGasPriceFetchWarning": {
"message": "O preço de backup do gás é fornecido porque a estimativa de gás principal está indisponível no momento."
},
@ -1034,9 +1022,6 @@
"fast": {
"message": "Rápido"
},
"fastest": {
"message": "O mais rápido"
},
"feeAssociatedRequest": {
"message": "Há uma taxa associada a essa solicitação."
},
@ -1751,12 +1736,6 @@
"newToMetaMask": {
"message": "Acabou de chegar à MetaMask?"
},
"newTotal": {
"message": "Novo total"
},
"newTransactionFee": {
"message": "Nova taxa de transação"
},
"newValues": {
"message": "novos valores"
},
@ -2341,9 +2320,6 @@
"seedPhraseWriteDownHeader": {
"message": "Anote sua Frase de Recuperação Secreta"
},
"selectAHigherGasFee": {
"message": "Selecione uma taxa de gás mais alta para acelerar o processamento da sua transação.*"
},
"selectAccounts": {
"message": "Selecione a(s) conta(s) para usar nesse site"
},
@ -2377,9 +2353,6 @@
"send": {
"message": "Enviar"
},
"sendAmount": {
"message": "Enviar valor"
},
"sendSpecifiedTokens": {
"message": "Enviar $1",
"description": "Symbol of the specified token"
@ -2481,9 +2454,6 @@
"skipAccountSecurityDetails": {
"message": "Compreendo que, até fazer o backup da minha Frase de Recuperação Secreta, poderei perder minhas contas e todos os ativos contidos nela."
},
"slow": {
"message": "Lento"
},
"somethingWentWrong": {
"message": "Opa! Ocorreu algum erro."
},

@ -149,9 +149,6 @@
"settings": {
"message": "Definições"
},
"slow": {
"message": "Lento"
},
"tips": {
"message": "Doações"
},

@ -8,9 +8,6 @@
"about": {
"message": "Despre"
},
"acceleratingATransaction": {
"message": "* Accelerarea unei tranzacții folosind un preț în gas mai mare îi crește șansele de a fi procesată mai rapid de rețea, însă acest lucru nu este garantat întotdeauna."
},
"accessingYourCamera": {
"message": "Se accesează camera dvs..."
},
@ -250,12 +247,6 @@
"custom": {
"message": "Avansate"
},
"customGas": {
"message": "Particularizați Gas"
},
"customGasSubTitle": {
"message": "Creșterea taxei poate reduce timpii de procesare, dar acest lucru nu este garantat."
},
"customToken": {
"message": "Token personalizat"
},
@ -340,9 +331,6 @@
"enterPasswordContinue": {
"message": "Introduceți parola pentru a continua"
},
"estimatedProcessingTimes": {
"message": "Timpi estimativi de procesare"
},
"ethereumPublicAddress": {
"message": "Adresa publică Ethereum"
},
@ -591,12 +579,6 @@
"newToMetaMask": {
"message": "Nefamiliarizat cu MetaMask?"
},
"newTotal": {
"message": "Total nou"
},
"newTransactionFee": {
"message": "Taxă nouă de tranzacție"
},
"next": {
"message": "Înainte"
},
@ -797,9 +779,6 @@
"seedPhraseReq": {
"message": "Expresiile seed sunt lungi de 12 cuvinte"
},
"selectAHigherGasFee": {
"message": "Selectați o taxă gas mai mare pentru a accelera procesarea tranzacției.*"
},
"selectAnAccount": {
"message": "Selectați un cont"
},
@ -818,9 +797,6 @@
"send": {
"message": "Trimite"
},
"sendAmount": {
"message": "Suma trimisă"
},
"sendTokens": {
"message": "Trimiteți indicative"
},
@ -863,9 +839,6 @@
"signed": {
"message": "Semnat"
},
"slow": {
"message": "Lent"
},
"somethingWentWrong": {
"message": "Hopa! A apărut o eroare."
},

@ -101,9 +101,6 @@
"about": {
"message": "Общие сведения"
},
"acceleratingATransaction": {
"message": "* Ускорение транзакции за счет более высокой цены газа увеличивает шансы транзакции на более быструю обработку в сети, но это не всегда гарантируется."
},
"acceptTermsOfUse": {
"message": "Я прочитал(-а) $1 и согласен(-на) с ними",
"description": "$1 is the `terms` message"
@ -852,16 +849,10 @@
"customContentSearch": {
"message": "Поиск ранее добавленной сети"
},
"customGas": {
"message": "Настроить газ"
},
"customGasSettingToolTipMessage": {
"message": "Использовать $1, чтобы настроить цену на газ. Это может сбивать с толку, если вы не знакомы с этим. Взаимодействуйте на свой страх и риск.",
"description": "$1 is key 'advanced' (text: 'Advanced') separated here so that it can be passed in with bold font-weight"
},
"customGasSubTitle": {
"message": "Увеличение комиссии может сократить время обработки, но это не гарантируется."
},
"customSpendLimit": {
"message": "Пользовательский лимит расходов"
},
@ -1300,9 +1291,6 @@
"message": "Стек:",
"description": "Title for error stack, which is displayed for debugging purposes"
},
"estimatedProcessingTimes": {
"message": "Примерное время обработки"
},
"ethGasPriceFetchWarning": {
"message": "Указана резервная цена газа, поскольку основной сервис определения цены газа сейчас недоступен."
},
@ -1348,9 +1336,6 @@
"fast": {
"message": "Быстрый"
},
"fastest": {
"message": "Самый быстрый"
},
"feeAssociatedRequest": {
"message": "За выполнение этого запроса взимается комиссия."
},
@ -2234,12 +2219,6 @@
"newTokensImportedTitle": {
"message": "Токен импортирован"
},
"newTotal": {
"message": "Новая общая сумма"
},
"newTransactionFee": {
"message": "Новая комиссия за транзакцию"
},
"newValues": {
"message": "новые значения"
},
@ -3061,9 +3040,6 @@
"seedPhraseWriteDownHeader": {
"message": "Запишите секретную фразу для восстановления"
},
"selectAHigherGasFee": {
"message": "Выберите более высокую плату за газ, чтобы ускорить обработку транзакции.*"
},
"selectAccounts": {
"message": "Выберите счета(-а) для использования на этом сайте"
},
@ -3097,9 +3073,6 @@
"send": {
"message": "Отправить"
},
"sendAmount": {
"message": "Сумма для отправки"
},
"sendBugReport": {
"message": "Отправьте нам сообщение об ошибке."
},
@ -3234,9 +3207,6 @@
"skipAccountSecurityDetails": {
"message": "Я понимаю, что, если я не создам резервную копию своей секретной фразы для восстановления, я могу потерять доступ ко всем своим счетам и всем средствам на них."
},
"slow": {
"message": "Медленный"
},
"smartTransaction": {
"message": "Смарт-транзакция"
},

@ -8,9 +8,6 @@
"about": {
"message": "Informácie"
},
"acceleratingATransaction": {
"message": "*Urýchlenie transakcie pomocou vyššej ceny za GAS zvyšuje šance na rýchlejšie spracovanie v sieti, nie je to však vždy zaručené."
},
"accessingYourCamera": {
"message": "Prístupuje k fotoaparátu..."
},
@ -244,12 +241,6 @@
"custom": {
"message": "Rozšírené"
},
"customGas": {
"message": "Nastavit palivo"
},
"customGasSubTitle": {
"message": "Zvýšenie poplatku môže skrátiť dobu spracovania, nie je to však zaručené."
},
"customToken": {
"message": "Vlastní token"
},
@ -334,9 +325,6 @@
"enterPasswordContinue": {
"message": "Pokračujte zadaním hesla"
},
"estimatedProcessingTimes": {
"message": "Odhadovaný čas spracovania"
},
"ethereumPublicAddress": {
"message": "Verejná adresa Ethereum"
},
@ -576,12 +564,6 @@
"newToMetaMask": {
"message": "Ste noví na MetaMask?"
},
"newTotal": {
"message": "Nový súčet"
},
"newTransactionFee": {
"message": "Nový poplatok za transakciu"
},
"next": {
"message": "Další"
},
@ -773,9 +755,6 @@
"seedPhraseReq": {
"message": "klíčové fráze mají 12 slov"
},
"selectAHigherGasFee": {
"message": "Ak chcete urýchliť spracovanie transakcie, vyberte vyšší poplatok GAS.*"
},
"selectAnAccount": {
"message": "Vybrať účet"
},
@ -794,9 +773,6 @@
"send": {
"message": "Odeslat"
},
"sendAmount": {
"message": "Poslať sumu"
},
"sendTokens": {
"message": "Odeslat tokeny"
},
@ -839,9 +815,6 @@
"signed": {
"message": "Podepsáno"
},
"slow": {
"message": "Pomalé"
},
"somethingWentWrong": {
"message": "Och! Niečo zlyhalo."
},

@ -8,9 +8,6 @@
"about": {
"message": "O možnostih"
},
"acceleratingATransaction": {
"message": "* Pospešitev transakcije z višjo gas ceno poveča njene možnosti za hitrejšo obdelavo v omrežju, vendar ni vedno zagotovljena."
},
"accessingYourCamera": {
"message": "Dostopanje do vaše kamere ..."
},
@ -250,12 +247,6 @@
"custom": {
"message": "Napredno"
},
"customGas": {
"message": "Prilagodi gas"
},
"customGasSubTitle": {
"message": "Povečanje lahko skrajša čas obdelave, vendar ni zagotovljeno."
},
"customToken": {
"message": "Žeton po meri"
},
@ -340,9 +331,6 @@
"enterPasswordContinue": {
"message": "Za nadaljevanje vnesite geslo"
},
"estimatedProcessingTimes": {
"message": "Predviden čas obdelave"
},
"ethereumPublicAddress": {
"message": "Javni naslov Ethereum"
},
@ -592,12 +580,6 @@
"newToMetaMask": {
"message": "Ste novi na MetaMask?"
},
"newTotal": {
"message": "Novo skupno"
},
"newTransactionFee": {
"message": "Nova provizija za transakcije"
},
"next": {
"message": "Naprej"
},
@ -798,9 +780,6 @@
"seedPhraseReq": {
"message": "Seed phrase mora biti dolg 12 besed"
},
"selectAHigherGasFee": {
"message": "Izberite višji gas fee, da pospešite obdelavo vaše transakcije.*"
},
"selectAnAccount": {
"message": "Izberi račun"
},
@ -819,9 +798,6 @@
"send": {
"message": "Pošlji"
},
"sendAmount": {
"message": "Pošlji znesek"
},
"sendTokens": {
"message": "Pošlji žetone"
},
@ -864,9 +840,6 @@
"signed": {
"message": "Podpisano"
},
"slow": {
"message": "Počasen"
},
"somethingWentWrong": {
"message": "Oops! Nekaj je šlo narobe."
},

@ -8,9 +8,6 @@
"about": {
"message": "Основни подаци"
},
"acceleratingATransaction": {
"message": "* Time što se ubrzava transakcija koristeći veću gas cenu, povećavaju se šanse da se procesuira brže od strane mreže, ali to nije uvek zagarantovano."
},
"accessingYourCamera": {
"message": "Pristupa se vašoj kameri..."
},
@ -247,12 +244,6 @@
"custom": {
"message": "Напредне опције"
},
"customGas": {
"message": "Prilagodi gas"
},
"customGasSubTitle": {
"message": "Povećanje naknade može smanjiti vreme obrade, ali to nije zagarantovano."
},
"customToken": {
"message": "Prilagođeni token"
},
@ -337,9 +328,6 @@
"enterPasswordContinue": {
"message": "Unesite lozinku kako biste nastavili"
},
"estimatedProcessingTimes": {
"message": "Procenjeno vreme za obradu"
},
"ethereumPublicAddress": {
"message": "Ethereum javna adresa"
},
@ -595,12 +583,6 @@
"newToMetaMask": {
"message": "Novi ste u MetaMask-u?"
},
"newTotal": {
"message": "Novi zbir"
},
"newTransactionFee": {
"message": "Nova naknada za transakcije"
},
"next": {
"message": "Даље"
},
@ -801,9 +783,6 @@
"seedPhraseReq": {
"message": "Šifre za oporavak naloga (seed phrases) imaju 12 reči"
},
"selectAHigherGasFee": {
"message": "Izaberite veću vrednost gas naknade da biste ubrzali procesuiranje vaše transakcije.*"
},
"selectAnAccount": {
"message": "Izaberite nalog"
},
@ -822,9 +801,6 @@
"send": {
"message": "Пошаљи"
},
"sendAmount": {
"message": "Pošaljite iznos"
},
"sendTokens": {
"message": "Pošalji tokene"
},
@ -867,9 +843,6 @@
"signed": {
"message": "Potpisan"
},
"slow": {
"message": "Споро"
},
"somethingWentWrong": {
"message": "Ups! Nešto nije u redu."
},

@ -8,9 +8,6 @@
"about": {
"message": "Om"
},
"acceleratingATransaction": {
"message": "* Att snabba upp en överföring genom att använda ett högre gaspris ökar chanserna för att överföringen ska hanteras snabbare av nätverket, men det är inte en garanti."
},
"accessingYourCamera": {
"message": "Begär åtkomst till din kamera..."
},
@ -244,12 +241,6 @@
"custom": {
"message": "Avancerat"
},
"customGas": {
"message": "Anpassa gas"
},
"customGasSubTitle": {
"message": "Att öka avgiften kan minska behandlingstiden, men det är inte garanterat att göra det."
},
"customToken": {
"message": "Anpassad token"
},
@ -334,9 +325,6 @@
"enterPasswordContinue": {
"message": "Ange lösenord för att fortsätta"
},
"estimatedProcessingTimes": {
"message": "Uppskattade behandlingstider"
},
"ethereumPublicAddress": {
"message": "Ethereum offentlig adress"
},
@ -588,12 +576,6 @@
"newToMetaMask": {
"message": "Ny på MetaMask?"
},
"newTotal": {
"message": "Ny totalsumma"
},
"newTransactionFee": {
"message": "Ingen transaktionsavgift"
},
"next": {
"message": "Nästa"
},
@ -794,9 +776,6 @@
"seedPhraseReq": {
"message": "Nyckelfraser är 12 ord långa."
},
"selectAHigherGasFee": {
"message": "Välj en högre bränsleavgift för att accelerera transaktionsprocessen.*"
},
"selectAnAccount": {
"message": "Välj ett konto"
},
@ -815,9 +794,6 @@
"send": {
"message": "Skicka"
},
"sendAmount": {
"message": "Skicka belopp"
},
"sendTokens": {
"message": "Skicka tokens"
},
@ -860,9 +836,6 @@
"signed": {
"message": "Signerat"
},
"slow": {
"message": "Långsamt"
},
"somethingWentWrong": {
"message": "Hoppsan! Något gick fel."
},

@ -8,9 +8,6 @@
"about": {
"message": "Kuhusu"
},
"acceleratingATransaction": {
"message": "*Kuwezesha muamala kwa kutumia bei ya juu ya gesi huongeza uwezekano wake wa kushughulikiwa na mtandao haraka, lakini hauhakikishiwi siku zote."
},
"accessingYourCamera": {
"message": "Kufikia kamera yako..."
},
@ -244,12 +241,6 @@
"custom": {
"message": "Mipangilio ya kina"
},
"customGas": {
"message": "Weka Mipangilio ya Gesi Upendavyo"
},
"customGasSubTitle": {
"message": "Ada iliyoongezeka inaweza kupunguza muda wa uchakataji, lakini haihakikishwi."
},
"customToken": {
"message": "Kianzio Maalumu"
},
@ -334,9 +325,6 @@
"enterPasswordContinue": {
"message": "Ingiza nenosiri ili uendelee"
},
"estimatedProcessingTimes": {
"message": "Muda wa Kuchakata Uliokadiriwa"
},
"ethereumPublicAddress": {
"message": "Anwani ya Umma ya Ethereum"
},
@ -582,12 +570,6 @@
"newToMetaMask": {
"message": "MetaMask mpya?"
},
"newTotal": {
"message": "Jumla Mpya"
},
"newTransactionFee": {
"message": "Ada Mpya ya Muamala"
},
"next": {
"message": "Inayofuata"
},
@ -788,9 +770,6 @@
"seedPhraseReq": {
"message": "Virai vianzio vina urefu wa maneno 12"
},
"selectAHigherGasFee": {
"message": "Chagua ada ya juu ya gesi ili kuharakisha uchakataji wa muamala wako.*"
},
"selectAnAccount": {
"message": "Chagua Akaunti"
},
@ -809,9 +788,6 @@
"send": {
"message": "Tuma"
},
"sendAmount": {
"message": "Tuma Kiasi"
},
"sendTokens": {
"message": "Tuma Vianzio"
},
@ -854,9 +830,6 @@
"signed": {
"message": "Imesainiwa"
},
"slow": {
"message": "Polepole"
},
"somethingWentWrong": {
"message": "Ayaa! Hitilafu fulani imetokea."
},

@ -111,9 +111,6 @@
"custom": {
"message": "மபடடவ"
},
"customGas": {
"message": "எரி தனிபயனகள"
},
"customToken": {
"message": "தனிபயனகன"
},
@ -437,9 +434,6 @@
"signed": {
"message": "கபமிடபபடட"
},
"slow": {
"message": "மன"
},
"stateLogError": {
"message": "மில பதிகளபதிி."
},

@ -136,9 +136,6 @@
"settings": {
"message": "సి"
},
"slow": {
"message": "నమది"
},
"tryAgain": {
"message": "మళరయతి"
},

@ -111,12 +111,6 @@
"currencyConversion": {
"message": "การแปลงสกลเงน"
},
"customGas": {
"message": "กำหนดคาแกสเอง"
},
"customGasSubTitle": {
"message": "การเพมคาธรรมเนยมอาจลดเวลาดำเนนการ แตไมแนเสมอไป"
},
"decimal": {
"message": "ตำแหนงของทศนยม"
},
@ -318,9 +312,6 @@
"newToMetaMask": {
"message": "เพงเรมใช MetaMask?"
},
"newTransactionFee": {
"message": "คาธรรมเนยมธรกรรมใหม"
},
"next": {
"message": "ถดไป"
},
@ -407,9 +398,6 @@
"send": {
"message": "สง"
},
"sendAmount": {
"message": "สงจำนวนเงนน"
},
"sendTokens": {
"message": "สงโทเคน"
},

@ -101,9 +101,6 @@
"about": {
"message": "Tungkol Dito"
},
"acceleratingATransaction": {
"message": "* Kapag in-accelerate ang transaksyon sa pamamagitan ng paggamit ng mas mataas na presyo ng gasolina, mas magiging malaki ang tsansang mas mabilis na maproseso ng network, pero hindi ito palaging ginagarantiya."
},
"acceptTermsOfUse": {
"message": "Nabasa ko at sumasang-ayon ako sa $1",
"description": "$1 is the `terms` message"
@ -852,16 +849,10 @@
"customContentSearch": {
"message": "Maghanap ng naunang idinagdag na network"
},
"customGas": {
"message": "I-customize ang gasolina"
},
"customGasSettingToolTipMessage": {
"message": "Gamitin ang $1 para i-customize ang presyo ng gas. Ito ay maaaring nakakalito kung hindi ka pamilyar. Harapin ang sarili mong panganib.",
"description": "$1 is key 'advanced' (text: 'Advanced') separated here so that it can be passed in with bold font-weight"
},
"customGasSubTitle": {
"message": "Kapag dinagdagan ang bayarin, mababawasan ang mga oras ng pagproseso, pero hindi ito garantisado."
},
"customSpendLimit": {
"message": "Custom na Limitasyon sa Paggastos"
},
@ -1300,9 +1291,6 @@
"message": "Stack:",
"description": "Title for error stack, which is displayed for debugging purposes"
},
"estimatedProcessingTimes": {
"message": "Mga tinatantyang tagal ng pagproseso"
},
"ethGasPriceFetchWarning": {
"message": "Ang backup gas price ay inilalaan dahil ang pangunahing pagtantiya ng presyo ng gas ay hindi available sa ngayon."
},
@ -1348,9 +1336,6 @@
"fast": {
"message": "Mabilis"
},
"fastest": {
"message": "Pinakamabilis"
},
"feeAssociatedRequest": {
"message": "May nauugnay na bayarin para sa request na ito."
},
@ -2234,12 +2219,6 @@
"newTokensImportedTitle": {
"message": "Na-import ang token"
},
"newTotal": {
"message": "Bagong Kabuuan"
},
"newTransactionFee": {
"message": "Bagong Bayarin sa Transaksyon"
},
"newValues": {
"message": "bagong value"
},
@ -3061,9 +3040,6 @@
"seedPhraseWriteDownHeader": {
"message": "Isulat ang iyong Secret Recovery Phrase"
},
"selectAHigherGasFee": {
"message": "Pumili ng mas malaking bayarin sa gas para mapabilis ang pagproseso ng iyong transaksyon.*"
},
"selectAccounts": {
"message": "Pumili ng (mga) account"
},
@ -3097,9 +3073,6 @@
"send": {
"message": "Magpadala"
},
"sendAmount": {
"message": "Halaga ng Ipapadala"
},
"sendBugReport": {
"message": "Padalhan kami ng ulat ng bug."
},
@ -3234,9 +3207,6 @@
"skipAccountSecurityDetails": {
"message": "Nauunawaan ko na hanggang sa i-back up ko ang aking Secret Recovery Phrase, maaari kong maiwala ang aking mga account at lahat ng kanilang mga asset."
},
"slow": {
"message": "Mabagal"
},
"smartTransaction": {
"message": "Smart Transaction"
},

@ -101,9 +101,6 @@
"about": {
"message": "Hakkında"
},
"acceleratingATransaction": {
"message": "* Daha yüksek bir gaz fiyatı kullanarak bir işlemi hızlandırmak ağ tarafından daha hızlı işlenme şansını artırır ancak her zaman garanti etmez."
},
"acceptTermsOfUse": {
"message": "$1 bölümünü okudum ve kabul ediyorum",
"description": "$1 is the `terms` message"
@ -852,16 +849,10 @@
"customContentSearch": {
"message": "Önceden eklenmiş bir ağı ara"
},
"customGas": {
"message": "Gazı Özelleştir"
},
"customGasSettingToolTipMessage": {
"message": "Gaz fiyatını özelleştirmek için $1 kullanın. Bu, bilgi sahibi değilseniz kafa karıştırıcı olabilir. Riski size ait olmak üzere kullanın.",
"description": "$1 is key 'advanced' (text: 'Advanced') separated here so that it can be passed in with bold font-weight"
},
"customGasSubTitle": {
"message": "Ücretin artırılması işlem süresini kısaltabilir ancak bu garanti edilmez."
},
"customSpendLimit": {
"message": "Özel Harcama Limiti"
},
@ -1300,9 +1291,6 @@
"message": "Yığın:",
"description": "Title for error stack, which is displayed for debugging purposes"
},
"estimatedProcessingTimes": {
"message": "Tahmini işleme Alınma Süreleri"
},
"ethGasPriceFetchWarning": {
"message": "Ana gaz tahmini hizmeti olarak sunulan yedek gaz fiyatı şu anda kullanılamıyor."
},
@ -1348,9 +1336,6 @@
"fast": {
"message": "Hızlı"
},
"fastest": {
"message": "En hızlı"
},
"feeAssociatedRequest": {
"message": "Bu talep ile ilişkili bir ücret mevcuttur."
},
@ -2234,12 +2219,6 @@
"newTokensImportedTitle": {
"message": "Token içe aktarıldı"
},
"newTotal": {
"message": "Yeni Toplam"
},
"newTransactionFee": {
"message": "Yeni İşlem Ücreti"
},
"newValues": {
"message": "yeni değerler"
},
@ -3061,9 +3040,6 @@
"seedPhraseWriteDownHeader": {
"message": "Gizli Kurtarma İfadenizi not edin"
},
"selectAHigherGasFee": {
"message": "İşleminizin gerçekleşmesini hızlandırmak için daha yüksek bir gaz ücreti seçin.*"
},
"selectAccounts": {
"message": "Bu sitede kullanılacak hesap veya hesapları seçin"
},
@ -3097,9 +3073,6 @@
"send": {
"message": "Gönder"
},
"sendAmount": {
"message": "Tutarı Gönder"
},
"sendBugReport": {
"message": "Bize bir hata raporu gönder."
},
@ -3234,9 +3207,6 @@
"skipAccountSecurityDetails": {
"message": "Gizli Kurtarma İfademi yedekleyene kadar hesaplarımı ve tüm varlıkları kaybedebileceğimi anlıyorum."
},
"slow": {
"message": "Yavaş"
},
"smartTransaction": {
"message": "Akıllı İşlem"
},

@ -8,9 +8,6 @@
"about": {
"message": "Про Google Chrome"
},
"acceleratingATransaction": {
"message": "* Прискорення транзакції за допомогою вищих цін на газ підвищує її шанси бути обробленою мережею швидше, але це не завжди гарантовано."
},
"accessingYourCamera": {
"message": "Отримуємо доступ до вашої камери..."
},
@ -250,12 +247,6 @@
"custom": {
"message": "Розширені"
},
"customGas": {
"message": "Налаштувати пальне"
},
"customGasSubTitle": {
"message": "Збільшення комісії може призвести до зменшення часу обробки, але це не гарантується."
},
"customToken": {
"message": "Користувацький токен"
},
@ -340,9 +331,6 @@
"enterPasswordContinue": {
"message": "Введіть пароль, щоб продовжити"
},
"estimatedProcessingTimes": {
"message": "Приблизні часи обробки"
},
"ethereumPublicAddress": {
"message": "Публічна адреса Ethereum"
},
@ -604,12 +592,6 @@
"newToMetaMask": {
"message": "Вперше в MetaMask?"
},
"newTotal": {
"message": "Новий підсумок"
},
"newTransactionFee": {
"message": "Нова комісія за транзакцію"
},
"next": {
"message": "Далі"
},
@ -810,9 +792,6 @@
"seedPhraseReq": {
"message": "Початкові фрази мають 12 слів"
},
"selectAHigherGasFee": {
"message": "Оберіть вищу вартість пального, щоб пришвидшити обробку вашої транзакції.*"
},
"selectAnAccount": {
"message": "Виберіть обліковий запис"
},
@ -831,9 +810,6 @@
"send": {
"message": "Надіслати"
},
"sendAmount": {
"message": "Надіслати суму"
},
"sendTokens": {
"message": "Надіслати токени"
},
@ -876,9 +852,6 @@
"signed": {
"message": "Підписано"
},
"slow": {
"message": "Повільна"
},
"somethingWentWrong": {
"message": "Ой! Щось пішло не так."
},

@ -101,9 +101,6 @@
"about": {
"message": "Giới thiệu"
},
"acceleratingATransaction": {
"message": "* Việc đẩy nhanh giao dịch bằng cách sử dụng giá gas cao hơn sẽ tăng khả năng được mạng xử lý nhanh hơn, nhưng không phải lúc nào điều này cũng được đảm bảo."
},
"acceptTermsOfUse": {
"message": "Tôi đã đọc và đồng ý với $1",
"description": "$1 is the `terms` message"
@ -852,16 +849,10 @@
"customContentSearch": {
"message": "Tìm kiếm mạng đã thêm trước đây"
},
"customGas": {
"message": "Tùy chỉnh gas"
},
"customGasSettingToolTipMessage": {
"message": "Sử dụng $1 để tùy chỉnh giá gas. Việc này có thể gây nhầm lẫn nếu bạn không quen thuộc. Bạn phải tự chịu trách nhiệm nếu thực hiện.",
"description": "$1 is key 'advanced' (text: 'Advanced') separated here so that it can be passed in with bold font-weight"
},
"customGasSubTitle": {
"message": "Việc tăng phí có thể giúp giảm thời gian xử lý, nhưng điều này không được đảm bảo."
},
"customSpendLimit": {
"message": "Giới hạn chi tiêu tùy chỉnh"
},
@ -1300,9 +1291,6 @@
"message": "Cụm:",
"description": "Title for error stack, which is displayed for debugging purposes"
},
"estimatedProcessingTimes": {
"message": "Thời gian xử lý dự kiến"
},
"ethGasPriceFetchWarning": {
"message": "Giá gas dự phòng được cung cấp vì dịch vụ ước tính giá gas chính hiện không hoạt động."
},
@ -1348,9 +1336,6 @@
"fast": {
"message": "Nhanh"
},
"fastest": {
"message": "Nhanh nhất"
},
"feeAssociatedRequest": {
"message": "Yêu cầu này có kèm theo một khoản phí."
},
@ -2234,12 +2219,6 @@
"newTokensImportedTitle": {
"message": "Đã nhập token"
},
"newTotal": {
"message": "Tổng mới"
},
"newTransactionFee": {
"message": "Phí giao dịch mới"
},
"newValues": {
"message": "giá trị mới"
},
@ -3061,9 +3040,6 @@
"seedPhraseWriteDownHeader": {
"message": "Viết ra Cụm Mật Khẩu Khôi Phục Bí Mật của bạn"
},
"selectAHigherGasFee": {
"message": "Chọn phí gas cao hơn để tăng tốc quá trình xử lý giao dịch của bạn.*"
},
"selectAccounts": {
"message": "Chọn (các) tài khoản để sử dụng trên trang web này"
},
@ -3097,9 +3073,6 @@
"send": {
"message": "Gửi"
},
"sendAmount": {
"message": "Gửi khoản tiền"
},
"sendBugReport": {
"message": "Gửi báo cáo lỗi."
},
@ -3234,9 +3207,6 @@
"skipAccountSecurityDetails": {
"message": "Tôi hiểu rằng nếu chưa sao lưu Cụm Mật Khẩu Khôi Phục Bí Mật của mình, tôi có thể bị mất tài khoản và toàn bộ tài sản bên trong."
},
"slow": {
"message": "Chậm"
},
"smartTransaction": {
"message": "Giao dịch thông minh"
},

@ -101,9 +101,6 @@
"about": {
"message": "关于"
},
"acceleratingATransaction": {
"message": "* 通过使用更高的燃料价格来加速交易,会增加其更快地被网络处理的机会,但这并不总是得到保证。"
},
"acceptTermsOfUse": {
"message": "我已阅读并同意 $1",
"description": "$1 is the `terms` message"
@ -852,16 +849,10 @@
"customContentSearch": {
"message": "搜索以前添加的网络"
},
"customGas": {
"message": "自定义燃料"
},
"customGasSettingToolTipMessage": {
"message": "使用$1来定制燃料价格。如果您不熟悉这可能会引起混淆。操作风险自付。",
"description": "$1 is key 'advanced' (text: 'Advanced') separated here so that it can be passed in with bold font-weight"
},
"customGasSubTitle": {
"message": "提升费用可能会缩短处理时间,但不能保证。"
},
"customSpendLimit": {
"message": "自定义消费限额"
},
@ -1300,9 +1291,6 @@
"message": "栈:",
"description": "Title for error stack, which is displayed for debugging purposes"
},
"estimatedProcessingTimes": {
"message": "预计处理时间"
},
"ethGasPriceFetchWarning": {
"message": "由于目前主要的燃料估算服务不可用,因此提供了备用燃料价格。"
},
@ -1348,9 +1336,6 @@
"fast": {
"message": "快"
},
"fastest": {
"message": "最快"
},
"feeAssociatedRequest": {
"message": "此请求需要支付一定的费用。"
},
@ -2234,12 +2219,6 @@
"newTokensImportedTitle": {
"message": "已导入代币"
},
"newTotal": {
"message": "新总额"
},
"newTransactionFee": {
"message": "新交易费用"
},
"newValues": {
"message": "新的值"
},
@ -3061,9 +3040,6 @@
"seedPhraseWriteDownHeader": {
"message": "写下您的助记词"
},
"selectAHigherGasFee": {
"message": "选择更高的燃料费用,加快交易处理速度。*"
},
"selectAccounts": {
"message": "选择要在此网站上使用的账户"
},
@ -3097,9 +3073,6 @@
"send": {
"message": "发送"
},
"sendAmount": {
"message": "发送金额"
},
"sendBugReport": {
"message": "向我们发送错误报告。"
},
@ -3234,9 +3207,6 @@
"skipAccountSecurityDetails": {
"message": "我明白,在我备份我的账户助记词之前,我可能会丢失我的账户及其所有资产。"
},
"slow": {
"message": "慢"
},
"smartTransaction": {
"message": "智能交易"
},

@ -2,9 +2,6 @@
"about": {
"message": "關於"
},
"acceleratingATransaction": {
"message": "* 提高交易費 Gas 價格將可加速處理時間,但不保證會有顯著效果"
},
"accessingYourCamera": {
"message": "正在存取您的攝影鏡頭..."
},
@ -250,12 +247,6 @@
"currentLanguage": {
"message": "當前語言"
},
"customGas": {
"message": "自訂 Gas"
},
"customGasSubTitle": {
"message": "提升費用可能會加快處理時間,但不保證"
},
"customToken": {
"message": "自訂代幣"
},
@ -340,9 +331,6 @@
"enterPasswordContinue": {
"message": "請輸入密碼"
},
"estimatedProcessingTimes": {
"message": "預估處理時間"
},
"ethereumPublicAddress": {
"message": "以太坊公開位址"
},
@ -598,12 +586,6 @@
"newToMetaMask": {
"message": "新來到 MetaMask?"
},
"newTotal": {
"message": "總費用"
},
"newTransactionFee": {
"message": "自訂交易費"
},
"next": {
"message": "下一頁"
},
@ -792,9 +774,6 @@
"seedPhraseReq": {
"message": "助憶詞為 12 個詞語"
},
"selectAHigherGasFee": {
"message": "選擇更高的交易費可加速您的交易處理時間 *"
},
"selectAnAccount": {
"message": "選擇帳戶"
},
@ -810,9 +789,6 @@
"send": {
"message": "發送"
},
"sendAmount": {
"message": "發送數量"
},
"sendTokens": {
"message": "發送代幣"
},
@ -855,9 +831,6 @@
"signed": {
"message": "已簽署"
},
"slow": {
"message": "慢"
},
"somethingWentWrong": {
"message": "糟糕!出了點問題。"
},

@ -530,28 +530,10 @@
"ui/components/app/flask/snaps-authorship-pill/snaps-authorship-pill.stories.js",
"ui/components/app/flask/update-snap-permission-list/index.js",
"ui/components/app/flask/update-snap-permission-list/update-snap-permission-list.js",
"ui/components/app/gas-customization/advanced-gas-inputs/advanced-gas-inputs.component.js",
"ui/components/app/gas-customization/advanced-gas-inputs/advanced-gas-inputs.container.js",
"ui/components/app/gas-customization/advanced-gas-inputs/advanced-gas-inputs.test.js",
"ui/components/app/gas-customization/advanced-gas-inputs/index.js",
"ui/components/app/gas-customization/gas-modal-page-container/advanced-tab-content/advanced-tab-content-component.test.js",
"ui/components/app/gas-customization/gas-modal-page-container/advanced-tab-content/advanced-tab-content.component.js",
"ui/components/app/gas-customization/gas-modal-page-container/advanced-tab-content/index.js",
"ui/components/app/gas-customization/gas-modal-page-container/basic-tab-content/basic-tab-content-component.test.js",
"ui/components/app/gas-customization/gas-modal-page-container/basic-tab-content/basic-tab-content.component.js",
"ui/components/app/gas-customization/gas-modal-page-container/basic-tab-content/index.js",
"ui/components/app/gas-customization/gas-modal-page-container/gas-modal-page-container-component.test.js",
"ui/components/app/gas-customization/gas-modal-page-container/gas-modal-page-container-container.test.js",
"ui/components/app/gas-customization/gas-modal-page-container/gas-modal-page-container.component.js",
"ui/components/app/gas-customization/gas-modal-page-container/gas-modal-page-container.container.js",
"ui/components/app/gas-customization/gas-modal-page-container/index.js",
"ui/components/app/gas-customization/gas-price-button-group/gas-price-button-group-component.test.js",
"ui/components/app/gas-customization/gas-price-button-group/gas-price-button-group.component.js",
"ui/components/app/gas-customization/gas-price-button-group/gas-price-button-group.stories.js",
"ui/components/app/gas-customization/gas-price-button-group/index.js",
"ui/components/app/gas-customization/gas-slider/gas-slider.component.js",
"ui/components/app/gas-customization/gas-slider/gas-slider.stories.js",
"ui/components/app/gas-customization/gas-slider/index.js",
"ui/components/app/advanced-gas-inputs/advanced-gas-inputs.component.js",
"ui/components/app/advanced-gas-inputs/advanced-gas-inputs.container.js",
"ui/components/app/advanced-gas-inputs/advanced-gas-inputs.test.js",
"ui/components/app/advanced-gas-inputs/index.js",
"ui/components/app/gas-details-item/gas-details-item-title/gas-details-item-title.js",
"ui/components/app/gas-details-item/gas-details-item-title/gas-details-item-title.test.js",
"ui/components/app/gas-details-item/gas-details-item-title/index.js",

@ -2,7 +2,7 @@ import React, { Component } from 'react';
import PropTypes from 'prop-types';
import classnames from 'classnames';
import { debounce } from 'lodash';
import Tooltip from '../../../ui/tooltip';
import Tooltip from '../../ui/tooltip';
export default class AdvancedGasInputs extends Component {
static contextTypes = {

@ -1,11 +1,11 @@
import { connect } from 'react-redux';
import { decGWEIToHexWEI } from '../../../../helpers/utils/conversions.util';
import { getNetworkSupportsSettingGasFees } from '../../../../selectors/selectors';
import { MIN_GAS_LIMIT_DEC } from '../../../../pages/send/send.constants';
import { decGWEIToHexWEI } from '../../../helpers/utils/conversions.util';
import { getNetworkSupportsSettingGasFees } from '../../../selectors/selectors';
import { MIN_GAS_LIMIT_DEC } from '../../../pages/send/send.constants';
import {
decimalToHex,
hexWEIToDecGWEI,
} from '../../../../../shared/lib/transactions-controller-utils';
} from '../../../../shared/lib/transactions-controller-utils';
import AdvancedGasInputs from './advanced-gas-inputs.component';
function convertGasPriceForInputs(gasPriceInHexWEI) {

@ -1,7 +1,7 @@
import React from 'react';
import sinon from 'sinon';
import { renderWithProvider, fireEvent } from '../../../../../test/jest';
import configureStore from '../../../../store/store';
import { renderWithProvider, fireEvent } from '../../../../test/jest';
import configureStore from '../../../store/store';
import AdvancedGasInputs from '.';
describe('AdvancedGasInputs', () => {

@ -2,6 +2,7 @@
@import 'account-list-item/index';
@import 'account-menu/index';
@import 'add-network/index';
@import 'advanced-gas-inputs/index';
@import 'app-loading-spinner/index';
@import 'import-token-link/index';
@import 'advanced-gas-controls/index';
@ -38,9 +39,6 @@
@import 'flask/snap-remove-warning/index';
@import 'flask/snap-settings-card/index';
@import 'flask/update-snap-permission-list/index';
@import 'gas-customization/gas-modal-page-container/index';
@import 'gas-customization/gas-price-button-group/index';
@import 'gas-customization/index';
@import 'gas-details-item/index';
@import 'gas-details-item/gas-details-item-title/index';
@import 'gas-timing/index';

@ -1,91 +0,0 @@
import React from 'react';
import sinon from 'sinon';
import { shallowWithContext } from '../../../../../../test/lib/render-helpers';
import AdvancedTabContent from './advanced-tab-content.component';
describe('AdvancedTabContent Component', () => {
let wrapper;
beforeEach(() => {
const propsMethodSpies = {
updateCustomGasPrice: sinon.spy(),
updateCustomGasLimit: sinon.spy(),
};
sinon.spy(AdvancedTabContent.prototype, 'renderDataSummary');
wrapper = shallowWithContext(
<AdvancedTabContent
updateCustomGasPrice={propsMethodSpies.updateCustomGasPrice}
updateCustomGasLimit={propsMethodSpies.updateCustomGasLimit}
customModalGasPriceInHex="11"
customModalGasLimitInHex="23456"
transactionFee="$0.25"
insufficientBalance={false}
customPriceIsSafe
isSpeedUp={false}
customPriceIsExcessive={false}
/>,
);
});
afterEach(() => {
sinon.restore();
});
describe('render()', () => {
it('should render the advanced-tab root node', () => {
expect(wrapper.hasClass('advanced-tab')).toStrictEqual(true);
});
it('should render the expected child of the advanced-tab div', () => {
const advancedTabChildren = wrapper.children();
expect(advancedTabChildren).toHaveLength(2);
expect(
advancedTabChildren
.at(0)
.hasClass('advanced-tab__transaction-data-summary'),
).toStrictEqual(true);
});
it('should call renderDataSummary with the expected params', () => {
const renderDataSummaryArgs =
AdvancedTabContent.prototype.renderDataSummary.getCall(0).args;
expect(renderDataSummaryArgs).toStrictEqual(['$0.25']);
});
});
describe('renderDataSummary()', () => {
let dataSummary;
beforeEach(() => {
dataSummary = shallowWithContext(
wrapper.instance().renderDataSummary('mockTotalFee'),
);
});
it('should render the transaction-data-summary root node', () => {
expect(
dataSummary.hasClass('advanced-tab__transaction-data-summary'),
).toStrictEqual(true);
});
it('should render titles of the data', () => {
const titlesNode = dataSummary.children().at(0);
expect(
titlesNode.hasClass('advanced-tab__transaction-data-summary__titles'),
).toStrictEqual(true);
expect(titlesNode.children().at(0).text()).toStrictEqual(
'newTransactionFee',
);
});
it('should render the data', () => {
const dataNode = dataSummary.children().at(1);
expect(
dataNode.hasClass('advanced-tab__transaction-data-summary__container'),
).toStrictEqual(true);
expect(dataNode.children().at(0).text()).toStrictEqual('mockTotalFee');
});
});
});

@ -1,76 +0,0 @@
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import AdvancedGasInputs from '../../advanced-gas-inputs';
export default class AdvancedTabContent extends Component {
static contextTypes = {
t: PropTypes.func,
};
static propTypes = {
updateCustomGasPrice: PropTypes.func,
updateCustomGasLimit: PropTypes.func,
customModalGasPriceInHex: PropTypes.string,
customModalGasLimitInHex: PropTypes.string,
transactionFee: PropTypes.string,
insufficientBalance: PropTypes.bool,
customPriceIsSafe: PropTypes.bool,
isSpeedUp: PropTypes.bool,
customGasLimitMessage: PropTypes.string,
minimumGasLimit: PropTypes.number,
customPriceIsExcessive: PropTypes.bool.isRequired,
};
renderDataSummary(transactionFee) {
return (
<div className="advanced-tab__transaction-data-summary">
<div className="advanced-tab__transaction-data-summary__titles">
<span>{this.context.t('newTransactionFee')}</span>
</div>
<div className="advanced-tab__transaction-data-summary__container">
<div className="advanced-tab__transaction-data-summary__fee">
{transactionFee}
</div>
</div>
</div>
);
}
render() {
const {
updateCustomGasPrice,
updateCustomGasLimit,
customModalGasPriceInHex,
customModalGasLimitInHex,
insufficientBalance,
customPriceIsSafe,
isSpeedUp,
transactionFee,
customGasLimitMessage,
minimumGasLimit,
customPriceIsExcessive,
} = this.props;
return (
<div className="advanced-tab">
{this.renderDataSummary(transactionFee)}
<div className="advanced-tab__fee-chart">
<div className="advanced-tab__gas-inputs">
<AdvancedGasInputs
updateCustomGasPrice={updateCustomGasPrice}
updateCustomGasLimit={updateCustomGasLimit}
customGasPrice={customModalGasPriceInHex}
customGasLimit={customModalGasLimitInHex}
insufficientBalance={insufficientBalance}
customPriceIsSafe={customPriceIsSafe}
isSpeedUp={isSpeedUp}
customGasLimitMessage={customGasLimitMessage}
minimumGasLimit={minimumGasLimit}
customPriceIsExcessive={customPriceIsExcessive}
/>
</div>
</div>
</div>
);
}
}

@ -1 +0,0 @@
export { default } from './advanced-tab-content.component';

@ -1,112 +0,0 @@
.advanced-tab {
display: flex;
flex-flow: column;
&__transaction-data-summary {
padding-left: 24px;
padding-right: 24px;
}
&__transaction-data-summary {
display: flex;
flex-flow: column;
color: var(--color-text-alternative);
margin-top: 12px;
padding-left: 18px;
padding-right: 18px;
&__titles,
&__container {
@include H7;
display: flex;
flex-flow: row;
justify-content: space-between;
color: var(--color-text-muted);
}
&__container {
@include Paragraph;
margin-top: 0;
}
&__fee {
@include Paragraph;
color: var(--color-text-alternative);
}
&__time-remaining {
@include Paragraph;
/*rtl:ignore*/
direction: ltr;
color: var(--color-text-alternative);
.minutes-num,
.seconds-num {
@include Paragraph;
}
.seconds-num {
@include Paragraph;
margin-left: 7px;
}
.minutes-label,
.seconds-label {
@include Paragraph;
}
}
}
&__fee-chart {
margin-top: 8px;
height: 265px;
background: var(--color-background-alternative);
border-bottom: 1px solid var(--color-border-muted);
border-top: 1px solid var(--color-border-muted);
position: relative;
&__title {
@include H7;
color: var(--color-text-alternative);
margin-left: 22px;
}
&__speed-buttons {
@include H8;
position: absolute;
bottom: 13px;
display: flex;
justify-content: space-between;
padding-left: 20px;
padding-right: 19px;
width: 100%;
color: var(--color-text-alternative);
}
.loading-overlay {
height: auto;
}
}
&__slider-container {
padding-left: 27px;
padding-right: 27px;
}
&__gas-inputs {
display: flex;
flex-flow: row;
justify-content: space-between;
margin-left: 20px;
margin-right: 10px;
margin-top: 10px;
margin-bottom: 20px;
}
}

@ -1,103 +0,0 @@
import React from 'react';
import GasPriceButtonGroup from '../../gas-price-button-group';
import Loading from '../../../../ui/loading-screen';
import { GAS_ESTIMATE_TYPES } from '../../../../../helpers/constants/common';
import { shallowWithContext } from '../../../../../../test/lib/render-helpers';
import BasicTabContent from './basic-tab-content.component';
const mockGasPriceButtonGroupProps = {
buttonDataLoading: false,
className: 'gas-price-button-group',
gasButtonInfo: [
{
feeInPrimaryCurrency: '$0.52',
feeInSecondaryCurrency: '0.0048 ETH',
timeEstimate: '~ 1 min 0 sec',
priceInHexWei: '0xa1b2c3f',
gasEstimateType: GAS_ESTIMATE_TYPES.AVERAGE,
},
{
feeInPrimaryCurrency: '$0.39',
feeInSecondaryCurrency: '0.004 ETH',
timeEstimate: '~ 1 min 30 sec',
priceInHexWei: '0xa1b2c39',
gasEstimateType: GAS_ESTIMATE_TYPES.AVERAGE,
},
{
feeInPrimaryCurrency: '$0.30',
feeInSecondaryCurrency: '0.00354 ETH',
timeEstimate: '~ 2 min 1 sec',
priceInHexWei: '0xa1b2c30',
gasEstimateType: GAS_ESTIMATE_TYPES.AVERAGE,
},
],
handleGasPriceSelection: ({ gasPrice }) =>
console.log('NewPrice: ', gasPrice),
noButtonActiveByDefault: true,
showCheck: true,
};
describe('BasicTabContent Component', () => {
describe('render', () => {
let wrapper;
beforeEach(() => {
wrapper = shallowWithContext(
<BasicTabContent
gasPriceButtonGroupProps={mockGasPriceButtonGroupProps}
/>,
);
});
it('should have a title', () => {
expect(
wrapper
.find('.basic-tab-content')
.childAt(0)
.hasClass('basic-tab-content__title'),
).toStrictEqual(true);
});
it('should render a GasPriceButtonGroup compenent', () => {
expect(wrapper.find(GasPriceButtonGroup)).toHaveLength(1);
});
it('should pass correct props to GasPriceButtonGroup', () => {
const {
buttonDataLoading,
className,
gasButtonInfo,
handleGasPriceSelection,
noButtonActiveByDefault,
showCheck,
} = wrapper.find(GasPriceButtonGroup).props();
expect(wrapper.find(GasPriceButtonGroup)).toHaveLength(1);
expect(buttonDataLoading).toStrictEqual(
mockGasPriceButtonGroupProps.buttonDataLoading,
);
expect(className).toStrictEqual(mockGasPriceButtonGroupProps.className);
expect(noButtonActiveByDefault).toStrictEqual(
mockGasPriceButtonGroupProps.noButtonActiveByDefault,
);
expect(showCheck).toStrictEqual(mockGasPriceButtonGroupProps.showCheck);
expect(gasButtonInfo).toStrictEqual(
mockGasPriceButtonGroupProps.gasButtonInfo,
);
expect(handleGasPriceSelection).toStrictEqual(
mockGasPriceButtonGroupProps.handleGasPriceSelection,
);
});
it('should render a loading component instead of the GasPriceButtonGroup if gasPriceButtonGroupProps.loading is true', () => {
wrapper.setProps({
gasPriceButtonGroupProps: {
...mockGasPriceButtonGroupProps,
loading: true,
},
});
expect(wrapper.find(GasPriceButtonGroup)).toHaveLength(0);
expect(wrapper.find(Loading)).toHaveLength(1);
});
});
});

@ -1,42 +0,0 @@
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import Loading from '../../../../ui/loading-screen';
import GasPriceButtonGroup from '../../gas-price-button-group';
export default class BasicTabContent extends Component {
static contextTypes = {
t: PropTypes.func,
};
static propTypes = {
gasPriceButtonGroupProps: PropTypes.object,
};
render() {
const { t } = this.context;
const { gasPriceButtonGroupProps } = this.props;
return (
<div className="basic-tab-content">
<div className="basic-tab-content__title">
{t('estimatedProcessingTimes')}
</div>
<div className="basic-tab-content__blurb">
{t('selectAHigherGasFee')}
</div>
{gasPriceButtonGroupProps.loading ? (
<Loading />
) : (
<GasPriceButtonGroup
className="gas-price-button-group--alt"
showCheck
{...gasPriceButtonGroupProps}
/>
)}
<div className="basic-tab-content__footer-blurb">
{t('acceleratingATransaction')}
</div>
</div>
);
}
}

@ -1 +0,0 @@
export { default } from './basic-tab-content.component';

@ -1,33 +0,0 @@
.basic-tab-content {
display: flex;
flex-direction: column;
align-items: flex-start;
padding-left: 21px;
height: 324px;
background: var(--color-background-alternative);
border-bottom: 1px solid var(--color-border-default);
&__title {
@include Paragraph;
margin-top: 19px;
color: var(--color-text-default);
}
&__blurb {
@include H7;
width: 95%;
color: var(--color-text-default);
margin-top: 5px;
margin-bottom: 15px;
}
&__footer-blurb {
@include H7;
width: 95%;
color: var(--color-text-alternative);
margin-top: 15px;
}
}

@ -1,272 +0,0 @@
import React from 'react';
import sinon from 'sinon';
import { shallowWithContext } from '../../../../../test/lib/render-helpers';
import { getGasFeeEstimatesAndStartPolling } from '../../../../store/actions';
import PageContainer from '../../../ui/page-container';
import { Tab } from '../../../ui/tabs';
import GasModalPageContainer from './gas-modal-page-container.component';
jest.mock('../../../../store/actions', () => ({
disconnectGasFeeEstimatePoller: jest.fn(),
getGasFeeEstimatesAndStartPolling: jest
.fn()
.mockImplementation(() => Promise.resolve()),
addPollingTokenToAppState: jest.fn(),
}));
const propsMethodSpies = {
cancelAndClose: sinon.spy(),
onSubmit: sinon.spy(),
};
const mockGasPriceButtonGroupProps = {
buttonDataLoading: false,
className: 'gas-price-button-group',
gasButtonInfo: [
{
feeInPrimaryCurrency: '$0.52',
feeInSecondaryCurrency: '0.0048 ETH',
timeEstimate: '~ 1 min 0 sec',
priceInHexWei: '0xa1b2c3f',
},
{
feeInPrimaryCurrency: '$0.39',
feeInSecondaryCurrency: '0.004 ETH',
timeEstimate: '~ 1 min 30 sec',
priceInHexWei: '0xa1b2c39',
},
{
feeInPrimaryCurrency: '$0.30',
feeInSecondaryCurrency: '0.00354 ETH',
timeEstimate: '~ 2 min 1 sec',
priceInHexWei: '0xa1b2c30',
},
],
handleGasPriceSelection: 'mockSelectionFunction',
noButtonActiveByDefault: true,
showCheck: true,
newTotalFiat: 'mockNewTotalFiat',
newTotalEth: 'mockNewTotalEth',
};
const mockInfoRowProps = {
originalTotalFiat: 'mockOriginalTotalFiat',
originalTotalEth: 'mockOriginalTotalEth',
newTotalFiat: 'mockNewTotalFiat',
newTotalEth: 'mockNewTotalEth',
sendAmount: 'mockSendAmount',
transactionFee: 'mockTransactionFee',
extraInfoRow: { label: 'mockLabel', value: 'mockValue' },
};
const GP = GasModalPageContainer.prototype;
describe('GasModalPageContainer Component', () => {
let wrapper;
beforeEach(() => {
wrapper = shallowWithContext(
<GasModalPageContainer
cancelAndClose={propsMethodSpies.cancelAndClose}
onSubmit={propsMethodSpies.onSubmit}
updateCustomGasPrice={() => 'mockupdateCustomGasPrice'}
updateCustomGasLimit={() => 'mockupdateCustomGasLimit'}
gasPriceButtonGroupProps={mockGasPriceButtonGroupProps}
infoRowProps={mockInfoRowProps}
customGasPriceInHex="mockCustomGasPriceInHex"
customGasLimitInHex="mockCustomGasLimitInHex"
insufficientBalance={false}
disableSave={false}
customPriceIsExcessive={false}
/>,
);
});
afterEach(() => {
propsMethodSpies.cancelAndClose.resetHistory();
jest.clearAllMocks();
});
describe('componentDidMount', () => {
it('should call getGasFeeEstimatesAndStartPolling', () => {
jest.clearAllMocks();
expect(getGasFeeEstimatesAndStartPolling).not.toHaveBeenCalled();
wrapper.instance().componentDidMount();
expect(getGasFeeEstimatesAndStartPolling).toHaveBeenCalled();
});
});
describe('render', () => {
it('should render a PageContainer compenent', () => {
expect(wrapper.find(PageContainer)).toHaveLength(1);
});
it('should pass correct props to PageContainer', () => {
const { title, subtitle, disabled } = wrapper.find(PageContainer).props();
expect(title).toStrictEqual('customGas');
expect(subtitle).toStrictEqual('customGasSubTitle');
expect(disabled).toStrictEqual(false);
});
it('should pass the correct onCancel and onClose methods to PageContainer', () => {
const { onCancel, onClose } = wrapper.find(PageContainer).props();
expect(propsMethodSpies.cancelAndClose.callCount).toStrictEqual(0);
onCancel();
expect(propsMethodSpies.cancelAndClose.callCount).toStrictEqual(1);
onClose();
expect(propsMethodSpies.cancelAndClose.callCount).toStrictEqual(2);
});
it('should pass the correct renderTabs property to PageContainer', () => {
jest
.spyOn(GasModalPageContainer.prototype, 'renderTabs')
.mockImplementation(() => 'mockTabs');
const renderTabsWrapperTester = shallowWithContext(
<GasModalPageContainer customPriceIsExcessive={false} />,
{ context: { t: (str1, str2) => (str2 ? str1 + str2 : str1) } },
);
const { tabsComponent } = renderTabsWrapperTester
.find(PageContainer)
.props();
expect(tabsComponent).toStrictEqual('mockTabs');
GasModalPageContainer.prototype.renderTabs.mockClear();
});
});
describe('renderTabs', () => {
beforeEach(() => {
sinon.spy(GP, 'renderBasicTabContent');
sinon.spy(GP, 'renderAdvancedTabContent');
sinon.spy(GP, 'renderInfoRows');
});
afterEach(() => {
GP.renderBasicTabContent.restore();
GP.renderAdvancedTabContent.restore();
GP.renderInfoRows.restore();
});
it('should render a Tabs component with "Basic" and "Advanced" tabs', () => {
const renderTabsResult = wrapper.instance().renderTabs();
const renderedTabs = shallowWithContext(renderTabsResult);
expect(renderedTabs.props().className).toStrictEqual('tabs');
const tabs = renderedTabs.find(Tab);
expect(tabs).toHaveLength(2);
expect(tabs.at(0).props().name).toStrictEqual('basic');
expect(tabs.at(1).props().name).toStrictEqual('advanced');
expect(tabs.at(0).childAt(0).props().className).toStrictEqual(
'gas-modal-content',
);
expect(tabs.at(1).childAt(0).props().className).toStrictEqual(
'gas-modal-content',
);
});
it('should call renderInfoRows with the expected props', () => {
expect(GP.renderInfoRows.callCount).toStrictEqual(0);
wrapper.instance().renderTabs();
expect(GP.renderInfoRows.callCount).toStrictEqual(2);
expect(GP.renderInfoRows.getCall(0).args).toStrictEqual([
'mockNewTotalFiat',
'mockNewTotalEth',
'mockSendAmount',
'mockTransactionFee',
]);
expect(GP.renderInfoRows.getCall(1).args).toStrictEqual([
'mockNewTotalFiat',
'mockNewTotalEth',
'mockSendAmount',
'mockTransactionFee',
]);
});
it('should not render the basic tab if hideBasic is true', () => {
wrapper = shallowWithContext(
<GasModalPageContainer
cancelAndClose={propsMethodSpies.cancelAndClose}
onSubmit={propsMethodSpies.onSubmit}
updateCustomGasPrice={() => 'mockupdateCustomGasPrice'}
updateCustomGasLimit={() => 'mockupdateCustomGasLimit'}
gasPriceButtonGroupProps={mockGasPriceButtonGroupProps}
infoRowProps={mockInfoRowProps}
customGasPriceInHex="mockCustomGasPriceInHex"
customGasLimitInHex="mockCustomGasLimitInHex"
insufficientBalance={false}
disableSave={false}
customPriceIsExcessive={false}
hideBasic
/>,
);
const renderTabsResult = wrapper.instance().renderTabs();
const renderedTabs = shallowWithContext(renderTabsResult);
const tabs = renderedTabs.find(Tab);
expect(tabs).toHaveLength(1);
expect(tabs.at(0).props().name).toStrictEqual('advanced');
});
});
describe('renderBasicTabContent', () => {
it('should render', () => {
const renderBasicTabContentResult = wrapper
.instance()
.renderBasicTabContent(mockGasPriceButtonGroupProps);
expect(
renderBasicTabContentResult.props.gasPriceButtonGroupProps,
).toStrictEqual(mockGasPriceButtonGroupProps);
});
});
describe('renderInfoRows', () => {
it('should render the info rows with the passed data', () => {
const baseClassName = 'gas-modal-content__info-row';
const renderedInfoRowsContainer = shallowWithContext(
wrapper
.instance()
.renderInfoRows(
'mockNewTotalFiat',
' mockNewTotalEth',
' mockSendAmount',
' mockTransactionFee',
),
);
expect(
renderedInfoRowsContainer.childAt(0).hasClass(baseClassName),
).toStrictEqual(true);
const renderedInfoRows = renderedInfoRowsContainer.childAt(0).children();
expect(renderedInfoRows).toHaveLength(4);
expect(
renderedInfoRows.at(0).hasClass(`${baseClassName}__send-info`),
).toStrictEqual(true);
expect(
renderedInfoRows.at(1).hasClass(`${baseClassName}__transaction-info`),
).toStrictEqual(true);
expect(
renderedInfoRows.at(2).hasClass(`${baseClassName}__total-info`),
).toStrictEqual(true);
expect(
renderedInfoRows.at(3).hasClass(`${baseClassName}__fiat-total-info`),
).toStrictEqual(true);
expect(renderedInfoRows.at(0).text()).toStrictEqual(
'sendAmount mockSendAmount',
);
expect(renderedInfoRows.at(1).text()).toStrictEqual(
'transactionFee mockTransactionFee',
);
expect(renderedInfoRows.at(2).text()).toStrictEqual(
'newTotal mockNewTotalEth',
);
expect(renderedInfoRows.at(3).text()).toStrictEqual('mockNewTotalFiat');
});
});
});

@ -1,274 +0,0 @@
import sinon from 'sinon';
import { hideModal } from '../../../../store/actions';
import {
setCustomGasPrice,
setCustomGasLimit,
resetCustomData,
} from '../../../../ducks/gas/gas.duck';
import {
useCustomGas,
updateGasLimit,
updateGasPrice,
} from '../../../../ducks/send';
let mapDispatchToProps;
let mergeProps;
jest.mock('react-redux', () => ({
connect: (_, md, mp) => {
mapDispatchToProps = md;
mergeProps = mp;
return () => ({});
},
}));
jest.mock('../../../../selectors', () => ({
getBasicGasEstimateLoadingStatus: (s) =>
`mockBasicGasEstimateLoadingStatus:${Object.keys(s).length}`,
getRenderableBasicEstimateData: (s) =>
`mockRenderableBasicEstimateData:${Object.keys(s).length}`,
getDefaultActiveButtonIndex: (a, b) => a + b,
getCurrentEthBalance: (state) => state.metamask.balance || '0x0',
getCustomGasPrice: (state) => state.gas.customData.price || '0x0',
getCustomGasLimit: (state) => state.gas.customData.limit || '0x0',
getCurrentCurrency: jest.fn().mockReturnValue('usd'),
conversionRateSelector: jest.fn().mockReturnValue(50),
getSendMaxModeState: jest.fn().mockReturnValue(false),
getPreferences: jest.fn(() => ({
showFiatInTestnets: false,
})),
getIsMainnet: jest.fn().mockReturnValue(false),
isCustomPriceSafe: jest.fn().mockReturnValue(true),
}));
jest.mock('../../../../store/actions', () => ({
hideModal: jest.fn(),
updateTransaction: jest.fn(),
}));
jest.mock('../../../../ducks/metamask/metamask.js', () => ({
updateTransactionGasFees: jest.fn(),
}));
jest.mock('../../../../ducks/gas/gas.duck', () => ({
setCustomGasPrice: jest.fn(),
setCustomGasLimit: jest.fn(),
resetCustomData: jest.fn(),
}));
jest.mock('../../../../ducks/send', () => {
const { ASSET_TYPES } = jest.requireActual(
'../../../../../shared/constants/transaction',
);
return {
useCustomGas: jest.fn(),
updateGasLimit: jest.fn(),
updateGasPrice: jest.fn(),
getSendAsset: jest.fn(() => ({ type: ASSET_TYPES.NATIVE })),
};
});
require('./gas-modal-page-container.container');
describe('gas-modal-page-container container', () => {
describe('mapDispatchToProps()', () => {
let dispatchSpy;
let mapDispatchToPropsObject;
beforeEach(() => {
dispatchSpy = sinon.spy();
mapDispatchToPropsObject = mapDispatchToProps(dispatchSpy);
});
afterEach(() => {
dispatchSpy.resetHistory();
jest.clearAllMocks();
});
describe('useCustomGas()', () => {
it('should dispatch a useCustomGas action', () => {
mapDispatchToPropsObject.useCustomGas();
expect(dispatchSpy.calledOnce).toStrictEqual(true);
expect(useCustomGas).toHaveBeenCalled();
});
});
describe('cancelAndClose()', () => {
it('should dispatch a hideModal action', () => {
mapDispatchToPropsObject.cancelAndClose();
expect(dispatchSpy.calledTwice).toStrictEqual(true);
expect(hideModal).toHaveBeenCalled();
expect(resetCustomData).toHaveBeenCalled();
});
});
describe('updateCustomGasPrice()', () => {
it('should dispatch a setCustomGasPrice action with the arg passed to updateCustomGasPrice hex prefixed', () => {
mapDispatchToPropsObject.updateCustomGasPrice('ffff');
expect(dispatchSpy.calledOnce).toStrictEqual(true);
expect(setCustomGasPrice).toHaveBeenCalled();
expect(setCustomGasPrice).toHaveBeenCalledWith('0xffff');
// expect(
// setCustomGasPrice.getCall(0).args[0],
// '0xffff',
// );
});
it('should dispatch a setCustomGasPrice action', () => {
mapDispatchToPropsObject.updateCustomGasPrice('0xffff');
expect(dispatchSpy.calledOnce).toStrictEqual(true);
expect(setCustomGasPrice).toHaveBeenCalled();
expect(setCustomGasPrice).toHaveBeenCalledWith('0xffff');
});
});
describe('updateCustomGasLimit()', () => {
it('should dispatch a setCustomGasLimit action', () => {
mapDispatchToPropsObject.updateCustomGasLimit('0x10');
expect(dispatchSpy.calledOnce).toStrictEqual(true);
expect(setCustomGasLimit).toHaveBeenCalled();
expect(setCustomGasLimit).toHaveBeenCalledWith('0x10');
});
});
describe('setGasData()', () => {
it('should dispatch a updateGasPrice and updateGasLimit action with the correct props', () => {
mapDispatchToPropsObject.setGasData('ffff', 'aaaa');
expect(dispatchSpy.calledTwice).toStrictEqual(true);
expect(updateGasPrice).toHaveBeenCalled();
expect(updateGasLimit).toHaveBeenCalled();
expect(updateGasLimit).toHaveBeenCalledWith('ffff');
expect(updateGasPrice).toHaveBeenCalledWith('aaaa');
});
});
});
describe('mergeProps', () => {
let stateProps;
let dispatchProps;
let ownProps;
beforeEach(() => {
stateProps = {
gasPriceButtonGroupProps: {
someGasPriceButtonGroupProp: 'foo',
anotherGasPriceButtonGroupProp: 'bar',
},
isConfirm: true,
someOtherStateProp: 'baz',
transaction: {},
};
dispatchProps = {
updateCustomGasPrice: sinon.spy(),
useCustomGas: sinon.spy(),
setGasData: sinon.spy(),
updateTransactionGasFees: sinon.spy(),
someOtherDispatchProp: sinon.spy(),
createSpeedUpTransaction: sinon.spy(),
hideModal: sinon.spy(),
cancelAndClose: sinon.spy(),
};
ownProps = { someOwnProp: 123 };
});
it('should return the expected props when isConfirm is true', () => {
const result = mergeProps(stateProps, dispatchProps, ownProps);
expect(result.isConfirm).toStrictEqual(true);
expect(result.someOtherStateProp).toStrictEqual('baz');
expect(
result.gasPriceButtonGroupProps.someGasPriceButtonGroupProp,
).toStrictEqual('foo');
expect(
result.gasPriceButtonGroupProps.anotherGasPriceButtonGroupProp,
).toStrictEqual('bar');
expect(result.someOwnProp).toStrictEqual(123);
expect(dispatchProps.updateTransactionGasFees.callCount).toStrictEqual(0);
expect(dispatchProps.setGasData.callCount).toStrictEqual(0);
expect(dispatchProps.useCustomGas.callCount).toStrictEqual(0);
expect(dispatchProps.hideModal.callCount).toStrictEqual(0);
result.onSubmit();
expect(dispatchProps.updateTransactionGasFees.callCount).toStrictEqual(1);
expect(dispatchProps.setGasData.callCount).toStrictEqual(0);
expect(dispatchProps.useCustomGas.callCount).toStrictEqual(0);
expect(dispatchProps.hideModal.callCount).toStrictEqual(1);
expect(dispatchProps.updateCustomGasPrice.callCount).toStrictEqual(0);
result.gasPriceButtonGroupProps.handleGasPriceSelection({
gasPrice: '0x0',
});
expect(dispatchProps.updateCustomGasPrice.callCount).toStrictEqual(1);
expect(dispatchProps.someOtherDispatchProp.callCount).toStrictEqual(0);
result.someOtherDispatchProp();
expect(dispatchProps.someOtherDispatchProp.callCount).toStrictEqual(1);
});
it('should return the expected props when isConfirm is false', () => {
const result = mergeProps(
{ ...stateProps, isConfirm: false },
dispatchProps,
ownProps,
);
expect(result.isConfirm).toStrictEqual(false);
expect(result.someOtherStateProp).toStrictEqual('baz');
expect(
result.gasPriceButtonGroupProps.someGasPriceButtonGroupProp,
).toStrictEqual('foo');
expect(
result.gasPriceButtonGroupProps.anotherGasPriceButtonGroupProp,
).toStrictEqual('bar');
expect(result.someOwnProp).toStrictEqual(123);
expect(dispatchProps.updateTransactionGasFees.callCount).toStrictEqual(0);
expect(dispatchProps.setGasData.callCount).toStrictEqual(0);
expect(dispatchProps.useCustomGas.callCount).toStrictEqual(0);
expect(dispatchProps.cancelAndClose.callCount).toStrictEqual(0);
result.onSubmit('mockNewLimit', 'mockNewPrice');
expect(dispatchProps.updateTransactionGasFees.callCount).toStrictEqual(0);
expect(dispatchProps.setGasData.callCount).toStrictEqual(1);
expect(dispatchProps.setGasData.getCall(0).args).toStrictEqual([
'mockNewLimit',
'mockNewPrice',
]);
expect(dispatchProps.useCustomGas.callCount).toStrictEqual(1);
expect(dispatchProps.cancelAndClose.callCount).toStrictEqual(1);
expect(dispatchProps.updateCustomGasPrice.callCount).toStrictEqual(0);
result.gasPriceButtonGroupProps.handleGasPriceSelection({
gasPrice: '0x0',
});
expect(dispatchProps.updateCustomGasPrice.callCount).toStrictEqual(1);
expect(dispatchProps.someOtherDispatchProp.callCount).toStrictEqual(0);
result.someOtherDispatchProp();
expect(dispatchProps.someOtherDispatchProp.callCount).toStrictEqual(1);
});
it('should dispatch the expected actions from obSubmit when isConfirm is false and isSpeedUp is true', () => {
const result = mergeProps(
{ ...stateProps, isSpeedUp: true, isConfirm: false },
dispatchProps,
ownProps,
);
result.onSubmit();
expect(dispatchProps.updateTransactionGasFees.callCount).toStrictEqual(0);
expect(dispatchProps.setGasData.callCount).toStrictEqual(0);
expect(dispatchProps.useCustomGas.callCount).toStrictEqual(0);
expect(dispatchProps.cancelAndClose.callCount).toStrictEqual(1);
expect(dispatchProps.createSpeedUpTransaction.callCount).toStrictEqual(1);
});
});
});

@ -1,240 +0,0 @@
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import PageContainer from '../../../ui/page-container';
import { Tabs, Tab } from '../../../ui/tabs';
import {
disconnectGasFeeEstimatePoller,
getGasFeeEstimatesAndStartPolling,
addPollingTokenToAppState,
removePollingTokenFromAppState,
} from '../../../../store/actions';
import { EVENT } from '../../../../../shared/constants/metametrics';
import AdvancedTabContent from './advanced-tab-content';
import BasicTabContent from './basic-tab-content';
export default class GasModalPageContainer extends Component {
static contextTypes = {
t: PropTypes.func,
trackEvent: PropTypes.func,
};
static propTypes = {
hideBasic: PropTypes.bool,
updateCustomGasPrice: PropTypes.func,
updateCustomGasLimit: PropTypes.func,
insufficientBalance: PropTypes.bool,
gasPriceButtonGroupProps: PropTypes.object,
infoRowProps: PropTypes.shape({
originalTotalFiat: PropTypes.string,
originalTotalEth: PropTypes.string,
newTotalFiat: PropTypes.string,
newTotalEth: PropTypes.string,
sendAmount: PropTypes.string,
transactionFee: PropTypes.string,
}),
onSubmit: PropTypes.func,
customModalGasPriceInHex: PropTypes.string,
customModalGasLimitInHex: PropTypes.string,
cancelAndClose: PropTypes.func,
customPriceIsSafe: PropTypes.bool,
isSpeedUp: PropTypes.bool,
isRetry: PropTypes.bool,
disableSave: PropTypes.bool,
customPriceIsExcessive: PropTypes.bool.isRequired,
};
constructor(props) {
super(props);
this.state = {
pollingToken: undefined,
};
}
componentDidMount() {
this._isMounted = true;
getGasFeeEstimatesAndStartPolling().then((pollingToken) => {
if (this._isMounted) {
addPollingTokenToAppState(pollingToken);
this.setState({ pollingToken });
} else {
disconnectGasFeeEstimatePoller(pollingToken);
removePollingTokenFromAppState(pollingToken);
}
});
window.addEventListener('beforeunload', this._beforeUnload);
}
_beforeUnload = () => {
this._isMounted = false;
if (this.state.pollingToken) {
disconnectGasFeeEstimatePoller(this.state.pollingToken);
removePollingTokenFromAppState(this.state.pollingToken);
}
};
componentWillUnmount() {
this._beforeUnload();
window.removeEventListener('beforeunload', this._beforeUnload);
}
renderBasicTabContent(gasPriceButtonGroupProps) {
return (
<BasicTabContent gasPriceButtonGroupProps={gasPriceButtonGroupProps} />
);
}
renderAdvancedTabContent() {
const {
updateCustomGasPrice,
updateCustomGasLimit,
customModalGasPriceInHex,
customModalGasLimitInHex,
insufficientBalance,
customPriceIsSafe,
isSpeedUp,
isRetry,
customPriceIsExcessive,
infoRowProps: { transactionFee },
} = this.props;
return (
<AdvancedTabContent
updateCustomGasPrice={updateCustomGasPrice}
updateCustomGasLimit={updateCustomGasLimit}
customModalGasPriceInHex={customModalGasPriceInHex}
customModalGasLimitInHex={customModalGasLimitInHex}
transactionFee={transactionFee}
insufficientBalance={insufficientBalance}
customPriceIsSafe={customPriceIsSafe}
isSpeedUp={isSpeedUp}
isRetry={isRetry}
customPriceIsExcessive={customPriceIsExcessive}
/>
);
}
renderInfoRows(newTotalFiat, newTotalEth, sendAmount, transactionFee) {
return (
<div className="gas-modal-content__info-row-wrapper">
<div className="gas-modal-content__info-row">
<div className="gas-modal-content__info-row__send-info">
<span className="gas-modal-content__info-row__send-info__label">
{this.context.t('sendAmount')}
</span>
<span className="gas-modal-content__info-row__send-info__value">
{sendAmount}
</span>
</div>
<div className="gas-modal-content__info-row__transaction-info">
<span className="gas-modal-content__info-row__transaction-info__label">
{this.context.t('transactionFee')}
</span>
<span className="gas-modal-content__info-row__transaction-info__value">
{transactionFee}
</span>
</div>
<div className="gas-modal-content__info-row__total-info">
<span className="gas-modal-content__info-row__total-info__label">
{this.context.t('newTotal')}
</span>
<span className="gas-modal-content__info-row__total-info__value">
{newTotalEth}
</span>
</div>
<div className="gas-modal-content__info-row__fiat-total-info">
<span className="gas-modal-content__info-row__fiat-total-info__value">
{newTotalFiat}
</span>
</div>
</div>
</div>
);
}
renderTabs() {
const {
gasPriceButtonGroupProps,
hideBasic,
infoRowProps: { newTotalFiat, newTotalEth, sendAmount, transactionFee },
} = this.props;
let tabsToRender;
if (hideBasic) {
tabsToRender = [
{
name: this.context.t('advanced'),
content: this.renderAdvancedTabContent(),
},
];
} else {
tabsToRender = [
{
name: this.context.t('basic'),
content: this.renderBasicTabContent(gasPriceButtonGroupProps),
},
{
name: this.context.t('advanced'),
content: this.renderAdvancedTabContent(),
},
];
}
return (
<Tabs>
{tabsToRender.map(({ name, content }, i) => (
<Tab name={name} key={`gas-modal-tab-${i}`}>
<div className="gas-modal-content">
{content}
{this.renderInfoRows(
newTotalFiat,
newTotalEth,
sendAmount,
transactionFee,
)}
</div>
</Tab>
))}
</Tabs>
);
}
render() {
const {
cancelAndClose,
onSubmit,
customModalGasPriceInHex,
customModalGasLimitInHex,
disableSave,
isSpeedUp,
} = this.props;
return (
<div className="gas-modal-page-container">
<PageContainer
title={this.context.t('customGas')}
subtitle={this.context.t('customGasSubTitle')}
tabsComponent={this.renderTabs()}
disabled={disableSave}
onCancel={() => cancelAndClose()}
onClose={() => cancelAndClose()}
onSubmit={() => {
if (isSpeedUp) {
this.context.trackEvent({
category: EVENT.CATEGORIES.NAVIGATION,
event: 'Saved "Speed Up"',
properties: {
action: 'Activity Log',
legacy_event: true,
},
});
}
onSubmit(customModalGasLimitInHex, customModalGasPriceInHex);
}}
submitText={this.context.t('save')}
headerCloseText={this.context.t('close')}
hideCancel
/>
</div>
);
}
}

@ -1,330 +0,0 @@
import { connect } from 'react-redux';
import { addHexPrefix } from '../../../../../app/scripts/lib/util';
import {
hideModal,
createRetryTransaction,
createSpeedUpTransaction,
} from '../../../../store/actions';
import {
setCustomGasPrice,
setCustomGasLimit,
resetCustomData,
} from '../../../../ducks/gas/gas.duck';
import {
getSendMaxModeState,
getGasLimit,
getGasPrice,
getSendAmount,
updateGasLimit,
updateGasPrice,
useCustomGas,
getSendAsset,
} from '../../../../ducks/send';
import {
conversionRateSelector as getConversionRate,
getCurrentCurrency,
getCurrentEthBalance,
getIsMainnet,
getIsTestnet,
getBasicGasEstimateLoadingStatus,
getCustomGasLimit,
getCustomGasPrice,
getDefaultActiveButtonIndex,
getRenderableBasicEstimateData,
isCustomPriceSafe,
isCustomPriceSafeForCustomNetwork,
getAveragePriceEstimateInHexWEI,
isCustomPriceExcessive,
getIsGasEstimatesFetched,
getShouldShowFiat,
getIsCustomNetworkGasPriceFetched,
} from '../../../../selectors';
import {
addHexes,
subtractHexWEIsToDec,
getValueFromWeiHex,
sumHexWEIsToRenderableFiat,
} from '../../../../helpers/utils/conversions.util';
import { formatETHFee } from '../../../../helpers/utils/formatters';
import { isBalanceSufficient } from '../../../../pages/send/send.utils';
import { MIN_GAS_LIMIT_DEC } from '../../../../pages/send/send.constants';
import {
ASSET_TYPES,
TRANSACTION_STATUSES,
} from '../../../../../shared/constants/transaction';
import { GAS_LIMITS } from '../../../../../shared/constants/gas';
import { updateGasFees } from '../../../../ducks/metamask/metamask';
import {
calcGasTotal,
hexWEIToDecGWEI,
} from '../../../../../shared/lib/transactions-controller-utils';
import GasModalPageContainer from './gas-modal-page-container.component';
const mapStateToProps = (state, ownProps) => {
const gasLimit = getGasLimit(state);
const gasPrice = getGasPrice(state);
const amount = getSendAmount(state);
const { currentNetworkTxList } = state.metamask;
const { modalState: { props: modalProps } = {} } = state.appState.modal || {};
const { txData = {} } = modalProps || {};
const { transaction = {}, onSubmit } = ownProps;
const selectedTransaction = currentNetworkTxList.find(
({ id }) => id === (transaction.id || txData.id),
);
const buttonDataLoading = getBasicGasEstimateLoadingStatus(state);
const asset = getSendAsset(state);
// a "default" txParams is used during the send flow, since the transaction doesn't exist yet in that case
const txParams = selectedTransaction?.txParams
? selectedTransaction.txParams
: {
gas: gasLimit || GAS_LIMITS.SIMPLE,
gasPrice: gasPrice || getAveragePriceEstimateInHexWEI(state, true),
value: asset.type === ASSET_TYPES.TOKEN ? '0x0' : amount,
};
const { gasPrice: currentGasPrice, gas: currentGasLimit } = txParams;
const value = ownProps.transaction?.txParams?.value || txParams.value;
const customModalGasPriceInHex = getCustomGasPrice(state) || currentGasPrice;
const customModalGasLimitInHex =
getCustomGasLimit(state) || currentGasLimit || GAS_LIMITS.SIMPLE;
const customGasTotal = calcGasTotal(
customModalGasLimitInHex,
customModalGasPriceInHex,
);
const gasButtonInfo = getRenderableBasicEstimateData(
state,
customModalGasLimitInHex,
);
const currentCurrency = getCurrentCurrency(state);
const conversionRate = getConversionRate(state);
const newTotalFiat = sumHexWEIsToRenderableFiat(
[value, customGasTotal],
currentCurrency,
conversionRate,
);
const { hideBasic } = state.appState.modal.modalState.props;
const customGasPrice = calcCustomGasPrice(customModalGasPriceInHex);
const maxModeOn = getSendMaxModeState(state);
const balance = getCurrentEthBalance(state);
const isMainnet = getIsMainnet(state);
const isTestnet = getIsTestnet(state);
const showFiat = getShouldShowFiat(state);
const newTotalEth =
maxModeOn && asset.type === ASSET_TYPES.NATIVE
? sumHexWEIsToRenderableEth([balance, '0x0'])
: sumHexWEIsToRenderableEth([value, customGasTotal]);
const sendAmount =
maxModeOn && asset.type === ASSET_TYPES.NATIVE
? subtractHexWEIsFromRenderableEth(balance, customGasTotal)
: sumHexWEIsToRenderableEth([value, '0x0']);
const insufficientBalance = maxModeOn
? false
: !isBalanceSufficient({
amount: value,
gasTotal: customGasTotal,
balance,
conversionRate,
});
const isGasEstimate = getIsGasEstimatesFetched(state);
const customNetworkEstimateWasFetched =
getIsCustomNetworkGasPriceFetched(state);
let customPriceIsSafe = true;
if ((isMainnet || process.env.IN_TEST) && isGasEstimate) {
customPriceIsSafe = isCustomPriceSafe(state);
} else if (
!(isMainnet || process.env.IN_TEST || isTestnet) &&
customNetworkEstimateWasFetched
) {
customPriceIsSafe = isCustomPriceSafeForCustomNetwork(state);
}
return {
hideBasic,
isConfirm: isConfirm(state),
customModalGasPriceInHex,
customModalGasLimitInHex,
customGasPrice,
customGasLimit: calcCustomGasLimit(customModalGasLimitInHex),
customGasTotal,
newTotalFiat,
customPriceIsSafe,
customPriceIsExcessive: isCustomPriceExcessive(state),
maxModeOn,
gasPriceButtonGroupProps: {
buttonDataLoading,
defaultActiveButtonIndex: getDefaultActiveButtonIndex(
gasButtonInfo,
customModalGasPriceInHex,
),
gasButtonInfo,
},
infoRowProps: {
originalTotalFiat: sumHexWEIsToRenderableFiat(
[value, customGasTotal],
currentCurrency,
conversionRate,
),
originalTotalEth: sumHexWEIsToRenderableEth([value, customGasTotal]),
newTotalFiat: showFiat ? newTotalFiat : '',
newTotalEth,
transactionFee: sumHexWEIsToRenderableEth(['0x0', customGasTotal]),
sendAmount,
},
transaction: txData || transaction,
isSpeedUp: transaction.status === TRANSACTION_STATUSES.SUBMITTED,
isRetry: transaction.status === TRANSACTION_STATUSES.FAILED,
txId: transaction.id,
insufficientBalance,
isMainnet,
balance,
conversionRate,
value,
onSubmit,
};
};
const mapDispatchToProps = (dispatch) => {
const updateCustomGasPrice = (newPrice) =>
dispatch(setCustomGasPrice(addHexPrefix(newPrice)));
return {
cancelAndClose: () => {
dispatch(resetCustomData());
dispatch(hideModal());
},
hideModal: () => dispatch(hideModal()),
useCustomGas: () => dispatch(useCustomGas()),
updateTransactionGasFees: (gasFees) => {
dispatch(updateGasFees({ ...gasFees, expectHexWei: true }));
},
updateCustomGasPrice,
updateCustomGasLimit: (newLimit) =>
dispatch(setCustomGasLimit(addHexPrefix(newLimit))),
setGasData: (newLimit, newPrice) => {
dispatch(updateGasLimit(newLimit));
dispatch(updateGasPrice(newPrice));
},
createRetryTransaction: (txId, customGasSettings) => {
return dispatch(createRetryTransaction(txId, customGasSettings));
},
createSpeedUpTransaction: (txId, customGasSettings) => {
return dispatch(createSpeedUpTransaction(txId, customGasSettings));
},
};
};
const mergeProps = (stateProps, dispatchProps, ownProps) => {
const {
gasPriceButtonGroupProps,
// eslint-disable-next-line no-shadow
isConfirm,
txId,
isSpeedUp,
isRetry,
insufficientBalance,
customGasPrice,
customGasLimit,
transaction,
} = stateProps;
const {
useCustomGas: dispatchUseCustomGas,
setGasData: dispatchSetGasData,
createSpeedUpTransaction: dispatchCreateSpeedUpTransaction,
createRetryTransaction: dispatchCreateRetryTransaction,
updateTransactionGasFees: dispatchUpdateTransactionGasFees,
cancelAndClose: dispatchCancelAndClose,
hideModal: dispatchHideModal,
...otherDispatchProps
} = dispatchProps;
return {
...stateProps,
...otherDispatchProps,
...ownProps,
onSubmit: (gasLimit, gasPrice) => {
if (ownProps.onSubmit) {
dispatchCancelAndClose();
ownProps.onSubmit({ gasLimit, gasPrice });
return;
}
if (isConfirm) {
dispatchUpdateTransactionGasFees({
gasLimit,
gasPrice,
transaction,
isModal: true,
});
dispatchHideModal();
dispatchCancelAndClose();
} else if (isSpeedUp) {
dispatchCreateSpeedUpTransaction(txId, { gasPrice, gasLimit });
dispatchCancelAndClose();
} else if (isRetry) {
dispatchCreateRetryTransaction(txId, { gasPrice, gasLimit });
dispatchCancelAndClose();
} else {
dispatchSetGasData(gasLimit, gasPrice);
dispatchUseCustomGas();
dispatchCancelAndClose();
}
},
gasPriceButtonGroupProps: {
...gasPriceButtonGroupProps,
handleGasPriceSelection: ({ gasPrice }) =>
otherDispatchProps.updateCustomGasPrice(gasPrice),
},
cancelAndClose: () => {
dispatchCancelAndClose();
},
disableSave:
insufficientBalance ||
(isSpeedUp && customGasPrice === 0) ||
customGasLimit < Number(MIN_GAS_LIMIT_DEC),
};
};
export default connect(
mapStateToProps,
mapDispatchToProps,
mergeProps,
)(GasModalPageContainer);
function isConfirm(state) {
return Boolean(Object.keys(state.confirmTransaction.txData).length);
}
function calcCustomGasPrice(customGasPriceInHex) {
return Number(hexWEIToDecGWEI(customGasPriceInHex));
}
function calcCustomGasLimit(customGasLimitInHex) {
return parseInt(customGasLimitInHex, 16);
}
function sumHexWEIsToRenderableEth(hexWEIs) {
const hexWEIsSum = hexWEIs.filter(Boolean).reduce(addHexes);
return formatETHFee(
getValueFromWeiHex({
value: hexWEIsSum,
toCurrency: 'ETH',
numberOfDecimals: 6,
}),
);
}
function subtractHexWEIsFromRenderableEth(aHexWEI, bHexWEI) {
return formatETHFee(subtractHexWEIsToDec(aHexWEI, bHexWEI));
}

@ -1 +0,0 @@
export { default } from './gas-modal-page-container.container';

@ -1,160 +0,0 @@
@import './advanced-tab-content/index';
@import './basic-tab-content/index';
.gas-modal-page-container {
.page-container {
max-width: 391px;
min-height: 585px;
overflow-y: initial;
@include screen-sm-max {
&__content {
display: flex;
overflow-y: initial;
}
}
&__header {
padding: 0;
padding-top: 16px;
&--no-padding-bottom {
padding-bottom: 0;
}
}
&__footer {
footer {
padding-top: 12px;
padding-bottom: 12px;
}
}
&__header-close-text {
@include H6;
color: var(--color-primary-default);
position: absolute;
font-size: 0.75rem;
top: 8px;
right: 16px;
cursor: pointer;
overflow: hidden;
width: min-content;
}
&__title {
@include H5;
color: var(--color-text-default);
font-weight: 500;
display: flex;
justify-content: center;
align-items: flex-start;
margin-right: 0;
}
&__subtitle {
display: none;
}
&__tab {
margin-right: 0;
}
&__tabs {
margin-top: 0;
}
&__tab {
@include H6;
width: 100%;
&:last-of-type {
margin-right: 0;
}
& button {
font-size: unset;
}
&.tab--active button {
color: var(--color-primary-default);
}
}
}
}
.gas-modal-content {
@include screen-sm-max {
width: 100%;
}
&__basic-tab {
height: 219px;
}
&__info-row,
&__info-row--fade {
@include H7;
width: 100%;
background: var(--color-background-alternative);
padding: 15px 21px;
display: flex;
flex-flow: column;
color: var(--color-text-alternative);
&__send-info,
&__transaction-info,
&__total-info,
&__fiat-total-info {
display: flex;
flex-flow: row;
justify-content: space-between;
}
&__fiat-total-info {
justify-content: flex-end;
}
&__total-info {
&__label {
@include Paragraph;
@include screen-sm-max {
@include H6;
}
}
&__value {
@include Paragraph;
font-weight: bold;
@include screen-sm-max {
@include H6;
}
}
}
&__transaction-info,
&__send-info {
&__label {
@include H7;
}
&__value {
@include H6;
}
}
}
&__info-row--fade {
background: var(--color-background-default);
color: var(--color-text-muted);
border-top: 1px solid var(--color-border-muted);
}
}

@ -1,308 +0,0 @@
import React from 'react';
import sinon from 'sinon';
import { shallowWithContext } from '../../../../../test/lib/render-helpers';
import { GAS_ESTIMATE_TYPES } from '../../../../helpers/constants/common';
import ButtonGroup from '../../../ui/button-group';
import GasPriceButtonGroup from './gas-price-button-group.component';
describe('GasPriceButtonGroup Component', () => {
let mockButtonPropsAndFlags;
let mockGasPriceButtonGroupProps;
let wrapper;
beforeEach(() => {
mockGasPriceButtonGroupProps = {
buttonDataLoading: false,
className: 'gas-price-button-group',
gasButtonInfo: [
{
gasEstimateType: GAS_ESTIMATE_TYPES.SLOW,
feeInPrimaryCurrency: '$0.52',
feeInSecondaryCurrency: '0.0048 ETH',
timeEstimate: '~ 1 min 0 sec',
priceInHexWei: '0xa1b2c3f',
},
{
gasEstimateType: GAS_ESTIMATE_TYPES.AVERAGE,
feeInPrimaryCurrency: '$0.39',
feeInSecondaryCurrency: '0.004 ETH',
timeEstimate: '~ 1 min 30 sec',
priceInHexWei: '0xa1b2c39',
},
{
gasEstimateType: GAS_ESTIMATE_TYPES.FAST,
feeInPrimaryCurrency: '$0.30',
feeInSecondaryCurrency: '0.00354 ETH',
timeEstimate: '~ 2 min 1 sec',
priceInHexWei: '0xa1b2c30',
},
],
handleGasPriceSelection: sinon.spy(),
noButtonActiveByDefault: true,
defaultActiveButtonIndex: 2,
showCheck: true,
};
mockButtonPropsAndFlags = {
className: mockGasPriceButtonGroupProps.className,
handleGasPriceSelection:
mockGasPriceButtonGroupProps.handleGasPriceSelection,
showCheck: mockGasPriceButtonGroupProps.showCheck,
};
sinon.spy(GasPriceButtonGroup.prototype, 'renderButton');
sinon.spy(GasPriceButtonGroup.prototype, 'renderButtonContent');
wrapper = shallowWithContext(
<GasPriceButtonGroup {...mockGasPriceButtonGroupProps} />,
);
});
afterEach(() => {
sinon.restore();
});
describe('render', () => {
it('should render a ButtonGroup', () => {
expect(wrapper.is(ButtonGroup)).toStrictEqual(true);
});
it('should render the correct props on the ButtonGroup', () => {
const { className, defaultActiveButtonIndex, noButtonActiveByDefault } =
wrapper.props();
expect(className).toStrictEqual('gas-price-button-group');
expect(defaultActiveButtonIndex).toStrictEqual(2);
expect(noButtonActiveByDefault).toStrictEqual(true);
});
function renderButtonArgsTest(i, mockPropsAndFlags) {
expect(
GasPriceButtonGroup.prototype.renderButton.getCall(i).args,
).toStrictEqual([
{ ...mockGasPriceButtonGroupProps.gasButtonInfo[i] },
mockPropsAndFlags,
i,
]);
}
it('should call this.renderButton 3 times, with the correct args', () => {
expect(
GasPriceButtonGroup.prototype.renderButton.callCount,
).toStrictEqual(3);
renderButtonArgsTest(0, mockButtonPropsAndFlags);
renderButtonArgsTest(1, mockButtonPropsAndFlags);
renderButtonArgsTest(2, mockButtonPropsAndFlags);
});
it('should show loading if buttonDataLoading', () => {
wrapper.setProps({ buttonDataLoading: true });
expect(wrapper.is('div')).toStrictEqual(true);
expect(
wrapper.hasClass('gas-price-button-group__loading-container'),
).toStrictEqual(true);
expect(wrapper.text()).toStrictEqual('loading');
});
});
describe('renderButton', () => {
let wrappedRenderButtonResult;
beforeEach(() => {
GasPriceButtonGroup.prototype.renderButtonContent.resetHistory();
const renderButtonResult = wrapper
.instance()
.renderButton(
{ ...mockGasPriceButtonGroupProps.gasButtonInfo[0] },
mockButtonPropsAndFlags,
);
wrappedRenderButtonResult = shallowWithContext(renderButtonResult);
});
it('should render a button', () => {
expect(wrappedRenderButtonResult.type()).toStrictEqual('button');
});
it('should call the correct method when clicked', () => {
expect(
mockGasPriceButtonGroupProps.handleGasPriceSelection.callCount,
).toStrictEqual(0);
wrappedRenderButtonResult.props().onClick();
expect(
mockGasPriceButtonGroupProps.handleGasPriceSelection.callCount,
).toStrictEqual(1);
expect(
mockGasPriceButtonGroupProps.handleGasPriceSelection.getCall(0).args,
).toStrictEqual([
{
gasPrice: mockGasPriceButtonGroupProps.gasButtonInfo[0].priceInHexWei,
gasEstimateType:
mockGasPriceButtonGroupProps.gasButtonInfo[0].gasEstimateType,
},
]);
});
it('should call this.renderButtonContent with the correct args', () => {
expect(
GasPriceButtonGroup.prototype.renderButtonContent.callCount,
).toStrictEqual(1);
const {
feeInPrimaryCurrency,
feeInSecondaryCurrency,
timeEstimate,
gasEstimateType,
} = mockGasPriceButtonGroupProps.gasButtonInfo[0];
const { showCheck, className } = mockGasPriceButtonGroupProps;
expect(
GasPriceButtonGroup.prototype.renderButtonContent.getCall(0).args,
).toStrictEqual([
{
gasEstimateType,
feeInPrimaryCurrency,
feeInSecondaryCurrency,
timeEstimate,
},
{
showCheck,
className,
},
]);
});
});
describe('renderButtonContent', () => {
it('should render a label if passed a gasEstimateType', () => {
const renderButtonContentResult = wrapper.instance().renderButtonContent(
{
gasEstimateType: 'SLOW',
},
{
className: 'someClass',
},
);
const wrappedRenderButtonContentResult = shallowWithContext(
renderButtonContentResult,
);
expect(
wrappedRenderButtonContentResult.childAt(0).children(),
).toHaveLength(1);
expect(
wrappedRenderButtonContentResult.find('.someClass__label').text(),
).toStrictEqual('slow');
});
it('should render a feeInPrimaryCurrency if passed a feeInPrimaryCurrency', () => {
const renderButtonContentResult =
GasPriceButtonGroup.prototype.renderButtonContent(
{
feeInPrimaryCurrency: 'mockFeeInPrimaryCurrency',
},
{
className: 'someClass',
},
);
const wrappedRenderButtonContentResult = shallowWithContext(
renderButtonContentResult,
);
expect(
wrappedRenderButtonContentResult.childAt(0).children(),
).toHaveLength(1);
expect(
wrappedRenderButtonContentResult
.find('.someClass__primary-currency')
.text(),
).toStrictEqual('mockFeeInPrimaryCurrency');
});
it('should render a feeInSecondaryCurrency if passed a feeInSecondaryCurrency', () => {
const renderButtonContentResult =
GasPriceButtonGroup.prototype.renderButtonContent(
{
feeInSecondaryCurrency: 'mockFeeInSecondaryCurrency',
},
{
className: 'someClass',
},
);
const wrappedRenderButtonContentResult = shallowWithContext(
renderButtonContentResult,
);
expect(
wrappedRenderButtonContentResult.childAt(0).children(),
).toHaveLength(1);
expect(
wrappedRenderButtonContentResult
.find('.someClass__secondary-currency')
.text(),
).toStrictEqual('mockFeeInSecondaryCurrency');
});
it('should render a timeEstimate if passed a timeEstimate', () => {
const renderButtonContentResult =
GasPriceButtonGroup.prototype.renderButtonContent(
{
timeEstimate: 'mockTimeEstimate',
},
{
className: 'someClass',
},
);
const wrappedRenderButtonContentResult = shallowWithContext(
renderButtonContentResult,
);
expect(
wrappedRenderButtonContentResult.childAt(0).children(),
).toHaveLength(1);
expect(
wrappedRenderButtonContentResult
.find('.someClass__time-estimate')
.text(),
).toStrictEqual('mockTimeEstimate');
});
it('should render a check if showCheck is true', () => {
const renderButtonContentResult =
GasPriceButtonGroup.prototype.renderButtonContent(
{},
{
className: 'someClass',
showCheck: true,
},
);
const wrappedRenderButtonContentResult = shallowWithContext(
renderButtonContentResult,
);
expect(wrappedRenderButtonContentResult.find('.fa-check')).toHaveLength(
1,
);
});
it('should render all elements if all args passed', () => {
const renderButtonContentResult = wrapper.instance().renderButtonContent(
{
gasEstimateType: 'SLOW',
feeInPrimaryCurrency: 'mockFeeInPrimaryCurrency',
feeInSecondaryCurrency: 'mockFeeInSecondaryCurrency',
timeEstimate: 'mockTimeEstimate',
},
{
className: 'someClass',
showCheck: true,
},
);
const wrappedRenderButtonContentResult = shallowWithContext(
renderButtonContentResult,
);
expect(wrappedRenderButtonContentResult.children()).toHaveLength(5);
});
it('should render no elements if all args passed', () => {
const renderButtonContentResult =
GasPriceButtonGroup.prototype.renderButtonContent({}, {});
const wrappedRenderButtonContentResult = shallowWithContext(
renderButtonContentResult,
);
expect(wrappedRenderButtonContentResult.children()).toHaveLength(0);
});
});
});

@ -1,139 +0,0 @@
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import ButtonGroup from '../../../ui/button-group';
import Button from '../../../ui/button';
import { GAS_ESTIMATE_TYPES } from '../../../../helpers/constants/common';
const GAS_OBJECT_PROPTYPES_SHAPE = {
gasEstimateType: PropTypes.oneOf(Object.values(GAS_ESTIMATE_TYPES))
.isRequired,
feeInPrimaryCurrency: PropTypes.string,
feeInSecondaryCurrency: PropTypes.string,
timeEstimate: PropTypes.string,
priceInHexWei: PropTypes.string,
};
export default class GasPriceButtonGroup extends Component {
static contextTypes = {
t: PropTypes.func,
};
static propTypes = {
buttonDataLoading: PropTypes.bool,
className: PropTypes.string,
defaultActiveButtonIndex: PropTypes.number,
gasButtonInfo: PropTypes.arrayOf(
PropTypes.shape(GAS_OBJECT_PROPTYPES_SHAPE),
),
handleGasPriceSelection: PropTypes.func,
newActiveButtonIndex: PropTypes.number,
noButtonActiveByDefault: PropTypes.bool,
showCheck: PropTypes.bool,
};
gasEstimateTypeLabel(gasEstimateType) {
if (gasEstimateType === GAS_ESTIMATE_TYPES.SLOW) {
return this.context.t('slow');
} else if (gasEstimateType === GAS_ESTIMATE_TYPES.AVERAGE) {
return this.context.t('average');
} else if (gasEstimateType === GAS_ESTIMATE_TYPES.FAST) {
return this.context.t('fast');
} else if (gasEstimateType === GAS_ESTIMATE_TYPES.FASTEST) {
return this.context.t('fastest');
}
throw new Error(`Unrecognized gas estimate type: ${gasEstimateType}`);
}
renderButtonContent(
{
gasEstimateType,
feeInPrimaryCurrency,
feeInSecondaryCurrency,
timeEstimate,
},
{ className, showCheck },
) {
return (
<div>
{gasEstimateType && (
<div className={`${className}__label`}>
{this.gasEstimateTypeLabel(gasEstimateType)}
</div>
)}
{timeEstimate && (
<div className={`${className}__time-estimate`}>{timeEstimate}</div>
)}
{feeInPrimaryCurrency && (
<div className={`${className}__primary-currency`}>
{feeInPrimaryCurrency}
</div>
)}
{feeInSecondaryCurrency && (
<div className={`${className}__secondary-currency`}>
{feeInSecondaryCurrency}
</div>
)}
{showCheck && (
<div className="button-check-wrapper">
<i className="fa fa-check fa-sm" />
</div>
)}
</div>
);
}
renderButton(
{ priceInHexWei, ...renderableGasInfo },
{
buttonDataLoading: _,
handleGasPriceSelection,
...buttonContentPropsAndFlags
},
index,
) {
return (
<Button
onClick={() =>
handleGasPriceSelection({
gasPrice: priceInHexWei,
gasEstimateType: renderableGasInfo.gasEstimateType,
})
}
key={`gas-price-button-${index}`}
>
{this.renderButtonContent(
renderableGasInfo,
buttonContentPropsAndFlags,
)}
</Button>
);
}
render() {
const {
gasButtonInfo,
defaultActiveButtonIndex = 1,
newActiveButtonIndex,
noButtonActiveByDefault = false,
buttonDataLoading,
...buttonPropsAndFlags
} = this.props;
return buttonDataLoading ? (
<div className={`${buttonPropsAndFlags.className}__loading-container`}>
{this.context.t('loading')}
</div>
) : (
<ButtonGroup
className={buttonPropsAndFlags.className}
defaultActiveButtonIndex={defaultActiveButtonIndex}
newActiveButtonIndex={newActiveButtonIndex}
noButtonActiveByDefault={noButtonActiveByDefault}
>
{gasButtonInfo.map((obj, index) =>
this.renderButton(obj, buttonPropsAndFlags, index),
)}
</ButtonGroup>
);
}
}

@ -1,47 +0,0 @@
import React from 'react';
import { GAS_ESTIMATE_TYPES } from '../../../../helpers/constants/common';
import GasPriceButtonGroup from '.';
export default {
title: 'Components/App/GasCustomization/GasPriceButtonGroup',
id: __filename,
argTypes: {
handleGasPriceSelection: {
action: 'handleGasPriceSelection',
},
},
args: {
buttonDataLoading: false,
className: 'gas-price-button-group',
gasButtonInfo: [
{
gasEstimateType: GAS_ESTIMATE_TYPES.SLOW,
feeInPrimaryCurrency: '$0.52',
feeInSecondaryCurrency: '0.0048 ETH',
timeEstimate: '~ 1 min 0 sec',
priceInHexWei: '0xa1b2c3f',
},
{
gasEstimateType: GAS_ESTIMATE_TYPES.AVERAGE,
feeInPrimaryCurrency: '$0.39',
feeInSecondaryCurrency: '0.004 ETH',
timeEstimate: '~ 1 min 30 sec',
priceInHexWei: '0xa1b2c39',
},
{
gasEstimateType: GAS_ESTIMATE_TYPES.FAST,
feeInPrimaryCurrency: '$0.30',
feeInSecondaryCurrency: '0.00354 ETH',
timeEstimate: '~ 2 min 1 sec',
priceInHexWei: '0xa1b2c30',
},
],
noButtonActiveByDefault: true,
defaultActiveButtonIndex: 2,
showCheck: true,
},
};
export const DefaultStory = (args) => <GasPriceButtonGroup {...args} />;
DefaultStory.storyName = 'Default';

@ -1 +0,0 @@
export { default } from './gas-price-button-group.component';

@ -1,251 +0,0 @@
.gas-price-button-group {
margin-top: 22px;
display: flex;
justify-content: space-evenly;
width: 100%;
padding-left: 20px;
padding-right: 20px;
&__primary-currency {
@include H4;
height: 20.5px;
margin-bottom: 7.5px;
}
&__time-estimate {
margin-top: 5.5px;
color: var(--color-text-alternative);
height: 15.4px;
}
&__loading-container {
height: 130px;
}
.button-group__button,
.button-group__button--active {
@include H7;
height: 130px;
max-width: 108px;
flex-direction: column;
align-items: center;
display: flex;
padding-top: 17px;
border-radius: 4px;
border-color: var(--color-primary-muted);
background: var(--color-background-default);
color: var(--color-text-alternative);
div {
display: flex;
flex-direction: column;
align-items: center;
}
i {
&:last-child {
display: none;
}
}
}
.button-group__button--active {
border-color: var(--color-primary-default);
color: var(--color-text-alternative);
i {
&:last-child {
display: flex;
color: var(--color-primary-default);
margin-top: 8px;
}
}
}
}
.gas-price-button-group--small {
display: flex;
justify-content: stretch;
min-height: 54px;
@include screen-sm-max {
max-width: 260px;
}
&__button-fiat-price {
@include H6;
}
&__button-label {
@include Paragraph;
}
&__label {
font-weight: 500;
line-height: 16px;
padding-bottom: 4px;
}
&__primary-currency {
@include H7;
padding-bottom: 2px;
@include screen-sm-max {
@include H8;
}
}
&__secondary-currency {
@include H7;
padding-bottom: 2px;
@include screen-sm-max {
@include H8;
}
}
&__loading-container {
height: 54px;
}
.button-group__button,
.button-group__button--active {
background: var(--color-background-default);
color: var(--color-text-alternative);
padding: 4px;
div {
display: flex;
flex-flow: column;
align-items: flex-start;
justify-content: flex-start;
}
i {
&:last-child {
display: none;
}
}
}
.button-group__button--active {
color: var(--color-background-default);
background: var(--color-primary-muted);
i {
&:last-child {
display: flex;
color: var(--color-primary-default);
margin-top: 10px;
}
}
}
}
.gas-price-button-group--alt {
display: flex;
justify-content: stretch;
width: 95%;
&__button-fiat-price {
@include H6;
}
&__button-label {
@include Paragraph;
}
&__label {
@include H8;
font-weight: 500;
text-transform: capitalize;
}
&__primary-currency {
@include H7;
margin-top: 3px;
}
&__secondary-currency {
@include H7;
}
&__loading-container {
height: 78px;
}
&__time-estimate {
@include H7;
font-weight: 500;
margin-top: 4px;
color: var(--color-text-default);
}
.button-group__button,
.button-group__button--active {
height: 78px;
background: var(--color-background-default);
color: var(--color-text-default);
width: 108px;
height: 97px;
box-shadow: var(--shadow-size-sm) var(--color-shadow-default);
border-radius: 6px;
border: none;
div {
display: flex;
flex-flow: column;
align-items: flex-start;
justify-content: flex-start;
position: relative;
}
.button-check-wrapper {
display: none;
}
&:first-child {
margin-right: 6px;
}
&:last-child {
margin-left: 6px;
}
}
.button-group__button--active {
background: var(--color-background-alternative);
border-color: var(--color-primary-default);
&:first-child {
border-color: var(--color-primary-default);
}
.button-check-wrapper {
height: 16px;
width: 16px;
border-radius: 8px;
position: absolute;
top: -11px;
right: -10px;
background: var(--color-background-alternative);
display: flex;
flex-flow: row;
justify-content: center;
align-items: center;
}
i {
display: flex;
color: var(--color-primary-default);
font-weight: 900;
}
}
}

@ -1,40 +0,0 @@
import React, { Component } from 'react';
import PropTypes from 'prop-types';
export default class GasSlider extends Component {
static propTypes = {
onChange: PropTypes.func,
lowLabel: PropTypes.string,
highLabel: PropTypes.string,
value: PropTypes.number,
step: PropTypes.number,
max: PropTypes.number,
min: PropTypes.number,
};
render() {
const { onChange, lowLabel, highLabel, value, step, max, min } = this.props;
return (
<div className="gas-slider">
<input
className="gas-slider__input"
type="range"
step={step}
max={max}
min={min}
value={value}
id="gasSlider"
onChange={(event) => onChange(event.target.value)}
/>
<div className="gas-slider__bar">
<div className="gas-slider__colored" />
</div>
<div className="gas-slider__labels">
<span>{lowLabel}</span>
<span>{highLabel}</span>
</div>
</div>
);
}
}

@ -1,34 +0,0 @@
import React from 'react';
import GasSlider from '.';
export default {
title: 'Components/App/GasCustomization/GasSlider',
id: __filename,
argTypes: {
onChange: {
action: 'onChange',
},
lowLabel: {
control: 'text',
},
highLabel: {
control: 'text',
},
value: {
control: 'number',
},
step: {
control: 'number',
},
max: {
control: 'number',
},
min: {
control: 'number',
},
},
};
export const DefaultStory = () => <GasSlider />;
DefaultStory.storyName = 'Default';

@ -1 +0,0 @@
export { default } from './gas-slider.component';

@ -1,54 +0,0 @@
.gas-slider {
position: relative;
width: 322px;
&__input {
width: 322px;
margin-left: -2px;
z-index: 2;
}
input[type=range] {
-webkit-appearance: none !important;
}
input[type=range]::-webkit-slider-thumb {
-webkit-appearance: none !important;
height: 34px;
width: 34px;
background-color: var(--color-primary-default);
border-radius: 50%;
position: relative;
z-index: 10;
}
&__bar {
height: 6px;
width: 322px;
background: var(--color-background-alternative);
display: flex;
justify-content: space-between;
position: absolute;
top: 16px;
z-index: 0;
border-radius: 4px;
}
&__colored {
height: 6px;
border-radius: 4px;
margin-left: 102px;
width: 322px;
z-index: 1;
background-color: var(--color-primary-muted);
}
&__labels {
@include H7;
display: flex;
justify-content: space-between;
margin-top: -6px;
color: var(--color-text-alternative);
}
}

@ -1,3 +0,0 @@
@import './gas-slider/index';
@import './gas-modal-page-container/index';
@import './advanced-gas-inputs/index';

@ -3,13 +3,11 @@ import React, { Component } from 'react';
import { connect } from 'react-redux';
import * as actions from '../../../store/actions';
import { resetCustomData as resetCustomGasData } from '../../../ducks/gas/gas.duck';
import isMobileView from '../../../helpers/utils/is-mobile-view';
import { getEnvironmentType } from '../../../../app/scripts/lib/util';
import { ENVIRONMENT_TYPE_POPUP } from '../../../../shared/constants/app';
// Modal Components
import ConfirmCustomizeGasModal from '../gas-customization/gas-modal-page-container';
import AccountDetailsModal from './account-details-modal';
import ExportPrivateKeyModal from './export-private-key-modal';
import HideTokenConfirmationModal from './hide-token-confirmation-modal';
@ -201,35 +199,6 @@ const MODALS = {
},
},
LEGACY_CUSTOMIZE_GAS: {
contents: <ConfirmCustomizeGasModal />,
mobileModalStyle: {
width: '100vw',
height: '100vh',
top: '0',
transform: 'none',
left: '0',
right: '0',
margin: '0 auto',
},
laptopModalStyle: {
width: 'auto',
height: '0px',
top: '80px',
left: '0px',
transform: 'none',
margin: '0 auto',
position: 'relative',
},
contentStyle: {
borderRadius: '8px',
},
customOnHideOpts: {
action: resetCustomGasData,
args: [],
},
},
EDIT_APPROVAL_PERMISSION: {
contents: <EditApprovalPermission />,
mobileModalStyle: {

@ -175,22 +175,6 @@
height: 100%;
}
.customize-gas-tooltip-container {
@include Paragraph;
position: absolute;
bottom: 50px;
width: 237px;
height: 307px;
background-color: var(--color-background-default);
opacity: 1;
box-shadow: var(--shadow-size-xs) var(--color-shadow-default);
z-index: 1050;
padding: 13px 19px;
border-radius: 4px;
font-weight: 500;
}
.gas-tooltip-arrow {
height: 25px;
width: 25px;
@ -203,20 +187,6 @@
box-shadow: var(--shadow-size-xs) var(--color-shadow-default);
}
.customize-gas-tooltip-container input[type='number']::-webkit-inner-spin-button {
-webkit-appearance: none;
display: none;
}
.customize-gas-tooltip-container input[type='number']:hover::-webkit-inner-spin-button {
-webkit-appearance: none;
display: none;
}
.customize-gas-tooltip {
position: relative;
}
.gas-tooltip {
display: flex;
justify-content: center;
@ -241,20 +211,6 @@
margin-left: 6px;
}
.customize-gas-input {
@include Paragraph;
width: 178px;
height: 28px;
border: 1px solid var(--color-border-muted);
color: var(--color-text-default);
padding-left: 8px;
}
.customize-gas-input-wrapper {
position: relative;
}
.gas-tooltip-input-detail {
@include H7;
@ -860,129 +816,6 @@
margin: 0 4px;
}
&__customize-gas {
border: 1px solid var(--color-border-muted);
border-radius: 4px;
background-color: var(--color-background-default);
box-shadow: var(--shadow-size-xs) var(--color-shadow-default);
display: flex;
flex-flow: column;
@include screen-sm-max {
width: 100vw;
height: 100vh;
}
&__header {
@include H3;
height: 52px;
border-bottom: 1px solid var(--color-border-muted);
display: flex;
align-items: center;
justify-content: space-between;
@include screen-sm-max {
flex: 0 0 auto;
}
}
&__title {
margin-left: 19.25px;
}
&__close::after {
content: '\00D7';
font-size: 1.8em;
color: var(--color-icon-default);
cursor: pointer;
margin-right: 19.25px;
}
&__content {
display: flex;
flex-flow: column nowrap;
height: 100%;
}
&__body {
display: flex;
margin-bottom: 24px;
@include screen-sm-max {
flex-flow: column;
flex: 1 1 auto;
}
}
&__footer {
@include H3;
height: 75px;
border-top: 1px solid var(--color-border-muted);
display: flex;
align-items: center;
justify-content: space-between;
position: relative;
@include screen-sm-max {
flex: 0 0 auto;
}
}
&__buttons {
display: flex;
justify-content: space-between;
margin-right: 21.25px;
}
&__revert,
&__cancel,
&__save,
&__save__error {
display: flex;
justify-content: center;
align-items: center;
padding: 0 3px;
cursor: pointer;
}
&__revert {
@include Paragraph;
color: var(--color-text-muted);
margin-left: 21.25px;
}
&__cancel,
&__save,
&__save__error {
width: 85.74px;
min-width: initial;
}
&__save__error {
opacity: 0.5;
cursor: auto;
}
&__error-message {
@include H7;
display: block;
position: absolute;
top: -18px;
right: 0;
color: var(--color-error-default);
width: 100%;
text-align: center;
}
&__cancel {
margin-right: 10px;
}
}
&__gas-modal-card {
width: 360px;
display: flex;
@ -1007,18 +840,6 @@
margin-top: 17px;
}
.customize-gas-input-wrapper {
margin-top: 17px;
}
.customize-gas-input {
height: 54px;
width: 315px;
border: 1px solid var(--color-border-muted);
background-color: var(--color-background-default);
padding-left: 15px;
}
.gas-tooltip-input-arrows {
@include H4;

@ -54,7 +54,3 @@ export function setCustomGasLimit(newLimit) {
value: newLimit,
};
}
export function resetCustomData() {
return { type: RESET_CUSTOM_DATA };
}

@ -1,7 +1,7 @@
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import SendRowWrapper from '../send-row-wrapper';
import AdvancedGasInputs from '../../../../components/app/gas-customization/advanced-gas-inputs';
import AdvancedGasInputs from '../../../../components/app/advanced-gas-inputs';
import { GAS_INPUT_MODES } from '../../../../ducks/send';
export default class SendGasRow extends Component {

@ -1,12 +1,5 @@
import { connect } from 'react-redux';
import {
getBasicGasEstimateLoadingStatus,
getRenderableEstimateDataForSmallButtonsFromGWEI,
getDefaultActiveButtonIndex,
getAdvancedInlineGasShown,
} from '../../../../selectors';
import {
getGasTotal,
getGasPrice,
getGasLimit,
gasFeeIsInError,
@ -16,48 +9,26 @@ import {
isSendStateInitialized,
getIsBalanceInsufficient,
getMinimumGasLimitForSend,
useDefaultGas,
} from '../../../../ducks/send';
import {
resetCustomData,
setCustomGasPrice,
setCustomGasLimit,
} from '../../../../ducks/gas/gas.duck';
import { showModal } from '../../../../store/actions';
import { hexToDecimal } from '../../../../../shared/lib/metamask-controller-utils';
import SendGasRow from './send-gas-row.component';
export default connect(
mapStateToProps,
mapDispatchToProps,
mergeProps,
)(SendGasRow);
export default connect(mapStateToProps, mapDispatchToProps)(SendGasRow);
function mapStateToProps(state) {
const gasButtonInfo = getRenderableEstimateDataForSmallButtonsFromGWEI(state);
const gasPrice = getGasPrice(state);
const gasLimit = getGasLimit(state);
const activeButtonIndex = getDefaultActiveButtonIndex(
gasButtonInfo,
gasPrice,
);
const gasTotal = getGasTotal(state);
const minimumGasLimit = getMinimumGasLimitForSend(state);
return {
gasTotal,
minimumGasLimit: hexToDecimal(minimumGasLimit),
gasFeeError: gasFeeIsInError(state),
gasLoadingError: isSendStateInitialized(state),
gasPriceButtonGroupProps: {
buttonDataLoading: getBasicGasEstimateLoadingStatus(state),
defaultActiveButtonIndex: 1,
newActiveButtonIndex: activeButtonIndex > -1 ? activeButtonIndex : null,
gasButtonInfo,
},
advancedInlineGasShown: getAdvancedInlineGasShown(state),
gasInputMode: getGasInputMode(state),
gasPrice,
gasLimit,
@ -67,8 +38,6 @@ function mapStateToProps(state) {
function mapDispatchToProps(dispatch) {
return {
showLegacyCustomizeGasModal: () =>
dispatch(showModal({ name: 'LEGACY_CUSTOMIZE_GAS', hideBasic: true })),
updateGasPrice: (gasPrice) => {
dispatch(updateGasPrice(gasPrice));
dispatch(setCustomGasPrice(gasPrice));
@ -77,35 +46,5 @@ function mapDispatchToProps(dispatch) {
dispatch(updateGasLimit(newLimit));
dispatch(setCustomGasLimit(newLimit));
},
resetCustomData: () => dispatch(resetCustomData()),
useDefaultGas: () => dispatch(useDefaultGas()),
};
}
function mergeProps(stateProps, dispatchProps, ownProps) {
const { gasPriceButtonGroupProps } = stateProps;
const { gasButtonInfo } = gasPriceButtonGroupProps;
const {
updateGasPrice: dispatchUpdateGasPrice,
useDefaultGas: dispatchUseDefaultGas,
resetCustomData: dispatchResetCustomData,
...otherDispatchProps
} = dispatchProps;
return {
...stateProps,
...otherDispatchProps,
...ownProps,
gasPriceButtonGroupProps: {
...gasPriceButtonGroupProps,
handleGasPriceSelection: ({ gasPrice }) =>
dispatchUpdateGasPrice(gasPrice),
},
resetGasButtons: () => {
dispatchResetCustomData();
dispatchUpdateGasPrice(gasButtonInfo[1].priceInHexWei);
dispatchUseDefaultGas();
},
updateGasPrice: dispatchUpdateGasPrice,
};
}

@ -1,9 +1,6 @@
import sinon from 'sinon';
import { showModal } from '../../../../store/actions';
import {
resetCustomData,
setCustomGasPrice,
setCustomGasLimit,
} from '../../../../ducks/gas/gas.duck';
@ -11,12 +8,10 @@ import {
import { updateGasPrice, updateGasLimit } from '../../../../ducks/send';
let mapDispatchToProps;
let mergeProps;
jest.mock('react-redux', () => ({
connect: (_, md, mp) => {
connect: (_, md) => {
mapDispatchToProps = md;
mergeProps = mp;
return () => ({});
},
}));
@ -31,6 +26,11 @@ jest.mock('../../../../ducks/send', () => {
};
});
jest.mock('../../../../ducks/gas/gas.duck', () => ({
setCustomGasPrice: jest.fn(),
setCustomGasLimit: jest.fn(),
}));
jest.mock('../../send.utils.js', () => ({
isBalanceSufficient: ({ amount, gasTotal, balance, conversionRate }) =>
`${amount}:${gasTotal}:${balance}:${conversionRate}`,
@ -38,16 +38,6 @@ jest.mock('../../send.utils.js', () => ({
calcGasTotal: (gasLimit, gasPrice) => gasLimit + gasPrice,
}));
jest.mock('../../../../store/actions', () => ({
showModal: jest.fn(),
}));
jest.mock('../../../../ducks/gas/gas.duck', () => ({
resetCustomData: jest.fn(),
setCustomGasPrice: jest.fn(),
setCustomGasLimit: jest.fn(),
}));
require('./send-gas-row.container');
describe('send-gas-row container', () => {
@ -60,17 +50,6 @@ describe('send-gas-row container', () => {
mapDispatchToPropsObject = mapDispatchToProps(dispatchSpy);
});
describe('showLegacyCustomizeGasModal()', () => {
it('should dispatch an action', () => {
mapDispatchToPropsObject.showLegacyCustomizeGasModal();
expect(dispatchSpy.calledOnce).toStrictEqual(true);
expect(showModal).toHaveBeenCalledWith({
name: 'LEGACY_CUSTOMIZE_GAS',
hideBasic: true,
});
});
});
describe('updateGasPrice()', () => {
it('should dispatch an action', () => {
mapDispatchToPropsObject.updateGasPrice('mockNewPrice');
@ -88,50 +67,5 @@ describe('send-gas-row container', () => {
expect(setCustomGasLimit).toHaveBeenCalledWith('mockNewLimit');
});
});
describe('resetCustomData()', () => {
it('should dispatch an action', () => {
mapDispatchToPropsObject.resetCustomData();
expect(dispatchSpy.calledOnce).toStrictEqual(true);
expect(resetCustomData).toHaveBeenCalled();
});
});
});
describe('mergeProps', () => {
it('should return the expected props when isConfirm is true', () => {
const stateProps = {
gasPriceButtonGroupProps: {
someGasPriceButtonGroupProp: 'foo',
anotherGasPriceButtonGroupProp: 'bar',
},
someOtherStateProp: 'baz',
};
const dispatchProps = {
updateGasPrice: sinon.spy(),
someOtherDispatchProp: sinon.spy(),
};
const ownProps = { someOwnProp: 123 };
const result = mergeProps(stateProps, dispatchProps, ownProps);
expect(result.someOtherStateProp).toStrictEqual('baz');
expect(
result.gasPriceButtonGroupProps.someGasPriceButtonGroupProp,
).toStrictEqual('foo');
expect(
result.gasPriceButtonGroupProps.anotherGasPriceButtonGroupProp,
).toStrictEqual('bar');
expect(result.someOwnProp).toStrictEqual(123);
expect(dispatchProps.updateGasPrice.callCount).toStrictEqual(0);
result.gasPriceButtonGroupProps.handleGasPriceSelection({
gasPrice: undefined,
});
expect(dispatchProps.updateGasPrice.callCount).toStrictEqual(1);
expect(dispatchProps.someOtherDispatchProp.callCount).toStrictEqual(0);
result.someOtherDispatchProp();
expect(dispatchProps.someOtherDispatchProp.callCount).toStrictEqual(1);
});
});
});

@ -7,21 +7,15 @@ import { formatCurrency } from '../helpers/utils/confirm-tx.util';
import { decEthToConvertedCurrency as ethTotalToConvertedCurrency } from '../helpers/utils/conversions.util';
import { formatETHFee } from '../helpers/utils/formatters';
import { getGasLimit, getGasPrice } from '../ducks/send';
import {
GAS_ESTIMATE_TYPES as GAS_FEE_CONTROLLER_ESTIMATE_TYPES,
GAS_LIMITS,
} from '../../shared/constants/gas';
import { getGasPrice } from '../ducks/send';
import { GAS_ESTIMATE_TYPES as GAS_FEE_CONTROLLER_ESTIMATE_TYPES } from '../../shared/constants/gas';
import {
getGasEstimateType,
getGasFeeEstimates,
isEIP1559Network,
} from '../ducks/metamask/metamask';
import { GAS_ESTIMATE_TYPES } from '../helpers/constants/common';
import { calcGasTotal } from '../../shared/lib/transactions-controller-utils';
import { getCurrentCurrency, getIsMainnet, getShouldShowFiat } from '.';
const NUMBER_OF_DECIMALS_SM_BTNS = 5;
import { getIsMainnet } from '.';
export function getCustomGasLimit(state) {
return state.gas.customData.limit;
@ -225,161 +219,6 @@ export function getGasPriceInHexWei(price) {
return addHexPrefix(priceEstimateToWei(value));
}
export function getRenderableGasButtonData(
estimates,
gasLimit,
showFiat,
conversionRate,
currentCurrency,
nativeCurrency,
) {
const { low, medium, high } = estimates;
const slowEstimateData = {
gasEstimateType: GAS_ESTIMATE_TYPES.SLOW,
feeInPrimaryCurrency: getRenderableEthFee(low, gasLimit, 9, nativeCurrency),
feeInSecondaryCurrency: showFiat
? getRenderableConvertedCurrencyFee(
low,
gasLimit,
currentCurrency,
conversionRate,
)
: '',
priceInHexWei: getGasPriceInHexWei(low),
};
const averageEstimateData = {
gasEstimateType: GAS_ESTIMATE_TYPES.AVERAGE,
feeInPrimaryCurrency: getRenderableEthFee(
medium,
gasLimit,
9,
nativeCurrency,
),
feeInSecondaryCurrency: showFiat
? getRenderableConvertedCurrencyFee(
medium,
gasLimit,
currentCurrency,
conversionRate,
)
: '',
priceInHexWei: getGasPriceInHexWei(medium),
};
const fastEstimateData = {
gasEstimateType: GAS_ESTIMATE_TYPES.FAST,
feeInPrimaryCurrency: getRenderableEthFee(
high,
gasLimit,
9,
nativeCurrency,
),
feeInSecondaryCurrency: showFiat
? getRenderableConvertedCurrencyFee(
high,
gasLimit,
currentCurrency,
conversionRate,
)
: '',
priceInHexWei: getGasPriceInHexWei(high),
};
return {
slowEstimateData,
averageEstimateData,
fastEstimateData,
};
}
export function getRenderableBasicEstimateData(state, gasLimit) {
if (getBasicGasEstimateLoadingStatus(state)) {
return [];
}
const showFiat = getShouldShowFiat(state);
const { conversionRate } = state.metamask;
const currentCurrency = getCurrentCurrency(state);
const { slowEstimateData, averageEstimateData, fastEstimateData } =
getRenderableGasButtonData(
getGasFeeEstimates(state),
gasLimit,
showFiat,
conversionRate,
currentCurrency,
);
return [slowEstimateData, averageEstimateData, fastEstimateData];
}
export function getRenderableEstimateDataForSmallButtonsFromGWEI(state) {
if (getIsGasEstimatesFetched(state) === false) {
return [];
}
const showFiat = getShouldShowFiat(state);
const gasLimit =
getGasLimit(state) ?? getCustomGasLimit(state) ?? GAS_LIMITS.SIMPLE;
const { conversionRate } = state.metamask;
const currentCurrency = getCurrentCurrency(state);
const gasFeeEstimates = getGasFeeEstimates(state);
return [
{
gasEstimateType: GAS_ESTIMATE_TYPES.SLOW,
feeInSecondaryCurrency: showFiat
? getRenderableConvertedCurrencyFee(
gasFeeEstimates.low,
gasLimit,
currentCurrency,
conversionRate,
)
: '',
feeInPrimaryCurrency: getRenderableEthFee(
gasFeeEstimates.low,
gasLimit,
NUMBER_OF_DECIMALS_SM_BTNS,
),
priceInHexWei: getGasPriceInHexWei(gasFeeEstimates.low, true),
},
{
gasEstimateType: GAS_ESTIMATE_TYPES.AVERAGE,
feeInSecondaryCurrency: showFiat
? getRenderableConvertedCurrencyFee(
gasFeeEstimates.medium,
gasLimit,
currentCurrency,
conversionRate,
)
: '',
feeInPrimaryCurrency: getRenderableEthFee(
gasFeeEstimates.medium,
gasLimit,
NUMBER_OF_DECIMALS_SM_BTNS,
),
priceInHexWei: getGasPriceInHexWei(gasFeeEstimates.medium, true),
},
{
gasEstimateType: GAS_ESTIMATE_TYPES.FAST,
feeInSecondaryCurrency: showFiat
? getRenderableConvertedCurrencyFee(
gasFeeEstimates.high,
gasLimit,
currentCurrency,
conversionRate,
)
: '',
feeInPrimaryCurrency: getRenderableEthFee(
gasFeeEstimates.high,
gasLimit,
NUMBER_OF_DECIMALS_SM_BTNS,
),
priceInHexWei: getGasPriceInHexWei(gasFeeEstimates.high, true),
},
];
}
export function getIsEthGasPriceFetched(state) {
const gasEstimateType = getGasEstimateType(state);
return (

@ -1,10 +1,8 @@
import { GAS_ESTIMATE_TYPES, GAS_LIMITS } from '../../shared/constants/gas';
import { GAS_ESTIMATE_TYPES } from '../../shared/constants/gas';
import { getInitialSendStateWithExistingTxState } from '../../test/jest/mocks';
import {
getCustomGasLimit,
getCustomGasPrice,
getRenderableBasicEstimateData,
getRenderableEstimateDataForSmallButtonsFromGWEI,
isCustomPriceSafe,
isCustomPriceExcessive,
} from './custom-gas';
@ -244,517 +242,4 @@ describe('custom-gas selectors', () => {
expect(getCustomGasLimit(mockState)).toStrictEqual('mockLimit');
});
});
describe('getRenderableBasicEstimateData()', () => {
const tests = [
{
expectedResult: [
{
gasEstimateType: 'SLOW',
feeInSecondaryCurrency: '$0.01',
feeInPrimaryCurrency: '0.0000525 ETH',
priceInHexWei: '0x9502f900',
},
{
gasEstimateType: 'AVERAGE',
feeInPrimaryCurrency: '0.000084 ETH',
feeInSecondaryCurrency: '$0.02',
priceInHexWei: '0xee6b2800',
},
{
gasEstimateType: 'FAST',
feeInSecondaryCurrency: '$0.03',
feeInPrimaryCurrency: '0.000105 ETH',
priceInHexWei: '0x12a05f200',
},
],
mockState: {
metamask: {
gasEstimateType: GAS_ESTIMATE_TYPES.LEGACY,
gasFeeEstimates: {
low: '2.5',
medium: '4',
high: '5',
},
networkDetails: {
EIPS: {},
},
conversionRate: 255.71,
currentCurrency: 'usd',
preferences: {
showFiatInTestnets: false,
},
provider: {
type: 'mainnet',
chainId: '0x1',
},
},
},
},
{
expectedResult: [
{
gasEstimateType: 'SLOW',
feeInSecondaryCurrency: '$0.27',
feeInPrimaryCurrency: '0.000105 ETH',
priceInHexWei: '0x12a05f200',
},
{
feeInPrimaryCurrency: '0.000147 ETH',
feeInSecondaryCurrency: '$0.38',
gasEstimateType: 'AVERAGE',
priceInHexWei: '0x1a13b8600',
},
{
gasEstimateType: 'FAST',
feeInSecondaryCurrency: '$0.54',
feeInPrimaryCurrency: '0.00021 ETH',
priceInHexWei: '0x2540be400',
},
],
mockState: {
metamask: {
gasEstimateType: GAS_ESTIMATE_TYPES.LEGACY,
gasFeeEstimates: {
low: '5',
medium: '7',
high: '10',
},
networkDetails: {
EIPS: {},
},
conversionRate: 2557.1,
currentCurrency: 'usd',
preferences: {
showFiatInTestnets: false,
},
provider: {
type: 'mainnet',
chainId: '0x1',
},
},
send: getInitialSendStateWithExistingTxState({
gas: {
gasLimit: GAS_LIMITS.SIMPLE,
},
}),
},
},
{
expectedResult: [
{
gasEstimateType: 'SLOW',
feeInSecondaryCurrency: '',
feeInPrimaryCurrency: '0.000105 ETH',
priceInHexWei: '0x12a05f200',
},
{
gasEstimateType: 'AVERAGE',
feeInPrimaryCurrency: '0.000147 ETH',
feeInSecondaryCurrency: '',
priceInHexWei: '0x1a13b8600',
},
{
gasEstimateType: 'FAST',
feeInSecondaryCurrency: '',
feeInPrimaryCurrency: '0.00021 ETH',
priceInHexWei: '0x2540be400',
},
],
mockState: {
metamask: {
gasEstimateType: GAS_ESTIMATE_TYPES.LEGACY,
gasFeeEstimates: {
low: '5',
medium: '7',
high: '10',
},
networkDetails: {
EIPS: {},
},
conversionRate: 2557.1,
currentCurrency: 'usd',
preferences: {
showFiatInTestnets: false,
},
provider: {
type: 'rinkeby',
chainId: '0x4',
},
},
send: getInitialSendStateWithExistingTxState({
gas: {
gasLimit: GAS_LIMITS.SIMPLE,
},
}),
},
},
{
expectedResult: [
{
gasEstimateType: 'SLOW',
feeInSecondaryCurrency: '$0.27',
feeInPrimaryCurrency: '0.000105 ETH',
priceInHexWei: '0x12a05f200',
},
{
gasEstimateType: 'AVERAGE',
feeInPrimaryCurrency: '0.000147 ETH',
feeInSecondaryCurrency: '$0.38',
priceInHexWei: '0x1a13b8600',
},
{
gasEstimateType: 'FAST',
feeInSecondaryCurrency: '$0.54',
feeInPrimaryCurrency: '0.00021 ETH',
priceInHexWei: '0x2540be400',
},
],
mockState: {
metamask: {
gasEstimateType: GAS_ESTIMATE_TYPES.LEGACY,
gasFeeEstimates: {
low: '5',
medium: '7',
high: '10',
},
networkDetails: {
EIPS: {},
},
conversionRate: 2557.1,
currentCurrency: 'usd',
preferences: {
showFiatInTestnets: true,
},
provider: {
type: 'rinkeby',
chainId: '0x4',
},
},
send: getInitialSendStateWithExistingTxState({
gas: {
gasLimit: GAS_LIMITS.SIMPLE,
},
}),
},
},
{
expectedResult: [
{
gasEstimateType: 'SLOW',
feeInSecondaryCurrency: '$0.27',
feeInPrimaryCurrency: '0.000105 ETH',
priceInHexWei: '0x12a05f200',
},
{
gasEstimateType: 'AVERAGE',
feeInPrimaryCurrency: '0.000147 ETH',
feeInSecondaryCurrency: '$0.38',
priceInHexWei: '0x1a13b8600',
},
{
gasEstimateType: 'FAST',
feeInSecondaryCurrency: '$0.54',
feeInPrimaryCurrency: '0.00021 ETH',
priceInHexWei: '0x2540be400',
},
],
mockState: {
metamask: {
gasEstimateType: GAS_ESTIMATE_TYPES.LEGACY,
gasFeeEstimates: {
low: '5',
medium: '7',
high: '10',
},
networkDetails: {
EIPS: {},
},
conversionRate: 2557.1,
currentCurrency: 'usd',
preferences: {
showFiatInTestnets: true,
},
provider: {
type: 'mainnet',
chainId: '0x1',
},
},
send: getInitialSendStateWithExistingTxState({
gas: {
gasLimit: GAS_LIMITS.SIMPLE,
},
}),
},
},
];
it('should return renderable data about basic estimates', () => {
tests.forEach(({ expectedResult, mockState, useFastestButtons }) => {
expect(
getRenderableBasicEstimateData(
mockState,
GAS_LIMITS.SIMPLE,
useFastestButtons,
),
).toStrictEqual(expectedResult);
});
});
});
describe('getRenderableEstimateDataForSmallButtonsFromGWEI()', () => {
const tests = [
{
expectedResult: [
{
feeInSecondaryCurrency: '$0.13',
feeInPrimaryCurrency: '0.00052 ETH',
gasEstimateType: 'SLOW',
priceInHexWei: '0x5d21dba00',
},
{
feeInSecondaryCurrency: '$0.16',
feeInPrimaryCurrency: '0.00063 ETH',
gasEstimateType: 'AVERAGE',
priceInHexWei: '0x6fc23ac00',
},
{
feeInSecondaryCurrency: '$0.27',
feeInPrimaryCurrency: '0.00105 ETH',
gasEstimateType: 'FAST',
priceInHexWei: '0xba43b7400',
},
],
mockState: {
metamask: {
gasEstimateType: GAS_ESTIMATE_TYPES.LEGACY,
gasFeeEstimates: {
low: '25',
medium: '30',
high: '50',
},
networkDetails: {
EIPS: {},
},
conversionRate: 255.71,
currentCurrency: 'usd',
preferences: {
showFiatInTestnets: false,
},
provider: {
type: 'mainnet',
chainId: '0x1',
},
},
send: getInitialSendStateWithExistingTxState({
gas: {
gasLimit: GAS_LIMITS.SIMPLE,
},
}),
},
},
{
expectedResult: [
{
feeInSecondaryCurrency: '$2.68',
feeInPrimaryCurrency: '0.00105 ETH',
gasEstimateType: 'SLOW',
priceInHexWei: '0xba43b7400',
},
{
feeInSecondaryCurrency: '$4.03',
feeInPrimaryCurrency: '0.00157 ETH',
gasEstimateType: 'AVERAGE',
priceInHexWei: '0x1176592e00',
},
{
feeInSecondaryCurrency: '$5.37',
feeInPrimaryCurrency: '0.0021 ETH',
gasEstimateType: 'FAST',
priceInHexWei: '0x174876e800',
},
],
mockState: {
metamask: {
gasEstimateType: GAS_ESTIMATE_TYPES.LEGACY,
gasFeeEstimates: {
low: '50',
medium: '75',
high: '100',
},
networkDetails: {
EIPS: {},
},
conversionRate: 2557.1,
currentCurrency: 'usd',
preferences: {
showFiatInTestnets: false,
},
provider: {
type: 'mainnet',
chainId: '0x1',
},
},
send: getInitialSendStateWithExistingTxState({
gas: {
gasLimit: GAS_LIMITS.SIMPLE,
},
}),
},
},
{
expectedResult: [
{
feeInSecondaryCurrency: '',
feeInPrimaryCurrency: '0.00105 ETH',
gasEstimateType: 'SLOW',
priceInHexWei: '0xba43b7400',
},
{
feeInSecondaryCurrency: '',
feeInPrimaryCurrency: '0.00157 ETH',
gasEstimateType: 'AVERAGE',
priceInHexWei: '0x1176592e00',
},
{
feeInSecondaryCurrency: '',
feeInPrimaryCurrency: '0.0021 ETH',
gasEstimateType: 'FAST',
priceInHexWei: '0x174876e800',
},
],
mockState: {
metamask: {
gasEstimateType: GAS_ESTIMATE_TYPES.LEGACY,
gasFeeEstimates: {
low: '50',
medium: '75',
high: '100',
},
networkDetails: {
EIPS: {},
},
conversionRate: 2557.1,
currentCurrency: 'usd',
preferences: {
showFiatInTestnets: false,
},
provider: {
type: 'rinkeby',
chainId: '0x4',
},
},
send: getInitialSendStateWithExistingTxState({
gas: {
gasLimit: GAS_LIMITS.SIMPLE,
},
}),
},
},
{
expectedResult: [
{
feeInSecondaryCurrency: '$2.68',
feeInPrimaryCurrency: '0.00105 ETH',
gasEstimateType: 'SLOW',
priceInHexWei: '0xba43b7400',
},
{
feeInSecondaryCurrency: '$4.03',
feeInPrimaryCurrency: '0.00157 ETH',
gasEstimateType: 'AVERAGE',
priceInHexWei: '0x1176592e00',
},
{
feeInSecondaryCurrency: '$5.37',
feeInPrimaryCurrency: '0.0021 ETH',
gasEstimateType: 'FAST',
priceInHexWei: '0x174876e800',
},
],
mockState: {
metamask: {
gasEstimateType: GAS_ESTIMATE_TYPES.LEGACY,
gasFeeEstimates: {
low: '50',
medium: '75',
high: '100',
},
networkDetails: {
EIPS: {},
},
conversionRate: 2557.1,
currentCurrency: 'usd',
preferences: {
showFiatInTestnets: true,
},
provider: {
type: 'rinkeby',
chainId: '0x4',
},
},
send: getInitialSendStateWithExistingTxState({
gas: {
gasLimit: GAS_LIMITS.SIMPLE,
},
}),
},
},
{
expectedResult: [
{
feeInSecondaryCurrency: '$2.68',
feeInPrimaryCurrency: '0.00105 ETH',
gasEstimateType: 'SLOW',
priceInHexWei: '0xba43b7400',
},
{
feeInSecondaryCurrency: '$4.03',
feeInPrimaryCurrency: '0.00157 ETH',
gasEstimateType: 'AVERAGE',
priceInHexWei: '0x1176592e00',
},
{
feeInSecondaryCurrency: '$5.37',
feeInPrimaryCurrency: '0.0021 ETH',
gasEstimateType: 'FAST',
priceInHexWei: '0x174876e800',
},
],
mockState: {
metamask: {
gasEstimateType: GAS_ESTIMATE_TYPES.LEGACY,
gasFeeEstimates: {
low: '50',
medium: '75',
high: '100',
},
networkDetails: {
EIPS: {},
},
conversionRate: 2557.1,
currentCurrency: 'usd',
preferences: {
showFiatInTestnets: true,
},
provider: {
type: 'mainnet',
chainId: '0x1',
},
},
send: getInitialSendStateWithExistingTxState({
gas: {
gasLimit: GAS_LIMITS.SIMPLE,
},
}),
},
},
];
it('should return renderable data about basic estimates appropriate for buttons with less info', () => {
tests.forEach(({ expectedResult, mockState }) => {
expect(
getRenderableEstimateDataForSmallButtonsFromGWEI(mockState),
).toStrictEqual(expectedResult);
});
});
});
});

Loading…
Cancel
Save