ethoFS Upload Reset Bug Fix
This commit is contained in:
@@ -52,7 +52,7 @@ class MainGUI {
|
|||||||
$("#dlgGeneralError").iziModal();
|
$("#dlgGeneralError").iziModal();
|
||||||
$("#dlgGeneralError").iziModal("open");
|
$("#dlgGeneralError").iziModal("open");
|
||||||
|
|
||||||
$("#btnGeneralErrorOK").click(function() {
|
$("#btnGeneralErrorOK").click(function () {
|
||||||
$("#dlgGeneralError").iziModal("close");
|
$("#dlgGeneralError").iziModal("close");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -64,12 +64,12 @@ class MainGUI {
|
|||||||
$("#dlgGeneralConfirm").iziModal();
|
$("#dlgGeneralConfirm").iziModal();
|
||||||
$("#dlgGeneralConfirm").iziModal("open");
|
$("#dlgGeneralConfirm").iziModal("open");
|
||||||
|
|
||||||
$("#btnGeneralConfirmYes").click(function() {
|
$("#btnGeneralConfirmYes").click(function () {
|
||||||
$("#dlgGeneralConfirm").iziModal("close");
|
$("#dlgGeneralConfirm").iziModal("close");
|
||||||
callback(true);
|
callback(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#btnGeneralConfirmNo").click(function() {
|
$("#btnGeneralConfirmNo").click(function () {
|
||||||
$("#dlgGeneralConfirm").iziModal("close");
|
$("#dlgGeneralConfirm").iziModal("close");
|
||||||
callback(false);
|
callback(false);
|
||||||
});
|
});
|
||||||
@@ -82,12 +82,12 @@ class MainGUI {
|
|||||||
$("#dlgAboutInfo").iziModal();
|
$("#dlgAboutInfo").iziModal();
|
||||||
$("#dlgAboutInfo").iziModal("open");
|
$("#dlgAboutInfo").iziModal("open");
|
||||||
|
|
||||||
$("#urlOpenLicence, #urlOpenGitHub").off("click").on("click", function(even) {
|
$("#urlOpenLicence, #urlOpenGitHub").off("click").on("click", function (even) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
ipcRenderer.send("openURL", $(this).attr("href"));
|
ipcRenderer.send("openURL", $(this).attr("href"));
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#btnAboutInfoClose").off("click").on("click", function(even) {
|
$("#btnAboutInfoClose").off("click").on("click", function (even) {
|
||||||
$("#dlgAboutInfo").iziModal("close");
|
$("#dlgAboutInfo").iziModal("close");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -112,47 +112,47 @@ class MainGUI {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ipcRenderer.on("showAboutDialog", function(event, message) {
|
ipcRenderer.on("showAboutDialog", function (event, message) {
|
||||||
EthoMainGUI.showAboutDialog(message);
|
EthoMainGUI.showAboutDialog(message);
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#mainNavBtnTransactions").click(function() {
|
$("#mainNavBtnTransactions").click(function () {
|
||||||
EthoTransactions.clearFilter();
|
EthoTransactions.clearFilter();
|
||||||
EthoMainGUI.changeAppState("transactions");
|
EthoMainGUI.changeAppState("transactions");
|
||||||
EthoTransactions.renderTransactions();
|
EthoTransactions.renderTransactions();
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#mainNavBtnAddressBoook").click(function() {
|
$("#mainNavBtnAddressBoook").click(function () {
|
||||||
EthoMainGUI.changeAppState("addressBook");
|
EthoMainGUI.changeAppState("addressBook");
|
||||||
EthoAddressBook.renderAddressBook();
|
EthoAddressBook.renderAddressBook();
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#mainNavBtnSend").click(function() {
|
$("#mainNavBtnSend").click(function () {
|
||||||
EthoMainGUI.changeAppState("send");
|
EthoMainGUI.changeAppState("send");
|
||||||
EthoSend.renderSendState();
|
EthoSend.renderSendState();
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#mainNavBtnWallets").click(function() {
|
$("#mainNavBtnWallets").click(function () {
|
||||||
EthoMainGUI.changeAppState("account");
|
EthoMainGUI.changeAppState("account");
|
||||||
EthoWallets.renderWalletsState();
|
EthoWallets.renderWalletsState();
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#mainNavBtnMarkets").click(function() {
|
$("#mainNavBtnMarkets").click(function () {
|
||||||
EthoMainGUI.changeAppState("markets");
|
EthoMainGUI.changeAppState("markets");
|
||||||
EthoMarkets.renderMarkets();
|
EthoMarkets.renderMarkets();
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#mainNavBtnUploads").click(function() {
|
$("#mainNavBtnUploads").click(function () {
|
||||||
EthoMainGUI.changeAppState("uploads");
|
EthoMainGUI.changeAppState("uploads");
|
||||||
EthoUploads.renderUploads();
|
EthoUploads.renderUploads();
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#mainNavBtnSettings").click(function() {
|
$("#mainNavBtnSettings").click(function () {
|
||||||
EthoMainGUI.changeAppState("settings");
|
EthoMainGUI.changeAppState("settings");
|
||||||
EthoSettings.renderSettingsState();
|
EthoSettings.renderSettingsState();
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#mainNavBtnAbout").click(function() {
|
$("#mainNavBtnAbout").click(function () {
|
||||||
EthoMainGUI.changeAppState("about");
|
EthoMainGUI.changeAppState("about");
|
||||||
EthoAbout.renderAbout();
|
EthoAbout.renderAbout();
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ const path = require("path");
|
|||||||
const Buf = require('buffer').Buffer;
|
const Buf = require('buffer').Buffer;
|
||||||
const Common = require('ethereumjs-common');
|
const Common = require('ethereumjs-common');
|
||||||
const fetch = require("node-fetch");
|
const fetch = require("node-fetch");
|
||||||
const fs = require('fs');
|
const fs = require("fs");
|
||||||
const fileReaderPullStream = require('pull-file-reader')
|
const fileReaderPullStream = require('pull-file-reader')
|
||||||
const request = require('request');
|
const request = require('request');
|
||||||
const keythereum = require("keythereum");
|
const keythereum = require("keythereum");
|
||||||
@@ -147,12 +147,15 @@ class Uploads {
|
|||||||
$('#ethofsLoginModal').iziModal();
|
$('#ethofsLoginModal').iziModal();
|
||||||
$('#ethofsLoginModal').iziModal('close');
|
$('#ethofsLoginModal').iziModal('close');
|
||||||
$('#ethofsRegistrationModal').iziModal('close');
|
$('#ethofsRegistrationModal').iziModal('close');
|
||||||
|
EthoUploads.resetUploadSystem();
|
||||||
|
EthoUploads.resetUploadProcess();
|
||||||
|
EthoUploads.resetUploadModal();
|
||||||
//CREATE ETHER-1 CHAIN CONNECTION AND LOOK FOR EXISTING USER ACCOUNT
|
//CREATE ETHER-1 CHAIN CONNECTION AND LOOK FOR EXISTING USER ACCOUNT
|
||||||
if (privateKey != "") {
|
if (privateKey != "") {
|
||||||
GlobalPrivateKey = privateKey;
|
GlobalPrivateKey = privateKey;
|
||||||
privateKeyLogin = true;
|
privateKeyLogin = true;
|
||||||
web3.eth.net.isListening()
|
web3.eth.net.isListening()
|
||||||
.then(function() {
|
.then(function () {
|
||||||
console.log('ethoFS is connected')
|
console.log('ethoFS is connected')
|
||||||
var account = web3.eth.accounts.privateKeyToAccount('0x' + privateKey);
|
var account = web3.eth.accounts.privateKeyToAccount('0x' + privateKey);
|
||||||
console.log(account);
|
console.log(account);
|
||||||
@@ -163,7 +166,7 @@ class Uploads {
|
|||||||
} else {
|
} else {
|
||||||
privateKeyLogin = false;
|
privateKeyLogin = false;
|
||||||
web3 = new Web3(web3.currentProvider);
|
web3 = new Web3(web3.currentProvider);
|
||||||
web3.eth.getAccounts(function(err, accounts) {
|
web3.eth.getAccounts(function (err, accounts) {
|
||||||
if (err != null) {
|
if (err != null) {
|
||||||
console.error("An error occurred: " + err);
|
console.error("An error occurred: " + err);
|
||||||
EthoUploads.outputNoAddressContractTable();
|
EthoUploads.outputNoAddressContractTable();
|
||||||
@@ -188,11 +191,11 @@ class Uploads {
|
|||||||
console.log("Starting ethoFS");
|
console.log("Starting ethoFS");
|
||||||
GlobalUserAddress = web3.eth.defaultAccount;
|
GlobalUserAddress = web3.eth.defaultAccount;
|
||||||
var ethoFSAccounts = new web3.eth.Contract(GlobalControllerABI, GlobalControllerContractAddress);
|
var ethoFSAccounts = new web3.eth.Contract(GlobalControllerABI, GlobalControllerContractAddress);
|
||||||
ethoFSAccounts.methods.CheckAccountExistence(GlobalUserAddress).call(function(error, result) {
|
ethoFSAccounts.methods.CheckAccountExistence(GlobalUserAddress).call(function (error, result) {
|
||||||
if (!error) {
|
if (!error) {
|
||||||
if (result) {
|
if (result) {
|
||||||
document.getElementById("accountaddress").textContent = web3.eth.defaultAccount;
|
document.getElementById("accountaddress").textContent = web3.eth.defaultAccount;
|
||||||
ethoFSAccounts.methods.GetUserAccountName(GlobalUserAddress).call(function(error, result) {
|
ethoFSAccounts.methods.GetUserAccountName(GlobalUserAddress).call(function (error, result) {
|
||||||
if (!error) {
|
if (!error) {
|
||||||
if (result) {
|
if (result) {
|
||||||
EthoUploads.getBlockHeight(web3);
|
EthoUploads.getBlockHeight(web3);
|
||||||
@@ -233,14 +236,14 @@ class Uploads {
|
|||||||
};
|
};
|
||||||
var privateKey = '0x' + GlobalPrivateKey;
|
var privateKey = '0x' + GlobalPrivateKey;
|
||||||
web3.eth.accounts.signTransaction(tx, privateKey)
|
web3.eth.accounts.signTransaction(tx, privateKey)
|
||||||
.then(function(signedTransactionData) {
|
.then(function (signedTransactionData) {
|
||||||
web3.eth.sendSignedTransaction(signedTransactionData.rawTransaction, function(error, result) {
|
web3.eth.sendSignedTransaction(signedTransactionData.rawTransaction, function (error, result) {
|
||||||
if (!error) {
|
if (!error) {
|
||||||
if (result) {
|
if (result) {
|
||||||
$('#minedBlockTrackerModal').iziModal();
|
$('#minedBlockTrackerModal').iziModal();
|
||||||
$('#minedBlockTrackerModal').iziModal('open');
|
$('#minedBlockTrackerModal').iziModal('open');
|
||||||
$miningMessage = document.querySelector('.mining-message')
|
$miningMessage = document.querySelector('.mining-message')
|
||||||
EthoUploads.waitForReceipt(result, function(receipt) {
|
EthoUploads.waitForReceipt(result, function (receipt) {
|
||||||
console.log("Transaction Has Been Mined: " + receipt);
|
console.log("Transaction Has Been Mined: " + receipt);
|
||||||
$('#minedBlockTrackerModal').iziModal('close');
|
$('#minedBlockTrackerModal').iziModal('close');
|
||||||
EthoUploads.ethofsLogin(GlobalPrivateKey);
|
EthoUploads.ethofsLogin(GlobalPrivateKey);
|
||||||
@@ -254,14 +257,14 @@ class Uploads {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
controller.methods.AddNewUserPublic(userName).send(function(error, result) {
|
controller.methods.AddNewUserPublic(userName).send(function (error, result) {
|
||||||
if (!error) {
|
if (!error) {
|
||||||
if (result) {
|
if (result) {
|
||||||
document.getElementById("wait").innerHTML = 'Waiting For Add User Confirmation.';
|
document.getElementById("wait").innerHTML = 'Waiting For Add User Confirmation.';
|
||||||
$('#minedBlockTrackerModal').iziModal();
|
$('#minedBlockTrackerModal').iziModal();
|
||||||
$('#minedBlockTrackerModal').iziModal('open');
|
$('#minedBlockTrackerModal').iziModal('open');
|
||||||
$miningMessage = document.querySelector('.mining-message')
|
$miningMessage = document.querySelector('.mining-message')
|
||||||
EthoUploads.waitForReceipt(result, function(receipt) {
|
EthoUploads.waitForReceipt(result, function (receipt) {
|
||||||
console.log("Transaction Has Been Mined: " + receipt);
|
console.log("Transaction Has Been Mined: " + receipt);
|
||||||
$('#minedBlockTrackerModal').iziModal('close');
|
$('#minedBlockTrackerModal').iziModal('close');
|
||||||
ethofsLogin("");
|
ethofsLogin("");
|
||||||
@@ -281,14 +284,14 @@ class Uploads {
|
|||||||
}
|
}
|
||||||
getBlockHeight(web3) {
|
getBlockHeight(web3) {
|
||||||
console.log("Starting Block Height Detection..");
|
console.log("Starting Block Height Detection..");
|
||||||
web3.eth.getBlockNumber(function(err, data) {
|
web3.eth.getBlockNumber(function (err, data) {
|
||||||
document.getElementById("blocknumber").textContent = data;
|
document.getElementById("blocknumber").textContent = data;
|
||||||
console.log("ETHO Block Number: " + data);
|
console.log("ETHO Block Number: " + data);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
getBalance(web3) {
|
getBalance(web3) {
|
||||||
console.log("Starting Balance Detection..");
|
console.log("Starting Balance Detection..");
|
||||||
web3.eth.getBalance(web3.eth.defaultAccount, function(err, data) {
|
web3.eth.getBalance(web3.eth.defaultAccount, function (err, data) {
|
||||||
var balance = "ETHO Balance: " + Number(web3.utils.fromWei(data, "ether")).toFixed(2);
|
var balance = "ETHO Balance: " + Number(web3.utils.fromWei(data, "ether")).toFixed(2);
|
||||||
document.getElementById("ethobalance").textContent = balance;
|
document.getElementById("ethobalance").textContent = balance;
|
||||||
console.log("ETHO Balance: " + data);
|
console.log("ETHO Balance: " + data);
|
||||||
@@ -304,10 +307,10 @@ class Uploads {
|
|||||||
}
|
}
|
||||||
//CHECK FOR TX - BLOCK TO BE MINED
|
//CHECK FOR TX - BLOCK TO BE MINED
|
||||||
waitForReceipt(hash, cb) {
|
waitForReceipt(hash, cb) {
|
||||||
web3.eth.getTransactionReceipt(hash, function(err, receipt) {
|
web3.eth.getTransactionReceipt(hash, function (err, receipt) {
|
||||||
//document.getElementById("mining-status-message").textContent = "In Progress";
|
//document.getElementById("mining-status-message").textContent = "In Progress";
|
||||||
$miningMessage.innerText = "Waiting For Transaction Confirmation";
|
$miningMessage.innerText = "Waiting For Transaction Confirmation";
|
||||||
web3.eth.getBlock('latest', function(e, res) {
|
web3.eth.getBlock('latest', function (e, res) {
|
||||||
if (!e) {
|
if (!e) {
|
||||||
document.getElementById("block-height").textContent = res.number;
|
document.getElementById("block-height").textContent = res.number;
|
||||||
}
|
}
|
||||||
@@ -323,7 +326,7 @@ class Uploads {
|
|||||||
cb(receipt);
|
cb(receipt);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
setTimeout(function() {
|
setTimeout(function () {
|
||||||
EthoUploads.waitForReceipt(hash, cb);
|
EthoUploads.waitForReceipt(hash, cb);
|
||||||
}, 10000);
|
}, 10000);
|
||||||
}
|
}
|
||||||
@@ -344,15 +347,15 @@ class Uploads {
|
|||||||
console.log("Private Key: " + privateKey);
|
console.log("Private Key: " + privateKey);
|
||||||
console.log("Hosting Address: " + hostingAddress + " Removal Hash: " + contentHash);
|
console.log("Hosting Address: " + hostingAddress + " Removal Hash: " + contentHash);
|
||||||
web3.eth.accounts.signTransaction(tx, privateKey)
|
web3.eth.accounts.signTransaction(tx, privateKey)
|
||||||
.then(function(signedTransactionData) {
|
.then(function (signedTransactionData) {
|
||||||
console.log("Signed TX Data: " + signedTransactionData.rawTransaction);
|
console.log("Signed TX Data: " + signedTransactionData.rawTransaction);
|
||||||
web3.eth.sendSignedTransaction(signedTransactionData.rawTransaction, function(error, result) {
|
web3.eth.sendSignedTransaction(signedTransactionData.rawTransaction, function (error, result) {
|
||||||
if (!error) {
|
if (!error) {
|
||||||
if (result) {
|
if (result) {
|
||||||
$('#minedBlockTrackerModal').iziModal();
|
$('#minedBlockTrackerModal').iziModal();
|
||||||
$('#minedBlockTrackerModal').iziModal('open');
|
$('#minedBlockTrackerModal').iziModal('open');
|
||||||
$miningMessage = document.querySelector('.mining-message')
|
$miningMessage = document.querySelector('.mining-message')
|
||||||
EthoUploads.waitForReceipt(result, function(receipt) {
|
EthoUploads.waitForReceipt(result, function (receipt) {
|
||||||
console.log("Transaction Has Been Mined: " + receipt);
|
console.log("Transaction Has Been Mined: " + receipt);
|
||||||
$('#minedBlockTrackerModal').iziModal('close');
|
$('#minedBlockTrackerModal').iziModal('close');
|
||||||
EthoUploads.updateContractTable();
|
EthoUploads.updateContractTable();
|
||||||
@@ -370,10 +373,10 @@ class Uploads {
|
|||||||
to: GlobalControllerContractAddress,
|
to: GlobalControllerContractAddress,
|
||||||
from: GlobalUserAddress,
|
from: GlobalUserAddress,
|
||||||
};
|
};
|
||||||
pinRemoving.methods.RemoveHostingContract(hostingAddress, contentHash).send(tx, function(error, result) {
|
pinRemoving.methods.RemoveHostingContract(hostingAddress, contentHash).send(tx, function (error, result) {
|
||||||
if (!error) {
|
if (!error) {
|
||||||
if (result) {
|
if (result) {
|
||||||
EthoUploads.waitForReceipt(result, function(receipt) {
|
EthoUploads.waitForReceipt(result, function (receipt) {
|
||||||
console.log("Transaction Has Been Mined: " + receipt);
|
console.log("Transaction Has Been Mined: " + receipt);
|
||||||
$('#minedBlockTrackerModal').iziModal('close');
|
$('#minedBlockTrackerModal').iziModal('close');
|
||||||
EthoUploads.updateContractTable();
|
EthoUploads.updateContractTable();
|
||||||
@@ -394,14 +397,14 @@ class Uploads {
|
|||||||
var hostingContracts = "";
|
var hostingContracts = "";
|
||||||
var TotalContractCount = 0;
|
var TotalContractCount = 0;
|
||||||
var blockHeight = 0;
|
var blockHeight = 0;
|
||||||
web3.eth.getBlockNumber(function(error, result) {
|
web3.eth.getBlockNumber(function (error, result) {
|
||||||
if (!error) {
|
if (!error) {
|
||||||
blockHeight = result;
|
blockHeight = result;
|
||||||
} else
|
} else
|
||||||
console.error(error);
|
console.error(error);
|
||||||
});
|
});
|
||||||
var ethoFSAccounts = new web3.eth.Contract(GlobalControllerABI, GlobalControllerContractAddress);
|
var ethoFSAccounts = new web3.eth.Contract(GlobalControllerABI, GlobalControllerContractAddress);
|
||||||
ethoFSAccounts.methods.GetUserAccountTotalContractCount(web3.eth.defaultAccount).call(function(error, result) {
|
ethoFSAccounts.methods.GetUserAccountTotalContractCount(web3.eth.defaultAccount).call(function (error, result) {
|
||||||
TotalContractCount = result;
|
TotalContractCount = result;
|
||||||
GlobalTotalContractCount = result;
|
GlobalTotalContractCount = result;
|
||||||
const getContractData = async (ethoFSAccounts, account, TotalContractCount) => {
|
const getContractData = async (ethoFSAccounts, account, TotalContractCount) => {
|
||||||
@@ -528,7 +531,6 @@ class Uploads {
|
|||||||
document.getElementById("contract-cost").innerHTML = EthoUploads.round(GlobalContractCost, 2);
|
document.getElementById("contract-cost").innerHTML = EthoUploads.round(GlobalContractCost, 2);
|
||||||
document.getElementById("upload-hash").innerHTML = GlobalUploadHash;
|
document.getElementById("upload-hash").innerHTML = GlobalUploadHash;
|
||||||
document.getElementById("upload-size").innerHTML = GlobalUploadSizeMB;
|
document.getElementById("upload-size").innerHTML = GlobalUploadSizeMB;
|
||||||
GlobalContractCost = 0;
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//CHECK FOR PROPAGATED & AVAILABLE DATA ON NETWORK - FINAL VERIFICATION FOR UPLOADED CONTENT
|
//CHECK FOR PROPAGATED & AVAILABLE DATA ON NETWORK - FINAL VERIFICATION FOR UPLOADED CONTENT
|
||||||
@@ -724,15 +726,15 @@ class Uploads {
|
|||||||
var privateKey = '0x' + GlobalPrivateKey;
|
var privateKey = '0x' + GlobalPrivateKey;
|
||||||
console.log("Private Key: " + privateKey);
|
console.log("Private Key: " + privateKey);
|
||||||
web3.eth.accounts.signTransaction(tx, privateKey)
|
web3.eth.accounts.signTransaction(tx, privateKey)
|
||||||
.then(function(signedTransactionData) {
|
.then(function (signedTransactionData) {
|
||||||
console.log("Signed TX Data: " + signedTransactionData.rawTransaction);
|
console.log("Signed TX Data: " + signedTransactionData.rawTransaction);
|
||||||
web3.eth.sendSignedTransaction(signedTransactionData.rawTransaction, function(error, result) {
|
web3.eth.sendSignedTransaction(signedTransactionData.rawTransaction, function (error, result) {
|
||||||
if (!error) {
|
if (!error) {
|
||||||
if (result) {
|
if (result) {
|
||||||
$("#contractDetailModal").iziModal("close");
|
$("#contractDetailModal").iziModal("close");
|
||||||
$("#minedBlockTrackerModal").iziModal();
|
$("#minedBlockTrackerModal").iziModal();
|
||||||
$("#minedBlockTrackerModal").iziModal("open");
|
$("#minedBlockTrackerModal").iziModal("open");
|
||||||
EthoUploads.waitForReceipt(result, function(receipt) {
|
EthoUploads.waitForReceipt(result, function (receipt) {
|
||||||
console.log("Transaction Has Been Mined: " + receipt);
|
console.log("Transaction Has Been Mined: " + receipt);
|
||||||
$("#minedBlockTrackerModal").iziModal("close");
|
$("#minedBlockTrackerModal").iziModal("close");
|
||||||
EthoUploads.updateContractTable();
|
EthoUploads.updateContractTable();
|
||||||
@@ -747,13 +749,13 @@ class Uploads {
|
|||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
ethoFSController.methods.ExtendContract(GlobalHostingContractDetailArray['address'], extensionDuration).send(transactionObject, function(error, result) {
|
ethoFSController.methods.ExtendContract(GlobalHostingContractDetailArray['address'], extensionDuration).send(transactionObject, function (error, result) {
|
||||||
if (!error) {
|
if (!error) {
|
||||||
if (result) {
|
if (result) {
|
||||||
$('#contractDetailModal').iziModal('close');
|
$('#contractDetailModal').iziModal('close');
|
||||||
$("#minedBlockTrackerModal").iziModal();
|
$("#minedBlockTrackerModal").iziModal();
|
||||||
$('#minedBlockTrackerModal').iziodal('open');
|
$('#minedBlockTrackerModal').iziodal('open');
|
||||||
EthoUploads.waitForReceipt(result, function(receipt) {
|
EthoUploads.waitForReceipt(result, function (receipt) {
|
||||||
console.log("Transaction Has Been Mined: " + receipt);
|
console.log("Transaction Has Been Mined: " + receipt);
|
||||||
$('#minedBlockTrackerModal').iziModal('close');
|
$('#minedBlockTrackerModal').iziModal('close');
|
||||||
EthoUploads.updateContractTable();
|
EthoUploads.updateContractTable();
|
||||||
@@ -783,7 +785,7 @@ class Uploads {
|
|||||||
var availableStorageTotal = 0;
|
var availableStorageTotal = 0;
|
||||||
var activeHistory = 0;
|
var activeHistory = 0;
|
||||||
var nodeCounter = 0;
|
var nodeCounter = 0;
|
||||||
splitMessage.forEach(function(nodeMessage, index) {
|
splitMessage.forEach(function (nodeMessage, index) {
|
||||||
var nodeSplitMessage = nodeMessage.split(":");
|
var nodeSplitMessage = nodeMessage.split(":");
|
||||||
activeHistory = Number(nodeSplitMessage[5]);
|
activeHistory = Number(nodeSplitMessage[5]);
|
||||||
if (activeHistory >= 5) {
|
if (activeHistory >= 5) {
|
||||||
@@ -818,23 +820,23 @@ class Uploads {
|
|||||||
function calculateStorageAverages(usedStorageArray, availableStorageArray, nodeCountArray) {
|
function calculateStorageAverages(usedStorageArray, availableStorageArray, nodeCountArray) {
|
||||||
|
|
||||||
var sumAvailableStorage = 0;
|
var sumAvailableStorage = 0;
|
||||||
availableStorageArray.forEach(function(value, index) {
|
availableStorageArray.forEach(function (value, index) {
|
||||||
sumAvailableStorage += value;
|
sumAvailableStorage += value;
|
||||||
if (index == (availableStorageArray.length - 1)) {
|
if (index == (availableStorageArray.length - 1)) {
|
||||||
averageAvailableStorageTotal = (sumAvailableStorage / availableStorageArray.length);
|
averageAvailableStorageTotal = (sumAvailableStorage / availableStorageArray.length);
|
||||||
var element = document.getElementById("nodestorage");
|
var element = document.getElementById("nodestorage");
|
||||||
if (typeof(element) != 'undefined' && element != null) {
|
if (typeof (element) != 'undefined' && element != null) {
|
||||||
element.textContent = (EthoUploads.round(2 + ((averageAvailableStorageTotal) / 1000000), 1)) + "TB";
|
element.textContent = (EthoUploads.round(2 + ((averageAvailableStorageTotal) / 1000000), 1)) + "TB";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
var sumNodeCount = 0;
|
var sumNodeCount = 0;
|
||||||
nodeCountArray.forEach(function(value, index) {
|
nodeCountArray.forEach(function (value, index) {
|
||||||
sumNodeCount += value;
|
sumNodeCount += value;
|
||||||
if (index == (nodeCountArray.length - 1)) {
|
if (index == (nodeCountArray.length - 1)) {
|
||||||
var averageNodeCount = (sumNodeCount / nodeCountArray.length) + 19;
|
var averageNodeCount = (sumNodeCount / nodeCountArray.length) + 19;
|
||||||
var element = document.getElementById("nodecount");
|
var element = document.getElementById("nodecount");
|
||||||
if (typeof(element) != 'undefined' && element != null) {
|
if (typeof (element) != 'undefined' && element != null) {
|
||||||
element.textContent = (EthoUploads.round(averageNodeCount, 0));
|
element.textContent = (EthoUploads.round(averageNodeCount, 0));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -912,7 +914,8 @@ class Uploads {
|
|||||||
}
|
}
|
||||||
|
|
||||||
resetFileTable() {
|
resetFileTable() {
|
||||||
if (typeof($fileHistory) != 'undefined' && $fileHistory != null) {
|
document.getElementById("fileUploadButton").value = null;
|
||||||
|
if (typeof ($fileHistory) != 'undefined' && $fileHistory != null) {
|
||||||
while ($fileHistory.hasChildNodes()) {
|
while ($fileHistory.hasChildNodes()) {
|
||||||
$fileHistory.removeChild($fileHistory.firstChild);
|
$fileHistory.removeChild($fileHistory.firstChild);
|
||||||
}
|
}
|
||||||
@@ -936,7 +939,7 @@ class Uploads {
|
|||||||
for (var i = 0; i < MainFileArray.length; i++) {
|
for (var i = 0; i < MainFileArray.length; i++) {
|
||||||
const streamFiles = (files) => {
|
const streamFiles = (files) => {
|
||||||
const stream = node.addReadableStream()
|
const stream = node.addReadableStream()
|
||||||
stream.on('data', function(data) {
|
stream.on('data', function (data) {
|
||||||
GlobalHashArray.push(`${data.hash}`);
|
GlobalHashArray.push(`${data.hash}`);
|
||||||
GlobalSizeArray.push(`${data.size}`);
|
GlobalSizeArray.push(`${data.size}`);
|
||||||
GlobalPathArray.push(`${data.path}`);
|
GlobalPathArray.push(`${data.path}`);
|
||||||
@@ -975,8 +978,8 @@ class Uploads {
|
|||||||
console.log("Sending Immediate Pin Request: " + MainHashArray[i]);
|
console.log("Sending Immediate Pin Request: " + MainHashArray[i]);
|
||||||
EthoUploads.publishImmediatePin(MainHashArray[i]);
|
EthoUploads.publishImmediatePin(MainHashArray[i]);
|
||||||
}
|
}
|
||||||
setTimeout(function() {
|
setTimeout(function () {
|
||||||
hashVerificationArray.forEach(function(hash) {
|
hashVerificationArray.forEach(function (hash) {
|
||||||
verifyDataUpload(hash);
|
verifyDataUpload(hash);
|
||||||
});
|
});
|
||||||
}, 5000);
|
}, 5000);
|
||||||
@@ -1006,7 +1009,7 @@ class Uploads {
|
|||||||
} else {
|
} else {
|
||||||
var confirmationPercentage = Math.ceil((hashConfirmationCount / hashVerificationArray.length) * 100);
|
var confirmationPercentage = Math.ceil((hashConfirmationCount / hashVerificationArray.length) * 100);
|
||||||
if (confirmationPercentage < 99) {
|
if (confirmationPercentage < 99) {
|
||||||
setTimeout(function() {
|
setTimeout(function () {
|
||||||
verifyDataUpload(hash)
|
verifyDataUpload(hash)
|
||||||
}, 2000);
|
}, 2000);
|
||||||
} else {
|
} else {
|
||||||
@@ -1018,7 +1021,7 @@ class Uploads {
|
|||||||
console.log("Data Confirmation Error: " + error.status);
|
console.log("Data Confirmation Error: " + error.status);
|
||||||
var confirmationPercentage = Math.ceil((hashConfirmationCount / hashVerificationArray.length) * 100);
|
var confirmationPercentage = Math.ceil((hashConfirmationCount / hashVerificationArray.length) * 100);
|
||||||
if (confirmationPercentage < 99) {
|
if (confirmationPercentage < 99) {
|
||||||
setTimeout(function() {
|
setTimeout(function () {
|
||||||
verifyDataUpload(hash)
|
verifyDataUpload(hash)
|
||||||
}, 2000);
|
}, 2000);
|
||||||
} else {
|
} else {
|
||||||
@@ -1073,9 +1076,9 @@ class Uploads {
|
|||||||
var privateKey = '0x' + GlobalPrivateKey;
|
var privateKey = '0x' + GlobalPrivateKey;
|
||||||
console.log("Private Key: " + privateKey);
|
console.log("Private Key: " + privateKey);
|
||||||
web3.eth.accounts.signTransaction(tx, privateKey)
|
web3.eth.accounts.signTransaction(tx, privateKey)
|
||||||
.then(function(signedTransactionData) {
|
.then(function (signedTransactionData) {
|
||||||
console.log("Signed TX Data: " + signedTransactionData.rawTransaction);
|
console.log("Signed TX Data: " + signedTransactionData.rawTransaction);
|
||||||
web3.eth.sendSignedTransaction(signedTransactionData.rawTransaction, function(error, result) {
|
web3.eth.sendSignedTransaction(signedTransactionData.rawTransaction, function (error, result) {
|
||||||
if (!error) {
|
if (!error) {
|
||||||
if (result) {
|
if (result) {
|
||||||
console.log("Result: " + result);
|
console.log("Result: " + result);
|
||||||
@@ -1083,7 +1086,7 @@ class Uploads {
|
|||||||
$('#minedBlockTrackerModal').iziModal('open');
|
$('#minedBlockTrackerModal').iziModal('open');
|
||||||
$miningMessage = document.querySelector('.mining-message')
|
$miningMessage = document.querySelector('.mining-message')
|
||||||
$('#preparingUploadModal').iziModal('close');
|
$('#preparingUploadModal').iziModal('close');
|
||||||
EthoUploads.waitForReceipt(result, function(receipt) {
|
EthoUploads.waitForReceipt(result, function (receipt) {
|
||||||
console.log("Transaction Has Been Mined: " + receipt);
|
console.log("Transaction Has Been Mined: " + receipt);
|
||||||
$('#minedBlockTrackerModal').iziModal('close');
|
$('#minedBlockTrackerModal').iziModal('close');
|
||||||
$('#nodeModal').iziModal('close');
|
$('#nodeModal').iziModal('close');
|
||||||
@@ -1100,14 +1103,14 @@ class Uploads {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
pinAdding.methods.AddNewContract(GlobalMainContentHash, HostingContractName, HostingContractDuration, pinSize, pinSize, contentHashString, contentPathString).send(transactionObject, function(error, result) {
|
pinAdding.methods.AddNewContract(GlobalMainContentHash, HostingContractName, HostingContractDuration, pinSize, pinSize, contentHashString, contentPathString).send(transactionObject, function (error, result) {
|
||||||
if (!error) {
|
if (!error) {
|
||||||
if (result) {
|
if (result) {
|
||||||
$('#minedBlockTrackerModal').iziModal();
|
$('#minedBlockTrackerModal').iziModal();
|
||||||
$('#minedBlockTrackerModal').iziModal('open');
|
$('#minedBlockTrackerModal').iziModal('open');
|
||||||
$miningMessage = document.querySelector('.mining-message')
|
$miningMessage = document.querySelector('.mining-message')
|
||||||
$('#preparingUploadModal').iziModal('close');
|
$('#preparingUploadModal').iziModal('close');
|
||||||
EthoUploads.waitForReceipt(result, function(receipt) {
|
EthoUploads.waitForReceipt(result, function (receipt) {
|
||||||
console.log("Transaction Has Been Mined: " + receipt);
|
console.log("Transaction Has Been Mined: " + receipt);
|
||||||
$('#minedBlockTrackerModal').iziModal('close');
|
$('#minedBlockTrackerModal').iziModal('close');
|
||||||
$('#nodeModal').iziModal('close');
|
$('#nodeModal').iziModal('close');
|
||||||
@@ -1145,6 +1148,13 @@ class Uploads {
|
|||||||
MainFileArray = new Array();
|
MainFileArray = new Array();
|
||||||
GlobalUploadSize = 0;
|
GlobalUploadSize = 0;
|
||||||
GlobalUploadSizeMB = 0;
|
GlobalUploadSizeMB = 0;
|
||||||
|
GlobalMainHashArray = new Array();
|
||||||
|
GlobalMainPathArray = new Array();
|
||||||
|
GlobalHashArray = new Array();
|
||||||
|
GlobalPathArray = new Array();
|
||||||
|
GlobalUploadHash = "";
|
||||||
|
GlobalUploadPath = "";
|
||||||
|
GlobalContractCost = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
updateAnalyzeProgress(width) {
|
updateAnalyzeProgress(width) {
|
||||||
@@ -1159,153 +1169,6 @@ class Uploads {
|
|||||||
elem.innerHTML = width * 1 + '%';
|
elem.innerHTML = width * 1 + '%';
|
||||||
}
|
}
|
||||||
|
|
||||||
onFileUpload(event) {
|
|
||||||
event.preventDefault()
|
|
||||||
document.getElementById("upload-hash").textContent = "ANALYZING UPLOAD DATA";
|
|
||||||
document.getElementById("upload-confirm-button").style.visibility = "hidden";
|
|
||||||
MainFileArray.push([]);
|
|
||||||
let dirSelected = event.target.files;
|
|
||||||
let dirName = dirSelected[0].name;
|
|
||||||
let dirPath = dirSelected[0].path;
|
|
||||||
var streamCompareCount = 0;
|
|
||||||
var totalUploadItems = 0;
|
|
||||||
readDirectoryContents(dirPath);
|
|
||||||
|
|
||||||
function readDirectoryContents(directory) {
|
|
||||||
console.log("Directory Path: " + directory);
|
|
||||||
fs.readdir(directory, function(err, filesUploaded) {
|
|
||||||
if (!err) {
|
|
||||||
for (let i = 0; filesUploaded.length > i; i++) {
|
|
||||||
handleItem(filesUploaded[i], directory);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
console.log("File Upload Error: " + err);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function handleItem(filename, relativePath) {
|
|
||||||
var filepath = relativePath.concat(pathSymbol, filename);
|
|
||||||
fs.stat(filepath, function(err, stats) {
|
|
||||||
if (!err) {
|
|
||||||
if (stats.isDirectory()) {
|
|
||||||
readDirectoryContents(filepath)
|
|
||||||
} else {
|
|
||||||
streamCompareCount++;
|
|
||||||
totalUploadItems++;
|
|
||||||
console.log("File Path: " + filepath);
|
|
||||||
fs.readFile(filepath, function(err, file) {
|
|
||||||
var updatedPath = filepath.replace(dirPath, dirName);
|
|
||||||
var filetowrite = {
|
|
||||||
path: updatedPath,
|
|
||||||
content: file
|
|
||||||
};
|
|
||||||
var filename = updatedPath;
|
|
||||||
MainFileArray[MainFileArray.length - 1].push(filetowrite);
|
|
||||||
GlobalUploadSize += Number(stats.size);
|
|
||||||
GlobalUploadSizeMB += Number(stats.size) / 1000000;
|
|
||||||
fileSize += Number(stats.size) / 1000000;
|
|
||||||
var totalUploadSizeMB = GlobalUploadSizeMB;
|
|
||||||
EthoUploads.appendFile(updatedPath, filename, stats.size, null);
|
|
||||||
console.log("Path: " + filepath + " Size: " + stats.size + " Total Size: " + GlobalUploadSize);
|
|
||||||
document.getElementById("upload-size").textContent = totalUploadSizeMB;
|
|
||||||
EthoUploads.contractDurationChange(document.getElementById('contract-duration'));
|
|
||||||
EthoUploads.updateAnalyzeProgress(((totalUploadItems - streamCompareCount) / totalUploadItems));
|
|
||||||
if (streamCompareCount == 0) {
|
|
||||||
document.getElementById("upload-hash").textContent = "READY FOR UPLOAD";
|
|
||||||
document.getElementById("upload-confirm-button").style.visibility = "visible";
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
console.log("File Stats Error: " + err);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
onDrop(event) {
|
|
||||||
console.log(event);
|
|
||||||
MainFileArray.push([]);
|
|
||||||
document.getElementById("upload-hash").textContent = "ANALYZING UPLOAD DATA";
|
|
||||||
document.getElementById("upload-confirm-button").style.visibility = "hidden";
|
|
||||||
fileSize = 0;
|
|
||||||
EthoUploads.resetProgress();
|
|
||||||
EthoUploads.onDragLeave()
|
|
||||||
event.preventDefault()
|
|
||||||
if (GlobalUploadHash != "" && GlobalUploadPath != "") {
|
|
||||||
GlobalMainHashArray.push(GlobalUploadHash);
|
|
||||||
GlobalMainPathArray.push(GlobalUploadPath);
|
|
||||||
}
|
|
||||||
const dt = event.dataTransfer
|
|
||||||
//const filesDropped = dt.files
|
|
||||||
const itemsDropped = dt.items
|
|
||||||
|
|
||||||
function readFileContents(file) {
|
|
||||||
return new Promise((resolve) => {
|
|
||||||
const reader = new window.FileReader()
|
|
||||||
reader.onload = (event) => resolve(event.target.result)
|
|
||||||
reader.readAsArrayBuffer(file)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
var totalItemCount = 0;
|
|
||||||
var streamCompareCount = 0;
|
|
||||||
|
|
||||||
function initialHandleItems(items) {
|
|
||||||
const files = [];
|
|
||||||
totalItemCount = items.length;
|
|
||||||
streamCompareCount = items.length;
|
|
||||||
for (var item of items) {
|
|
||||||
var awaitHandleEntry = handleEntry(item.webkitGetAsEntry());
|
|
||||||
}
|
|
||||||
|
|
||||||
function handleEntry(entry) {
|
|
||||||
if (entry.isFile) {
|
|
||||||
getFile(entry);
|
|
||||||
|
|
||||||
function getFile(entry) {
|
|
||||||
document.getElementById("upload-hash").textContent = "ANALYZING UPLOAD DATA";
|
|
||||||
document.getElementById("upload-confirm-button").style.visibility = "hidden";
|
|
||||||
entry.file(function(file) {
|
|
||||||
readFileContents(file)
|
|
||||||
.then((buffer) => {
|
|
||||||
var filePath = entry.fullPath;
|
|
||||||
var filetowrite = {
|
|
||||||
path: entry.fullPath,
|
|
||||||
content: Buffer.from(buffer)
|
|
||||||
};
|
|
||||||
MainFileArray[MainFileArray.length - 1].push(filetowrite);
|
|
||||||
GlobalUploadSize += Number(file.size);
|
|
||||||
fileSize += Number(file.size);
|
|
||||||
var totalUploadSizeMB = GlobalUploadSize / 1000000;
|
|
||||||
EthoUploads.appendFile(entry.fullPath, entry.name, file.size, null);
|
|
||||||
document.getElementById("upload-size").textContent = totalUploadSizeMB;
|
|
||||||
EthoUploads.contractDurationChange(document.getElementById('contract-duration'));
|
|
||||||
streamCompareCount--;
|
|
||||||
EthoUploads.updateAnalyzeProgress(((totalItemCount - streamCompareCount) / totalItemCount));
|
|
||||||
if (streamCompareCount == 0) {
|
|
||||||
document.getElementById("upload-hash").textContent = "READY FOR UPLOAD";
|
|
||||||
document.getElementById("upload-confirm-button").style.visibility = "visible";
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
} else if (entry.isDirectory) {
|
|
||||||
let directoryReader = entry.createReader();
|
|
||||||
directoryReader.readEntries(function(entries) {
|
|
||||||
streamCompareCount += entries.length - 1;
|
|
||||||
totalItemCount += entries.length - 1;
|
|
||||||
entries.forEach(function(newEntry) {
|
|
||||||
handleEntry(newEntry);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
initialHandleItems(event.dataTransfer.items);
|
|
||||||
}
|
|
||||||
|
|
||||||
connectToPeer(event) {
|
connectToPeer(event) {
|
||||||
const multiaddr = $multiaddrInput.value
|
const multiaddr = $multiaddrInput.value
|
||||||
|
|
||||||
@@ -1409,7 +1272,7 @@ class Uploads {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
renderUploads() {
|
renderUploads(ethofsRenderFlag) {
|
||||||
EthoMainGUI.renderTemplate("uploads.html", {});
|
EthoMainGUI.renderTemplate("uploads.html", {});
|
||||||
$(document).trigger("render_uploads");
|
$(document).trigger("render_uploads");
|
||||||
}
|
}
|
||||||
@@ -1419,19 +1282,169 @@ class Uploads {
|
|||||||
EthoUploads = new Uploads();
|
EthoUploads = new Uploads();
|
||||||
|
|
||||||
|
|
||||||
$(document).on("render_uploads", function() {
|
function onFileUpload(event) {
|
||||||
|
event.preventDefault()
|
||||||
|
GlobalUploadSize = 0;
|
||||||
|
GlobalUploadSizeMB = 0;
|
||||||
|
document.getElementById("upload-hash").textContent = "ANALYZING UPLOAD DATA";
|
||||||
|
document.getElementById("upload-confirm-button").style.visibility = "hidden";
|
||||||
|
MainFileArray.push([]);
|
||||||
|
let dirSelected = event.target.files;
|
||||||
|
let dirName = dirSelected[0].name;
|
||||||
|
let dirPath = dirSelected[0].path;
|
||||||
|
var streamCompareCount = 0;
|
||||||
|
var totalUploadItems = 0;
|
||||||
|
readDirectoryContents(dirPath);
|
||||||
|
|
||||||
|
function readDirectoryContents(directory) {
|
||||||
|
console.log("Directory Path: " + directory);
|
||||||
|
fs.readdir(directory, function (err, filesUploaded) {
|
||||||
|
if (!err) {
|
||||||
|
for (let i = 0; filesUploaded.length > i; i++) {
|
||||||
|
handleItem(filesUploaded[i], directory);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
console.log("File Upload Error: " + err);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function handleItem(filename, relativePath) {
|
||||||
|
var filepath = relativePath.concat(pathSymbol, filename);
|
||||||
|
fs.stat(filepath, function (err, stats) {
|
||||||
|
if (!err) {
|
||||||
|
if (stats.isDirectory()) {
|
||||||
|
readDirectoryContents(filepath)
|
||||||
|
} else {
|
||||||
|
streamCompareCount++;
|
||||||
|
totalUploadItems++;
|
||||||
|
console.log("File Path: " + filepath);
|
||||||
|
fs.readFile(filepath, function (err, file) {
|
||||||
|
var updatedPath = filepath.replace(dirPath, dirName);
|
||||||
|
var filetowrite = {
|
||||||
|
path: updatedPath,
|
||||||
|
content: file
|
||||||
|
};
|
||||||
|
var filename = updatedPath;
|
||||||
|
MainFileArray[MainFileArray.length - 1].push(filetowrite);
|
||||||
|
GlobalUploadSize += Number(stats.size);
|
||||||
|
GlobalUploadSizeMB += Number(stats.size) / 1000000;
|
||||||
|
fileSize += Number(stats.size) / 1000000;
|
||||||
|
var totalUploadSizeMB = GlobalUploadSizeMB;
|
||||||
|
EthoUploads.appendFile(updatedPath, filename, stats.size, null);
|
||||||
|
console.log("Path: " + filepath + " Size: " + stats.size + " Total Size: " + GlobalUploadSize);
|
||||||
|
document.getElementById("upload-size").textContent = totalUploadSizeMB;
|
||||||
|
EthoUploads.contractDurationChange(document.getElementById('contract-duration'));
|
||||||
|
EthoUploads.updateAnalyzeProgress(((totalUploadItems - streamCompareCount) / totalUploadItems));
|
||||||
|
if (streamCompareCount == 0) {
|
||||||
|
document.getElementById("upload-hash").textContent = "READY FOR UPLOAD";
|
||||||
|
document.getElementById("upload-confirm-button").style.visibility = "visible";
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
console.log("File Stats Error: " + err);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function onDrop(event) {
|
||||||
|
console.log(event);
|
||||||
|
MainFileArray.push([]);
|
||||||
|
document.getElementById("upload-hash").textContent = "ANALYZING UPLOAD DATA";
|
||||||
|
document.getElementById("upload-confirm-button").style.visibility = "hidden";
|
||||||
|
fileSize = 0;
|
||||||
|
EthoUploads.resetProgress();
|
||||||
|
EthoUploads.onDragLeave()
|
||||||
|
event.preventDefault()
|
||||||
|
if (GlobalUploadHash != "" && GlobalUploadPath != "") {
|
||||||
|
GlobalMainHashArray.push(GlobalUploadHash);
|
||||||
|
GlobalMainPathArray.push(GlobalUploadPath);
|
||||||
|
}
|
||||||
|
const dt = event.dataTransfer
|
||||||
|
//const filesDropped = dt.files
|
||||||
|
const itemsDropped = dt.items
|
||||||
|
|
||||||
|
function readFileContents(file) {
|
||||||
|
return new Promise((resolve) => {
|
||||||
|
const reader = new window.FileReader()
|
||||||
|
reader.onload = (event) => resolve(event.target.result)
|
||||||
|
reader.readAsArrayBuffer(file)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
var totalItemCount = 0;
|
||||||
|
var streamCompareCount = 0;
|
||||||
|
|
||||||
|
function initialHandleItems(items) {
|
||||||
|
const files = [];
|
||||||
|
totalItemCount = items.length;
|
||||||
|
streamCompareCount = items.length;
|
||||||
|
for (var item of items) {
|
||||||
|
var awaitHandleEntry = handleEntry(item.webkitGetAsEntry());
|
||||||
|
}
|
||||||
|
|
||||||
|
function handleEntry(entry) {
|
||||||
|
if (entry.isFile) {
|
||||||
|
getFile(entry);
|
||||||
|
|
||||||
|
function getFile(entry) {
|
||||||
|
document.getElementById("upload-hash").textContent = "ANALYZING UPLOAD DATA";
|
||||||
|
document.getElementById("upload-confirm-button").style.visibility = "hidden";
|
||||||
|
entry.file(function (file) {
|
||||||
|
readFileContents(file)
|
||||||
|
.then((buffer) => {
|
||||||
|
var filePath = entry.fullPath;
|
||||||
|
var filetowrite = {
|
||||||
|
path: entry.fullPath,
|
||||||
|
content: Buffer.from(buffer)
|
||||||
|
};
|
||||||
|
MainFileArray[MainFileArray.length - 1].push(filetowrite);
|
||||||
|
GlobalUploadSize += Number(file.size);
|
||||||
|
fileSize += Number(file.size);
|
||||||
|
var totalUploadSizeMB = GlobalUploadSize / 1000000;
|
||||||
|
EthoUploads.appendFile(entry.fullPath, entry.name, file.size, null);
|
||||||
|
document.getElementById("upload-size").textContent = totalUploadSizeMB;
|
||||||
|
EthoUploads.contractDurationChange(document.getElementById('contract-duration'));
|
||||||
|
streamCompareCount--;
|
||||||
|
EthoUploads.updateAnalyzeProgress(((totalItemCount - streamCompareCount) / totalItemCount));
|
||||||
|
if (streamCompareCount == 0) {
|
||||||
|
document.getElementById("upload-hash").textContent = "READY FOR UPLOAD";
|
||||||
|
document.getElementById("upload-confirm-button").style.visibility = "visible";
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
} else if (entry.isDirectory) {
|
||||||
|
let directoryReader = entry.createReader();
|
||||||
|
directoryReader.readEntries(function (entries) {
|
||||||
|
streamCompareCount += entries.length - 1;
|
||||||
|
totalItemCount += entries.length - 1;
|
||||||
|
entries.forEach(function (newEntry) {
|
||||||
|
handleEntry(newEntry);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
initialHandleItems(event.dataTransfer.items);
|
||||||
|
}
|
||||||
|
|
||||||
|
$(document).on("render_uploads", function () {
|
||||||
$('#privatekeytable').hide();
|
$('#privatekeytable').hide();
|
||||||
$('#walletpasswordtable').hide();
|
$('#walletpasswordtable').hide();
|
||||||
|
|
||||||
if (isFullySynced) {
|
if (isFullySynced) {
|
||||||
(function($, _M) {
|
(function ($, _M) {
|
||||||
M.toast({
|
M.toast({
|
||||||
html: 'Node is fully synced and operational.',
|
html: 'Node is fully synced and operational.',
|
||||||
displayLength: 10000
|
displayLength: 10000
|
||||||
});
|
});
|
||||||
}(jQuery, M));
|
}(jQuery, M));
|
||||||
} else {
|
} else {
|
||||||
(function($, _M) {
|
(function ($, _M) {
|
||||||
M.toast({
|
M.toast({
|
||||||
html: 'Node is still syncing. Please do not attempt to use the wallet or ethoFS upload system.',
|
html: 'Node is still syncing. Please do not attempt to use the wallet or ethoFS upload system.',
|
||||||
displayLength: 10000
|
displayLength: 10000
|
||||||
@@ -1450,33 +1463,50 @@ $(document).on("render_uploads", function() {
|
|||||||
EthoUploads.beforeLoginState();
|
EthoUploads.beforeLoginState();
|
||||||
EthoUploads.checkExistingLogin(GlobalPrivateKey);
|
EthoUploads.checkExistingLogin(GlobalPrivateKey);
|
||||||
|
|
||||||
|
fetch('https://api.coinmarketcap.com/v2/ticker/3452/').then(response => {
|
||||||
|
return response.json();
|
||||||
|
}).then(data => {
|
||||||
|
var ethoPriceUSD = data.data.quotes.USD.price;
|
||||||
|
document.getElementById("ethoprice").textContent = EthoUploads.round(ethoPriceUSD, 4);
|
||||||
|
}).catch(err => {});
|
||||||
|
});
|
||||||
|
|
||||||
$(document).on("dragenter", "#drag-container", function(event) {
|
function getKeyStoreLocation() {
|
||||||
|
switch (os.type()) {
|
||||||
|
case "Darwin":
|
||||||
|
return path.join(os.homedir(), "Library", "Ether1");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return path.join(process.env.APPDATA, "Ether1");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$(document).on("dragenter", "#drag-container", function (event) {
|
||||||
EthoUploads.onDragEnter(event);
|
EthoUploads.onDragEnter(event);
|
||||||
});
|
});
|
||||||
|
|
||||||
$(document).on("dragover", "#drag-container", function(event) {
|
$(document).on("dragover", "#drag-container", function (event) {
|
||||||
EthoUploads.onDragEnter(event);
|
EthoUploads.onDragEnter(event);
|
||||||
});
|
});
|
||||||
|
|
||||||
$(document).on("drop", "#drag-container", function(event) {
|
$(document).on("drop", "#drag-container", function (event) {
|
||||||
EthoUploads.onDrop(event.originalEvent);
|
onDrop(event.originalEvent);
|
||||||
});
|
});
|
||||||
|
|
||||||
$(document).on("dragleave", "#drag-container", function(event) {
|
$(document).on("dragleave", "#drag-container", function (event) {
|
||||||
EthoUploads.onDragLeave(event);
|
EthoUploads.onDragLeave(event);
|
||||||
});
|
});
|
||||||
|
|
||||||
$(document).on("change", "#fileUploadButton", function(event) {
|
$(document).on("change", "#fileUploadButton", function (event) {
|
||||||
EthoUploads.onFileUpload(event);
|
onFileUpload(event);
|
||||||
});
|
});
|
||||||
|
|
||||||
$(document).on("click", "#main-login-button", function(event) {
|
$(document).on("click", "#main-login-button", function (event) {
|
||||||
GlobalPrivateKey = switchFlag;
|
GlobalPrivateKey = switchFlag;
|
||||||
EthoUploads.checkLogin();
|
EthoUploads.checkLogin();
|
||||||
|
|
||||||
$('#ethofsLoginModal').iziModal({
|
$('#ethofsLoginModal').iziModal({
|
||||||
onOpened: function() {
|
onOpened: function () {
|
||||||
console.log("Login Setup Opened ..");
|
console.log("Login Setup Opened ..");
|
||||||
var addressBook = EthoDatatabse.getWallets();
|
var addressBook = EthoDatatabse.getWallets();
|
||||||
console.log("Getting Address List...");
|
console.log("Getting Address List...");
|
||||||
@@ -1493,7 +1523,7 @@ $(document).on("render_uploads", function() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$("#sendFromAddress").on("change", function() {
|
$("#sendFromAddress").on("change", function () {
|
||||||
var optionText = $(this).find("option:selected").text();
|
var optionText = $(this).find("option:selected").text();
|
||||||
var optionTextValue = $(this).find("option:selected").val();
|
var optionTextValue = $(this).find("option:selected").val();
|
||||||
$("#sendFromAddressName").html(optionText.trim());
|
$("#sendFromAddressName").html(optionText.trim());
|
||||||
@@ -1514,12 +1544,12 @@ $(document).on("render_uploads", function() {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
onOpening: function(modal) {
|
onOpening: function (modal) {
|
||||||
console.log("Opening Login Setup..");
|
console.log("Opening Login Setup..");
|
||||||
$("#sendFromAddressValue").hide();
|
$("#sendFromAddressValue").hide();
|
||||||
$('#walletpasswordtable').hide();
|
$('#walletpasswordtable').hide();
|
||||||
$('#privatekeytable').hide();
|
$('#privatekeytable').hide();
|
||||||
(function($, _M) {
|
(function ($, _M) {
|
||||||
M.toast({
|
M.toast({
|
||||||
html: '<i class="small material-icons">warning </i> If your wallet has a default name e.g: Account 1, you will not be able to select it.',
|
html: '<i class="small material-icons">warning </i> If your wallet has a default name e.g: Account 1, you will not be able to select it.',
|
||||||
displayLength: 10000,
|
displayLength: 10000,
|
||||||
@@ -1529,9 +1559,9 @@ $(document).on("render_uploads", function() {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
$('#ethofsLoginModal').iziModal('open');
|
$('#ethofsLoginModal').iziModal('open');
|
||||||
});
|
});
|
||||||
|
|
||||||
$(document).on("click", "#ethofs-login-button", function(event) {
|
$(document).on("click", "#ethofs-login-button", function (event) {
|
||||||
if (privateKeyLogin == true) {
|
if (privateKeyLogin == true) {
|
||||||
GlobalPrivateKey = document.getElementById('privatekey').value;
|
GlobalPrivateKey = document.getElementById('privatekey').value;
|
||||||
console.log("Global Private Key: " + GlobalPrivateKey);
|
console.log("Global Private Key: " + GlobalPrivateKey);
|
||||||
@@ -1548,104 +1578,105 @@ $(document).on("render_uploads", function() {
|
|||||||
EthoUploads.ethofsLogin(GlobalPrivateKey);
|
EthoUploads.ethofsLogin(GlobalPrivateKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
$(document).on("click", "#main-upload-button", function(event) {
|
$(document).on("click", "#main-upload-button", function (event) {
|
||||||
$('#defaultModal').iziModal();
|
$('#defaultModal').iziModal();
|
||||||
$('#defaultModal').iziModal('open');
|
$('#defaultModal').iziModal('open');
|
||||||
EthoUploads.resetUploadProcess();
|
EthoUploads.resetUploadProcess();
|
||||||
});
|
});
|
||||||
|
|
||||||
$(document).on("click", "#defaultModal-close", function(event) {
|
$(document).on("click", "#defaultModal-close", function (event) {
|
||||||
$('#defaultModal').iziModal('close');
|
$('#defaultModal').iziModal('close');
|
||||||
EthoUploads.resetUploadSystem();
|
EthoUploads.resetUploadSystem();
|
||||||
|
EthoUploads.resetUploadProcess();
|
||||||
EthoUploads.resetUploadModal();
|
EthoUploads.resetUploadModal();
|
||||||
});
|
});
|
||||||
|
|
||||||
$(document).on("click", "#defaultModal-next", function(event) {
|
$(document).on("click", "#defaultModal-next", function (event) {
|
||||||
$('#defaultModal2').iziModal({
|
$('#defaultModal2').iziModal({
|
||||||
onOpening: function() {
|
onOpened: function () {
|
||||||
|
//EthoUploads.resetFileTable();
|
||||||
|
},
|
||||||
|
onOpening: function () {
|
||||||
EthoUploads.resetFileTable();
|
EthoUploads.resetFileTable();
|
||||||
|
},
|
||||||
|
onClosed: function () {
|
||||||
|
//document.getElementById("fileUploadButton").value = "";
|
||||||
|
},
|
||||||
|
onHide: function () {
|
||||||
|
//document.getElementById("fileUploadButton").value = "";
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#defaultModal2').iziModal('open');
|
$('#defaultModal2').iziModal('open');
|
||||||
$('#defaultModal').iziModal('close');
|
$('#defaultModal').iziModal('close');
|
||||||
EthoUploads.resetUploadProcess();
|
EthoUploads.resetUploadProcess();
|
||||||
});
|
});
|
||||||
|
|
||||||
$(document).on("click", "#defaultModal2-close", function(event) {
|
$(document).on("click", "#defaultModal2-close", function (event) {
|
||||||
$('#defaultModal2').iziModal('close');
|
$('#defaultModal2').iziModal('close');
|
||||||
EthoUploads.resetUploadSystem();
|
EthoUploads.resetUploadSystem();
|
||||||
|
EthoUploads.resetUploadProcess();
|
||||||
EthoUploads.resetUploadModal();
|
EthoUploads.resetUploadModal();
|
||||||
});
|
});
|
||||||
|
|
||||||
$(document).on("click", "#ethofs-registration-button", function(event) {
|
$(document).on("click", "#ethofs-registration-button", function (event) {
|
||||||
EthoUploads.AddNewUser(document.getElementById('username').value);
|
EthoUploads.AddNewUser(document.getElementById('username').value);
|
||||||
});
|
});
|
||||||
|
|
||||||
$(document).on("click", "#confirm-files-button", function(event) {
|
$(document).on("click", "#confirm-files-button", function (event) {
|
||||||
$('#defaultModal3').iziModal();
|
$('#defaultModal3').iziModal({
|
||||||
|
onClosed: function () {
|
||||||
|
document.getElementById("fileUploadButton").value = null;
|
||||||
|
},
|
||||||
|
onHidden: function () {
|
||||||
|
document.getElementById("fileUploadButton").value = null;
|
||||||
|
}
|
||||||
|
});
|
||||||
$('#defaultModal3').iziModal('open');
|
$('#defaultModal3').iziModal('open');
|
||||||
document.getElementById("contract-cost").innerHTML = EthoUploads.round(GlobalContractCost, 2);
|
document.getElementById("contract-cost").innerHTML = EthoUploads.round(GlobalContractCost, 2);
|
||||||
$('#defaultModal2').iziModal('close');
|
$('#defaultModal2').iziModal('close');
|
||||||
document.getElementById("upload-hash").textContent = "READY FOR UPLOAD";
|
document.getElementById("upload-hash").textContent = "READY FOR UPLOAD";
|
||||||
document.getElementById("upload-confirm-button").style.visibility = "visible";
|
document.getElementById("upload-confirm-button").style.visibility = "visible";
|
||||||
EthoUploads.resetUploadModal();
|
EthoUploads.resetUploadModal();
|
||||||
});
|
});
|
||||||
|
|
||||||
$(document).on("click", "#defaultModal3-close", function(event) {
|
$(document).on("click", "#defaultModal3-close", function (event) {
|
||||||
$('#defaultModal3').iziModal('close');
|
$('#defaultModal3').iziModal('close');
|
||||||
EthoUploads.resetUploadSystem();
|
EthoUploads.resetUploadSystem();
|
||||||
|
EthoUploads.resetUploadProcess();
|
||||||
EthoUploads.resetUploadModal();
|
EthoUploads.resetUploadModal();
|
||||||
});
|
});
|
||||||
|
|
||||||
$(document).on("click", "#upload-confirm-button", function(event) {
|
$(document).on("click", "#upload-confirm-button", function (event) {
|
||||||
$('#preparingUploadModal').iziModal();
|
$('#preparingUploadModal').iziModal();
|
||||||
$('#preparingUploadModal').iziModal('open');
|
$('#preparingUploadModal').iziModal('open');
|
||||||
$('#defaultModal3').iziModal('close');
|
$('#defaultModal3').iziModal('close');
|
||||||
EthoUploads.startUploadProcess();
|
EthoUploads.startUploadProcess();
|
||||||
});
|
|
||||||
|
|
||||||
$(document).on("click", "#tracker-close-button", function(event) {
|
|
||||||
EthoUploads.updateContractTable();
|
|
||||||
});
|
|
||||||
|
|
||||||
$(document).on("click", "#upload-check-button", function(event) {
|
|
||||||
EthoUploads.finishUploadModal();
|
|
||||||
});
|
|
||||||
|
|
||||||
$(document).on("click", "#contract-extension-button", function(event) {
|
|
||||||
EthoUploads.contractExtensionConfirmation();
|
|
||||||
});
|
|
||||||
|
|
||||||
$(document).on("click", "#reset-table-button", function(event) {
|
|
||||||
$("#contractDetailModal").iziModal("close");
|
|
||||||
EthoUploads.resetContractDetailTableRows();
|
|
||||||
});
|
|
||||||
|
|
||||||
$(document).on("change", "#contract-duration", function(event) {
|
|
||||||
EthoUploads.contractDurationChange(document.getElementById('contract-duration'));
|
|
||||||
});
|
|
||||||
|
|
||||||
$(document).on("change", "#extend-contract", function(event) {
|
|
||||||
EthoUploads.contractExtensionChange(document.getElementById('extend-contract'));
|
|
||||||
});
|
|
||||||
|
|
||||||
fetch('https://api.coinmarketcap.com/v2/ticker/3452/').then(response => {
|
|
||||||
return response.json();
|
|
||||||
}).then(data => {
|
|
||||||
var ethoPriceUSD = data.data.quotes.USD.price;
|
|
||||||
document.getElementById("ethoprice").textContent = EthoUploads.round(ethoPriceUSD, 4);
|
|
||||||
}).catch(err => {});
|
|
||||||
});
|
});
|
||||||
|
|
||||||
function getKeyStoreLocation() {
|
$(document).on("click", "#tracker-close-button", function (event) {
|
||||||
switch (os.type()) {
|
EthoUploads.updateContractTable();
|
||||||
case "Darwin":
|
});
|
||||||
return path.join(os.homedir(), "Library", "Ether1");
|
|
||||||
break;
|
$(document).on("click", "#upload-check-button", function (event) {
|
||||||
default:
|
EthoUploads.finishUploadModal();
|
||||||
return path.join(process.env.APPDATA, "Ether1");
|
});
|
||||||
}
|
|
||||||
}
|
$(document).on("click", "#contract-extension-button", function (event) {
|
||||||
|
EthoUploads.contractExtensionConfirmation();
|
||||||
|
});
|
||||||
|
|
||||||
|
$(document).on("click", "#reset-table-button", function (event) {
|
||||||
|
$("#contractDetailModal").iziModal("close");
|
||||||
|
EthoUploads.resetContractDetailTableRows();
|
||||||
|
});
|
||||||
|
|
||||||
|
$(document).on("change", "#contract-duration", function (event) {
|
||||||
|
EthoUploads.contractDurationChange(document.getElementById('contract-duration'));
|
||||||
|
});
|
||||||
|
|
||||||
|
$(document).on("change", "#extend-contract", function (event) {
|
||||||
|
EthoUploads.contractExtensionChange(document.getElementById('extend-contract'));
|
||||||
|
});
|
||||||
Reference in New Issue
Block a user