diff --git a/supernode/index.html b/supernode/index.html
index 88adc94..c36ddc1 100644
--- a/supernode/index.html
+++ b/supernode/index.html
@@ -36349,10 +36349,10 @@
`tradableAsset1=BTC,FLO,BTC_TEST,FLO_TEST#!#tradableAsset2=INR,USD,BTC,FLO,BTC_TEST,FLO_TEST,
#!#supernodes=127.0.0.1,212.88.88.2#!#MASTER_NODE=023B9F60692A17FAC805D012C5C8ADA3DD19A980A3C5F0D8A5B3500CC54D6E8B75
#!#MASTER_RECEIVING_ADDRESS=oVRq2nka1GtALQT8pbuLHAGjqAQ7PAo6uy#!#validTradingAmount=10000,50000,100000,#!#btcTradeMargin=5000
- #!#supernodesPubKeys=02B2D2F40EC5BC9D336BAF14017D629B3A96892D5E86095923A50A734E2364FB34,
+ #!#supernodesPubKeys=02598B9BDBC74C4364EB9EB2D0B2E70B27FF9B28B59F708F8C3B41B351C1DE2F8A,03998939E5E2F93A0648B16F481BE4A9299BCBF0CFAA7F25C716D9A5C80B20DFFC,
#!#externalFiles={"d3js":"58f54395efa8346e8e94d12609770f66b916897e7f4e05f6c98780cffa5c70a3"},
#!#ShamirsMaxShares=8#!#supernodeSeeds={"ranchimall1":{"ip":"ranchimall1.duckdns.org","port":"9002","kbucketId":"oJeYebjgWV4Hszj5oP7sfXcj1U98P5M6q4"},
- "ranchimall2":{"ip":"ranchimall1.duckdns.org","port":"9003","kbucketId":"oH47fmrVEbSDcoXJG28BQZ4kzUpD9VTM6U"}}`;
+ "ranchimall2":{"ip":"ranchimall1.duckdns.org","port":"9003","kbucketId":"ofo48uKuhoepiv6k7QbDgsPxrFUMipqmUh"}}`;
let floAssetsArray = RMAssets.split('#!#');
@@ -36570,11 +36570,18 @@
let currentNodeBucketId = localbitcoinplusplus.kademlia
.floIdToKbucketId("FLO_TEST", flo_addr);
- let nearestSupernode = KBucket.closest(currentNodeBucketId, 1);
+ let nearestSupernode = KBucket.closest(currentNodeBucketId);
+
+ let supernodeSeedsArray = Object.values(supernodeSeedsObj).map(seed=>seed.kbucketId);
+
+ nearestSupernodeAddressId = nearestSupernode
+ .filter(suSeed=>supernodeSeedsArray.includes(suSeed.data.id))
+ .filter(suSeed=>suSeed.data.id !== flo_addr)
+ .map(suSeed=>suSeed.data);
+
+ let nearestSupernodeAddress = Object.values(supernodeSeedsObj)
+ .filter(seed=>seed.kbucketId==nearestSupernodeAddressId[0].id)
- nearestSupernodeAddress = Object.values(supernodeSeedsObj).filter(seed=>
- nearestSupernode[0].data.id == seed.kbucketId);
-
seedContactArray.transport = {
host: nearestSupernodeAddress[0].ip,
port: nearestSupernodeAddress[0].port,
@@ -39495,8 +39502,7 @@
"Please Enter a valid FLO private key if you have any. Else leave blank."
);
- if (user_pvt_key.trim() == "" || user_pvt_key.length < 1) user_pvt_key =
- null;
+ if (user_pvt_key.trim() == "" || user_pvt_key.length < 1) user_pvt_key = null;
let newKeys = RM_WALLET.generateFloKeys(user_pvt_key);
if (typeof newKeys == 'object' && newKeys.privateKeyWIF.length > 0 &&
@@ -39842,14 +39848,22 @@
break;
case "send_back_shamirs_secret_supernode_pvtkey":
if (typeof res_obj.params == "object" && typeof res_obj.params[0] == "object") {
- readDB("supernode_private_key_chunks", res_obj.params[0].chunk_val).then(function (
- res) {
- let send_pvtkey_req = RM_RPC
+ readDB("supernode_private_key_chunks", res_obj.params[0].chunk_val)
+ .then(function (res) {
+ if (typeof res=="string") {
+ let send_pvtkey_req = RM_RPC
.send_rpc
.call(this, "retrieve_shamirs_secret_supernode_pvtkey", {
private_key_chunk: res
});
- doSend(send_pvtkey_req);
+ doSend(send_pvtkey_req);
+ return;
+ }
+ // Supernode does not have this user's private key shares. Request shares from others
+ let currentNodeBucketId = localbitcoinplusplus.kademlia
+ .floIdToKbucketId("FLO_TEST", flo_addr);
+ let nearestSupernode = KBucket.closest(currentNodeBucketId, 1);
+
});
}
break;
@@ -40763,8 +40777,7 @@
var rm_configs = localbitcoinplusplus.actions.fetch_configs(async function (...fetch_configs_res) {
showMessage(`Connecting to Supernode server. Please wait...`);
window.bitjs = []; // Launch bitjs
- localbitcoinplusplus.master_configurations.tradableAsset1.map(asset => bitjslib(
- asset));
+ localbitcoinplusplus.master_configurations.tradableAsset1.map(asset => bitjslib(asset));
kickInit();
});
} catch (error) {