mirror of
https://github.com/Qortal/qortal-ui.git
synced 2025-03-14 03:32:33 +00:00
Auto Buy V2, Balances Ticker
This commit is contained in:
parent
442ea2e366
commit
b5189ecfcb
@ -36,11 +36,11 @@
|
||||
"electron-updater": "5.3.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"electron": "21.2.3",
|
||||
"electron": "21.3.0",
|
||||
"electron-builder": "23.6.0",
|
||||
"electron-packager": "17.1.1",
|
||||
"@electron/notarize": "1.2.3",
|
||||
"shelljs": "^0.8.5"
|
||||
"shelljs": "0.8.5"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16.15.0"
|
||||
|
@ -34,7 +34,8 @@
|
||||
"qchat":"Q-CHAT",
|
||||
"groupmanagement":"GRUPPENMANAGEMENT",
|
||||
"puzzles":"RÄTSEL",
|
||||
"nodemanagement":"KNOTENVERWALTUNG"
|
||||
"nodemanagement":"KNOTENVERWALTUNG",
|
||||
"trading":"HANDELN"
|
||||
},
|
||||
"login":{
|
||||
"login":"Einloggen",
|
||||
@ -150,7 +151,9 @@
|
||||
"next":"Weiter",
|
||||
"create":"Erstellen",
|
||||
"continue":"Fortsetzen",
|
||||
"save":"Speichern"
|
||||
"save":"Speichern",
|
||||
"balance":"Guthaben",
|
||||
"balances":"IHR WALLET-GUTHABEN"
|
||||
},
|
||||
"startminting":{
|
||||
"smchange1":"Prägekonten können nicht abgerufen werden",
|
||||
@ -322,7 +325,8 @@
|
||||
"tchange44":"Automatischer Kaufauftrag erfolgreich hinzugefügt!",
|
||||
"tchange45":"AUTO KAUFEN MIT",
|
||||
"tchange46":"AUTOKAUF",
|
||||
"tchange47":"Verkaufe für diesen Preis"
|
||||
"tchange47":"Verkaufe für diesen Preis",
|
||||
"tchange48":"NICHT GENUG"
|
||||
},
|
||||
"rewardsharepage":{
|
||||
"rchange1":"Belohnungsanteile",
|
||||
|
@ -34,7 +34,8 @@
|
||||
"qchat":"Q-CHAT",
|
||||
"groupmanagement":"GESTIÓN DE GRUPO",
|
||||
"puzzles":"ROMPECABEZAS",
|
||||
"nodemanagement":"GESTIÓN DE NODO"
|
||||
"nodemanagement":"GESTIÓN DE NODO",
|
||||
"trading":"COMERCIO"
|
||||
},
|
||||
"login":{
|
||||
"login":"Iniciar sesión",
|
||||
@ -150,7 +151,9 @@
|
||||
"next":"Siguiente",
|
||||
"create":"Crear",
|
||||
"continue":"Continuar",
|
||||
"save":"Guardar"
|
||||
"save":"Guardar",
|
||||
"balance":"Saldo",
|
||||
"balances":"LOS SALDOS DE TU BILLETERA"
|
||||
},
|
||||
"startminting":{
|
||||
"smchange1":"No se pueden obtener cuentas de acuñación",
|
||||
@ -322,7 +325,8 @@
|
||||
"tchange44":"Orden de compra automática agregada con éxito!",
|
||||
"tchange45":"AUTO COMPRAR CON",
|
||||
"tchange46":"COMPRA AUTOMÁTICA",
|
||||
"tchange47":"Vender por este precio"
|
||||
"tchange47":"Vender por este precio",
|
||||
"tchange48":"NO ES SUFICIENTE"
|
||||
},
|
||||
"rewardsharepage":{
|
||||
"rchange1":"Rewardshares",
|
||||
|
@ -34,7 +34,8 @@
|
||||
"qchat":"Q-CHAT",
|
||||
"groupmanagement":"GESTION DE GROUPES",
|
||||
"puzzles":"PUZZLES",
|
||||
"nodemanagement":"GESTION DE NOEUDS"
|
||||
"nodemanagement":"GESTION DE NOEUDS",
|
||||
"trading":"COMMERCE"
|
||||
},
|
||||
"login":{
|
||||
"login":"Connexion",
|
||||
@ -150,7 +151,9 @@
|
||||
"next":"Suivant",
|
||||
"create":"Créer",
|
||||
"continue":"Continuer",
|
||||
"save":"Sauvegarder"
|
||||
"save":"Sauvegarder",
|
||||
"balance":"Solde",
|
||||
"balances":"VOS SOLDES DE PORTEFEUILLE"
|
||||
},
|
||||
"startminting":{
|
||||
"smchange1":"Impossible de récupérer les comptes de frappe",
|
||||
@ -322,7 +325,8 @@
|
||||
"tchange44":"Commande d'achat automatique ajoutée avec succès !",
|
||||
"tchange45":"ACHAT AUTO AVEC",
|
||||
"tchange46":"ACHAT AUTOMATIQUE",
|
||||
"tchange47":"Vendre à ce prix"
|
||||
"tchange47":"Vendre à ce prix",
|
||||
"tchange48":"PAS ASSEZ"
|
||||
},
|
||||
"rewardsharepage":{
|
||||
"rchange1":"Récompenses",
|
||||
|
@ -35,7 +35,8 @@
|
||||
"qchat":"क्यू-चैट",
|
||||
"groupmanagement":"समूह प्रबंधन",
|
||||
"puzzles":"पहेलि",
|
||||
"nodemanagement":"नोड प्रबंधन"
|
||||
"nodemanagement":"नोड प्रबंधन",
|
||||
"trading":"व्यापार"
|
||||
},
|
||||
"login":{
|
||||
"login":"लॉग इन करें",
|
||||
@ -151,7 +152,9 @@
|
||||
"next":"अगला",
|
||||
"create":"बनाएं",
|
||||
"continue":"जारी रखें",
|
||||
"save":"सहेजें"
|
||||
"save":"सहेजें",
|
||||
"balance":"संतुलन",
|
||||
"balances":"आपका वॉलेट बैलेंस"
|
||||
},
|
||||
"startminting":{
|
||||
"smchange1":"खनन खाते नहीं लाए जा सकते",
|
||||
@ -323,7 +326,8 @@
|
||||
"tchange44":"स्वतः खरीद आदेश सफलतापूर्वक जोड़ा गया!",
|
||||
"tchange45":"ऑटो के साथ खरीदें",
|
||||
"tchange46":"ऑटो खरीदें",
|
||||
"tchange47":"इस कीमत पर बेचें"
|
||||
"tchange47":"इस कीमत पर बेचें",
|
||||
"tchange48":"पर्याप्त नहीं"
|
||||
},
|
||||
"rewardsharepage":{
|
||||
"rchange1":"रिवॉर्डशेयर",
|
||||
|
@ -34,7 +34,8 @@
|
||||
"qchat":"Q-ČAVRLJANJE",
|
||||
"groupmanagement":"UPRAVLJANJE GRUPAMA",
|
||||
"puzzles":"ZAGONETKE",
|
||||
"nodemanagement":"UPRAVLJANJE ČVOROVIMA"
|
||||
"nodemanagement":"UPRAVLJANJE ČVOROVIMA",
|
||||
"trading":"TRGOVANJE"
|
||||
},
|
||||
"login":{
|
||||
"login":"Prijavi se",
|
||||
@ -133,7 +134,8 @@
|
||||
"uiversion":"Verzija upravljačkog sučelja - UI",
|
||||
"coreversion":"Verzija jezgre - Core",
|
||||
"minting":"(Mintanje)",
|
||||
"synchronizing":"Sinkroniziranje"
|
||||
"synchronizing":"Sinkroniziranje",
|
||||
"balance":"Balance"
|
||||
},
|
||||
"walletprofile":{
|
||||
"minterlevel":"Minter Level",
|
||||
@ -150,7 +152,9 @@
|
||||
"next":"Sljedeće",
|
||||
"create":"Stvori",
|
||||
"continue":"Nastavi",
|
||||
"save":"Spremi"
|
||||
"save":"Spremi",
|
||||
"balance":"Kreditna",
|
||||
"balances":"VAŠ NOVČANIK JE NA SALJU"
|
||||
},
|
||||
"startminting":{
|
||||
"smchange1":"Nije moguće dohvatiti račune za kovanje",
|
||||
@ -322,7 +326,8 @@
|
||||
"tchange44":"Uspješno dodana automatska narudžba za kupnju!",
|
||||
"tchange45":"AUTO KUPITE SA",
|
||||
"tchange46":"AUTO OTKUP",
|
||||
"tchange47":"Prodaj za ovu cijenu"
|
||||
"tchange47":"Prodaj za ovu cijenu",
|
||||
"tchange48":"NEDOVOLJNO"
|
||||
},
|
||||
"rewardsharepage":{
|
||||
"rchange1":"Nagradni udio (Rewardshares)",
|
||||
|
@ -34,7 +34,8 @@
|
||||
"qchat":"Q-CHAT",
|
||||
"groupmanagement":"CSOPORTKEZELÉS",
|
||||
"puzzles":"REJTVÉNYEK",
|
||||
"nodemanagement":"CSOMÓPONTKEZELÉS"
|
||||
"nodemanagement":"CSOMÓPONTKEZELÉS",
|
||||
"trading":"KERESKEDÉS"
|
||||
},
|
||||
"login":{
|
||||
"login":"Bejelentkezés",
|
||||
@ -150,7 +151,9 @@
|
||||
"next":"Következő",
|
||||
"create":"Létrehozáshoz",
|
||||
"continue":"Folytatódik/folytatáshoz",
|
||||
"save":"Mentéshez"
|
||||
"save":"Mentéshez",
|
||||
"balance":"Hitel",
|
||||
"balances":"A PÉNZTÁRCSA EGYENLEGEK"
|
||||
},
|
||||
"startminting":{
|
||||
"smchange1":"Nem lehet lekérni a pénzverési számlákat",
|
||||
@ -322,7 +325,8 @@
|
||||
"tchange44":"Az automatikus vásárlási rendelés sikeresen hozzáadva!",
|
||||
"tchange45":"AUTOMATIKUS VÁSÁRLÁS",
|
||||
"tchange46":"AUTOMATIKUS VÁSÁRLÁS",
|
||||
"tchange47":"Eladni ezen az áron"
|
||||
"tchange47":"Eladni ezen az áron",
|
||||
"tchange48":"NEM ELÉG"
|
||||
},
|
||||
"rewardsharepage":{
|
||||
"rchange1":"Jutalommegosztások",
|
||||
|
@ -34,7 +34,8 @@
|
||||
"qchat":"Q-CHAT",
|
||||
"groupmanagement":"GESTIONE DEI GRUPPI",
|
||||
"puzzles":"PUZZLES",
|
||||
"nodemanagement":"GESTIONE DEI NODI"
|
||||
"nodemanagement":"GESTIONE DEI NODI",
|
||||
"trading":"COMMERCIO"
|
||||
},
|
||||
"login":{
|
||||
"login":"Login",
|
||||
@ -150,7 +151,9 @@
|
||||
"next":"Avanti",
|
||||
"create":"Creare",
|
||||
"continue":"Continua",
|
||||
"save":"Salva"
|
||||
"save":"Salva",
|
||||
"balance":"Saldo",
|
||||
"balances":"IL TUO SALDO DEL PORTAFOGLIO"
|
||||
},
|
||||
"startminting":{
|
||||
"smchange1":"Impossibile recuperare i conti di conio",
|
||||
@ -322,7 +325,8 @@
|
||||
"tchange44":"Ordine di acquisto automatico aggiunto con successo!",
|
||||
"tchange45":"ACQUISTA AUTO CON",
|
||||
"tchange46":"ACQUISTO AUTO",
|
||||
"tchange47":"Vendi a questo prezzo"
|
||||
"tchange47":"Vendi a questo prezzo",
|
||||
"tchange48":"NON ABBASTANZA"
|
||||
},
|
||||
"rewardsharepage":{
|
||||
"rchange1":"Quote di ricompensa",
|
||||
|
@ -34,7 +34,8 @@
|
||||
"qchat":"Q-CHAT",
|
||||
"groupmanagement":"그룹 관리",
|
||||
"puzzles":"퍼즐",
|
||||
"nodemanagement":"노드 관리"
|
||||
"nodemanagement":"노드 관리",
|
||||
"trading":"무역"
|
||||
},
|
||||
"login":{
|
||||
"login":"로그인",
|
||||
@ -150,7 +151,9 @@
|
||||
"next":"다음",
|
||||
"create":"생성",
|
||||
"continue":"계속하다",
|
||||
"save":"저장"
|
||||
"save":"저장",
|
||||
"balance":"균형",
|
||||
"balances":"지갑 잔액"
|
||||
},
|
||||
"startminting":{
|
||||
"smchange1":"발행 계정을 가져올 수 없습니다",
|
||||
@ -322,7 +325,8 @@
|
||||
"tchange44":"자동 구매 주문을 성공적으로 추가했습니다!",
|
||||
"tchange45":"자동 구매",
|
||||
"tchange46":"자동 구매",
|
||||
"tchange47":"이 가격에 팔아요"
|
||||
"tchange47":"이 가격에 팔아요",
|
||||
"tchange48":"부족한"
|
||||
},
|
||||
"rewardsharepage":{
|
||||
"rchange1":"보상 공유",
|
||||
|
@ -34,7 +34,8 @@
|
||||
"qchat":"Q-CHAT",
|
||||
"groupmanagement":"GRUPPEADMINISTRASJON",
|
||||
"puzzles":"PUZZLES",
|
||||
"nodemanagement":"NODEADMINISTRASJON"
|
||||
"nodemanagement":"NODEADMINISTRASJON",
|
||||
"trading":"HANDEL"
|
||||
},
|
||||
"login":{
|
||||
"login":"Logg på",
|
||||
@ -150,7 +151,9 @@
|
||||
"next":"Neste",
|
||||
"create":"Opprett",
|
||||
"continue":"Fortsett",
|
||||
"save":"Lagre"
|
||||
"save":"Lagre",
|
||||
"balance":"Saldo",
|
||||
"balances":"DIN WALLET-SALDO"
|
||||
},
|
||||
"startminting":{
|
||||
"smchange1":"Kan ikke hente myntingkontoer",
|
||||
@ -322,7 +325,8 @@
|
||||
"tchange44":"Autokjøpsordre er lagt til!",
|
||||
"tchange45":"AUTOKJØP MED",
|
||||
"tchange46":"AUTOKJØP",
|
||||
"tchange47":"Selges for denne prisen"
|
||||
"tchange47":"Selges for denne prisen",
|
||||
"tchange48":"IKKE NOK"
|
||||
},
|
||||
"rewardsharepage":{
|
||||
"rchange1":"Belønningsdel",
|
||||
|
@ -34,7 +34,8 @@
|
||||
"qchat":"Q-CHAT",
|
||||
"groupmanagement":"ZARZĄDZANIE GRUPAMI",
|
||||
"puzzles":"PUZZLE",
|
||||
"nodemanagement":"ZARZĄDZANIE WĘZŁAMI"
|
||||
"nodemanagement":"ZARZĄDZANIE WĘZŁAMI",
|
||||
"trading":"HANDLOWY"
|
||||
},
|
||||
"login":{
|
||||
"login":"Zaloguj się",
|
||||
@ -150,7 +151,9 @@
|
||||
"next":"Następny",
|
||||
"create":"Utwórz",
|
||||
"continue":"Kontynuuj",
|
||||
"save":"Zapisz"
|
||||
"save":"Zapisz",
|
||||
"balance":"Saldo",
|
||||
"balances":"SALDO TWOJEGO PORTFELA"
|
||||
},
|
||||
"startminting":{
|
||||
"smchange1":"Nie można pobrać kont menniczych",
|
||||
@ -322,7 +325,8 @@
|
||||
"tchange44":"Pomyślnie dodano automatyczne zamówienie zakupu!",
|
||||
"tchange45":"AUTO KUP Z",
|
||||
"tchange46":"AUTO KUP",
|
||||
"tchange47":"Sprzedaj za tę cenę"
|
||||
"tchange47":"Sprzedaj za tę cenę",
|
||||
"tchange48":"NIEWYSTARCZAJĄCO"
|
||||
},
|
||||
"rewardsharepage":{
|
||||
"rchange1":"Podział nagród",
|
||||
|
@ -34,7 +34,8 @@
|
||||
"qchat":"Q-CHAT",
|
||||
"groupmanagement":"GESTÃO DE GRUPOS",
|
||||
"puzzles":"ENIGMAS",
|
||||
"nodemanagement":"GERENCIAMENTO DO NÓDULO"
|
||||
"nodemanagement":"GERENCIAMENTO DO NÓDULO",
|
||||
"trading":"NEGOCIAÇÃO"
|
||||
},
|
||||
"login":{
|
||||
"login":"Login",
|
||||
@ -150,7 +151,9 @@
|
||||
"next":"Próximo",
|
||||
"create":"Criar",
|
||||
"continue":"Continuar",
|
||||
"save":"Salvar"
|
||||
"save":"Salvar",
|
||||
"balance":"Saldo",
|
||||
"balances":"SEUS SALDOS DE CARTEIRA"
|
||||
},
|
||||
"startminting":{
|
||||
"smchange1":"Não é possível buscar contas de cunhagem",
|
||||
@ -322,7 +325,8 @@
|
||||
"tchange44":"Pedido de compra automática adicionado com sucesso!",
|
||||
"tchange45":"COMPRA AUTOMÁTICA COM",
|
||||
"tchange46":"COMPRA AUTOMÁTICA",
|
||||
"tchange47":"Vendo por este preço"
|
||||
"tchange47":"Vendo por este preço",
|
||||
"tchange48":"INSUFICIENTE"
|
||||
},
|
||||
"rewardsharepage":{
|
||||
"rchange1":"Ações de recompensa",
|
||||
|
@ -34,7 +34,8 @@
|
||||
"qchat":"Q-CHAT",
|
||||
"groupmanagement":"GESTIONARE GRUP",
|
||||
"puzzles":"PUZZLE-URI",
|
||||
"nodemanagement":"GESTIONARE NOD"
|
||||
"nodemanagement":"GESTIONARE NOD",
|
||||
"trading":"COMERCIAL"
|
||||
},
|
||||
"login":{
|
||||
"login":"Login",
|
||||
@ -150,7 +151,9 @@
|
||||
"next":"Inainte",
|
||||
"create":"Creaza",
|
||||
"continue":"Continua",
|
||||
"save":"Salveza"
|
||||
"save":"Salveza",
|
||||
"balance":"Credit",
|
||||
"balances":"SOLDELE PORTOTELULUI DVS"
|
||||
},
|
||||
"startminting":{
|
||||
"smchange1":"Nu se pot prelua conturile de batere",
|
||||
@ -322,7 +325,8 @@
|
||||
"tchange44":"Comanda de cumparare automata a fost adaugata cu succes!",
|
||||
"tchange45":"CUMPARA AUTOMATA CU",
|
||||
"tchange46":"CUMPARARE AUTOMATA",
|
||||
"tchange47":"Vinde la acest pret"
|
||||
"tchange47":"Vinde la acest pret",
|
||||
"tchange48":"INSUFICIENT"
|
||||
},
|
||||
"rewardsharepage":{
|
||||
"rchange1":"Cote de recompensa",
|
||||
|
@ -34,7 +34,8 @@
|
||||
"qchat":"Q-ĆASKANJE",
|
||||
"groupmanagement":"MENADŽMENT GRUPA",
|
||||
"puzzles":"SLAGALICE",
|
||||
"nodemanagement":"MENADŽMENT ČVORIŠTA"
|
||||
"nodemanagement":"MENADŽMENT ČVORIŠTA",
|
||||
"trading":"TRADING"
|
||||
},
|
||||
"login":{
|
||||
"login":"Prijava",
|
||||
@ -150,7 +151,9 @@
|
||||
"next":"Dalje",
|
||||
"create":"Napravite",
|
||||
"continue":"Nastavite",
|
||||
"save":"Sačuvajte"
|
||||
"save":"Sačuvajte",
|
||||
"balance":"Kredit",
|
||||
"balances":"VAŠI STANJE U NOVČANIKU"
|
||||
},
|
||||
"startminting":{
|
||||
"smchange1":"Nije moguće preuzeti naloge za kovanje",
|
||||
@ -322,7 +325,8 @@
|
||||
"tchange44":"Narudžbina za automatsku kupovinu je uspešno dodata!",
|
||||
"tchange45":"AUTO KUPI SA",
|
||||
"tchange46":"AUTO BUI",
|
||||
"tchange47":"Prodaj za ovu cenu"
|
||||
"tchange47":"Prodaj za ovu cenu",
|
||||
"tchange48":"NEDOVOLJNO"
|
||||
},
|
||||
"rewardsharepage":{
|
||||
"rchange1":"Udeo nagrade",
|
||||
|
@ -34,7 +34,8 @@
|
||||
"qchat":"Q-ЧАТ",
|
||||
"groupmanagement":"УПРАВЛЕНИЕ ГРУППАМИ",
|
||||
"puzzles":"ГОЛОВОЛОМКИ",
|
||||
"nodemanagement":"УПРАВЛЕНИЕ УЗЛАМИ"
|
||||
"nodemanagement":"УПРАВЛЕНИЕ УЗЛАМИ",
|
||||
"trading":"ТОРГОВЛЯ"
|
||||
},
|
||||
"login":{
|
||||
"login":"Войти",
|
||||
@ -150,7 +151,9 @@
|
||||
"next":"Следующий",
|
||||
"create":"Создать",
|
||||
"continue":"Продолжить",
|
||||
"save":"Сохранить"
|
||||
"save":"Сохранить",
|
||||
"balance":"кредит",
|
||||
"balances":"БАЛАНС ВАШЕГО КОШЕЛЬКА"
|
||||
},
|
||||
"startminting":{
|
||||
"smchange1":"Не удается получить учетные записи минтинга",
|
||||
@ -322,7 +325,8 @@
|
||||
"tchange44":"Заказ на автоматическую покупку успешно добавлен!",
|
||||
"tchange45":"АВТО КУПИТЬ С",
|
||||
"tchange46":"АВТО КУПИТЬ",
|
||||
"tchange47":"Продать по этой цене"
|
||||
"tchange47":"Продать по этой цене",
|
||||
"tchange48":"НЕДОСТАТОЧНО"
|
||||
},
|
||||
"rewardsharepage":{
|
||||
"rchange1":"Вознаграждения",
|
||||
|
@ -34,7 +34,8 @@
|
||||
"qchat":"Q-CHAT",
|
||||
"groupmanagement":"GROUP MANAGEMENT",
|
||||
"puzzles":"PUZZLES",
|
||||
"nodemanagement":"NODE MANAGEMENT"
|
||||
"nodemanagement":"NODE MANAGEMENT",
|
||||
"trading":"TRADING"
|
||||
},
|
||||
"login":{
|
||||
"login":"Login",
|
||||
@ -150,7 +151,9 @@
|
||||
"next":"Next",
|
||||
"create":"Create",
|
||||
"continue":"Continue",
|
||||
"save":"Save"
|
||||
"save":"Save",
|
||||
"balance":"Balance",
|
||||
"balances":"YOUR WALLET BALANCES"
|
||||
},
|
||||
"startminting":{
|
||||
"smchange1":"Cannot fetch minting accounts",
|
||||
@ -322,7 +325,8 @@
|
||||
"tchange44":"Successfully added auto buy order!",
|
||||
"tchange45":"AUTO BUY WITH",
|
||||
"tchange46":"AUTO BUY",
|
||||
"tchange47":"Sell for this price"
|
||||
"tchange47":"Sell for this price",
|
||||
"tchange48":"NOT ENOUGH"
|
||||
},
|
||||
"rewardsharepage":{
|
||||
"rchange1":"Rewardshares",
|
||||
|
@ -34,7 +34,8 @@
|
||||
"qchat":"Q-CHAT",
|
||||
"groupmanagement":"群组管理",
|
||||
"puzzles":"益智游戏",
|
||||
"nodemanagement":"节点管理"
|
||||
"nodemanagement":"节点管理",
|
||||
"trading":"贸易"
|
||||
},
|
||||
"login":{
|
||||
"login":"登入",
|
||||
@ -150,7 +151,9 @@
|
||||
"next":"下一步",
|
||||
"create":"新建",
|
||||
"continue":"继续",
|
||||
"save":"保存"
|
||||
"save":"保存",
|
||||
"balance":"信用",
|
||||
"balances":"您的钱包余额"
|
||||
},
|
||||
"startminting":{
|
||||
"smchange1":"无法获取铸币帐户",
|
||||
@ -322,7 +325,8 @@
|
||||
"tchange44":"成功添加自动买单!",
|
||||
"tchange45":"自动购买",
|
||||
"tchange46":"自动购买",
|
||||
"tchange47":"以这个价格出售"
|
||||
"tchange47":"以这个价格出售",
|
||||
"tchange48":"不够"
|
||||
},
|
||||
"rewardsharepage":{
|
||||
"rchange1":"铸币密钥",
|
||||
|
@ -34,7 +34,8 @@
|
||||
"qchat":"Q-CHAT",
|
||||
"groupmanagement":"群組管理",
|
||||
"puzzles":"益智遊戲",
|
||||
"nodemanagement":"節點管理"
|
||||
"nodemanagement":"節點管理",
|
||||
"trading":"貿易"
|
||||
},
|
||||
"login":{
|
||||
"login":"登入",
|
||||
@ -150,7 +151,9 @@
|
||||
"next":"下一步",
|
||||
"create":"創建",
|
||||
"continue":"繼續",
|
||||
"save":"保存"
|
||||
"save":"保存",
|
||||
"balance":"信用",
|
||||
"balances":"您的錢包餘額"
|
||||
},
|
||||
"startminting":{
|
||||
"smchange1":"無法獲取鑄幣帳戶",
|
||||
@ -322,7 +325,8 @@
|
||||
"tchange44":"成功添加自動買單!",
|
||||
"tchange45":"自動購買",
|
||||
"tchange46":"自動購買",
|
||||
"tchange47":"以這個價格出售"
|
||||
"tchange47":"以這個價格出售",
|
||||
"tchange48":"不夠"
|
||||
},
|
||||
"rewardsharepage":{
|
||||
"rchange1":"鑄幣密鑰",
|
||||
|
@ -58,16 +58,16 @@
|
||||
"@rollup/plugin-commonjs": "23.0.2",
|
||||
"@rollup/plugin-node-resolve": "15.0.1",
|
||||
"@rollup/plugin-replace": "5.0.1",
|
||||
"@vaadin/grid": "23.2.8",
|
||||
"@vaadin/icons": "23.2.8",
|
||||
"@vaadin/password-field": "23.2.8",
|
||||
"@vaadin/grid": "23.2.9",
|
||||
"@vaadin/icons": "23.2.9",
|
||||
"@vaadin/password-field": "23.2.9",
|
||||
"asmcrypto.js": "2.3.2",
|
||||
"bcryptjs": "2.4.3",
|
||||
"epml": "0.3.3",
|
||||
"file-saver": "2.0.5",
|
||||
"lit": "2.4.1",
|
||||
"lit-translate": "2.0.1",
|
||||
"postcss": "8.4.18",
|
||||
"postcss": "8.4.19",
|
||||
"pwa-helpers": "0.9.1",
|
||||
"random-sentence-generator": "0.0.8",
|
||||
"redux": "4.2.0",
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -12,7 +12,7 @@ import './login-view/login-view.js'
|
||||
import './app-view.js'
|
||||
|
||||
import copyTextMenu from '../functional-components/copy-text-menu.js'
|
||||
import framePasteMenu from '../functional-components/frame-paste-menu.js';
|
||||
import framePasteMenu from '../functional-components/frame-paste-menu.js'
|
||||
|
||||
installRouter((location) => store.dispatch(doNavigate(location)))
|
||||
|
||||
|
@ -162,22 +162,13 @@ class SidenavMenu extends connect(store)(LitElement) {
|
||||
>
|
||||
<vaadin-icon icon="vaadin:wallet" slot="icon"></vaadin-icon>
|
||||
</side-menu-item>
|
||||
<side-menu-item
|
||||
label="${translate('sidemenu.tradeportal')}"
|
||||
href="/app/trade-portal"
|
||||
>
|
||||
<vaadin-icon icon="vaadin:bullets" slot="icon"></vaadin-icon>
|
||||
</side-menu-item>
|
||||
<side-menu-item label="${translate('tradepage.tchange46')}" expanded>
|
||||
<vaadin-icon icon="vaadin:calc-book" slot="icon"></vaadin-icon>
|
||||
<side-menu-item label="${translate('tradepage.tchange45')} BTC" href="/app/trade-bot-btc">
|
||||
<vaadin-icon icon="vaadin:start-cog" slot="icon"></vaadin-icon>
|
||||
<side-menu-item label="${translate('sidemenu.trading')}" expanded>
|
||||
<vaadin-icon icon="vaadin:cash" slot="icon"></vaadin-icon>
|
||||
<side-menu-item label="${translate('sidemenu.tradeportal')}" href="/app/trade-portal">
|
||||
<vaadin-icon icon="vaadin:bullets" slot="icon"></vaadin-icon>
|
||||
</side-menu-item>
|
||||
<side-menu-item label="${translate('tradepage.tchange45')} LTC" href="/app/trade-bot-ltc">
|
||||
<vaadin-icon icon="vaadin:start-cog" slot="icon"></vaadin-icon>
|
||||
</side-menu-item>
|
||||
<side-menu-item label="${translate('tradepage.tchange45')} DOGE" href="/app/trade-bot-doge">
|
||||
<vaadin-icon icon="vaadin:start-cog" slot="icon"></vaadin-icon>
|
||||
<side-menu-item label="${translate('tradepage.tchange46')}" href="/app/trade-bot-portal">
|
||||
<vaadin-icon icon="vaadin:calc-book" slot="icon"></vaadin-icon>
|
||||
</side-menu-item>
|
||||
</side-menu-item>
|
||||
<side-menu-item
|
||||
|
7
qortal-ui-core/src/tradebot/addTradeBotRoutes.js
Normal file
7
qortal-ui-core/src/tradebot/addTradeBotRoutes.js
Normal file
@ -0,0 +1,7 @@
|
||||
import { routes } from './trade-bot-routes.js'
|
||||
|
||||
export const addTradeBotRoutes = epmlInstance => {
|
||||
Object.entries(routes).forEach(([route, handler]) => {
|
||||
epmlInstance.route(route, handler)
|
||||
})
|
||||
}
|
253
qortal-ui-core/src/tradebot/trade-bot-routes.js
Normal file
253
qortal-ui-core/src/tradebot/trade-bot-routes.js
Normal file
@ -0,0 +1,253 @@
|
||||
import { store } from '../store.js'
|
||||
import * as api from 'qortal-ui-crypto'
|
||||
import snackbar from '../functional-components/snackbar.js'
|
||||
|
||||
const createTransaction = api.createTransaction
|
||||
const processTransaction = api.processTransaction
|
||||
const tradeBotCreateRequest = api.tradeBotCreateRequest
|
||||
const tradeBotRespondRequest = api.tradeBotRespondRequest
|
||||
const signTradeBotTxn = api.signTradeBotTxn
|
||||
const deleteTradeOffer = api.deleteTradeOffer
|
||||
const cancelAllOffers = api.cancelAllOffers
|
||||
const sendBtc = api.sendBtc
|
||||
const sendLtc = api.sendLtc
|
||||
const sendDoge = api.sendDoge
|
||||
const sendDgb = api.sendDgb
|
||||
const sendRvn = api.sendRvn
|
||||
const sendArrr = api.sendArrr
|
||||
|
||||
export const routes = {
|
||||
apiCall: async (req) => {
|
||||
const url = req.data.url
|
||||
delete req.data.url
|
||||
return api.request(url, req.data)
|
||||
},
|
||||
|
||||
transaction: async (req) => {
|
||||
let response
|
||||
try {
|
||||
const tx = createTransaction(
|
||||
req.data.type,
|
||||
store.getState().app.wallet._addresses[req.data.nonce].keyPair,
|
||||
req.data.params
|
||||
)
|
||||
|
||||
if (!req.disableModal && !req.data.disableModal) {
|
||||
await requestTransactionDialog.requestTransaction(tx)
|
||||
}
|
||||
|
||||
const res = await processTransaction(tx.signedBytes)
|
||||
let extraData = {}
|
||||
if(req.data.type === 38 && tx && tx._rewardShareKeyPair && tx._rewardShareKeyPair.secretKey){
|
||||
extraData.rewardSharePrivateKey = Base58.encode(tx._rewardShareKeyPair.secretKey)
|
||||
}
|
||||
|
||||
|
||||
response = {
|
||||
success: true,
|
||||
data: res,
|
||||
extraData
|
||||
}
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
console.error(e.message)
|
||||
response = {
|
||||
success: false,
|
||||
message: e.message,
|
||||
}
|
||||
}
|
||||
return response
|
||||
},
|
||||
|
||||
standaloneTransaction: async (req) => {
|
||||
const rebuildUint8Array = (obj) => {
|
||||
let _array = new Uint8Array(Object.keys(obj).length)
|
||||
for (let i = 0; i < _array.byteLength; ++i) {
|
||||
_array.set([obj[i]], i)
|
||||
}
|
||||
return _array
|
||||
}
|
||||
|
||||
let response
|
||||
try {
|
||||
let _keyPair = {}
|
||||
for (let _keyName in req.data.keyPair) {
|
||||
_keyPair[_keyName] = rebuildUint8Array(
|
||||
req.data.keyPair[_keyName]
|
||||
)
|
||||
}
|
||||
const tx = createTransaction(
|
||||
req.data.type,
|
||||
_keyPair,
|
||||
req.data.params
|
||||
)
|
||||
const res = await processTransaction(tx.signedBytes)
|
||||
response = {
|
||||
success: true,
|
||||
data: res,
|
||||
}
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
console.error(e.message)
|
||||
response = {
|
||||
success: false,
|
||||
message: e.message,
|
||||
}
|
||||
}
|
||||
return response
|
||||
},
|
||||
|
||||
showSnackBar: async (req) => {
|
||||
snackbar.add({
|
||||
labelText: req.data,
|
||||
dismiss: true,
|
||||
})
|
||||
},
|
||||
|
||||
tradeBotCreateRequest: async (req) => {
|
||||
let response
|
||||
try {
|
||||
const unsignedTxn = await tradeBotCreateRequest(req.data)
|
||||
|
||||
const signedTxnBytes = await signTradeBotTxn(
|
||||
unsignedTxn,
|
||||
store.getState().app.selectedAddress.keyPair
|
||||
)
|
||||
|
||||
const res = await processTransaction(signedTxnBytes)
|
||||
response = res
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
console.error(e.message)
|
||||
response = e.message
|
||||
}
|
||||
return response
|
||||
},
|
||||
|
||||
tradeBotRespondRequest: async (req) => {
|
||||
let response
|
||||
try {
|
||||
const res = await tradeBotRespondRequest(req.data)
|
||||
response = res
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
console.error(e.message)
|
||||
response = e.message
|
||||
}
|
||||
return response
|
||||
},
|
||||
|
||||
deleteTradeOffer: async (req) => {
|
||||
let response
|
||||
try {
|
||||
const unsignedTxn = await deleteTradeOffer(req.data)
|
||||
|
||||
const signedTxnBytes = await signTradeBotTxn(
|
||||
unsignedTxn,
|
||||
store.getState().app.selectedAddress.keyPair
|
||||
)
|
||||
|
||||
const res = await processTransaction(signedTxnBytes)
|
||||
|
||||
response = res
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
console.error(e.message)
|
||||
response = e.message
|
||||
}
|
||||
return response
|
||||
},
|
||||
|
||||
cancelAllOffers: async (req) => {
|
||||
let response
|
||||
try {
|
||||
const res = await cancelAllOffers(
|
||||
store.getState().app.selectedAddress
|
||||
)
|
||||
response = res
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
console.error(e.message)
|
||||
response = e.message
|
||||
}
|
||||
return response
|
||||
},
|
||||
|
||||
sendBtc: async (req) => {
|
||||
let response
|
||||
try {
|
||||
const res = await sendBtc(req.data)
|
||||
response = res
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
console.error(e.message)
|
||||
response = e.message
|
||||
}
|
||||
return response
|
||||
},
|
||||
|
||||
sendLtc: async (req) => {
|
||||
let response
|
||||
try {
|
||||
const res = await sendLtc(req.data)
|
||||
response = res
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
console.error(e.message)
|
||||
response = e.message
|
||||
}
|
||||
return response
|
||||
},
|
||||
|
||||
sendDoge: async (req) => {
|
||||
let response
|
||||
try {
|
||||
const res = await sendDoge(req.data)
|
||||
response = res
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
console.error(e.message)
|
||||
response = e.message
|
||||
}
|
||||
return response
|
||||
},
|
||||
|
||||
sendDgb: async (req) => {
|
||||
let response
|
||||
try {
|
||||
const res = await sendDgb(req.data)
|
||||
response = res
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
console.error(e.message)
|
||||
response = e.message
|
||||
}
|
||||
return response
|
||||
},
|
||||
|
||||
sendRvn: async (req) => {
|
||||
let response
|
||||
try {
|
||||
const res = await sendRvn(req.data)
|
||||
response = res
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
console.error(e.message)
|
||||
response = e.message
|
||||
}
|
||||
return response
|
||||
},
|
||||
|
||||
sendArrr: async (req) => {
|
||||
let response
|
||||
try {
|
||||
const res = await sendArrr(req.data)
|
||||
response = res
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
console.error(e.message)
|
||||
response = e.message
|
||||
}
|
||||
return response
|
||||
},
|
||||
}
|
@ -70,16 +70,8 @@ const generateForPlugins = () => {
|
||||
out: 'plugins/core/trade-portal/trade-portal.js',
|
||||
},
|
||||
{
|
||||
in: 'plugins/core/trade-bot/trade-bot-btc/trade-bot-btc.src.js',
|
||||
out: 'plugins/core/trade-bot/trade-bot-btc/trade-bot-btc.js',
|
||||
},
|
||||
{
|
||||
in: 'plugins/core/trade-bot/trade-bot-ltc/trade-bot-ltc.src.js',
|
||||
out: 'plugins/core/trade-bot/trade-bot-ltc/trade-bot-ltc.js',
|
||||
},
|
||||
{
|
||||
in: 'plugins/core/trade-bot/trade-bot-doge/trade-bot-doge.src.js',
|
||||
out: 'plugins/core/trade-bot/trade-bot-doge/trade-bot-doge.js',
|
||||
in: 'plugins/core/trade-bot/trade-bot-portal.src.js',
|
||||
out: 'plugins/core/trade-bot/trade-bot-portal.js',
|
||||
},
|
||||
{
|
||||
in: 'plugins/core/wallet/wallet-app.src.js',
|
||||
|
@ -46,9 +46,9 @@
|
||||
"@rollup/plugin-commonjs": "23.0.2",
|
||||
"@rollup/plugin-node-resolve": "15.0.1",
|
||||
"@rollup/plugin-replace": "5.0.1",
|
||||
"@vaadin/button": "23.2.8",
|
||||
"@vaadin/grid": "23.2.8",
|
||||
"@vaadin/icons": "23.2.8",
|
||||
"@vaadin/button": "23.2.9",
|
||||
"@vaadin/grid": "23.2.9",
|
||||
"@vaadin/icons": "23.2.9",
|
||||
"epml": "0.3.3",
|
||||
"file-saver": "2.0.5",
|
||||
"html-escaper": "3.0.3",
|
||||
|
@ -48,8 +48,8 @@
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<trade-bot></trade-bot>
|
||||
<script src="trade-bot.js"></script>
|
||||
<trade-bot-portal></trade-bot-portal>
|
||||
<script src="trade-bot-portal.js"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
@ -1,55 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<link rel="stylesheet" href="/font/material-icons.css">
|
||||
<link rel="stylesheet" href="/font/switch-theme.css">
|
||||
<script>
|
||||
const checkBack = localStorage.getItem('qortalTheme')
|
||||
if (checkBack === 'dark') {
|
||||
newtheme = 'dark';
|
||||
} else {
|
||||
newtheme = 'light';
|
||||
}
|
||||
document.querySelector('html').setAttribute('theme', newtheme);
|
||||
</script>
|
||||
<style>
|
||||
html {
|
||||
--scrollbarBG: #a1a1a1;
|
||||
--thumbBG: #6a6c75;
|
||||
}
|
||||
|
||||
*::-webkit-scrollbar {
|
||||
width: 11px;
|
||||
}
|
||||
|
||||
* {
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: var(--thumbBG) var(--scrollbarBG);
|
||||
}
|
||||
|
||||
*::-webkit-scrollbar-track {
|
||||
background: var(--scrollbarBG);
|
||||
}
|
||||
|
||||
*::-webkit-scrollbar-thumb {
|
||||
background-color: var(--thumbBG);
|
||||
border-radius: 6px;
|
||||
border: 3px solid var(--scrollbarBG);
|
||||
}
|
||||
|
||||
html,
|
||||
body {
|
||||
margin: 0;
|
||||
font-family: "Roboto", sans-serif;
|
||||
background: var(--plugback);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<trade-bot-btc></trade-bot-btc>
|
||||
<script src="trade-bot-btc.js"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
File diff suppressed because it is too large
Load Diff
@ -1,55 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<link rel="stylesheet" href="/font/material-icons.css">
|
||||
<link rel="stylesheet" href="/font/switch-theme.css">
|
||||
<script>
|
||||
const checkBack = localStorage.getItem('qortalTheme')
|
||||
if (checkBack === 'dark') {
|
||||
newtheme = 'dark';
|
||||
} else {
|
||||
newtheme = 'light';
|
||||
}
|
||||
document.querySelector('html').setAttribute('theme', newtheme);
|
||||
</script>
|
||||
<style>
|
||||
html {
|
||||
--scrollbarBG: #a1a1a1;
|
||||
--thumbBG: #6a6c75;
|
||||
}
|
||||
|
||||
*::-webkit-scrollbar {
|
||||
width: 11px;
|
||||
}
|
||||
|
||||
* {
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: var(--thumbBG) var(--scrollbarBG);
|
||||
}
|
||||
|
||||
*::-webkit-scrollbar-track {
|
||||
background: var(--scrollbarBG);
|
||||
}
|
||||
|
||||
*::-webkit-scrollbar-thumb {
|
||||
background-color: var(--thumbBG);
|
||||
border-radius: 6px;
|
||||
border: 3px solid var(--scrollbarBG);
|
||||
}
|
||||
|
||||
html,
|
||||
body {
|
||||
margin: 0;
|
||||
font-family: "Roboto", sans-serif;
|
||||
background: var(--plugback);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<trade-bot-doge></trade-bot-doge>
|
||||
<script src="trade-bot-doge.js"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
File diff suppressed because it is too large
Load Diff
@ -1,55 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<link rel="stylesheet" href="/font/material-icons.css">
|
||||
<link rel="stylesheet" href="/font/switch-theme.css">
|
||||
<script>
|
||||
const checkBack = localStorage.getItem('qortalTheme')
|
||||
if (checkBack === 'dark') {
|
||||
newtheme = 'dark';
|
||||
} else {
|
||||
newtheme = 'light';
|
||||
}
|
||||
document.querySelector('html').setAttribute('theme', newtheme);
|
||||
</script>
|
||||
<style>
|
||||
html {
|
||||
--scrollbarBG: #a1a1a1;
|
||||
--thumbBG: #6a6c75;
|
||||
}
|
||||
|
||||
*::-webkit-scrollbar {
|
||||
width: 11px;
|
||||
}
|
||||
|
||||
* {
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: var(--thumbBG) var(--scrollbarBG);
|
||||
}
|
||||
|
||||
*::-webkit-scrollbar-track {
|
||||
background: var(--scrollbarBG);
|
||||
}
|
||||
|
||||
*::-webkit-scrollbar-thumb {
|
||||
background-color: var(--thumbBG);
|
||||
border-radius: 6px;
|
||||
border: 3px solid var(--scrollbarBG);
|
||||
}
|
||||
|
||||
html,
|
||||
body {
|
||||
margin: 0;
|
||||
font-family: "Roboto", sans-serif;
|
||||
background: var(--plugback);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<trade-bot-ltc></trade-bot-ltc>
|
||||
<script src="trade-bot-ltc.js"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
File diff suppressed because it is too large
Load Diff
3518
qortal-ui-plugins/plugins/core/trade-bot/trade-bot-portal.src.js
Normal file
3518
qortal-ui-plugins/plugins/core/trade-bot/trade-bot-portal.src.js
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user