fixed send_back_shamirs_secret_btc_pvtkey request in backup mode
This commit is contained in:
parent
b1868b020e
commit
36aa531052
341
index.html
341
index.html
@ -13440,9 +13440,7 @@
|
|||||||
reactor.registerEvent("primary_supernode_down");
|
reactor.registerEvent("primary_supernode_down");
|
||||||
reactor.registerEvent("backup_supernode_up");
|
reactor.registerEvent("backup_supernode_up");
|
||||||
reactor.registerEvent("backup_supernode_down");
|
reactor.registerEvent("backup_supernode_down");
|
||||||
reactor.registerEvent("fireNodeWelcomeBackEvent");
|
|
||||||
reactor.registerEvent("fireNodeGoodByeEvent");
|
reactor.registerEvent("fireNodeGoodByeEvent");
|
||||||
reactor.registerEvent("nodeIsAlive");
|
|
||||||
reactor.registerEvent("send_refresh_all_supernodes_status_request");
|
reactor.registerEvent("send_refresh_all_supernodes_status_request");
|
||||||
reactor.registerEvent("sync_primary_and_backup_db");
|
reactor.registerEvent("sync_primary_and_backup_db");
|
||||||
reactor.registerEvent("store_backup_crypto_pk_object");
|
reactor.registerEvent("store_backup_crypto_pk_object");
|
||||||
@ -13460,43 +13458,6 @@
|
|||||||
reactor.registerEvent("refresh_reserved_crypto_balances");
|
reactor.registerEvent("refresh_reserved_crypto_balances");
|
||||||
reactor.registerEvent("remove_temp_data_from_db");
|
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) {
|
reactor.addEventListener("new_supernode_connected", async function(evt) {
|
||||||
const switchMyWS = new backupSupernodesWebSocketObject();
|
const switchMyWS = new backupSupernodesWebSocketObject();
|
||||||
const connected_su_flo_id = await switchMyWS.getFloIdFromWSUrl(evt.srcElement.url);
|
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() {
|
reactor.addEventListener("send_refresh_all_supernodes_status_request", function() {
|
||||||
if(localbitcoinplusplus.running_ops_status.already_executing_send_refresh_all_supernodes_status_request) return false;
|
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;
|
localbitcoinplusplus.running_ops_status.already_executing_send_refresh_all_supernodes_status_request = true;
|
||||||
@ -21547,41 +21463,7 @@
|
|||||||
onMessage(response);
|
onMessage(response);
|
||||||
return;
|
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 you want to send Shamir shares from here write the req code below
|
||||||
if (res_obj.method == "send_back_shamirs_secret_btc_pvtkey") {
|
if (res_obj.method == "send_back_shamirs_secret_btc_pvtkey") {
|
||||||
console.log(res_obj);
|
console.log(res_obj);
|
||||||
@ -22053,8 +21935,6 @@
|
|||||||
"link_My_Local_IP_To_My_Flo_Id",
|
"link_My_Local_IP_To_My_Flo_Id",
|
||||||
"link_Others_Local_IP_To_Their_Flo_Id",
|
"link_Others_Local_IP_To_Their_Flo_Id",
|
||||||
"sync_data_by_vector_clock",
|
"sync_data_by_vector_clock",
|
||||||
"is_node_alive_request",
|
|
||||||
"yup_i_am_awake"
|
|
||||||
];
|
];
|
||||||
|
|
||||||
if (!byPassMethods.includes(res_obj.method)) {
|
if (!byPassMethods.includes(res_obj.method)) {
|
||||||
@ -22592,6 +22472,12 @@
|
|||||||
typeof res_obj.params == "object" &&
|
typeof res_obj.params == "object" &&
|
||||||
typeof res_obj.params[0] == "object"
|
typeof res_obj.params[0] == "object"
|
||||||
) {
|
) {
|
||||||
|
if (
|
||||||
|
typeof res_obj.nodePubKey != "string"
|
||||||
|
|| !localbitcoinplusplus.master_configurations.supernodesPubKeys
|
||||||
|
.includes(res_obj.nodePubKey)
|
||||||
|
) return;
|
||||||
|
|
||||||
readDB(
|
readDB(
|
||||||
"supernode_private_key_chunks",
|
"supernode_private_key_chunks",
|
||||||
res_obj.params[0].chunk_val
|
res_obj.params[0].chunk_val
|
||||||
@ -23118,14 +23004,7 @@
|
|||||||
id: helper_functions.unique_id(),
|
id: helper_functions.unique_id(),
|
||||||
flo_public_key: req_params.requesters_pub_key,
|
flo_public_key: req_params.requesters_pub_key,
|
||||||
temporary_ip: incoming_msg_local_ip
|
temporary_ip: incoming_msg_local_ip
|
||||||
})
|
}).then(() => {
|
||||||
.then(ipRes => {
|
|
||||||
reactor.dispatchEvent(
|
|
||||||
"fireNodeWelcomeBackEvent",
|
|
||||||
ipRes
|
|
||||||
);
|
|
||||||
})
|
|
||||||
.finally(() => {
|
|
||||||
linkBackOthersLocalIPToTheirFloId();
|
linkBackOthersLocalIPToTheirFloId();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -23151,8 +23030,6 @@
|
|||||||
id: helper_functions.unique_id(),
|
id: helper_functions.unique_id(),
|
||||||
flo_public_key: req_params.requesters_pub_key,
|
flo_public_key: req_params.requesters_pub_key,
|
||||||
temporary_ip: incoming_msg_local_ip
|
temporary_ip: incoming_msg_local_ip
|
||||||
}).then(ipRes => {
|
|
||||||
reactor.dispatchEvent("fireNodeWelcomeBackEvent", ipRes);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -23677,40 +23554,6 @@
|
|||||||
}
|
}
|
||||||
break;
|
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":
|
case "you_are_set_to_serve_given_supernode":
|
||||||
if (
|
if (
|
||||||
res_obj.method == "you_are_set_to_serve_given_supernode" &&
|
res_obj.method == "you_are_set_to_serve_given_supernode" &&
|
||||||
@ -23890,7 +23733,6 @@
|
|||||||
|
|
||||||
let allowed_methods = [
|
let allowed_methods = [
|
||||||
"sync_backup_supernode_from_backup_supernode_response",
|
"sync_backup_supernode_from_backup_supernode_response",
|
||||||
"yup_i_am_awake",
|
|
||||||
"updateUserBTCReservesRequest"
|
"updateUserBTCReservesRequest"
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -23923,8 +23765,6 @@
|
|||||||
"link_My_Local_IP_To_My_Flo_Id",
|
"link_My_Local_IP_To_My_Flo_Id",
|
||||||
"link_Others_Local_IP_To_Their_Flo_Id",
|
"link_Others_Local_IP_To_Their_Flo_Id",
|
||||||
"sync_data_by_vector_clock",
|
"sync_data_by_vector_clock",
|
||||||
"is_node_alive_request",
|
|
||||||
"yup_i_am_awake"
|
|
||||||
];
|
];
|
||||||
|
|
||||||
if (!byPassMethods.includes(res_obj.method)) {
|
if (!byPassMethods.includes(res_obj.method)) {
|
||||||
@ -24417,21 +24257,26 @@
|
|||||||
typeof res_obj.params == "object" &&
|
typeof res_obj.params == "object" &&
|
||||||
typeof res_obj.params[0] == "object"
|
typeof res_obj.params[0] == "object"
|
||||||
) {
|
) {
|
||||||
// if(typeof res_obj.params[0].trader_flo_address !="string") return;
|
if (
|
||||||
// localbitcoinplusplus.kademlia.determineClosestSupernode(res_obj.params[0].trader_flo_address)
|
typeof res_obj.params == "object" &&
|
||||||
// .then(my_closest_su_list=>{
|
typeof res_obj.params[0] == "object"
|
||||||
// const primarySupernodeOfThisUser = my_closest_su_list[0].data.id;
|
) {
|
||||||
// const backup_server_db_instance = localbitcoinplusplus.newBackupDatabase.db[primarySupernodeOfThisUser];
|
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") {
|
if(typeof backup_server_db_instance !== "object") {
|
||||||
// let backup_db_error_msg = `WARNING: Unknown DB instance. DB Backup failed.`;
|
let backup_db_error_msg = `WARNING: Unknown DB instance. DB Backup failed.`;
|
||||||
// showMessage(backup_db_error_msg);
|
showMessage(backup_db_error_msg);
|
||||||
// throw new Error(backup_db_error_msg);
|
throw new Error(backup_db_error_msg);
|
||||||
// };
|
};
|
||||||
|
|
||||||
// });
|
delete res_obj.params[0].trader_flo_address;
|
||||||
delete res_obj.params[0].trader_flo_address;
|
backup_server_db_instance.backup_addDB("supernode_private_key_chunks", res_obj.params[0]);
|
||||||
addDB("supernode_private_key_chunks", res_obj.params[0]);
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -24553,11 +24398,16 @@
|
|||||||
typeof res_obj.params[0] == "object"
|
typeof res_obj.params[0] == "object"
|
||||||
) {
|
) {
|
||||||
if (
|
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;
|
return;
|
||||||
|
|
||||||
readDB(
|
localbitcoinplusplus.newBackupDatabase.db[res_obj.params[0].db_inst]
|
||||||
|
.backup_readDB(
|
||||||
"supernode_private_key_chunks",
|
"supernode_private_key_chunks",
|
||||||
res_obj.params[0].chunk_val
|
res_obj.params[0].chunk_val
|
||||||
).then(function(res) {
|
).then(function(res) {
|
||||||
@ -25167,14 +25017,7 @@
|
|||||||
id: helper_functions.unique_id(),
|
id: helper_functions.unique_id(),
|
||||||
flo_public_key: req_params.requesters_pub_key,
|
flo_public_key: req_params.requesters_pub_key,
|
||||||
temporary_ip: incoming_msg_local_ip
|
temporary_ip: incoming_msg_local_ip
|
||||||
})
|
}).then(() => {
|
||||||
.then(ipRes => {
|
|
||||||
reactor.dispatchEvent(
|
|
||||||
"fireNodeWelcomeBackEvent",
|
|
||||||
ipRes
|
|
||||||
);
|
|
||||||
})
|
|
||||||
.finally(() => {
|
|
||||||
linkBackOthersLocalIPToTheirFloId();
|
linkBackOthersLocalIPToTheirFloId();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -25200,8 +25043,6 @@
|
|||||||
id: helper_functions.unique_id(),
|
id: helper_functions.unique_id(),
|
||||||
flo_public_key: req_params.requesters_pub_key,
|
flo_public_key: req_params.requesters_pub_key,
|
||||||
temporary_ip: incoming_msg_local_ip
|
temporary_ip: incoming_msg_local_ip
|
||||||
}).then(ipRes => {
|
|
||||||
reactor.dispatchEvent("fireNodeWelcomeBackEvent", ipRes);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -25586,40 +25427,6 @@
|
|||||||
}
|
}
|
||||||
break;
|
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":
|
case "reconnect_with_another_supernode":
|
||||||
if (
|
if (
|
||||||
typeof res_obj.params == "object" &&
|
typeof res_obj.params == "object" &&
|
||||||
@ -26597,14 +26404,7 @@
|
|||||||
id: helper_functions.unique_id(),
|
id: helper_functions.unique_id(),
|
||||||
flo_public_key: req_params.requesters_pub_key,
|
flo_public_key: req_params.requesters_pub_key,
|
||||||
temporary_ip: incoming_msg_local_ip
|
temporary_ip: incoming_msg_local_ip
|
||||||
})
|
}).then(() => {
|
||||||
.then(ipRes => {
|
|
||||||
reactor.dispatchEvent(
|
|
||||||
"fireNodeWelcomeBackEvent",
|
|
||||||
ipRes
|
|
||||||
);
|
|
||||||
})
|
|
||||||
.finally(() => {
|
|
||||||
linkBackOthersLocalIPToTheirFloId();
|
linkBackOthersLocalIPToTheirFloId();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -26629,8 +26429,6 @@
|
|||||||
id: helper_functions.unique_id(),
|
id: helper_functions.unique_id(),
|
||||||
flo_public_key: req_params.requesters_pub_key,
|
flo_public_key: req_params.requesters_pub_key,
|
||||||
temporary_ip: incoming_msg_local_ip
|
temporary_ip: incoming_msg_local_ip
|
||||||
}).then(ipRes => {
|
|
||||||
reactor.dispatchEvent("fireNodeWelcomeBackEvent", ipRes);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -26775,10 +26573,17 @@
|
|||||||
typeof res_obj.params == "object" &&
|
typeof res_obj.params == "object" &&
|
||||||
typeof res_obj.params[0] == "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;
|
return;
|
||||||
|
|
||||||
readDB(
|
localbitcoinplusplus.newBackupDatabase.db[res_obj.params[0].db_inst]
|
||||||
|
.backup_readDB(
|
||||||
"supernode_private_key_chunks",
|
"supernode_private_key_chunks",
|
||||||
res_obj.params[0].chunk_val
|
res_obj.params[0].chunk_val
|
||||||
).then(function(res) {
|
).then(function(res) {
|
||||||
@ -26802,9 +26607,27 @@
|
|||||||
typeof res_obj.params == "object" &&
|
typeof res_obj.params == "object" &&
|
||||||
typeof res_obj.params[0] == "object"
|
typeof res_obj.params[0] == "object"
|
||||||
) {
|
) {
|
||||||
delete res_obj.params[0].trader_flo_address;
|
if (
|
||||||
addDB("supernode_private_key_chunks", res_obj.params[0]);
|
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;
|
break;
|
||||||
|
|
||||||
case "retrieve_shamirs_secret_btc_pvtkey":
|
case "retrieve_shamirs_secret_btc_pvtkey":
|
||||||
@ -27510,40 +27333,6 @@
|
|||||||
}
|
}
|
||||||
break;
|
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":
|
case "store_backup_system_btc_reserves_private_keys":
|
||||||
if (
|
if (
|
||||||
typeof res_obj.params == "object" &&
|
typeof res_obj.params == "object" &&
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user