status-react/resources/commands.js

945 lines
32 KiB
JavaScript
Raw Normal View History

2016-11-22 12:50:52 +00:00
I18n.translations = {
en: {
location_title: 'Location',
location_description: 'Send location',
2016-11-22 12:50:52 +00:00
location_address: 'Address',
browse_title: 'Browser',
browse_description: 'Open web browser',
2016-11-22 12:50:52 +00:00
send_title: 'Send ETH',
send_description: 'Send a payment',
request_title: 'Request ETH',
request_description: 'Request a payment',
request_requesting: 'Requesting ',
validation_title: 'Amount',
validation_amount_specified: 'Amount must be specified',
validation_invalid_number: 'Amount is not valid number',
validation_insufficient_amount: 'Insufficient funds for gas * price + value (balance '
2016-11-22 12:50:52 +00:00
},
ru: {
location_title: 'Местоположение',
location_description: 'Поделитесь своим местоположением',
location_address: 'Адрес',
browse_title: 'Браузер',
browse_description: 'Запуск браузера',
send_title: 'Отправить ETH',
send_description: 'Отправить платеж',
request_title: 'Запросить ETH',
request_description: 'Запросить платеж',
request_requesting: 'Запрос ',
validation_title: 'Сумма',
validation_amount_specified: 'Необходимо указать сумму',
validation_invalid_number: 'Сумма не является действительным числом',
validation_insufficient_amount: 'Недостаточно ETH на балансе ('
},
af: {
location_title: 'Ligging',
location_description: 'Deel jou ligging',
location_address: 'Addres',
browse_title: 'Webblaaier',
browse_description: 'Begin die webblaaier',
send_title: 'Stuur ETH',
send_description: 'Stuur \'n betaling',
request_title: 'Versoek ETH',
request_description: 'Versoek \'n betaling',
request_requesting: 'Besig met versoek ',
validation_title: 'Bedrag',
validation_amount_specified: 'Bedrag moet gespesifiseer word',
validation_invalid_number: 'Bedrag is nie \'n geldige syfer nie',
validation_insufficient_amount: 'Nie genoeg ETH in rekening nie ('
},
ar: {
location_title: 'الموقع',
location_description: 'شارك موقعك',
location_address: 'العنوان',
browse_title: 'المتصفح',
browse_description: 'تشغيل المتصفح',
send_title: 'إرسال ETH',
send_description: 'إرسال مدفوعات',
request_title: 'طلب ETH',
request_description: 'طلب مدفوعات',
request_requesting: 'مُطَالَبَة ',
validation_title: 'المبلغ',
validation_amount_specified: 'يجب تحديد المبلغ',
validation_invalid_number: 'المبلغ المحدد غير صحيح',
validation_insufficient_amount: 'لا يوجد ETH كافي بالحساب ('
},
'zh-hant': {
location_title: '位置',
location_description: '分享您的位置',
location_address: '地址',
browse_title: '流覽器',
browse_description: '啟動流覽器',
send_title: '發送 ETH',
send_description: '發送一筆付款',
request_title: '請求 ETH',
request_description: '請求一筆付款',
2017-03-15 19:20:51 +00:00
request_requesting: '正在請求 ',
2016-11-22 12:50:52 +00:00
validation_title: '金額',
validation_amount_specified: 'ي未指定金額',
validation_invalid_number: '金額數字無效',
validation_insufficient_amount: '餘額中 ETH 不足 ('
},
'zh-hans': {
location_title: '位置',
location_description: '分享你的位置',
location_address: '地址',
browse_title: '浏览器',
browse_description: '启动浏览器',
send_title: '发送ETH',
send_description: '付款',
request_title: '请求ETH',
request_description: '要求付款',
2017-03-15 19:20:51 +00:00
request_requesting: '正在请求 ',
2016-11-22 12:50:52 +00:00
validation_title: '金額',
validation_amount_specified: '必须指定金额',
validation_invalid_number: '金额不是有效数字',
validation_insufficient_amount: 'ETH余额不足 ('
2017-01-05 17:36:16 +00:00
},
2016-11-22 12:50:52 +00:00
'zh-yue': {
location_title: '所在位置',
location_description: '分享所在位置',
location_address: '地址',
browse_title: '瀏覽器',
browse_description: '啟動瀏覽器',
send_title: '發送ETH',
send_description: '發送付款',
request_title: '徵求ETH',
request_description: '徵求付款',
2017-03-15 19:20:51 +00:00
request_requesting: '徵求中 ',
2016-11-22 12:50:52 +00:00
validation_title: '金額',
validation_amount_specified: '必須指定金額',
validation_invalid_number: '指定金額並非有效數字',
validation_insufficient_amount: '沒有足夠ETH餘額 ('
2017-01-05 17:36:16 +00:00
},
2016-11-22 12:50:52 +00:00
'zh-wuu': {
location_title: '位置',
location_description: '分享您的位置',
location_address: '地址',
browse_title: '浏览器',
browse_description: '启动浏览器',
send_title: '发送ETH',
send_description: '发送付款',
request_title: '请求ETH',
request_description: '请求付款',
request_requesting: '请求中 ',
validation_title: '金额',
validation_amount_specified: '金额必须明确',
validation_invalid_number: '金额不是一个有效数字',
validation_insufficient_amount: 'ETH余额不足 ('
},
nl: {
location_title: 'Locatie',
location_description: 'Deel je locatie',
location_address: 'Adres',
browse_title: 'Browser',
browse_description: 'Start de browser',
send_title: 'Stuur ETH',
send_description: 'Stuur een betaling',
request_title: 'Vraag ETH aan',
request_description: 'Vraag om een betaling',
request_requesting: 'Wordt aangevraagd ',
validation_title: 'Bedrag',
validation_amount_specified: 'Bedrag moet worden opgegeven',
validation_invalid_number: 'Bedrag is geen geldig nummer',
validation_insufficient_amount: 'Niet genoeg ETH op saldo ('
},
fr: {
location_title: 'Emplacement',
location_description: 'Partager votre emplacement',
location_address: 'Adresse',
browse_title: 'Navigateur',
browse_description: 'Lancer le navigateur',
send_title: 'Envoyer l\'ETH',
send_description: 'Envoyer un paiement',
request_title: 'Demander l\'ETH',
request_description: 'Demander un paiement',
2017-03-15 19:20:51 +00:00
request_requesting: 'Demande en cours: ',
2016-11-22 12:50:52 +00:00
validation_title: 'Montant',
validation_amount_specified: 'Le montant doit être spécifié',
validation_invalid_number: 'Le montant n\'est pas un nombre valide',
validation_insufficient_amount: 'Pas assez d\'ETH sur le solde ('
},
de: {
location_title: 'Ort',
location_description: 'Teilen Sie Ihren Ort',
location_address: 'Adresse',
browse_title: 'Browser',
browse_description: 'Browser starten',
send_title: 'ETH abschicken',
send_description: 'Zahlung senden',
request_title: 'ETH anfragen',
request_description: 'Zahlung anfragen',
2017-03-15 19:20:51 +00:00
request_requesting: 'Anfrage: ',
2016-11-22 12:50:52 +00:00
validation_title: 'Betrag',
validation_amount_specified: 'Betrag muss angegeben werden',
validation_invalid_number: 'Betrag ist keine gültige Zahl',
validation_insufficient_amount: 'Nicht genügend ETH auf dem Konto ('
},
hi: {
location_title: 'स्थान',
location_description: 'अपना स्थान साझा करें',
location_address: 'पता',
browse_title: 'ब्राउज़र',
browse_description: 'ब्राउज़र लॉन्च करें',
send_title: 'ETH भेजें',
send_description: 'भुगतान भेजें',
request_title: 'ETH का अनुरोध करें',
request_description: 'भुगतान का अनुरोध करें',
2017-03-15 19:20:51 +00:00
request_requesting: 'अनुरोध किया जा रहा है ',
2016-11-22 12:50:52 +00:00
validation_title: 'राशि',
validation_amount_specified: 'राशि निर्दिष्ट की जानी चाहिए',
validation_invalid_number: 'राशि वैध संख्या नहीं है',
validation_insufficient_amount: 'बैलेंस पर पर्याप्त ETH नहीं है ('
},
hu: {
location_title: 'Helyszín',
location_description: 'Helyszín megosztása',
location_address: 'Cím',
browse_title: 'Böngésző',
browse_description: 'Böngésző indítása',
send_title: 'ETH küldése',
send_description: 'Kifizetés küldése',
request_title: 'ETH igénylése',
request_description: 'Fizetés igénylése',
request_requesting: 'Igénylés ',
validation_title: 'Összeg',
validation_amount_specified: 'Az összeget meg kell határozni',
validation_invalid_number: 'Az összeg nem egy elfogadott szám',
validation_insufficient_amount: 'Nincs elég ETH a számlán ('
},
it: {
location_title: 'Posizione',
location_description: 'Condividi la tua posizione',
location_address: 'Indirizzo',
browse_title: 'Browser',
browse_description: 'Lancia il browser',
send_title: 'Invia ETH',
send_description: 'Invia un pagamento',
request_title: 'Richiedi ETH',
request_description: 'Richiedi un pagamento',
2017-03-15 19:20:51 +00:00
request_requesting: 'Richiesta in corso: ',
2016-11-22 12:50:52 +00:00
validation_title: 'Ammontare',
validation_amount_specified: 'L\'ammontare deve essere specificato',
validation_invalid_number: 'L\'ammontare non è un numero valido',
validation_insufficient_amount: 'ETH insufficiente sul bilancio ('
},
ja: {
location_title: '位置',
location_description: '位置情報を共有',
location_address: 'アドレス',
browse_title: 'ブラウザ',
browse_description: 'ブラウザを起動',
send_title: 'ETHを送信',
send_description: '支払いを送信',
request_title: 'ETHをリクエスト',
request_description: '支払いをリクエスト',
2017-03-15 19:20:51 +00:00
request_requesting: 'リクエスト中 ',
2016-11-22 12:50:52 +00:00
validation_title: '金額',
validation_amount_specified: '金額を特定する必要があります',
validation_invalid_number: '金額は有効な数字ではありません',
validation_insufficient_amount: '残高に十分なETHがありません('
},
ko: {
location_title: '위치',
location_description: '내 위치 공유하기',
location_address: '주소',
browse_title: '브라우저',
browse_description: '브라우저 시작하기',
send_title: 'ETH 보내기',
send_description: '지불금 보내기',
request_title: 'ETH 요청',
request_description: '지불금 요청',
request_requesting: '요청 중 ',
validation_title: '금액',
validation_amount_specified: '금액을 지정해야 합니다',
validation_invalid_number: '금액이 유효한 숫자가 아닙니다',
validation_insufficient_amount: 'ETH 잔고가 부족합니다 ('
},
pl: {
location_title: 'Lokalizacja',
location_description: 'Udostępnij swoją lokalizację',
location_address: 'Adres',
browse_title: 'Przeglądarka',
browse_description: 'Uruchom przeglądarkę',
send_title: 'Wyślij ETH',
send_description: 'Wyślij płatność',
request_title: 'Poproś o ETH',
request_description: 'Poproś o płatność',
2017-03-15 19:20:51 +00:00
request_requesting: 'Przesyłanie prośby ',
2016-11-22 12:50:52 +00:00
validation_title: 'Kwota',
validation_amount_specified: 'Należy określić kwotę',
validation_invalid_number: 'Kwota nie jest prawidłową liczbą',
validation_insufficient_amount: 'Brak wystarczającej liczby ETH na koncie ('
},
'pt-br': {
location_title: 'Localização',
location_description: 'Compartilhar sua localização',
location_address: 'Endereço',
browse_title: 'Navegador',
browse_description: 'Abrir o navegador',
send_title: 'Enviar ETH',
send_description: 'Enviar um pagamento',
request_title: 'Solicitar ETH',
request_description: 'Solicitar um pagamento',
2017-03-15 19:20:51 +00:00
request_requesting: 'Solicitando ',
2016-11-22 12:50:52 +00:00
validation_title: 'Quantia',
validation_amount_specified: 'É necessário especificar a quantia',
validation_invalid_number: 'A quantia não é um número válido',
validation_insufficient_amount: 'ETH insuficiente no saldo ('
},
'pt-pt': {
location_title: 'Location',
location_description: 'Partilhar a sua localização',
location_address: 'Endereço',
browse_title: 'Navegador',
browse_description: 'Abrir o navegador',
send_title: 'Enviar ETH',
send_description: 'Enviar um pagamento',
request_title: 'Solicitar ETH',
request_description: 'Solicitar um pagamento',
2017-03-15 19:20:51 +00:00
request_requesting: 'A solicitar ',
2016-11-22 12:50:52 +00:00
validation_title: 'Montante',
validation_amount_specified: 'O montante deve ser especificado',
validation_invalid_number: 'O montante não é um número válido',
validation_insufficient_amount: 'Não há ETH suficiente no saldo ('
},
ro: {
location_title: 'Locație',
location_description: "Partajează locația",
location_address: 'Adresă',
browse_title: 'Browser',
browse_description: 'Lansare browser',
send_title: 'Trimite ETH',
send_description: 'Trimite o plată',
request_title: 'Solicită ETH',
request_description: 'Solicită o plată',
2017-03-15 19:20:51 +00:00
request_requesting: 'Se solicită ',
2016-11-22 12:50:52 +00:00
validation_title: 'Sumă',
validation_amount_specified: 'Trebuie menționată o sumă',
validation_invalid_number: 'Suma nu are forma unui număr valid',
validation_insufficient_amount: 'Sold ETH insuficient ('
},
sl: {
location_title: 'Lokacija',
location_description: 'Deli svojo lokacijo',
location_address: 'Naslov',
browse_title: 'Brskalnik',
browse_description: 'Zaženi brskalnik',
send_title: 'Pošlji ETH',
send_description: 'Pošlji plačilo',
request_title: 'Zahtevaj ETH',
request_description: 'Zahtevaj plačilo',
request_requesting: 'Zahtevam ',
validation_title: 'Vsota',
validation_amount_specified: 'Vsota mora biti izrecno navedena',
validation_invalid_number: 'Vsota ni veljavna številka',
validation_insufficient_amount: 'Stanje ETH na računu je prenizko ('
},
es: {
location_title: 'Ubicación',
location_description: 'Comparte tu ubicación',
location_address: 'Dirección',
browse_title: 'Navegador',
browse_description: 'Iniciar el navegador',
send_title: 'Enviar ETH ',
send_description: 'Enviar un pago',
request_title: 'Solicitar ETH',
request_description: 'Solicitar un pago',
2017-03-15 19:20:51 +00:00
request_requesting: 'Solicitando ',
2016-11-22 12:50:52 +00:00
validation_title: 'Cantidad',
validation_amount_specified: 'Hay que especificar la cantidad',
validation_invalid_number: 'La cantidad no es un número válido',
validation_insufficient_amount: 'No hay suficiente ETH en conjunto ('
},
'es-ar': {
location_title: 'Ubicación',
location_description: 'Comparte tu ubicación',
location_address: 'Dirección',
browse_title: 'Navegador',
browse_description: 'Iniciar navegador',
send_title: 'Enviar ETH',
send_description: 'Enviar un pago',
request_title: 'Solicitar ETH',
request_description: 'Solicitar un pago',
request_requesting: 'Solicitando ',
validation_title: 'Monto',
validation_amount_specified: 'Debes especificar el monto',
validation_invalid_number: 'El monto no es un número válido',
validation_insufficient_amount: 'No tienes suficiente ETH en tu saldo ('
},
sw: {
location_title: 'Eneo',
location_description: 'Shiriki eneo lako',
location_address: 'Anwani',
browse_title: 'Programu ya utafutaji',
browse_description: 'Zindua programu ya utafutaji',
send_title: 'Tuma ETH',
send_description: 'Tuma malipo',
request_title: 'Omba ETH',
request_description: 'Omba malipo',
request_requesting: 'Kuomba ',
validation_title: 'Kiasi',
validation_amount_specified: 'Kiasi lazima kifafanuliwe',
validation_invalid_number: 'Kiasi si nambari halali',
validation_insufficient_amount: 'ETH haitoshi kwenye salio ('
},
sv: {
location_title: 'Plats',
location_description: 'Dela din plats',
location_address: 'Adress',
browse_title: 'Webbläsare',
browse_description: 'Starta webbläsaren',
send_title: 'Skicka ETH',
send_description: 'Skicka en betalning',
request_title: 'Begär ETH',
request_description: 'Begär en betalning',
request_requesting: 'Begär ',
validation_title: 'Belopp',
validation_amount_specified: 'Beloppet måste anges',
validation_invalid_number: 'Beloppet är inte ett giltigt nummer',
validation_insufficient_amount: 'Inte tillräcklig ETH på balansen ('
},
'fr-ch': {
location_title: 'Emplacement',
location_description: 'Partagez votre emplacement',
location_address: 'Adresse',
browse_title: 'Navigateur',
browse_description: 'Lancer le navigateur',
send_title: 'Envoyer des ETH',
send_description: 'Envoyer un paiement',
request_title: 'Demander des ETH',
request_description: 'Demander un paiement',
request_requesting: 'Demande ',
validation_title: 'Montant',
validation_amount_specified: 'Le montant doit être spécifié',
validation_invalid_number: 'Le montant n\'est pas un nombre valable',
validation_insufficient_amount: 'Pas assez d\'ETH sur le solde ('
},
'de-ch': {
location_title: 'Standort',
2017-03-15 19:20:51 +00:00
location_description: 'Teile deinen Standort',
2016-11-22 12:50:52 +00:00
location_address: 'Adresse',
browse_title: 'Browser',
browse_description: 'Starte den Browser',
send_title: 'Sende ETH',
2017-03-15 19:20:51 +00:00
send_description: 'Sende eine Zahlung',
2016-11-22 12:50:52 +00:00
request_title: 'Fordere ETH an',
request_description: 'Eine Zahlung anfordern',
request_requesting: 'Anfordern ',
validation_title: 'Betrag',
validation_amount_specified: 'Der Betrag muss angegeben werden',
validation_invalid_number: 'Der Betrag ist nicht gültig',
validation_insufficient_amount: 'Nicht genug ETH vorhanden ('
},
'it-ch': {
location_title: 'Posizione',
location_description: 'Condividi la tua posizione',
location_address: 'Indirizzo',
browse_title: 'Browser',
browse_description: 'Avvia il browser',
send_title: 'Invia ETH',
send_description: 'Invia un pagamento',
request_title: 'Richiedi ETH',
request_description: 'Richiedi un pagamento',
2017-03-15 19:20:51 +00:00
request_requesting: 'Richiesta in corso: ',
2016-11-22 12:50:52 +00:00
validation_title: 'Importo',
validation_amount_specified: 'Specificare l\'importo',
validation_invalid_number: 'Importo inserito non valido',
validation_insufficient_amount: 'Saldo ETH non sufficiente ('
},
th: {
location_title: 'ตำแหน่ง',
location_description: 'แชร์ตำแหน่งของคุณ',
location_address: 'ที่อยู่',
browse_title: 'เบราว์เซอร์',
browse_description: 'เปิดเบราว์เซอร์',
send_title: 'ส่ง ETH',
send_description: 'ส่งการชำระเงิน',
request_title: 'ร้องขอ ETH',
request_description: 'ร้องขอการชำระเงิน',
request_requesting: 'กำลังร้องขอ ',
validation_title: 'จำนวน',
validation_amount_specified: 'จำเป็นต้องระบุจำนวน',
validation_invalid_number: 'จำนวนไม่ใช่หมายเลขที่ถูกต้อง',
validation_insufficient_amount: 'มี ETH ไม่เพียงพอในยอดคงเหลือ ('
},
tr: {
location_title: 'Konum',
location_description: 'Konumunuzu paylaşın',
location_address: 'Adres',
browse_title: 'Tarayıcı',
browse_description: 'Tarayıcıyı başlat',
send_title: 'ETH gönder',
send_description: 'Bir ödeme gönder',
request_title: 'ETH iste',
request_description: 'Bir ödeme iste',
request_requesting: 'İsteniyor ',
validation_title: 'Miktar',
validation_amount_specified: 'Miktar belirtilmelidir',
validation_invalid_number: 'Miktar geçerli bir sayı değil',
validation_insufficient_amount: 'Yeterli ETH bakiyesi yok ('
},
uk: {
location_title: 'Місцезнаходження',
location_description: 'Поділіться своїм місцезнаходженням',
location_address: 'Адреса',
browse_title: 'Браузер',
browse_description: 'Запустити браузер',
send_title: 'Надіслати ETH',
send_description: 'Надіслати платіж',
request_title: 'Запит ETH',
request_description: 'Запит платежу',
request_requesting: 'Запит ',
validation_title: 'Сума',
validation_amount_specified: 'Сума повинна бути вказана',
validation_invalid_number: 'Сума не дійсне число',
validation_insufficient_amount: 'Не вистачає ETH на балансі ('
},
ur: {
location_title: 'مقام',
location_description: 'اپنا مقام بتائیں',
location_address: 'پتہ',
browse_title: 'براؤزر',
browse_description: 'براؤزر کھولیں',
send_title: 'ETH بھیجیں',
send_description: 'ادائیگی کریں',
request_title: 'ETH کی درخواست دیں',
request_description: 'ادائیگی کی درخواست دیں',
request_requesting: 'درخواست کی جارہی ہے ',
validation_title: 'رقم',
validation_amount_specified: 'رقم درج کی جانی چاہیے۔ ',
validation_invalid_number: 'رقیم درست ہندسے نہیں ہیں',
validation_insufficient_amount: 'ETH میں کافی بیلنس نہیں ہے ('
},
vi: {
location_title: 'Vị trí',
location_description: 'Chia sẻ vị trí của bạn',
location_address: 'Địa chỉ',
browse_title: 'Trình duyệt',
browse_description: 'Mở trình duyệt',
send_title: 'Gửi ETH',
send_description: 'Gửi một khoản thanh toán',
request_title: 'Yêu cầu ETH',
request_description: 'Yêu cầu một khoản thanh toán',
request_requesting: 'Đang yêu cầu ',
validation_title: 'Số tiền',
validation_amount_specified: 'Số tiền phải được xác định',
validation_invalid_number: 'Số tiền không phải là một số hợp lệ',
validation_insufficient_amount: 'Không đủ ETH trong số dư ('
}
};
status.command({
name: "location",
icon: "location",
2016-11-22 12:50:52 +00:00
title: I18n.t('location_title'),
description: I18n.t('location_description'),
color: "#a187d5",
preview: function (params) {
var text = status.components.text(
{
style: {
marginTop: 5,
marginHorizontal: 0,
fontSize: 14,
fontFamily: "font",
color: "black"
}
}, params.address);
var uri = "https://maps.googleapis.com/maps/api/staticmap?center="
+ params.address
+ "&size=100x100&maptype=roadmap&key=AIzaSyBNsj1qoQEYPb3IllmWMAscuXW0eeuYqAA&language=en"
+ "&markers=size:mid%7Ccolor:0xff0000%7Clabel:%7C"
+ params.address;
var image = status.components.image(
{
source: {uri: uri},
style: {
width: 100,
height: 100
}
}
);
return {markup: status.components.view({}, [text, image])};
},
shortPreview: function (params) {
return {
markup: status.components.text(
{},
I18n.t('location_title') + ": " + params.address
)
};
}
}).param({
name: "address",
type: status.types.TEXT,
2016-11-22 12:50:52 +00:00
placeholder: I18n.t('location_address')
});
status.command({
name: "browse",
fullscreen: true,
2016-11-22 12:50:52 +00:00
title: I18n.t('browse_title'),
description: I18n.t('browse_description'),
params: [{
name: "url",
placeholder: "URL",
type: status.types.TEXT
}],
onSend: function (params, context) {
var url = params.url;
if (!/^[a-zA-Z-_]+:/.test(url)) {
url = 'http://' + url;
}
return {
title: "Browser",
dynamicTitle: true,
markup: status.components.bridgedWebView(url)
};
}
});
function validateSend(params, context) {
if (!context.to) {
return {
markup: status.components.validationMessage(
"Wrong address",
"Recipient address must be specified"
)
};
}
if (!params.amount) {
return {
markup: status.components.validationMessage(
I18n.t('validation_title'),
I18n.t('validation_amount_specified')
)
};
}
try {
var val = web3.toWei(params.amount.replace(",", "."), "ether");
if (val <= 0) {
throw new Error();
}
} catch (err) {
return {
markup: status.components.validationMessage(
I18n.t('validation_title'),
I18n.t('validation_invalid_number')
)
};
}
var balance = web3.eth.getBalance(context.from);
var estimatedGas = web3.eth.estimateGas({
from: context.from,
to: context.to,
value: val
});
if (bn(val).plus(bn(estimatedGas)).greaterThan(bn(balance))) {
return {
markup: status.components.validationMessage(
I18n.t('validation_title'),
I18n.t('validation_insufficient_amount')
+ web3.fromWei(balance, "ether")
+ " ETH)"
)
};
}
}
function sendTransaction(params, context) {
var data = {
from: context.from,
to: context.to,
value: web3.toWei(params.amount.replace(",", "."), "ether")
};
try {
return web3.eth.sendTransaction(data);
} catch (err) {
var error = status.components.validationMessage(
"Error",
err.message
);
return {error: {markup: error}};
}
}
2016-10-20 13:51:37 +00:00
var send = {
name: "send",
icon: "money_white",
color: "#5fc48d",
2016-11-22 12:50:52 +00:00
title: I18n.t('send_title'),
description: I18n.t('send_description'),
params: [{
name: "amount",
type: status.types.NUMBER
}],
2016-11-16 07:39:28 +00:00
preview: function (params, context) {
var amountStyle = {
fontSize: 36,
2016-12-15 09:52:41 +00:00
color: "#000000",
height: 40
2016-11-16 07:39:28 +00:00
};
var amount = status.components.view(
{
2016-12-15 09:52:41 +00:00
flexDirection: "column",
alignItems: "flex-end",
2016-11-16 07:39:28 +00:00
},
[status.components.text(
{
style: amountStyle,
font: "light"
},
status.localizeNumber(params.amount, context.delimiter, context.separator)
2016-11-16 07:39:28 +00:00
)]);
var currency = status.components.view(
{
style: {
flexDirection: "column",
justifyContent: "flex-end",
paddingBottom: 0
}
},
[status.components.text(
{
style: {
color: "#9199a0",
fontSize: 16,
lineHeight: 18,
marginLeft: 7.5
}
},
"ETH"
)]
);
return {
markup: status.components.view(
{
style: {
flexDirection: "row",
justifyContent: "space-between",
marginTop: 8,
marginBottom: 8
}
},
[amount, currency]
)
};
},
shortPreview: function (params, context) {
return {
markup: status.components.text(
{},
I18n.t('send_title') + ": "
+ status.localizeNumber(params.amount, context.delimiter, context.separator)
+ " ETH"
)
};
},
handler: sendTransaction,
validator: validateSend
2016-10-20 13:51:37 +00:00
};
status.command(send);
status.response(send);
status.command({
name: "request",
color: "#5fc48d",
2016-11-22 12:50:52 +00:00
title: I18n.t('request_title'),
description: I18n.t('request_description'),
2016-10-20 13:51:37 +00:00
params: [{
name: "amount",
type: status.types.NUMBER
}],
handler: function (params) {
return {
event: "request",
2017-01-05 17:36:16 +00:00
params: [params.amount],
2016-10-20 13:51:37 +00:00
request: {
command: "send",
params: {
amount: params.amount
}
2016-10-20 13:51:37 +00:00
}
};
},
preview: function (params, context) {
return {
markup: status.components.text(
{},
I18n.t('request_requesting') + " "
+ status.localizeNumber(params.amount, context.delimiter, context.separator)
+ " ETH"
)
};
},
shortPreview: function (params, context) {
return {
markup: status.components.text(
{},
I18n.t('request_requesting') + " "
+ status.localizeNumber(params.amount, context.delimiter, context.separator)
+ " ETH"
)
};
},
validator: function (params) {
try {
var val = web3.toWei(params.amount.replace(",", "."), "ether");
if (val <= 0) {
throw new Error();
}
} catch (err) {
return {
markup: status.components.validationMessage(
I18n.t('validation_title'),
I18n.t('validation_invalid_number')
)
};
}
}
});