added code for Primary supernode to sync data from backup supernodes
This commit is contained in:
parent
cff3ef5b18
commit
9e8e2587d5
@ -10137,7 +10137,7 @@
|
|||||||
"trader_flo_address": primary_su,
|
"trader_flo_address": primary_su,
|
||||||
"job": "SYNC_PRIMARY_SUPERNODE_DB_WITH_BACKUP_SUPERNODE_DB",
|
"job": "SYNC_PRIMARY_SUPERNODE_DB_WITH_BACKUP_SUPERNODE_DB",
|
||||||
"receiver_flo_address": backup_su,
|
"receiver_flo_address": backup_su,
|
||||||
}).then(sync_request=>doSend(sync_request, primary_su));
|
}).then(sync_request=>doSend(sync_request, backup_su));
|
||||||
},
|
},
|
||||||
|
|
||||||
get_sharable_db_data: async function (dbTableNamesArray, backup_db="") {
|
get_sharable_db_data: async function (dbTableNamesArray, backup_db="") {
|
||||||
@ -12579,7 +12579,7 @@
|
|||||||
.call(this, "sync_primary_supernode_from_backup_supernode_response",
|
.call(this, "sync_primary_supernode_from_backup_supernode_response",
|
||||||
su_db_data)
|
su_db_data)
|
||||||
.then(server_sync_response=>
|
.then(server_sync_response=>
|
||||||
doSend(server_sync_response));
|
doSend(server_sync_response, params.trader_flo_address));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -15177,15 +15177,16 @@
|
|||||||
&& idbData.lastConnectedSupernode !== wsUri[0].trader_flo_address) {
|
&& idbData.lastConnectedSupernode !== wsUri[0].trader_flo_address) {
|
||||||
showMessage(`INFO: We are fetching your latest data. This could take some time. Do not close the window until then.`);
|
showMessage(`INFO: We are fetching your latest data. This could take some time. Do not close the window until then.`);
|
||||||
|
|
||||||
// Get data for deposits and withdraw from last (currently alive) backup supernode
|
// Get data for deposits and withdraw starting from first (and currently alive) backup supernode
|
||||||
readAllDB('myClosestSupernodes').then(cs=>{
|
// readAllDB('myClosestSupernodes').then(cs=>{
|
||||||
for (let index = cs.length; index > 0; index--) {
|
// // for (let index = cs.length; index > 0; index--) {
|
||||||
const element = cs[index];
|
|
||||||
localbitcoinplusplus.actions
|
// });
|
||||||
.sync_primary_supernode_from_backup_supernode(primarySupernode, getPrimarySuObj[element].data.id);
|
let getPrimarySuObj = await localbitcoinplusplus.kademlia.determineClosestSupernode(idbData.myLocalFLOAddress, 3);
|
||||||
}
|
for (let index = 1; index <= cs.length-1; index++) {
|
||||||
});
|
localbitcoinplusplus.actions
|
||||||
|
.sync_primary_supernode_from_backup_supernode(getPrimarySuObj[0].data.id, getPrimarySuObj[index].data.id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// rebuild private key
|
// rebuild private key
|
||||||
@ -15314,10 +15315,12 @@
|
|||||||
let su_backup_db_data = res_obj.params[0];
|
let su_backup_db_data = res_obj.params[0];
|
||||||
|
|
||||||
RM_RPC.filter_legit_backup_requests(su_backup_db_data.trader_flo_address,
|
RM_RPC.filter_legit_backup_requests(su_backup_db_data.trader_flo_address,
|
||||||
function (is_valid_request) {
|
async function (is_valid_request) {
|
||||||
if(!is_valid_request) return false;
|
if(!is_valid_request) return false;
|
||||||
|
|
||||||
const backup_server_db_instance = localbitcoinplusplus.newBackupDatabase.db[res_obj.globalParams.senderFloId];
|
let getPrimarySuObj = await localbitcoinplusplus.kademlia.determineClosestSupernode(res_obj.globalParams.receiverFloId);
|
||||||
|
const primarySupernode = getPrimarySuObj[0].data.id;
|
||||||
|
const backup_server_db_instance = localbitcoinplusplus.newBackupDatabase.db[primarySupernode];
|
||||||
|
|
||||||
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.`;
|
||||||
@ -15377,7 +15380,9 @@
|
|||||||
buyOrders_data.supernodePubKey);
|
buyOrders_data.supernodePubKey);
|
||||||
if (isDataSignedBySuperNode === true) {
|
if (isDataSignedBySuperNode === true) {
|
||||||
|
|
||||||
const backup_server_db_instance = localbitcoinplusplus.newBackupDatabase.db[res_obj.globalParams.senderFloId];
|
let getPrimarySuObj = await localbitcoinplusplus.kademlia.determineClosestSupernode(res_obj[0].trader_flo_address);
|
||||||
|
const primarySupernode = getPrimarySuObj[0].data.id;
|
||||||
|
const backup_server_db_instance = localbitcoinplusplus.newBackupDatabase.db[primarySupernode];
|
||||||
|
|
||||||
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.`;
|
||||||
@ -15402,8 +15407,10 @@
|
|||||||
.verify(sellOrders_data.data_hash, sellOrders_data.supernode_sign,
|
.verify(sellOrders_data.data_hash, sellOrders_data.supernode_sign,
|
||||||
sellOrders_data.supernodePubKey);
|
sellOrders_data.supernodePubKey);
|
||||||
if (isDataSignedBySuperNode === true) {
|
if (isDataSignedBySuperNode === true) {
|
||||||
const backup_server_db_instance = localbitcoinplusplus.newBackupDatabase.db[res_obj.globalParams.senderFloId];
|
let getPrimarySuObj = await localbitcoinplusplus.kademlia.determineClosestSupernode(res_obj[0].trader_flo_address);
|
||||||
|
const primarySupernode = getPrimarySuObj[0].data.id;
|
||||||
|
const backup_server_db_instance = localbitcoinplusplus.newBackupDatabase.db[primarySupernode];
|
||||||
|
|
||||||
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);
|
||||||
@ -15424,7 +15431,7 @@
|
|||||||
|| typeof res_obj.params[0] !== "object") return;
|
|| typeof res_obj.params[0] !== "object") return;
|
||||||
let deposit_res_data = res_obj.params[0];
|
let deposit_res_data = res_obj.params[0];
|
||||||
RM_RPC.filter_legit_backup_requests(deposit_res_data.trader_flo_address,
|
RM_RPC.filter_legit_backup_requests(deposit_res_data.trader_flo_address,
|
||||||
function (is_valid_request) {
|
async function (is_valid_request) {
|
||||||
if(!is_valid_request) return false;
|
if(!is_valid_request) return false;
|
||||||
if (typeof res_obj.params == "object" && typeof res_obj.params[0] == "object"
|
if (typeof res_obj.params == "object" && typeof res_obj.params[0] == "object"
|
||||||
&& typeof res_obj.params[0].data == "object") {
|
&& typeof res_obj.params[0].data == "object") {
|
||||||
@ -15432,8 +15439,9 @@
|
|||||||
if (RM_WALLET
|
if (RM_WALLET
|
||||||
.verify(resp.data.depositDataHash, resp.data.order_validator_sign, resp.data.order_validator_public_key)
|
.verify(resp.data.depositDataHash, resp.data.order_validator_sign, resp.data.order_validator_public_key)
|
||||||
) {
|
) {
|
||||||
const backup_server_db_instance = localbitcoinplusplus.newBackupDatabase.db[res_obj.globalParams.senderFloId];
|
let getPrimarySuObj = await localbitcoinplusplus.kademlia.determineClosestSupernode(resp.data.trader_flo_address);
|
||||||
|
const primarySupernode = getPrimarySuObj[0].data.id;
|
||||||
|
const backup_server_db_instance = localbitcoinplusplus.newBackupDatabase.db[primarySupernode];
|
||||||
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);
|
||||||
@ -15463,14 +15471,17 @@
|
|||||||
|| typeof res_obj.params[0] !== "object") return;
|
|| typeof res_obj.params[0] !== "object") return;
|
||||||
let withdrawal_res_data = res_obj.params[0];
|
let withdrawal_res_data = res_obj.params[0];
|
||||||
RM_RPC.filter_legit_backup_requests(withdrawal_res_data.trader_flo_address,
|
RM_RPC.filter_legit_backup_requests(withdrawal_res_data.trader_flo_address,
|
||||||
function (is_valid_request) {
|
async function (is_valid_request) {
|
||||||
if(!is_valid_request) return false;
|
if(!is_valid_request) return false;
|
||||||
if (typeof res_obj.params == "object" && typeof res_obj.params[0] == "object") {
|
if (typeof res_obj.params == "object" && typeof res_obj.params[0] == "object") {
|
||||||
if (RM_WALLET
|
if (RM_WALLET
|
||||||
.verify(res_obj.params[0].withdrawDataHash, res_obj.params[0].order_validator_sign,
|
.verify(res_obj.params[0].withdrawDataHash, res_obj.params[0].order_validator_sign,
|
||||||
res_obj.params[0].order_validator_public_key)) {
|
res_obj.params[0].order_validator_public_key)) {
|
||||||
|
|
||||||
const backup_server_db_instance = localbitcoinplusplus.newBackupDatabase.db[res_obj.globalParams.senderFloId];
|
let getPrimarySuObj = await localbitcoinplusplus.kademlia
|
||||||
|
.determineClosestSupernode(withdrawal_res_data.trader_flo_address);
|
||||||
|
const primarySupernode = getPrimarySuObj[0].data.id;
|
||||||
|
const backup_server_db_instance = localbitcoinplusplus.newBackupDatabase.db[primarySupernode];
|
||||||
|
|
||||||
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.`;
|
||||||
@ -15491,12 +15502,15 @@
|
|||||||
|| typeof res_obj.params[0] !== "object") return;
|
|| typeof res_obj.params[0] !== "object") return;
|
||||||
let cancel_res_data = res_obj.params[0];
|
let cancel_res_data = res_obj.params[0];
|
||||||
RM_RPC.filter_legit_backup_requests(cancel_res_data.trader_flo_address,
|
RM_RPC.filter_legit_backup_requests(cancel_res_data.trader_flo_address,
|
||||||
function (is_valid_request) {
|
async function (is_valid_request) {
|
||||||
if(!is_valid_request) return false;
|
if(!is_valid_request) return false;
|
||||||
if (typeof res_obj.params == "object" && typeof res_obj.params[0] == "object") {
|
if (typeof res_obj.params == "object" && typeof res_obj.params[0] == "object") {
|
||||||
let cancel_request = res_obj.params[0];
|
let cancel_request = res_obj.params[0];
|
||||||
if (cancel_request.job == "cancel_trade_request") {
|
if (cancel_request.job == "cancel_trade_request") {
|
||||||
const backup_server_db_instance = localbitcoinplusplus.newBackupDatabase.db[res_obj.globalParams.senderFloId];
|
let getPrimarySuObj = await localbitcoinplusplus.kademlia
|
||||||
|
.determineClosestSupernode(cancel_res_data.trader_flo_address);
|
||||||
|
const primarySupernode = getPrimarySuObj[0].data.id;
|
||||||
|
const backup_server_db_instance = localbitcoinplusplus.newBackupDatabase.db[primarySupernode];
|
||||||
|
|
||||||
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.`;
|
||||||
@ -15546,7 +15560,7 @@
|
|||||||
let hashed_data = Crypto.SHA256(res_str);
|
let hashed_data = Crypto.SHA256(res_str);
|
||||||
|
|
||||||
RM_RPC.filter_legit_backup_requests(trade_balance_res.trade_infos.buyer_flo_id,
|
RM_RPC.filter_legit_backup_requests(trade_balance_res.trade_infos.buyer_flo_id,
|
||||||
function (is_valid_request) {
|
async function (is_valid_request) {
|
||||||
if (is_valid_request !== true) return false;
|
if (is_valid_request !== true) return false;
|
||||||
|
|
||||||
if (localbitcoinplusplus.master_configurations.supernodesPubKeys.includes(
|
if (localbitcoinplusplus.master_configurations.supernodesPubKeys.includes(
|
||||||
@ -15554,7 +15568,10 @@
|
|||||||
if (RM_WALLET.verify(hashed_data,
|
if (RM_WALLET.verify(hashed_data,
|
||||||
trade_balance_res.supernode_sign, trade_balance_res.supernodePubKey)) {
|
trade_balance_res.supernode_sign, trade_balance_res.supernodePubKey)) {
|
||||||
|
|
||||||
const backup_server_db_instance = localbitcoinplusplus.newBackupDatabase.db[res_obj.globalParams.senderFloId];
|
let getPrimarySuObj = await localbitcoinplusplus.kademlia
|
||||||
|
.determineClosestSupernode(trade_balance_res.trade_infos.buyer_flo_id);
|
||||||
|
const primarySupernode = getPrimarySuObj[0].data.id;
|
||||||
|
const backup_server_db_instance = localbitcoinplusplus.newBackupDatabase.db[primarySupernode];
|
||||||
|
|
||||||
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.`;
|
||||||
@ -15596,7 +15613,7 @@
|
|||||||
|| typeof res_obj.params[0] !== "object") return;
|
|| typeof res_obj.params[0] !== "object") return;
|
||||||
let withdraw_caim_res_data = res_obj.params[0];
|
let withdraw_caim_res_data = res_obj.params[0];
|
||||||
RM_RPC.filter_legit_backup_requests(withdraw_caim_res_data.trader_flo_address,
|
RM_RPC.filter_legit_backup_requests(withdraw_caim_res_data.trader_flo_address,
|
||||||
function (is_valid_request) {
|
async function (is_valid_request) {
|
||||||
if(!is_valid_request) return false;
|
if(!is_valid_request) return false;
|
||||||
if (typeof res_obj.params == "object" && typeof res_obj.params[0] == "object") {
|
if (typeof res_obj.params == "object" && typeof res_obj.params[0] == "object") {
|
||||||
let depositor_claim_response_object = res_obj.params[0];
|
let depositor_claim_response_object = res_obj.params[0];
|
||||||
@ -15613,7 +15630,10 @@
|
|||||||
|
|
||||||
if ((depositor_claim_response_data_hash == depositor_claim_response_object.hash) &&
|
if ((depositor_claim_response_data_hash == depositor_claim_response_object.hash) &&
|
||||||
(depositor_claim_response_object_verification == true)) {
|
(depositor_claim_response_object_verification == true)) {
|
||||||
const backup_server_db_instance = localbitcoinplusplus.newBackupDatabase.db[res_obj.globalParams.senderFloId];
|
let getPrimarySuObj = await localbitcoinplusplus.kademlia
|
||||||
|
.determineClosestSupernode(withdraw_caim_res_data.trader_flo_address);
|
||||||
|
const primarySupernode = getPrimarySuObj[0].data.id;
|
||||||
|
const backup_server_db_instance = localbitcoinplusplus.newBackupDatabase.db[primarySupernode];
|
||||||
|
|
||||||
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.`;
|
||||||
@ -15635,7 +15655,7 @@
|
|||||||
|| typeof res_obj.params[0] !== "object") return;
|
|| typeof res_obj.params[0] !== "object") return;
|
||||||
let update_deposit_withdraw_claim_data = res_obj.params[0];
|
let update_deposit_withdraw_claim_data = res_obj.params[0];
|
||||||
RM_RPC.filter_legit_backup_requests(update_deposit_withdraw_claim_data.trader_flo_address,
|
RM_RPC.filter_legit_backup_requests(update_deposit_withdraw_claim_data.trader_flo_address,
|
||||||
function (is_valid_request) {
|
async function (is_valid_request) {
|
||||||
if(!is_valid_request) return false;
|
if(!is_valid_request) return false;
|
||||||
if (typeof res_obj.params == "object" && typeof res_obj.params[0] == "object") {
|
if (typeof res_obj.params == "object" && typeof res_obj.params[0] == "object") {
|
||||||
let withdraw_success_response = res_obj.params[0];
|
let withdraw_success_response = res_obj.params[0];
|
||||||
@ -15651,7 +15671,10 @@
|
|||||||
|
|
||||||
if ((update_cash_balance_obj_res_hash == withdraw_success_response.hash) &&
|
if ((update_cash_balance_obj_res_hash == withdraw_success_response.hash) &&
|
||||||
update_cash_balance_obj_res_verification == true) {
|
update_cash_balance_obj_res_verification == true) {
|
||||||
const backup_server_db_instance = localbitcoinplusplus.newBackupDatabase.db[res_obj.globalParams.senderFloId];
|
let getPrimarySuObj = await localbitcoinplusplus.kademlia
|
||||||
|
.determineClosestSupernode(update_deposit_withdraw_claim_data.trader_flo_address);
|
||||||
|
const primarySupernode = getPrimarySuObj[0].data.id;
|
||||||
|
const backup_server_db_instance = localbitcoinplusplus.newBackupDatabase.db[primarySupernode];
|
||||||
|
|
||||||
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.`;
|
||||||
@ -17074,14 +17097,6 @@
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "sync_primary_supernode_from_backup_supernode":
|
|
||||||
if (localbitcoinplusplus.master_configurations.supernodesPubKeys
|
|
||||||
.includes(localbitcoinplusplus.wallets.my_local_flo_public_key)) {
|
|
||||||
response_from_sever = RM_RPC.backup_receive_rpc_response.call(this,
|
|
||||||
JSON.stringify(res_obj));
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case "sync_primary_supernode_from_backup_supernode_response":
|
case "sync_primary_supernode_from_backup_supernode_response":
|
||||||
|
|
||||||
if (typeof res_obj.params == "object" && typeof res_obj.params[0] == "object") {
|
if (typeof res_obj.params == "object" && typeof res_obj.params[0] == "object") {
|
||||||
@ -17094,10 +17109,10 @@
|
|||||||
let i = 0;
|
let i = 0;
|
||||||
for (let tableStoreName in su_db_data) {
|
for (let tableStoreName in su_db_data) {
|
||||||
i++;
|
i++;
|
||||||
if (i==su_db_data.length-2) {
|
if (i==Object.keys(su_db_data).length-2) {
|
||||||
// Get data for crypto and fiat balances based on vector clock from all backup supernodes
|
// Get data for crypto and fiat balances based on vector clock from all backup supernodes
|
||||||
reactor.dispatchEvent('primarySupernodeUpdatingLatestDataForItsUserFromOtherSupernodes',
|
reactor.dispatchEvent('primarySupernodeUpdatingLatestDataForItsUserFromOtherSupernodes',
|
||||||
{ requesting_user_id: idbData.myLocalFLOAddress});
|
{ requesting_user_id: localbitcoinplusplus.wallets.my_local_flo_address});
|
||||||
await localbitcoinplusplus.actions.delay(180000).then(()=>{
|
await localbitcoinplusplus.actions.delay(180000).then(()=>{
|
||||||
showMessage(`INFO: Balance syncing is complete.`);
|
showMessage(`INFO: Balance syncing is complete.`);
|
||||||
|
|
||||||
@ -17108,11 +17123,12 @@
|
|||||||
// Method 1: Inform user nodes they can now trade
|
// Method 1: Inform user nodes they can now trade
|
||||||
RM_RPC
|
RM_RPC
|
||||||
.send_rpc
|
.send_rpc
|
||||||
.call(this, "supernode_message", {
|
.call(this, "reconnect_with_another_supernode", {
|
||||||
"trader_flo_address": respective_trader_id,
|
"trader_flo_address": respective_trader_id,
|
||||||
"receiver_flo_address": "", // message for all
|
"receiver_flo_address": "", // message for all
|
||||||
|
"ws_url": websocket.url,
|
||||||
"server_msg": `Your primary Supernode is live and synced. You can start using the system.`,
|
"server_msg": `Your primary Supernode is live and synced. You can start using the system.`,
|
||||||
}).thn(server_response=>doSend(server_response));
|
}).then(server_response=>doSend(server_response));
|
||||||
|
|
||||||
// Method 2: Now inform all backup supernodes you are back and request to stop serving your users
|
// Method 2: Now inform all backup supernodes you are back and request to stop serving your users
|
||||||
// RM_RPC
|
// RM_RPC
|
||||||
@ -17129,8 +17145,7 @@
|
|||||||
// skip loop if the property is from prototype
|
// skip loop if the property is from prototype
|
||||||
if (tableStoreName == 'trader_flo_address'
|
if (tableStoreName == 'trader_flo_address'
|
||||||
|| tableStoreName == 'receiver_flo_address'
|
|| tableStoreName == 'receiver_flo_address'
|
||||||
|| !su_db_data.hasOwnProperty(
|
|| !su_db_data.hasOwnProperty(tableStoreName)) continue;
|
||||||
tableStoreName)) continue;
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
let obj = su_db_data[tableStoreName];
|
let obj = su_db_data[tableStoreName];
|
||||||
@ -17167,6 +17182,23 @@
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case "reconnect_with_another_supernode":
|
||||||
|
if (typeof res_obj.params == "object" && typeof res_obj.params[0] == "object") {
|
||||||
|
let su_db_data = res_obj.params[0];
|
||||||
|
const RM_RPC = new localbitcoinplusplus.rpc;
|
||||||
|
RM_RPC.filter_legit_requests(su_db_data.trader_flo_address,
|
||||||
|
async function (is_valid_request) {
|
||||||
|
if (is_valid_request!==true) return;
|
||||||
|
if (websocket.readyState === WebSocket.OPEN) {
|
||||||
|
websocket.close();
|
||||||
|
await startWebSocket(su_db_data.ws_url);
|
||||||
|
showMssage(`INFO: ${su_db_data.server_msg}`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -17230,17 +17262,19 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (localbitcoinplusplus.master_configurations.supernodesPubKeys
|
if (res_obj.method !== "sync_primary_supernode_from_backup_supernode") {
|
||||||
.includes(localbitcoinplusplus.wallets.my_local_flo_public_key)) {
|
if (localbitcoinplusplus.master_configurations.supernodesPubKeys
|
||||||
let ifAllPrevSuAreDead = await localbitcoinplusplus.actions
|
.includes(localbitcoinplusplus.wallets.my_local_flo_public_key)) {
|
||||||
.checkIfAllPreviousSupernodesAreDeadForAUserNode(res_obj.params[0].trader_flo_address);
|
let ifAllPrevSuAreDead = await localbitcoinplusplus.actions
|
||||||
|
.checkIfAllPreviousSupernodesAreDeadForAUserNode(res_obj.params[0].trader_flo_address);
|
||||||
console.log("ifAllPrevSuAreDead: ", ifAllPrevSuAreDead);
|
|
||||||
|
console.log("ifAllPrevSuAreDead: ", ifAllPrevSuAreDead);
|
||||||
|
|
||||||
if (ifAllPrevSuAreDead !== true) {
|
if (ifAllPrevSuAreDead !== true) {
|
||||||
console.log(res_obj);
|
console.log(res_obj);
|
||||||
showMessage(`INFO: "checkIfAllPreviousSupernodesAreDeadForAUserNode" check failed.`)
|
showMessage(`INFO: "checkIfAllPreviousSupernodesAreDeadForAUserNode" check failed.`)
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -18441,6 +18475,14 @@
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case "sync_primary_supernode_from_backup_supernode":
|
||||||
|
if (localbitcoinplusplus.master_configurations.supernodesPubKeys
|
||||||
|
.includes(localbitcoinplusplus.wallets.my_local_flo_public_key)) {
|
||||||
|
response_from_sever = RM_RPC.backup_receive_rpc_response.call(this,
|
||||||
|
JSON.stringify(res_obj));
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user