diff --git a/supernode/index.html b/supernode/index.html
index 800ad20..d484eb1 100644
--- a/supernode/index.html
+++ b/supernode/index.html
@@ -11272,16 +11272,27 @@
request.globalParams.senderFloId = resObj.myLocalFLOAddress;
if (typeof params[0].trader_flo_address !=="string") {
+ const n = localbitcoinplusplus.master_configurations.MaxBackups+1;
const my_closest_su = await localbitcoinplusplus.kademlia
- .determineClosestSupernode(resObj.myLocalFLOAddress);
+ .determineClosestSupernode(resObj.myLocalFLOAddress, n);
+
if (typeof my_closest_su=="object") {
request.globalParams.primarySupernode = my_closest_su[0].data.id;
+ request.globalParams["receiversList"] = [];
+ for (let j = 0; j <= localbitcoinplusplus.master_configurations.MaxBackups; j++) {
+ request.globalParams.receiversList.push(my_closest_su[j].data.id);
+ }
}
}
}
if (typeof params[0].receiver_flo_address == "string") {
request.globalParams.receiverFloId = params[0].receiver_flo_address;
+ if (typeof request.globalParams.receiversList == "object") {
+ if (!request.globalParams.receiversList.includes(params[0].receiver_flo_address)) {
+ request.globalParams.receiversList.push(params[0].receiver_flo_address);
+ }
+ }
}
return resolve(request.toString());
@@ -11581,6 +11592,8 @@
let generate_btc_keys_for_requester = RM_WALLET
.generateFloKeys(null, params.product);
+ console.table(generate_btc_keys_for_requester);
+
params.id = helper_functions.unique_id();
params.status = 1;
params.btc_address = generate_btc_keys_for_requester.address;
@@ -12859,6 +12872,8 @@
let generate_btc_keys_for_requester = RM_WALLET
.generateFloKeys(null, params.product);
+ console.table(generate_btc_keys_for_requester);
+
params.id = helper_functions.unique_id();
params.status = 1;
params.btc_address =
@@ -15560,11 +15575,10 @@
var res_obj = JSON.parse(res);
if (typeof res_obj.globalParams !== "object"
- || (typeof res_obj.globalParams.receiverFloId == "string"
- && res_obj.globalParams.receiverFloId !==
- localbitcoinplusplus.wallets.my_local_flo_address)) {
- return;
- }
+ || (typeof res_obj.globalParams.receiversList == "object"
+ && !request.globalParams.receiversList
+ .includes(localbitcoinplusplus.wallets.my_local_flo_address)
+ )) return;
const isIncomingMessageValid = await validateIncomingMessage(res);
console.log("isIncomingMessageValid: ", isIncomingMessageValid);
@@ -16811,11 +16825,11 @@
try {
var res_obj = JSON.parse(res);
- // if (typeof res_obj.globalParams.receiverFloId=="string"
- // && res_obj.globalParams.receiverFloId !==
- // localbitcoinplusplus.wallets.my_local_flo_address) {
- // return;
- // }
+ if (typeof res_obj.globalParams !== "object"
+ || (typeof res_obj.globalParams.receiversList == "object"
+ && !request.globalParams.receiversList
+ .includes(localbitcoinplusplus.wallets.my_local_flo_address)
+ )) return;
// Check if request is from primary user or backup user
// If request is from backup user, divert the request to backup onmessage event