fixed doSend function

This commit is contained in:
Abhishek Sinha 2019-05-19 19:52:57 +05:30
parent cb00785ab6
commit 28f8aeabf2

View File

@ -10072,24 +10072,39 @@
`masterFLOPubKey=029EF7838D4D103E62262394B5417E8ABFD75539D19E61CA5FD0C2051B69B29910
#!#tradableAsset1=BTC,FLO,BTC_TEST,FLO_TEST#!#tradableAsset2=INR,USD,BTC,FLO,BTC_TEST,FLO_TEST,
#!#validTradingAmount=10000,50000,100000,#!#btcTradeMargin=5000
#!#MaxBackups=3
#!#MaxBackups=2
#!#supernodesPubKeys=0315C3A20FE7096CC2E0F81A80D5F1A687B8F9EFA65242A0B0881E1BA3EE7D7D53,
03F7493F11B8E44B9798CD434D20FBE7FA34B9779D144984889D11A17C56A18742,039B4AA00DBFC0A6631DE6DA83526611A0E6B857D3579DF840BBDEAE8B6898E3B6,
03C8E3836C9A77E2AF03D4265D034BA85732738919708EAF6A16382195AE796EDF,0349B08AA1ABDCFFB6D78CD7C949665AD2FF065EA02B3C6C47A5E9592C9A1C6BCB,
026FCC6CFF6EB3A39E54BEB6E13FC2F02C3A93F4767AA80E49E7E876443F95AE5F,029CDB29270DC5087EF4903E8C2364552C62E935FBAA1A96AB53CC5791C7EF2067,
022EC1D090960D9EFFFC60FDC34AB97A8395A5F6D1326DD1B1380BD9F6E31981CA,037C623A8D31DB751F666A1D2C65EC8996C5978348CEEE8566F480708D4A6335AB,
032871A74D2DDA9D0DE7135F58B5BD2D7F679D2CCA20EA7909466D1A6912DF4022
03C8E3836C9A77E2AF03D4265D034BA85732738919708EAF6A16382195AE796EDF
#!#externalFiles={"d3js":"58f54395efa8346e8e94d12609770f66b916897e7f4e05f6c98780cffa5c70a3"},
#!#ShamirsMaxShares=8#!#supernodeSeeds={"ranchimall1":{"ip":"127.0.0.1","port":"9001","kbucketId":"oZxHcbSf1JC8t5GjutopWYXs7C6Fe9p7ps"},
"ranchimall2":{"ip":"127.0.0.1","port":"9002","kbucketId":"oTWjPupy3Z7uMdPcu5uXd521HBkcsLuSuM"},
"ranchimall3":{"ip":"127.0.0.1","port":"9003","kbucketId":"odYA6KagmbokSh9GY7yAfeTUZRtZLwecY1"},
"ranchimall4":{"ip":"127.0.0.1","port":"9004","kbucketId":"oJosrve9dBv2Hj2bfncxv2oEpTysg3Wejv"},
"ranchimall5":{"ip":"127.0.0.1","port":"9005","kbucketId":"oMhv5sAzqg77sYHxmUGZWKRrVo4P4JQduS"},
"ranchimall6":{"ip":"127.0.0.1","port":"9006","kbucketId":"oV1wCeWca3VawbBTfUGKA7Vd368PATnKAx"},
"ranchimall7":{"ip":"127.0.0.1","port":"9007","kbucketId":"oSqFZePXibNJqeiboTYmmaqqVkd6esDUfZ"},
"ranchimall8":{"ip":"127.0.0.1","port":"9008","kbucketId":"odUQekfMPsZV3ocneFW8SNSZADFtx9xUtm"},
"ranchimall9":{"ip":"127.0.0.1","port":"9009","kbucketId":"oLYeoBfXWxKkUmRxhn1pcmJWtTu5kZoUJq"},
"ranchimall10":{"ip":"127.0.0.1","port":"9010","kbucketId":"oJJe8wkADkCT28BMLkyf79fqBZeoF21cXL"}}`;
"ranchimall4":{"ip":"127.0.0.1","port":"9004","kbucketId":"oJosrve9dBv2Hj2bfncxv2oEpTysg3Wejv"}}`;
// RMAssets =
// `masterFLOPubKey=029EF7838D4D103E62262394B5417E8ABFD75539D19E61CA5FD0C2051B69B29910
// #!#tradableAsset1=BTC,FLO,BTC_TEST,FLO_TEST#!#tradableAsset2=INR,USD,BTC,FLO,BTC_TEST,FLO_TEST,
// #!#validTradingAmount=10000,50000,100000,#!#btcTradeMargin=5000
// #!#MaxBackups=2
// #!#supernodesPubKeys=0315C3A20FE7096CC2E0F81A80D5F1A687B8F9EFA65242A0B0881E1BA3EE7D7D53,
// 03F7493F11B8E44B9798CD434D20FBE7FA34B9779D144984889D11A17C56A18742,039B4AA00DBFC0A6631DE6DA83526611A0E6B857D3579DF840BBDEAE8B6898E3B6,
// 03C8E3836C9A77E2AF03D4265D034BA85732738919708EAF6A16382195AE796EDF,0349B08AA1ABDCFFB6D78CD7C949665AD2FF065EA02B3C6C47A5E9592C9A1C6BCB,
// 026FCC6CFF6EB3A39E54BEB6E13FC2F02C3A93F4767AA80E49E7E876443F95AE5F,029CDB29270DC5087EF4903E8C2364552C62E935FBAA1A96AB53CC5791C7EF2067,
// 022EC1D090960D9EFFFC60FDC34AB97A8395A5F6D1326DD1B1380BD9F6E31981CA,037C623A8D31DB751F666A1D2C65EC8996C5978348CEEE8566F480708D4A6335AB,
// 032871A74D2DDA9D0DE7135F58B5BD2D7F679D2CCA20EA7909466D1A6912DF4022
// #!#externalFiles={"d3js":"58f54395efa8346e8e94d12609770f66b916897e7f4e05f6c98780cffa5c70a3"},
// #!#ShamirsMaxShares=8#!#supernodeSeeds={"ranchimall1":{"ip":"127.0.0.1","port":"9001","kbucketId":"oZxHcbSf1JC8t5GjutopWYXs7C6Fe9p7ps"},
// "ranchimall2":{"ip":"127.0.0.1","port":"9002","kbucketId":"oTWjPupy3Z7uMdPcu5uXd521HBkcsLuSuM"},
// "ranchimall3":{"ip":"127.0.0.1","port":"9003","kbucketId":"odYA6KagmbokSh9GY7yAfeTUZRtZLwecY1"},
// "ranchimall4":{"ip":"127.0.0.1","port":"9004","kbucketId":"oJosrve9dBv2Hj2bfncxv2oEpTysg3Wejv"},
// "ranchimall5":{"ip":"127.0.0.1","port":"9005","kbucketId":"oMhv5sAzqg77sYHxmUGZWKRrVo4P4JQduS"},
// "ranchimall6":{"ip":"127.0.0.1","port":"9006","kbucketId":"oV1wCeWca3VawbBTfUGKA7Vd368PATnKAx"},
// "ranchimall7":{"ip":"127.0.0.1","port":"9007","kbucketId":"oSqFZePXibNJqeiboTYmmaqqVkd6esDUfZ"},
// "ranchimall8":{"ip":"127.0.0.1","port":"9008","kbucketId":"odUQekfMPsZV3ocneFW8SNSZADFtx9xUtm"},
// "ranchimall9":{"ip":"127.0.0.1","port":"9009","kbucketId":"oLYeoBfXWxKkUmRxhn1pcmJWtTu5kZoUJq"},
// "ranchimall10":{"ip":"127.0.0.1","port":"9010","kbucketId":"oJJe8wkADkCT28BMLkyf79fqBZeoF21cXL"}}`;
// RMAssets =
// `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
@ -10305,7 +10320,8 @@
const primarySuFloId = s_id[0].data.id;
let getSupernodeClosestSuObj = await localbitcoinplusplus.kademlia
.determineClosestSupernode("", 3, supernodeKBucket, primarySuFloId);
.determineClosestSupernode("", localbitcoinplusplus.master_configurations.MaxBackups,
supernodeKBucket, primarySuFloId);
let promises = [];
let leaving_supernode_flo_id = "";
@ -15205,7 +15221,7 @@
if (localbitcoinplusplus.master_configurations.supernodesPubKeys.includes(idbData.myLocalFLOPublicKey)) {
const getClosestSuList = await readAllDB('myClosestSupernodes');
if (wsUri[0].trader_flo_address !== idbData.myLocalFLOAddress || getClosestSuList.length < 3) {
if (wsUri[0].trader_flo_address !== idbData.myLocalFLOAddress || getClosestSuList.length < localbitcoinplusplus.master_configurations.MaxBackups) {
showMessage(`INFO: Invalid connection. Refreshing the closest supernode list in DB.`);
wsUri = await localbitcoinplusplus.kademlia.updateClosestSupernodeSeeds(idbData.myLocalFLOAddress);
}
@ -15340,6 +15356,10 @@
var res_obj = JSON.parse(res);
// Only supernodes are allowed to go below
if (!localbitcoinplusplus.master_configurations.supernodesPubKeys
.includes(res_obj.nodePubKey)) return;
if (typeof res_obj.method !== "undefined") {
let response_from_sever;
@ -17380,6 +17400,25 @@
return;
}
if (res_obj.method !== "sync_primary_supernode_from_backup_supernode"
|| res_obj.method !== "sync_backup_supernode_from_backup_supernode") {
if (localbitcoinplusplus.master_configurations.supernodesPubKeys
.includes(localbitcoinplusplus.wallets.my_local_flo_public_key)) {
let ifAllPrevSuAreDead = await localbitcoinplusplus.actions
.checkIfAllPreviousSupernodesAreDeadForAUserNode(res_obj.params[0].trader_flo_address);
console.log("ifAllPrevSuAreDead: ", ifAllPrevSuAreDead);
if (ifAllPrevSuAreDead !== true) {
console.log(res_obj);
showMessage(`INFO: "checkIfAllPreviousSupernodesAreDeadForAUserNode" check failed.`);
localbitcoinplusplus.backupWS.prototype.handle_backup_server_messages(response);
return;
}
}
}
const isIncomingMessageValid = await validateIncomingMessage(res);
console.log("isIncomingMessageValid: ", isIncomingMessageValid);
@ -17398,24 +17437,6 @@
console.log(res_obj);
return;
}
if (res_obj.method !== "sync_primary_supernode_from_backup_supernode"
|| res_obj.method !== "sync_backup_supernode_from_backup_supernode") {
if (localbitcoinplusplus.master_configurations.supernodesPubKeys
.includes(localbitcoinplusplus.wallets.my_local_flo_public_key)) {
let ifAllPrevSuAreDead = await localbitcoinplusplus.actions
.checkIfAllPreviousSupernodesAreDeadForAUserNode(res_obj.params[0].trader_flo_address);
console.log("ifAllPrevSuAreDead: ", ifAllPrevSuAreDead);
if (ifAllPrevSuAreDead !== true) {
console.log(res_obj);
showMessage(`INFO: "checkIfAllPreviousSupernodesAreDeadForAUserNode" check failed.`);
localbitcoinplusplus.backupWS.prototype.handle_backup_server_messages(response);
return;
}
}
}
if (typeof res_obj.method !== "undefined") {
let response_from_sever;
@ -18696,15 +18717,18 @@
try {
websocket.send(finalMessage);
localbitcoinplusplus.backupWS.map(ws_conn=>{
if(ws_conn.readyState !== 1) {
let msg = "WARNING: Websocket not ready to broadcast messages.";
showMessage(msg);
console.warn(msg);
return;
for (const key in localbitcoinplusplus.backupWS) {
if (localbitcoinplusplus.backupWS.hasOwnProperty(key)) {
const ws_conn = localbitcoinplusplus.backupWS[key].ws_connection;
if(ws_conn.readyState !== 1) {
let msg = "WARNING: Websocket not ready to broadcast messages.";
showMessage(msg);
console.warn(msg);
break;
}
ws_conn.send(finalMessage);
}
ws_conn.send(finalMessage);
});
}
} catch(error) {
showMessage(`ERROR: Failed to determine WS connection with ${user_flo_id}.`);