+ beautifier
* version info
This commit is contained in:
404
renderer/send.js
404
renderer/send.js
@@ -1,244 +1,210 @@
|
||||
// In renderer process (web page).
|
||||
const {ipcRenderer} = require('electron');
|
||||
const {ipcRenderer} = require("electron");
|
||||
|
||||
class SendTransaction {
|
||||
constructor() {}
|
||||
constructor() {}
|
||||
|
||||
renderSendState() {
|
||||
EthoBlockchain.getAccountsData(
|
||||
function(error) {
|
||||
EthoMainGUI.showGeneralError(error);
|
||||
},
|
||||
function(data) {
|
||||
EthoMainGUI.renderTemplate("send.html", data);
|
||||
$(document).trigger("render_send");
|
||||
}
|
||||
);
|
||||
|
||||
renderSendState() {
|
||||
EthoBlockchain.getAccountsData(function (error) {
|
||||
EthoMainGUI.showGeneralError(error);
|
||||
}, function (data) {
|
||||
EthoMainGUI.renderTemplate("send.html", data);
|
||||
$(document).trigger("render_send");
|
||||
});
|
||||
}
|
||||
|
||||
validateSendForm() {
|
||||
if (EthoMainGUI.getAppState() == "send") {
|
||||
if (!$("#sendFromAddress").val()) {
|
||||
EthoMainGUI.showGeneralError("Sender address must be specified!");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!EthoBlockchain.isAddress($("#sendFromAddress").val())) {
|
||||
EthoMainGUI.showGeneralError("Sender address must be a valid address!");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!$("#sendToAddress").val()) {
|
||||
EthoMainGUI.showGeneralError("Recipient address must be specified!");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!EthoBlockchain.isAddress($("#sendToAddress").val())) {
|
||||
EthoMainGUI.showGeneralError("Recipient address must be a valid address!");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (Number($("#sendAmmount").val()) <= 0) {
|
||||
EthoMainGUI.showGeneralError("Send ammount must be greater then zero!");
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
validateSendForm() {
|
||||
if (EthoMainGUI.getAppState() == "send") {
|
||||
if (!$("#sendFromAddress").val()) {
|
||||
EthoMainGUI.showGeneralError("Sender address must be specified!");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!EthoBlockchain.isAddress($("#sendFromAddress").val())) {
|
||||
EthoMainGUI.showGeneralError("Sender address must be a valid address!");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!$("#sendToAddress").val()) {
|
||||
EthoMainGUI.showGeneralError("Recipient address must be specified!");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!EthoBlockchain.isAddress($("#sendToAddress").val())) {
|
||||
EthoMainGUI.showGeneralError("Recipient address must be a valid address!");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (Number($("#sendAmmount").val()) <= 0) {
|
||||
EthoMainGUI.showGeneralError("Send ammount must be greater then zero!");
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
resetSendForm() {
|
||||
if (EthoMainGUI.getAppState() == "send") {
|
||||
$("#sendToAddressName").html("");
|
||||
$("#sendToAddress").val("");
|
||||
$("#sendAmmount").val(0);
|
||||
}
|
||||
resetSendForm() {
|
||||
if (EthoMainGUI.getAppState() == "send") {
|
||||
$("#sendToAddressName").html("");
|
||||
$("#sendToAddress").val("");
|
||||
$("#sendAmmount").val(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$(document).on("render_send", function() {
|
||||
$('select').formSelect( {classes: "fromAddressSelect"});
|
||||
|
||||
$("#sendFromAddress").on("change", function() {
|
||||
var optionText = $(this).find("option:selected").text();
|
||||
var addrName = optionText.substr(0, optionText.indexOf('-'));
|
||||
var addrValue = optionText.substr(optionText.indexOf("-") + 1);
|
||||
$(".fromAddressSelect input").val(addrValue.trim());
|
||||
$("#sendFromAddressName").html(addrName.trim());
|
||||
$(document).on("render_send", function () {
|
||||
$("select").formSelect({classes: "fromAddressSelect"});
|
||||
|
||||
web3Local.eth.getBalance(this.value, function(error, balance) {
|
||||
$("#sendMaxAmmount").html(parseFloat(web3Local.utils.fromWei(balance, 'ether')));
|
||||
});
|
||||
});
|
||||
$("#sendFromAddress").on("change", function () {
|
||||
var optionText = $(this).find("option:selected").text();
|
||||
var addrName = optionText.substr(0, optionText.indexOf("-"));
|
||||
var addrValue = optionText.substr(optionText.indexOf("-") + 1);
|
||||
$(".fromAddressSelect input").val(addrValue.trim());
|
||||
$("#sendFromAddressName").html(addrName.trim());
|
||||
|
||||
$("#btnSendAll").off('click').on('click', function() {
|
||||
$("#sendAmmount").focus();
|
||||
$("#sendAmmount").val($("#sendMaxAmmount").html());
|
||||
web3Local.eth.getBalance(this.value, function (error, balance) {
|
||||
$("#sendMaxAmmount").html(parseFloat(web3Local.utils.fromWei(balance, "ether")));
|
||||
});
|
||||
|
||||
$("#sendToAddress").off('input').on('input', function() {
|
||||
var addressName = null;
|
||||
$("#sendToAddressName").html("");
|
||||
addressName = EthoAddressBook.getAddressName($("#sendToAddress").val());
|
||||
});
|
||||
|
||||
if (!addressName) {
|
||||
var wallets = EthoDatatabse.getWallets();
|
||||
addressName = wallets.names[$("#sendToAddress").val()];
|
||||
$("#btnSendAll").off("click").on("click", function () {
|
||||
$("#sendAmmount").focus();
|
||||
$("#sendAmmount").val($("#sendMaxAmmount").html());
|
||||
});
|
||||
|
||||
$("#sendToAddress").off("input").on("input", function () {
|
||||
var addressName = null;
|
||||
$("#sendToAddressName").html("");
|
||||
addressName = EthoAddressBook.getAddressName($("#sendToAddress").val());
|
||||
|
||||
if (!addressName) {
|
||||
var wallets = EthoDatatabse.getWallets();
|
||||
addressName = wallets.names[$("#sendToAddress").val()];
|
||||
}
|
||||
$("#sendToAddressName").html(addressName);
|
||||
});
|
||||
|
||||
$("#btnLookForToAddress").off("click").on("click", function () {
|
||||
EthoBlockchain.getAddressListData(function (error) {
|
||||
EthoMainGUI.showGeneralError(error);
|
||||
}, function (addressList) {
|
||||
var addressBook = EthoAddressBook.getAddressList();
|
||||
|
||||
for (var key in addressBook) {
|
||||
if (addressBook.hasOwnProperty(key)) {
|
||||
var adddressObject = {};
|
||||
adddressObject.address = key;
|
||||
adddressObject.name = addressBook[key];
|
||||
addressList.addressData.push(adddressObject);
|
||||
}
|
||||
$("#sendToAddressName").html(addressName);
|
||||
}
|
||||
|
||||
$("#dlgAddressList").iziModal({width: "800px"});
|
||||
EthoMainGUI.renderTemplate("addresslist.html", addressList, $("#dlgAddressListBody"));
|
||||
$("#dlgAddressList").iziModal("open");
|
||||
|
||||
$(".btnSelectToAddress").off("click").on("click", function () {
|
||||
$("#sendToAddressName").html($(this).attr("data-name"));
|
||||
$("#sendToAddress").val($(this).attr("data-wallet"));
|
||||
$("#dlgAddressList").iziModal("close");
|
||||
});
|
||||
|
||||
$("#addressListFilter").off("input").on("input", function (e) {
|
||||
EthoUtils.filterTable($("#addressTable"), $("#addressListFilter").val());
|
||||
});
|
||||
|
||||
$("#btnClearSearchField").off("click").on("click", function () {
|
||||
EthoUtils.filterTable($("#addressTable"), "");
|
||||
$("#addressListFilter").val("");
|
||||
});
|
||||
});
|
||||
|
||||
$("#btnLookForToAddress").off('click').on('click', function() {
|
||||
EthoBlockchain.getAddressListData(
|
||||
function(error) {
|
||||
});
|
||||
|
||||
$("#btnAddToAddressBook").off("click").on("click", function () {
|
||||
if (EthoBlockchain.isAddress($("#sendToAddress").val())) {
|
||||
$("#dlgAddAddressToBook").iziModal();
|
||||
$("#inputAddressName").val("");
|
||||
$("#dlgAddAddressToBook").iziModal("open");
|
||||
|
||||
function doAddAddressToAddressBook() {
|
||||
EthoAddressBook.setAddressName($("#sendToAddress").val(), $("#inputAddressName").val());
|
||||
$("#dlgAddAddressToBook").iziModal("close");
|
||||
|
||||
iziToast.success({title: "Success", message: "Address was added to address book", position: "topRight", timeout: 2000});
|
||||
}
|
||||
} else {
|
||||
EthoMainGUI.showGeneralError("Recipient address is not valid!");
|
||||
}
|
||||
|
||||
$("#btnAddAddressToBookConfirm").off("click").on("click", function () {
|
||||
doAddAddressToAddressBook();
|
||||
});
|
||||
|
||||
$("#dlgAddAddressToBook").off("keypress").on("keypress", function (e) {
|
||||
if (e.which == 13) {
|
||||
doAddAddressToAddressBook();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$("#btnSendTransaction").off("click").on("click", function () {
|
||||
if (EthoSend.validateSendForm()) {
|
||||
EthoBlockchain.getTranasctionFee($("#sendFromAddress").val(), $("#sendToAddress").val(), $("#sendAmmount").val(), function (error) {
|
||||
EthoMainGUI.showGeneralError(error);
|
||||
}, function (data) {
|
||||
$("#dlgSendWalletPassword").iziModal();
|
||||
$("#walletPassword").val("");
|
||||
$("#fromAddressInfo").html($("#sendFromAddress").val());
|
||||
$("#toAddressInfo").html($("#sendToAddress").val());
|
||||
$("#valueToSendInfo").html($("#sendAmmount").val());
|
||||
$("#feeToPayInfo").html(parseFloat(web3Local.utils.fromWei(data.toString(), "ether")));
|
||||
$("#dlgSendWalletPassword").iziModal("open");
|
||||
|
||||
function doSendTransaction() {
|
||||
$("#dlgSendWalletPassword").iziModal("close");
|
||||
|
||||
EthoBlockchain.prepareTransaction($("#walletPassword").val(), $("#sendFromAddress").val(), $("#sendToAddress").val(), $("#sendAmmount").val(), function (error) {
|
||||
EthoMainGUI.showGeneralError(error);
|
||||
}, function (data) {
|
||||
EthoBlockchain.sendTransaction(data.raw, function (error) {
|
||||
EthoMainGUI.showGeneralError(error);
|
||||
},
|
||||
function(addressList) {
|
||||
var addressBook = EthoAddressBook.getAddressList();
|
||||
}, function (data) {
|
||||
EthoSend.resetSendForm();
|
||||
|
||||
for (var key in addressBook) {
|
||||
if (addressBook.hasOwnProperty(key)) {
|
||||
var adddressObject = {};
|
||||
adddressObject.address = key
|
||||
adddressObject.name = addressBook[key];
|
||||
addressList.addressData.push(adddressObject);
|
||||
}
|
||||
}
|
||||
|
||||
$("#dlgAddressList").iziModal({ width: "800px" });
|
||||
EthoMainGUI.renderTemplate("addresslist.html", addressList, $("#dlgAddressListBody"));
|
||||
$('#dlgAddressList').iziModal('open');
|
||||
iziToast.success({title: "Sent", message: "Transaction was successfully sent to the chain", position: "topRight", timeout: 5000});
|
||||
|
||||
$(".btnSelectToAddress").off('click').on('click', function() {
|
||||
$("#sendToAddressName").html($(this).attr('data-name'));
|
||||
$("#sendToAddress").val($(this).attr('data-wallet'));
|
||||
$('#dlgAddressList').iziModal('close');
|
||||
EthoBlockchain.getTransaction(data, function (error) {
|
||||
EthoMainGUI.showGeneralError(error);
|
||||
}, function (transaction) {
|
||||
ipcRenderer.send("storeTransaction", {
|
||||
block: transaction.blockNumber,
|
||||
txhash: transaction.hash.toLowerCase(),
|
||||
fromaddr: transaction.from.toLowerCase(),
|
||||
timestamp: moment().format("YYYY-MM-DD HH:mm:ss"),
|
||||
toaddr: transaction.to.toLowerCase(),
|
||||
value: transaction.value
|
||||
});
|
||||
|
||||
$('#addressListFilter').off('input').on('input',function(e){
|
||||
EthoUtils.filterTable($("#addressTable"), $('#addressListFilter').val());
|
||||
});
|
||||
|
||||
$("#btnClearSearchField").off('click').on('click', function() {
|
||||
EthoUtils.filterTable($("#addressTable"), "");
|
||||
$('#addressListFilter').val("")
|
||||
});
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
$("#btnAddToAddressBook").off('click').on('click', function() {
|
||||
if (EthoBlockchain.isAddress($("#sendToAddress").val())) {
|
||||
$("#dlgAddAddressToBook").iziModal();
|
||||
$("#inputAddressName").val("");
|
||||
$('#dlgAddAddressToBook').iziModal('open');
|
||||
|
||||
function doAddAddressToAddressBook() {
|
||||
EthoAddressBook.setAddressName($("#sendToAddress").val(), $("#inputAddressName").val());
|
||||
$('#dlgAddAddressToBook').iziModal('close');
|
||||
|
||||
iziToast.success({
|
||||
title: 'Success',
|
||||
message: 'Address was added to address book',
|
||||
position: 'topRight',
|
||||
timeout: 2000
|
||||
});
|
||||
}
|
||||
} else {
|
||||
EthoMainGUI.showGeneralError("Recipient address is not valid!");
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
$("#btnAddAddressToBookConfirm").off('click').on('click', function() {
|
||||
doAddAddressToAddressBook();
|
||||
$("#btnSendWalletPasswordConfirm").off("click").on("click", function () {
|
||||
doSendTransaction();
|
||||
});
|
||||
|
||||
$("#dlgAddAddressToBook").off('keypress').on('keypress', function(e) {
|
||||
if(e.which == 13) {
|
||||
doAddAddressToAddressBook();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
$("#btnSendTransaction").off('click').on('click', function() {
|
||||
if (EthoSend.validateSendForm()) {
|
||||
EthoBlockchain.getTranasctionFee($("#sendFromAddress").val(), $("#sendToAddress").val(), $("#sendAmmount").val(),
|
||||
function(error) {
|
||||
EthoMainGUI.showGeneralError(error);
|
||||
},
|
||||
function(data) {
|
||||
$("#dlgSendWalletPassword").iziModal();
|
||||
$("#walletPassword").val("");
|
||||
$("#fromAddressInfo").html($("#sendFromAddress").val());
|
||||
$("#toAddressInfo").html($("#sendToAddress").val());
|
||||
$("#valueToSendInfo").html($("#sendAmmount").val());
|
||||
$("#feeToPayInfo").html(parseFloat(web3Local.utils.fromWei(data.toString(), 'ether')));
|
||||
$('#dlgSendWalletPassword').iziModal('open');
|
||||
|
||||
function doSendTransaction() {
|
||||
$('#dlgSendWalletPassword').iziModal('close');
|
||||
|
||||
EthoBlockchain.prepareTransaction(
|
||||
$("#walletPassword").val(),
|
||||
$("#sendFromAddress").val(),
|
||||
$("#sendToAddress").val(),
|
||||
$("#sendAmmount").val(),
|
||||
function(error) {
|
||||
EthoMainGUI.showGeneralError(error);
|
||||
},
|
||||
function(data) {
|
||||
EthoBlockchain.sendTransaction(data.raw,
|
||||
function(error) {
|
||||
EthoMainGUI.showGeneralError(error);
|
||||
},
|
||||
function(data) {
|
||||
EthoSend.resetSendForm();
|
||||
|
||||
iziToast.success({
|
||||
title: 'Sent',
|
||||
message: 'Transaction was successfully sent to the chain',
|
||||
position: 'topRight',
|
||||
timeout: 5000
|
||||
});
|
||||
|
||||
EthoBlockchain.getTransaction(data,
|
||||
function(error) {
|
||||
EthoMainGUI.showGeneralError(error);
|
||||
},
|
||||
function(transaction) {
|
||||
ipcRenderer.send('storeTransaction', {
|
||||
block: transaction.blockNumber,
|
||||
txhash: transaction.hash.toLowerCase(),
|
||||
fromaddr: transaction.from.toLowerCase(),
|
||||
timestamp: moment().format('YYYY-MM-DD HH:mm:ss'),
|
||||
toaddr: transaction.to.toLowerCase(),
|
||||
value: transaction.value
|
||||
});
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
$("#btnSendWalletPasswordConfirm").off('click').on('click', function() {
|
||||
doSendTransaction();
|
||||
});
|
||||
|
||||
$("#dlgSendWalletPassword").off('keypress').on('keypress', function(e) {
|
||||
if(e.which == 13) {
|
||||
doSendTransaction();
|
||||
}
|
||||
});
|
||||
}
|
||||
);
|
||||
}
|
||||
});
|
||||
$("#dlgSendWalletPassword").off("keypress").on("keypress", function (e) {
|
||||
if (e.which == 13) {
|
||||
doSendTransaction();
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
// create new account variable
|
||||
EthoSend = new SendTransaction();
|
||||
EthoSend = new SendTransaction();
|
||||
|
||||
Reference in New Issue
Block a user