diff --git a/index.html b/index.html
index 0943042..b167efc 100644
--- a/index.html
+++ b/index.html
@@ -13440,9 +13440,7 @@
reactor.registerEvent("primary_supernode_down");
reactor.registerEvent("backup_supernode_up");
reactor.registerEvent("backup_supernode_down");
- reactor.registerEvent("fireNodeWelcomeBackEvent");
reactor.registerEvent("fireNodeGoodByeEvent");
- reactor.registerEvent("nodeIsAlive");
reactor.registerEvent("send_refresh_all_supernodes_status_request");
reactor.registerEvent("sync_primary_and_backup_db");
reactor.registerEvent("store_backup_crypto_pk_object");
@@ -13460,43 +13458,6 @@
reactor.registerEvent("refresh_reserved_crypto_balances");
reactor.registerEvent("remove_temp_data_from_db");
- reactor.addEventListener("fireNodeWelcomeBackEvent", function(evt) {
- let getFLOId = bitjs[localbitcoinplusplus.BASE_BLOCKCHAIN].pubkey2address(evt.flo_public_key);
-
- // ReadyState was 3 when this node disconnected. Re-initiate the
- // WS connection to be able to send/receive messages
- if (
- typeof localbitcoinplusplus.backupWS[getFLOId] == "object" &&
- localbitcoinplusplus.backupWS[getFLOId].ws_connection.readyState == 1
- ) {
- // Do nothing
- } else {
- reactor.dispatchEvent("resolve_backup_ws_connections");
- }
-
- if (
- localbitcoinplusplus.master_configurations.supernodesPubKeys.includes(
- evt.flo_public_key
- )
- ) {
- const switchMyWS = new backupSupernodesWebSocketObject();
- switchMyWS.updateSupernodeAvailabilityStatus(getFLOId, true);
- if (
- localbitcoinplusplus.master_configurations.supernodesPubKeys.includes(
- localbitcoinplusplus.wallets.my_local_flo_public_key
- )
- ) {
- if (
- typeof localbitcoinplusplus.wallets.my_local_flo_address ==
- "string" &&
- getFLOId !== localbitcoinplusplus.wallets.my_local_flo_address
- ) {
- localbitcoinplusplus.services[`can_serve_${getFLOId}`] = false;
- }
- }
- }
- });
-
reactor.addEventListener("new_supernode_connected", async function(evt) {
const switchMyWS = new backupSupernodesWebSocketObject();
const connected_su_flo_id = await switchMyWS.getFloIdFromWSUrl(evt.srcElement.url);
@@ -13739,51 +13700,6 @@
});
- reactor.addEventListener("nodeIsAlive", function(res_obj) {
- try {
- if (
- res_obj.params[0].JOB !== "ARE_YOU_ALIVE" &&
- res_obj.params[0].JOB !== "I_AM_ALIVE"
- )
- return;
- const params = res_obj.params[0];
- if (
- params.receiver_flo_address !==
- localbitcoinplusplus.wallets.my_local_flo_address
- ||
- localbitcoinplusplus.myClosestSupernodes[params.trader_flo_address].is_live
- === true
- )
- return;
-
- if (
- localbitcoinplusplus.master_configurations.supernodesPubKeys.includes(
- localbitcoinplusplus.wallets.my_local_flo_public_key
- )
- ) {
- const switchMyWS = new backupSupernodesWebSocketObject();
- switchMyWS.updateSupernodeAvailabilityStatus(
- params.trader_flo_address,
- true
- );
-
- // Resolve ws connections
- reactor.dispatchEvent("resolve_backup_ws_connections");
-
- if (
- params.trader_flo_address !==
- localbitcoinplusplus.wallets.my_local_flo_address
- ) {
- localbitcoinplusplus.services[
- `can_serve_${params.trader_flo_address}`
- ] = false;
- }
- }
- } catch (e) {
- console.warn(e);
- }
- });
-
reactor.addEventListener("send_refresh_all_supernodes_status_request", function() {
if(localbitcoinplusplus.running_ops_status.already_executing_send_refresh_all_supernodes_status_request) return false;
localbitcoinplusplus.running_ops_status.already_executing_send_refresh_all_supernodes_status_request = true;
@@ -21547,41 +21463,7 @@
onMessage(response);
return;
}
- if (
- res_obj.method === "is_node_alive_request" &&
- localbitcoinplusplus.master_configurations.supernodesPubKeys.includes(
- localbitcoinplusplus.wallets.my_local_flo_public_key
- ) &&
- res_obj.params[0].receiver_flo_address ==
- localbitcoinplusplus.wallets.my_local_flo_address
- ) {
- // Register his attendance
- reactor.dispatchEvent("nodeIsAlive", res_obj);
- // Send your live status to Sender
- const RM_RPC = new localbitcoinplusplus.rpc();
- RM_RPC.send_rpc
- .call(this, "yup_i_am_awake", {
- JOB: "I_AM_ALIVE",
- trader_flo_address:
- localbitcoinplusplus.wallets.my_local_flo_address,
- receiver_flo_address: res_obj.globalParams.senderFloId
- })
- .then(req => doSend(req));
- return;
- }
-
- if (
- res_obj.method == "yup_i_am_awake" &&
- localbitcoinplusplus.master_configurations.supernodesPubKeys.includes(
- localbitcoinplusplus.wallets.my_local_flo_public_key
- ) &&
- res_obj.params[0].receiver_flo_address ==
- localbitcoinplusplus.wallets.my_local_flo_address
- ) {
- reactor.dispatchEvent("nodeIsAlive", res_obj);
- return;
- }
-
+
// If you want to send Shamir shares from here write the req code below
if (res_obj.method == "send_back_shamirs_secret_btc_pvtkey") {
console.log(res_obj);
@@ -22053,8 +21935,6 @@
"link_My_Local_IP_To_My_Flo_Id",
"link_Others_Local_IP_To_Their_Flo_Id",
"sync_data_by_vector_clock",
- "is_node_alive_request",
- "yup_i_am_awake"
];
if (!byPassMethods.includes(res_obj.method)) {
@@ -22592,6 +22472,12 @@
typeof res_obj.params == "object" &&
typeof res_obj.params[0] == "object"
) {
+ if (
+ typeof res_obj.nodePubKey != "string"
+ || !localbitcoinplusplus.master_configurations.supernodesPubKeys
+ .includes(res_obj.nodePubKey)
+ ) return;
+
readDB(
"supernode_private_key_chunks",
res_obj.params[0].chunk_val
@@ -23118,14 +23004,7 @@
id: helper_functions.unique_id(),
flo_public_key: req_params.requesters_pub_key,
temporary_ip: incoming_msg_local_ip
- })
- .then(ipRes => {
- reactor.dispatchEvent(
- "fireNodeWelcomeBackEvent",
- ipRes
- );
- })
- .finally(() => {
+ }).then(() => {
linkBackOthersLocalIPToTheirFloId();
});
}
@@ -23151,8 +23030,6 @@
id: helper_functions.unique_id(),
flo_public_key: req_params.requesters_pub_key,
temporary_ip: incoming_msg_local_ip
- }).then(ipRes => {
- reactor.dispatchEvent("fireNodeWelcomeBackEvent", ipRes);
});
}
break;
@@ -23677,40 +23554,6 @@
}
break;
- case "is_node_alive_request":
- if (
- localbitcoinplusplus.master_configurations.supernodesPubKeys.includes(
- localbitcoinplusplus.wallets.my_local_flo_public_key
- )
- ) {
- reactor.dispatchEvent("nodeIsAlive", res_obj);
- // Send your live status to Sender
- const RM_RPC = new localbitcoinplusplus.rpc();
- RM_RPC.send_rpc
- .call(this, "yup_i_am_awake", {
- JOB: "I_AM_ALIVE",
- trader_flo_address:
- localbitcoinplusplus.wallets.my_local_flo_address,
- receiver_flo_address: res_obj.globalParams.senderFloId
- })
- .then(req => doSend(req));
- }
- break;
-
- case "yup_i_am_awake":
- if (
- res_obj.method == "yup_i_am_awake" &&
- localbitcoinplusplus.master_configurations.supernodesPubKeys.includes(
- localbitcoinplusplus.wallets.my_local_flo_public_key
- ) &&
- res_obj.params[0].receiver_flo_address ==
- localbitcoinplusplus.wallets.my_local_flo_address
- ) {
- reactor.dispatchEvent("nodeIsAlive", res_obj);
- return;
- }
- break;
-
case "you_are_set_to_serve_given_supernode":
if (
res_obj.method == "you_are_set_to_serve_given_supernode" &&
@@ -23890,7 +23733,6 @@
let allowed_methods = [
"sync_backup_supernode_from_backup_supernode_response",
- "yup_i_am_awake",
"updateUserBTCReservesRequest"
];
@@ -23923,8 +23765,6 @@
"link_My_Local_IP_To_My_Flo_Id",
"link_Others_Local_IP_To_Their_Flo_Id",
"sync_data_by_vector_clock",
- "is_node_alive_request",
- "yup_i_am_awake"
];
if (!byPassMethods.includes(res_obj.method)) {
@@ -24417,21 +24257,26 @@
typeof res_obj.params == "object" &&
typeof res_obj.params[0] == "object"
) {
- // if(typeof res_obj.params[0].trader_flo_address !="string") return;
- // localbitcoinplusplus.kademlia.determineClosestSupernode(res_obj.params[0].trader_flo_address)
- // .then(my_closest_su_list=>{
- // const primarySupernodeOfThisUser = my_closest_su_list[0].data.id;
- // const backup_server_db_instance = localbitcoinplusplus.newBackupDatabase.db[primarySupernodeOfThisUser];
+ if (
+ typeof res_obj.params == "object" &&
+ typeof res_obj.params[0] == "object"
+ ) {
+ if(typeof res_obj.params[0].trader_flo_address !="string") return;
+ localbitcoinplusplus.kademlia.determineClosestSupernode(res_obj.params[0].trader_flo_address)
+ .then(my_closest_su_list=>{
+ const primarySupernodeOfThisUser = my_closest_su_list[0].data.id;
+ const backup_server_db_instance = localbitcoinplusplus.newBackupDatabase.db[primarySupernodeOfThisUser];
- // if(typeof backup_server_db_instance !== "object") {
- // let backup_db_error_msg = `WARNING: Unknown DB instance. DB Backup failed.`;
- // showMessage(backup_db_error_msg);
- // throw new Error(backup_db_error_msg);
- // };
+ if(typeof backup_server_db_instance !== "object") {
+ let backup_db_error_msg = `WARNING: Unknown DB instance. DB Backup failed.`;
+ showMessage(backup_db_error_msg);
+ throw new Error(backup_db_error_msg);
+ };
- // });
- delete res_obj.params[0].trader_flo_address;
- addDB("supernode_private_key_chunks", res_obj.params[0]);
+ delete res_obj.params[0].trader_flo_address;
+ backup_server_db_instance.backup_addDB("supernode_private_key_chunks", res_obj.params[0]);
+ });
+ }
}
}
break;
@@ -24553,11 +24398,16 @@
typeof res_obj.params[0] == "object"
) {
if (
- typeof res_obj.globalParams.primarySupernode != "string"
+ typeof res_obj.nodePubKey != "string"
+ || !localbitcoinplusplus.master_configurations.supernodesPubKeys
+ .includes(res_obj.nodePubKey)
+ || typeof localbitcoinplusplus.newBackupDatabase.db[res_obj.params[0].db_inst]
+ !== "object"
)
return;
- readDB(
+ localbitcoinplusplus.newBackupDatabase.db[res_obj.params[0].db_inst]
+ .backup_readDB(
"supernode_private_key_chunks",
res_obj.params[0].chunk_val
).then(function(res) {
@@ -25167,14 +25017,7 @@
id: helper_functions.unique_id(),
flo_public_key: req_params.requesters_pub_key,
temporary_ip: incoming_msg_local_ip
- })
- .then(ipRes => {
- reactor.dispatchEvent(
- "fireNodeWelcomeBackEvent",
- ipRes
- );
- })
- .finally(() => {
+ }).then(() => {
linkBackOthersLocalIPToTheirFloId();
});
}
@@ -25200,8 +25043,6 @@
id: helper_functions.unique_id(),
flo_public_key: req_params.requesters_pub_key,
temporary_ip: incoming_msg_local_ip
- }).then(ipRes => {
- reactor.dispatchEvent("fireNodeWelcomeBackEvent", ipRes);
});
}
break;
@@ -25586,40 +25427,6 @@
}
break;
- case "is_node_alive_request":
- if (
- localbitcoinplusplus.master_configurations.supernodesPubKeys.includes(
- localbitcoinplusplus.wallets.my_local_flo_public_key
- )
- ) {
- reactor.dispatchEvent("nodeIsAlive", res_obj);
- // Send your live status to Sender
- const RM_RPC = new localbitcoinplusplus.rpc();
- RM_RPC.send_rpc
- .call(this, "yup_i_am_awake", {
- JOB: "I_AM_ALIVE",
- trader_flo_address:
- localbitcoinplusplus.wallets.my_local_flo_address,
- receiver_flo_address: res_obj.globalParams.senderFloId
- })
- .then(req => doSend(req));
- }
- break;
-
- case "yup_i_am_awake":
- if (
- res_obj.method == "yup_i_am_awake" &&
- localbitcoinplusplus.master_configurations.supernodesPubKeys.includes(
- localbitcoinplusplus.wallets.my_local_flo_public_key
- ) &&
- res_obj.params[0].receiver_flo_address ==
- localbitcoinplusplus.wallets.my_local_flo_address
- ) {
- reactor.dispatchEvent("nodeIsAlive", res_obj);
- return;
- }
- break;
-
case "reconnect_with_another_supernode":
if (
typeof res_obj.params == "object" &&
@@ -26597,14 +26404,7 @@
id: helper_functions.unique_id(),
flo_public_key: req_params.requesters_pub_key,
temporary_ip: incoming_msg_local_ip
- })
- .then(ipRes => {
- reactor.dispatchEvent(
- "fireNodeWelcomeBackEvent",
- ipRes
- );
- })
- .finally(() => {
+ }).then(() => {
linkBackOthersLocalIPToTheirFloId();
});
}
@@ -26629,8 +26429,6 @@
id: helper_functions.unique_id(),
flo_public_key: req_params.requesters_pub_key,
temporary_ip: incoming_msg_local_ip
- }).then(ipRes => {
- reactor.dispatchEvent("fireNodeWelcomeBackEvent", ipRes);
});
}
break;
@@ -26775,10 +26573,17 @@
typeof res_obj.params == "object" &&
typeof res_obj.params[0] == "object"
) {
- if (typeof res_obj.globalParams.senderFloId != "string")
+ if (
+ typeof res_obj.nodePubKey != "string"
+ || !localbitcoinplusplus.master_configurations.supernodesPubKeys
+ .includes(res_obj.nodePubKey)
+ || typeof localbitcoinplusplus.newBackupDatabase.db[res_obj.params[0].db_inst]
+ !== "object"
+ )
return;
- readDB(
+ localbitcoinplusplus.newBackupDatabase.db[res_obj.params[0].db_inst]
+ .backup_readDB(
"supernode_private_key_chunks",
res_obj.params[0].chunk_val
).then(function(res) {
@@ -26802,9 +26607,27 @@
typeof res_obj.params == "object" &&
typeof res_obj.params[0] == "object"
) {
- delete res_obj.params[0].trader_flo_address;
- addDB("supernode_private_key_chunks", res_obj.params[0]);
- }
+ if (
+ typeof res_obj.params == "object" &&
+ typeof res_obj.params[0] == "object"
+ ) {
+ if(typeof res_obj.params[0].trader_flo_address !="string") return;
+ localbitcoinplusplus.kademlia.determineClosestSupernode(res_obj.params[0].trader_flo_address)
+ .then(my_closest_su_list=>{
+ const primarySupernodeOfThisUser = my_closest_su_list[0].data.id;
+ const backup_server_db_instance = localbitcoinplusplus.newBackupDatabase.db[primarySupernodeOfThisUser];
+
+ if(typeof backup_server_db_instance !== "object") {
+ let backup_db_error_msg = `WARNING: Unknown DB instance. DB Backup failed.`;
+ showMessage(backup_db_error_msg);
+ throw new Error(backup_db_error_msg);
+ };
+
+ delete res_obj.params[0].trader_flo_address;
+ backup_server_db_instance.backup_addDB("supernode_private_key_chunks", res_obj.params[0]);
+ });
+ }
+ }
break;
case "retrieve_shamirs_secret_btc_pvtkey":
@@ -27510,40 +27333,6 @@
}
break;
- case "is_node_alive_request":
- if (
- localbitcoinplusplus.master_configurations.supernodesPubKeys.includes(
- localbitcoinplusplus.wallets.my_local_flo_public_key
- )
- ) {
- reactor.dispatchEvent("nodeIsAlive", res_obj);
- // Send your live status to Sender
- const RM_RPC = new localbitcoinplusplus.rpc();
- RM_RPC.send_rpc
- .call(this, "yup_i_am_awake", {
- JOB: "I_AM_ALIVE",
- trader_flo_address:
- localbitcoinplusplus.wallets.my_local_flo_address,
- receiver_flo_address: res_obj.globalParams.senderFloId
- })
- .then(req => doSend(req));
- }
- break;
-
- case "yup_i_am_awake":
- if (
- res_obj.method == "yup_i_am_awake" &&
- localbitcoinplusplus.master_configurations.supernodesPubKeys.includes(
- localbitcoinplusplus.wallets.my_local_flo_public_key
- ) &&
- res_obj.params[0].receiver_flo_address ==
- localbitcoinplusplus.wallets.my_local_flo_address
- ) {
- reactor.dispatchEvent("nodeIsAlive", res_obj);
- return;
- }
- break;
-
case "store_backup_system_btc_reserves_private_keys":
if (
typeof res_obj.params == "object" &&