aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/_locales/cs/messages.json9
-rw-r--r--app/_locales/de/messages.json9
-rw-r--r--app/_locales/en/messages.json11
-rw-r--r--app/_locales/es/messages.json9
-rw-r--r--app/_locales/fr/messages.json9
-rw-r--r--app/_locales/hn/messages.json9
-rw-r--r--app/_locales/ht/messages.json9
-rw-r--r--app/_locales/it/messages.json9
-rw-r--r--app/_locales/ja/messages.json9
-rw-r--r--app/_locales/ko/messages.json9
-rw-r--r--app/_locales/nl/messages.json9
-rw-r--r--app/_locales/ph/messages.json9
-rw-r--r--app/_locales/pt/messages.json9
-rw-r--r--app/_locales/ru/messages.json9
-rw-r--r--app/_locales/sl/messages.json9
-rw-r--r--app/_locales/th/messages.json9
-rw-r--r--app/_locales/tml/messages.json9
-rw-r--r--app/_locales/tr/messages.json9
-rw-r--r--app/_locales/vi/messages.json9
-rw-r--r--app/_locales/zh_CN/messages.json9
-rw-r--r--app/_locales/zh_TW/messages.json9
-rw-r--r--app/images/coinswitch_logo.pngbin0 -> 3132 bytes
-rw-r--r--app/scripts/lib/buy-eth-url.js41
-rw-r--r--ui/app/components/app/modals/deposit-ether-modal.js25
-rw-r--r--ui/app/components/app/send/send-footer/send-footer.container.js3
-rw-r--r--ui/app/components/app/send/send-footer/send-footer.utils.js4
26 files changed, 245 insertions, 19 deletions
diff --git a/app/_locales/cs/messages.json b/app/_locales/cs/messages.json
index 2bce52cd9..a28c4cb4a 100644
--- a/app/_locales/cs/messages.json
+++ b/app/_locales/cs/messages.json
@@ -131,6 +131,12 @@
"buyCoinbaseExplainer": {
"message": "Coinbase je světově nejoblíbenější místo k nákupu a prodeji bitcoinu, etherea nebo litecoinu."
},
+ "buyCoinSwitch": {
+ "message": "Nákup na CoinSwitch"
+ },
+ "buyCoinSwitchExplainer": {
+ "message": "CoinSwitch je jediným místem, kde můžete vyměňovat více než 300 kryptocurrencí za nejlepší cenu."
+ },
"ok": {
"message": "Ok"
},
@@ -164,6 +170,9 @@
"continueToCoinbase": {
"message": "Přejít na Coinbase"
},
+ "continueToCoinSwitch": {
+ "message": "Přejít na CoinSwitch"
+ },
"contractDeployment": {
"message": "Nasazení kontraktu"
},
diff --git a/app/_locales/de/messages.json b/app/_locales/de/messages.json
index 25ec628f0..b76f87772 100644
--- a/app/_locales/de/messages.json
+++ b/app/_locales/de/messages.json
@@ -131,6 +131,12 @@
"buyCoinbaseExplainer": {
"message": "Coinbase ist die weltweit bekannteste Art und Weise um Bitcoin, Ethereum und Litecoin zu kaufen und verkaufen."
},
+ "buyCoinSwitch": {
+ "message": "Auf CoinSwitch kaufen"
+ },
+ "buyCoinSwitchExplainer": {
+ "message": "CoinSwitch ist die One-Stop-Destination, um mehr als 300 Kryptowährungen zum besten Preis zu tauschen."
+ },
"ok": {
"message": "Ok"
},
@@ -164,6 +170,9 @@
"continueToCoinbase": {
"message": "Zu Coinbase fortfahren"
},
+ "continueToCoinSwitch": {
+ "message": "Zu CoinSwitch fortfahren"
+ },
"contractDeployment": {
"message": "Smart Contract Ausführung"
},
diff --git a/app/_locales/en/messages.json b/app/_locales/en/messages.json
index eab243b8a..72695c120 100644
--- a/app/_locales/en/messages.json
+++ b/app/_locales/en/messages.json
@@ -201,7 +201,13 @@
"message": "Buy ETH with Wyre"
},
"buyWithWyreDescription": {
- "message": "Wyre lets you use aa credit card to deposit ETH right in to your MetaMask account. From the Airswap website, click \"Use Fiat\" in the top-right corner. You can also use Airswap to get started with ERC 20 tokens!"
+ "message": "Wyre lets you use a credit card to deposit ETH right in to your MetaMask account."
+ },
+ "buyCoinSwitch": {
+ "message": "Buy on CoinSwitch"
+ },
+ "buyCoinSwitchExplainer": {
+ "message": "CoinSwitch is the one-stop destination to exchange more than 300 cryptocurrencies at the best rate."
},
"bytes": {
"message": "Bytes"
@@ -314,6 +320,9 @@
"continueToWyre": {
"message": "Continue to Wyre"
},
+ "continueToCoinSwitch": {
+ "message": "Continue to CoinSwitch"
+ },
"contractDeployment": {
"message": "Contract Deployment"
},
diff --git a/app/_locales/es/messages.json b/app/_locales/es/messages.json
index 8033b962c..3bdbfa852 100644
--- a/app/_locales/es/messages.json
+++ b/app/_locales/es/messages.json
@@ -131,6 +131,12 @@
"buyCoinbaseExplainer": {
"message": "Coinbase es la plataforma global más popular para comprar y vender Bitcoin, Ethereum y Litecoin"
},
+ "buyCoinSwitch": {
+ "message": "Comprar en CoinSwitch"
+ },
+ "buyCoinSwitchExplainer": {
+ "message": "CoinSwitch es el destino de una sola parada para intercambiar más de 300 criptomonedas al mejor precio."
+ },
"cancel": {
"message": "Cancelar"
},
@@ -176,6 +182,9 @@
"continueToCoinbase": {
"message": "Continuar a Coinbase"
},
+ "continueToCoinSwitch": {
+ "message": "Continuar a CoinSwitch"
+ },
"contractDeployment": {
"message": "Desplegar (Deploy) contrato"
},
diff --git a/app/_locales/fr/messages.json b/app/_locales/fr/messages.json
index 9018ef578..d2ba10009 100644
--- a/app/_locales/fr/messages.json
+++ b/app/_locales/fr/messages.json
@@ -152,6 +152,12 @@
"buyCoinbaseExplainer": {
"message": "Coinbase est le moyen le plus populaire d'acheter et de vendre des Ethers."
},
+ "buyCoinSwitch": {
+ "message": "Acheter sur CoinSwitch"
+ },
+ "buyCoinSwitchExplainer": {
+ "message": "CoinSwitch est la destination unique pour échanger plus de 300 crypto-devises au meilleur taux."
+ },
"bytes": {
"message": "Bytes"
},
@@ -233,6 +239,9 @@
"continueToCoinbase": {
"message": "Continuer vers Coinbase"
},
+ "continueToCoinSwitch": {
+ "message": "Continuer vers CoinSwitch"
+ },
"contractDeployment": {
"message": "Déploiement de contrat"
},
diff --git a/app/_locales/hn/messages.json b/app/_locales/hn/messages.json
index 4face7bd6..6c27ee1bc 100644
--- a/app/_locales/hn/messages.json
+++ b/app/_locales/hn/messages.json
@@ -128,6 +128,12 @@
"buyCoinbaseExplainer": {
"message": "बिल्टकोइन, इथीरियम और लाइटकोइन खरीदने और बेचने के लिए दुनिया का सबसे लोकप्रिय तरीका कॉइनबेस है।"
},
+ "buyCoinSwitch": {
+ "message": "कॉइनस्विच पर खरीदें"
+ },
+ "buyCoinSwitchExplainer": {
+ "message": "कॉइनस्विच 300 से अधिक क्रिप्टोक्रांसियों को सर्वोत्तम दर पर विनिमय करने का एक-स्टॉप गंतव्य है।"
+ },
"cancel": {
"message": "रद्द करें"
},
@@ -155,6 +161,9 @@
"continueToCoinbase": {
"message": "कॉइनबेस को ब्हेजना जारी रखें"
},
+ "continueToCoinSwitch": {
+ "message": "कॉइनस्विच को ब्हेजना जारी रखें"
+ },
"contractDeployment": {
"message": "अनुबंध परिनियोजन व तैनाती"
},
diff --git a/app/_locales/ht/messages.json b/app/_locales/ht/messages.json
index c94ddc8d2..4a4c92f3a 100644
--- a/app/_locales/ht/messages.json
+++ b/app/_locales/ht/messages.json
@@ -155,6 +155,12 @@
"buyCoinbaseExplainer": {
"message": "Coinbase se fason ki pi popilè nan mond lan yo achte ak vann Bitcoin, Ethereum, ak Litecoin."
},
+ "buyCoinSwitch": {
+ "message": "Achte sou CoinSwitch"
+ },
+ "buyCoinSwitchExplainer": {
+ "message": "CoinSwitch se destinasyon nan yon sèl-Stop nan echanj plis pase 300 kriptoksèr nan pousantaj la pi byen."
+ },
"bytes": {
"message": "Bytes"
},
@@ -239,6 +245,9 @@
"continueToCoinbase": {
"message": "Kontinye Coinbase"
},
+ "continueToCoinSwitch": {
+ "message": "Kontinye CoinSwitch"
+ },
"contractDeployment": {
"message": "Kontra Deplwaman"
},
diff --git a/app/_locales/it/messages.json b/app/_locales/it/messages.json
index 999bb8ec4..9e0f1f06d 100644
--- a/app/_locales/it/messages.json
+++ b/app/_locales/it/messages.json
@@ -179,6 +179,12 @@
"buyCoinbaseExplainer": {
"message": "Coinbase è il servizio più popolare al mondo per comprare e vendere Bitcoin, Ethereum e Litecoin."
},
+ "buyCoinSwitch": {
+ "message": "Compra su CoinSwitch"
+ },
+ "buyCoinSwitchExplainer": {
+ "message": "CoinSwitch è la destinazione one-stop per lo scambio di oltre 300 criptovalute alla migliore tariffa."
+ },
"bytes": {
"message": "Bytes"
},
@@ -281,6 +287,9 @@
"continueToCoinbase": {
"message": "Continua su Coinbase"
},
+ "continueToCoinSwitch": {
+ "message": "Continua su CoinSwitch"
+ },
"contractDeployment": {
"message": "Distribuzione Contratto"
},
diff --git a/app/_locales/ja/messages.json b/app/_locales/ja/messages.json
index 93b5447d7..fcac67894 100644
--- a/app/_locales/ja/messages.json
+++ b/app/_locales/ja/messages.json
@@ -122,6 +122,12 @@
"buyCoinbaseExplainer": {
"message": "Etherを購入できます。Coinbaseは、世界的なBitcoin、Ethereum、そしてLitecoinの取引所です。"
},
+ "buyCoinSwitch": {
+ "message": "CoinSwitchのサイトで購入"
+ },
+ "buyCoinSwitchExplainer": {
+ "message": "CoinSwitchは、最高のレートで300以上の暗号化交換を行うワンストップの宛先です。"
+ },
"cancel": {
"message": "キャンセル"
},
@@ -149,6 +155,9 @@
"continueToCoinbase": {
"message": "Coinbaseを開く"
},
+ "continueToCoinSwitch": {
+ "message": "CoinSwitchを開く"
+ },
"contractDeployment": {
"message": "コントラクトのデプロイ"
},
diff --git a/app/_locales/ko/messages.json b/app/_locales/ko/messages.json
index b824cd72f..bf11640e2 100644
--- a/app/_locales/ko/messages.json
+++ b/app/_locales/ko/messages.json
@@ -182,6 +182,12 @@
"buyCoinbaseExplainer": {
"message": "코인베이스는 비트코인, 이더리움, 라이트코인을 거래할 수 있는 유명한 거래소입니다."
},
+ "buyCoinSwitch": {
+ "message": "코인 스위치 구입"
+ },
+ "buyCoinSwitchExplainer": {
+ "message": "코인 스위치는 최상의 속도로 300 개 이상의 크립토 카드를 교환하는 원 스톱 목적지입니다."
+ },
"bytes": {
"message": "바이트"
},
@@ -287,6 +293,9 @@
"continueToCoinbase": {
"message": "코인베이스로 계속하기"
},
+ "continueToCoinSwitch": {
+ "message": "코인 스위치 계속하기"
+ },
"contractDeployment": {
"message": "컨트랙트 배포"
},
diff --git a/app/_locales/nl/messages.json b/app/_locales/nl/messages.json
index b7b06e075..12bde6585 100644
--- a/app/_locales/nl/messages.json
+++ b/app/_locales/nl/messages.json
@@ -128,6 +128,12 @@
"buyCoinbaseExplainer": {
"message": "Coinbase is 's werelds populairste manier om Bitcoin, Ethereum en Litecoin te kopen en verkopen."
},
+ "buyCoinSwitch": {
+ "message": "Koop op CoinSwitch"
+ },
+ "buyCoinSwitchExplainer": {
+ "message": "CoinSwitch is de one-stop-bestemming om meer dan 300 cryptocurrencies tegen de beste prijs in te wisselen."
+ },
"cancel": {
"message": "Annuleer"
},
@@ -155,6 +161,9 @@
"continueToCoinbase": {
"message": "Ga verder naar Coinbase"
},
+ "continueToCoinSwitch": {
+ "message": "Ga verder naar CoinSwitch"
+ },
"contractDeployment": {
"message": "Contractimplementatie"
},
diff --git a/app/_locales/ph/messages.json b/app/_locales/ph/messages.json
index cef686868..da3cf266d 100644
--- a/app/_locales/ph/messages.json
+++ b/app/_locales/ph/messages.json
@@ -110,6 +110,12 @@
"buyCoinbaseExplainer": {
"message": "Ang Coinbase ang pinakasikat na paraan upang bumili at magbenta ng Bitcoin, Ethereum, at Litecoin sa buong mundo."
},
+ "buyCoinSwitch": {
+ "message": "Bumili sa CoinSwitch"
+ },
+ "buyCoinSwitchExplainer": {
+ "message": "Ang CoinSwitch ay isang one-stop destination upang makipagpalitan ng higit sa 300 mga cryptocurrency sa pinakamahusay na rate."
+ },
"cancel": {
"message": "Kanselahin"
},
@@ -131,6 +137,9 @@
"continueToCoinbase": {
"message": "Magpatuloy sa Coinbase"
},
+ "continueToCoinSwitch": {
+ "message": "Magpatuloy sa CoinSwitch"
+ },
"contractDeployment": {
"message": "Pag-deploy ng Contract"
},
diff --git a/app/_locales/pt/messages.json b/app/_locales/pt/messages.json
index 08af4b2a6..e51b1f72e 100644
--- a/app/_locales/pt/messages.json
+++ b/app/_locales/pt/messages.json
@@ -128,6 +128,12 @@
"buyCoinbaseExplainer": {
"message": "Coinbase é a forma mais conhecida para comprar e vender Bitcoin, Ethereum, e Litecoin."
},
+ "buyCoinSwitch": {
+ "message": "Comprar no CoinSwitch"
+ },
+ "buyCoinSwitchExplainer": {
+ "message": "CoinSwitch é o destino único para trocar mais de 300 moedas criptográficas com a melhor taxa."
+ },
"cancel": {
"message": "Cancelar"
},
@@ -155,6 +161,9 @@
"continueToCoinbase": {
"message": "Continuar para o Coinbase"
},
+ "continueToCoinSwitch": {
+ "message": "Continuar para o CoinSwitch"
+ },
"contractDeployment": {
"message": "Distribuição do Contrato"
},
diff --git a/app/_locales/ru/messages.json b/app/_locales/ru/messages.json
index 9568c64e6..f80efcc56 100644
--- a/app/_locales/ru/messages.json
+++ b/app/_locales/ru/messages.json
@@ -131,6 +131,12 @@
"buyCoinbaseExplainer": {
"message": "Биржа Coinbase – это наиболее популярный способ купить или продать Bitcoin, Ethereum и Litecoin."
},
+ "buyCoinSwitch": {
+ "message": "Купить на CoinSwitch"
+ },
+ "buyCoinSwitchExplainer": {
+ "message": "CoinSwitch - это однонаправленное место для обмена более 300 криптоконверсий по наилучшей цене."
+ },
"ok": {
"message": "ОК"
},
@@ -164,6 +170,9 @@
"continueToCoinbase": {
"message": "Продолжить в Coinbase"
},
+ "continueToCoinSwitch": {
+ "message": "Продолжить в CoinSwitch"
+ },
"contractDeployment": {
"message": "Развертывание контракта"
},
diff --git a/app/_locales/sl/messages.json b/app/_locales/sl/messages.json
index 857c37021..2f3616dee 100644
--- a/app/_locales/sl/messages.json
+++ b/app/_locales/sl/messages.json
@@ -218,6 +218,12 @@
"ok": {
"message": "V redu"
},
+ "buyCoinSwitch": {
+ "message": "Kupi na CoinSwitch"
+ },
+ "buyCoinSwitchExplainer": {
+ "message": "CoinSwitch je destinacija na enem mestu za izmenjavo več kot 300 kriptokotovitev po najboljši hitrosti."
+ },
"cancel": {
"message": "Prekliči"
},
@@ -305,6 +311,9 @@
"continueToCoinbase": {
"message": "Nadaljuj na Coinbase"
},
+ "continueToCoinSwitch": {
+ "message": "Nadaljuj na CoinSwitch"
+ },
"contractDeployment": {
"message": "Ustvarjanje pogodbe"
},
diff --git a/app/_locales/th/messages.json b/app/_locales/th/messages.json
index b80c39b98..d851d325f 100644
--- a/app/_locales/th/messages.json
+++ b/app/_locales/th/messages.json
@@ -128,6 +128,12 @@
"buyCoinbaseExplainer": {
"message": "Coinbase เป็นแหล่งซื้อขายบิตคอยน์ไลท์คอยน์และอีเธอเรียมที่ได้รับความนิยมสูงสุดในโลก"
},
+ "buyCoinSwitch": {
+ "message": "ซื้อด้วย CoinSwitch"
+ },
+ "buyCoinSwitchExplainer": {
+ "message": "CoinSwitch เป็นจุดหมายปลายทางแบบครบวงจรในการแลกเปลี่ยนสกุลเงินมากกว่า 300 ครั้งในอัตราที่ดีที่สุด"
+ },
"cancel": {
"message": "ยกเลิก"
},
@@ -155,6 +161,9 @@
"continueToCoinbase": {
"message": "ไปที่ Coinbase"
},
+ "continueToCoinSwitch": {
+ "message": "ไปที่ CoinSwitch"
+ },
"contractDeployment": {
"message": "การติดตั้งสัญญา"
},
diff --git a/app/_locales/tml/messages.json b/app/_locales/tml/messages.json
index 03ae4b7ff..e1ef45138 100644
--- a/app/_locales/tml/messages.json
+++ b/app/_locales/tml/messages.json
@@ -131,6 +131,12 @@
"buyCoinbaseExplainer": {
"message": "கோஇன்பசே பிறகாய்ன் , எதெரியும் மற்றும் ளிட்டசோன் வாங்க மற்றும் விற்க உலகின் மிகவும் பிரபலமான வழி"
},
+ "buyCoinSwitch": {
+ "message": "நாணயம் ஸ்விட்சில் வாங்கவும்"
+ },
+ "buyCoinSwitchExplainer": {
+ "message": "சிறந்த விகிதத்தில் 300 க்கும் அதிகமான cryptocurrencies ஐ பரிமாறிக்கொள்ள ஒரு நாணயமாற்று இலக்கு நாணயம் ஸ்விட்ச் ஆகும்."
+ },
"ok": {
"message": "சரி"
},
@@ -164,6 +170,9 @@
"continueToCoinbase": {
"message": "கோஇன்பசே ஐத் தொடரவும்"
},
+ "continueToCoinSwitch": {
+ "message": "நாணயம் மாறாமல் தொடர்க"
+ },
"contractDeployment": {
"message": "ஒப்பந்த வரிசைப்படுத்தல்"
},
diff --git a/app/_locales/tr/messages.json b/app/_locales/tr/messages.json
index b085828a2..bcf96dece 100644
--- a/app/_locales/tr/messages.json
+++ b/app/_locales/tr/messages.json
@@ -131,6 +131,12 @@
"buyCoinbaseExplainer": {
"message": "Coinbase Bitcoin, Ethereum, and Litecoin alıp satmanın dünyadaki en popüler yolu"
},
+ "buyCoinSwitch": {
+ "message": "CoinSwitch'de satın al"
+ },
+ "buyCoinSwitchExplainer": {
+ "message": "Cairnswich, 300'den fazla kriptona en iyi oranda eşlik eden tek durak noktasıdır."
+ },
"ok": {
"message": "Tamam"
},
@@ -164,6 +170,9 @@
"continueToCoinbase": {
"message": "Coinbase'e devam et"
},
+ "continueToCoinSwitch": {
+ "message": "CoinSwitch'e devam et"
+ },
"contractDeployment": {
"message": "Sözleşme kurulumu"
},
diff --git a/app/_locales/vi/messages.json b/app/_locales/vi/messages.json
index f0837ba98..857f78597 100644
--- a/app/_locales/vi/messages.json
+++ b/app/_locales/vi/messages.json
@@ -110,6 +110,12 @@
"buyCoinbaseExplainer": {
"message": "Coinbase là dịch vụ ví điện tử thông dụng nhất thế giới để mua bán Bitcoin, Ethereum, và Litecoin"
},
+ "buyCoinSwitch": {
+ "message": "Mua trên CoinSwitch"
+ },
+ "buyCoinSwitchExplainer": {
+ "message": "CoinSwitch là điểm đến duy nhất để trao đổi hơn 300 tiền điện tử với tốc độ tốt nhất."
+ },
"cancel": {
"message": "Hủy"
},
@@ -131,6 +137,9 @@
"continueToCoinbase": {
"message": "Tiếp tục đến Coinbase"
},
+ "continueToCoinSwitch": {
+ "message": "Tiếp tục đến CoinSwitch"
+ },
"contractDeployment": {
"message": "Triển khai hợp đồng"
},
diff --git a/app/_locales/zh_CN/messages.json b/app/_locales/zh_CN/messages.json
index 9d929d9a3..0d3727703 100644
--- a/app/_locales/zh_CN/messages.json
+++ b/app/_locales/zh_CN/messages.json
@@ -134,6 +134,12 @@
"buyCoinbaseExplainer": {
"message": "Coinbase 是世界上最流行的买卖比特币,以太币和莱特币的交易所。"
},
+ "buyCoinSwitch": {
+ "message": "在CoinSwitch上购买"
+ },
+ "buyCoinSwitchExplainer": {
+ "message": "CoinSwitch是以最优惠的价格交换超过300种加密货币的一站式目的地。"
+ },
"ok": {
"message": "确认"
},
@@ -173,6 +179,9 @@
"continueToCoinbase": {
"message": "继续访问 Coinbase"
},
+ "continueToCoinSwitch": {
+ "message": "继续访问 CoinSwitch"
+ },
"contractDeployment": {
"message": "合约部署"
},
diff --git a/app/_locales/zh_TW/messages.json b/app/_locales/zh_TW/messages.json
index d9d84b173..c645f2af1 100644
--- a/app/_locales/zh_TW/messages.json
+++ b/app/_locales/zh_TW/messages.json
@@ -188,6 +188,12 @@
"bytes": {
"message": "位元組"
},
+ "buyCoinSwitch": {
+ "message": "在CoinSwitch上购买"
+ },
+ "buyCoinSwitchExplainer": {
+ "message": "CoinSwitch是以最优惠的价格交换超过300种加密货币的一站式目的地。"
+ },
"ok": {
"message": "Ok"
},
@@ -272,6 +278,9 @@
"continueToCoinbase": {
"message": "繼續前往 Coinbase"
},
+ "continueToCoinSwitch": {
+ "message": "繼續前往 CoinSwitch"
+ },
"contractDeployment": {
"message": "部署合約"
},
diff --git a/app/images/coinswitch_logo.png b/app/images/coinswitch_logo.png
new file mode 100644
index 000000000..445ecf02e
--- /dev/null
+++ b/app/images/coinswitch_logo.png
Binary files differ
diff --git a/app/scripts/lib/buy-eth-url.js b/app/scripts/lib/buy-eth-url.js
index 040b5695b..fbe6c6c9e 100644
--- a/app/scripts/lib/buy-eth-url.js
+++ b/app/scripts/lib/buy-eth-url.js
@@ -11,24 +11,37 @@ module.exports = getBuyEthUrl
* network does not match any of the specified cases, or if no network is given, returns undefined.
*
*/
-function getBuyEthUrl ({ network, amount, address }) {
- let url
+function getBuyEthUrl ({ network, amount, address, service }) {
+ // default service by network if not specified
+ if (!service) service = getDefaultServiceForNetwork(network)
+
+ switch (service) {
+ case 'wyre':
+ return `https://dash.sendwyre.com/sign-up`
+ case 'coinswitch':
+ return `https://metamask.coinswitch.co/?address=${address}&to=eth`
+ case 'coinbase':
+ return `https://buy.coinbase.com/?code=9ec56d01-7e81-5017-930c-513daa27bb6a&amount=${amount}&address=${address}&crypto_currency=ETH`
+ case 'metamask-faucet':
+ return 'https://faucet.metamask.io/'
+ case 'rinkeby-faucet':
+ return 'https://www.rinkeby.io/'
+ case 'kovan-faucet':
+ return 'https://github.com/kovan-testnet/faucet'
+ }
+ throw new Error(`Unknown cryptocurrency exchange or faucet: "${service}"`)
+}
+
+function getDefaultServiceForNetwork (network) {
switch (network) {
case '1':
- url = `https://dash.sendwyre.com/sign-up`
- break
-
+ return 'wyre'
case '3':
- url = 'https://faucet.metamask.io/'
- break
-
+ return 'metamask-faucet'
case '4':
- url = 'https://www.rinkeby.io/'
- break
-
+ return 'rinkeby-faucet'
case '42':
- url = 'https://github.com/kovan-testnet/faucet'
- break
+ return 'kovan-faucet'
}
- return url
+ throw new Error(`No default cryptocurrency exchange or faucet for networkId: "${network}"`)
}
diff --git a/ui/app/components/app/modals/deposit-ether-modal.js b/ui/app/components/app/modals/deposit-ether-modal.js
index 082ff76a9..def88f085 100644
--- a/ui/app/components/app/modals/deposit-ether-modal.js
+++ b/ui/app/components/app/modals/deposit-ether-modal.js
@@ -16,6 +16,8 @@ let WYRE_ROW_TEXT
let SHAPESHIFT_ROW_TITLE
let SHAPESHIFT_ROW_TEXT
let FAUCET_ROW_TITLE
+let COINSWITCH_ROW_TITLE
+let COINSWITCH_ROW_TEXT
function mapStateToProps (state) {
return {
@@ -27,7 +29,10 @@ function mapStateToProps (state) {
function mapDispatchToProps (dispatch) {
return {
toCoinbase: (address) => {
- dispatch(actions.buyEth({ network: '1', address, amount: 0 }))
+ dispatch(actions.buyEth({ service: 'coinbase', address, amount: 0 }))
+ },
+ toCoinSwitch: (address) => {
+ dispatch(actions.buyEth({ service: 'coinswitch', address }))
},
hideModal: () => {
dispatch(actions.hideModal())
@@ -54,6 +59,8 @@ function DepositEtherModal (props, context) {
SHAPESHIFT_ROW_TITLE = context.t('depositShapeShift')
SHAPESHIFT_ROW_TEXT = context.t('depositShapeShiftExplainer')
FAUCET_ROW_TITLE = context.t('testFaucet')
+ COINSWITCH_ROW_TITLE = context.t('buyCoinSwitch')
+ COINSWITCH_ROW_TEXT = context.t('buyCoinSwitchExplainer')
this.state = {
buyingWithShapeshift: false,
@@ -123,7 +130,7 @@ DepositEtherModal.prototype.renderRow = function ({
}
DepositEtherModal.prototype.render = function () {
- const { network, toCoinbase, address, toFaucet } = this.props
+ const { network, toCoinbase, toCoinSwitch, address, toFaucet } = this.props
const { buyingWithShapeshift } = this.state
const isTestNetwork = ['3', '4', '42'].find(n => n === network)
@@ -190,6 +197,20 @@ DepositEtherModal.prototype.render = function () {
this.renderRow({
logo: h('div.deposit-ether-modal__logo', {
style: {
+ backgroundImage: 'url(\'./images/coinswitch_logo.png\')',
+ height: '40px',
+ },
+ }),
+ title: COINSWITCH_ROW_TITLE,
+ text: COINSWITCH_ROW_TEXT,
+ buttonLabel: this.context.t('continueToCoinSwitch'),
+ onButtonClick: () => toCoinSwitch(address),
+ hide: isTestNetwork || buyingWithShapeshift,
+ }),
+
+ this.renderRow({
+ logo: h('div.deposit-ether-modal__logo', {
+ style: {
backgroundImage: 'url(\'./images/shapeshift logo.png\')',
},
}),
diff --git a/ui/app/components/app/send/send-footer/send-footer.container.js b/ui/app/components/app/send/send-footer/send-footer.container.js
index 502159a81..ea3fd7ee4 100644
--- a/ui/app/components/app/send/send-footer/send-footer.container.js
+++ b/ui/app/components/app/send/send-footer/send-footer.container.js
@@ -96,9 +96,10 @@ function mapDispatchToProps (dispatch) {
return dispatch(updateTransaction(editingTx))
},
+
addToAddressBookIfNew: (newAddress, toAccounts, nickname = '') => {
const hexPrefixedAddress = ethUtil.addHexPrefix(newAddress)
- if (addressIsNew(toAccounts)) {
+ if (addressIsNew(toAccounts, hexPrefixedAddress)) {
// TODO: nickname, i.e. addToAddressBook(recipient, nickname)
dispatch(addToAddressBook(hexPrefixedAddress, nickname))
}
diff --git a/ui/app/components/app/send/send-footer/send-footer.utils.js b/ui/app/components/app/send/send-footer/send-footer.utils.js
index f82ff1e9b..abb2ebc77 100644
--- a/ui/app/components/app/send/send-footer/send-footer.utils.js
+++ b/ui/app/components/app/send/send-footer/send-footer.utils.js
@@ -74,7 +74,9 @@ function constructUpdatedTx ({
}
function addressIsNew (toAccounts, newAddress) {
- return !toAccounts.find(({ address }) => newAddress === address)
+ const newAddressNormalized = newAddress.toLowerCase()
+ const foundMatching = toAccounts.some(({ address }) => address === newAddressNormalized)
+ return !foundMatching
}
module.exports = {