diff --git a/supernode/index.html b/supernode/index.html
index fbed28c..d44e569 100644
--- a/supernode/index.html
+++ b/supernode/index.html
@@ -11234,7 +11234,8 @@
await readAllDB("deposit").then(function (res) {
if (typeof res == "object" && res.length > 0) {
let canUserTrade = res.map(function (user) {
- return respective_trader_id == user.trader_flo_address;
+ return (respective_trader_id == user.trader_flo_address
+ && user.status==1);
});
if (canUserTrade.includes(true)) {
request.response =
@@ -14662,7 +14663,7 @@
let sell_order_crypto_equivalent = 0;
user_sell_orders.map(sell_orders => {
sell_order_crypto_eq = RM_TRADE.calculateCryptoEquivalentOfCash(
- sell_orders.sell_price, sell_orders.currency, sell_orders.product);
+ sell_orders.buy_price, sell_orders.currency, sell_orders.product);
sell_order_crypto_equivalent += Number(sell_order_crypto_eq);
});
@@ -15237,56 +15238,16 @@
case "trade_buy_request_response":
if (typeof res_obj.params !== "object"
|| typeof res_obj.params[0] !== "object") return;
- let trade_buy_res_data = res_obj.params[0];
- RM_RPC.filter_legit_backup_requests(trade_buy_res_data.trader_flo_address,
- function (is_valid_request) {
-
- if(!is_valid_request) return false;
-
- if (typeof res_obj.params == "object" && typeof res_obj.params[0] == "object") {
- let buyOrders_data = res_obj.params[0];
+ let buyOrders_data = res_obj.params[0];
- if (typeof localbitcoinplusplus.master_configurations.supernodesPubKeys == "object" &&
- localbitcoinplusplus.master_configurations.supernodesPubKeys.includes(
- buyOrders_data.supernodePubKey)) {
- let isDataSignedBySuperNode = RM_WALLET
- .verify(buyOrders_data.data_hash, buyOrders_data.supernode_sign,
- buyOrders_data.supernodePubKey);
- if (isDataSignedBySuperNode === true) {
-
- const backup_server_db_instance = localbitcoinplusplus.newBackupDatabase.db[res_obj.globalParams.senderFloId];
-
- 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);
- };
-
- // Add buy order
- backup_server_db_instance.backup_addDB("buyOrders", buyOrders_data).then(() => {
- showMessage(`Your buy order is placed successfully.`);
- });
- }
- }
- }
- });
- break;
- case "trade_sell_request_response":
- if (typeof res_obj.params !== "object"
- || typeof res_obj.params[0] !== "object") return;
- let trade_sell_res_data = res_obj.params[0];
- RM_RPC.filter_legit_backup_requests(trade_buy_res_data.trader_flo_address,
- function (is_valid_request) {
- if(!is_valid_request) return false;
- if (typeof res_obj.params == "object" && typeof res_obj.params[0] == "object") {
- let sellOrders_data = res_obj.params[0];
- if (typeof localbitcoinplusplus.master_configurations.supernodesPubKeys == "object" &&
- localbitcoinplusplus.master_configurations.supernodesPubKeys
- .includes(sellOrders_data.supernodePubKey)) {
+ if (typeof localbitcoinplusplus.master_configurations.supernodesPubKeys == "object" &&
+ localbitcoinplusplus.master_configurations.supernodesPubKeys.includes(
+ buyOrders_data.supernodePubKey)) {
let isDataSignedBySuperNode = RM_WALLET
- .verify(sellOrders_data.data_hash, sellOrders_data.supernode_sign,
- sellOrders_data.supernodePubKey);
+ .verify(buyOrders_data.data_hash, buyOrders_data.supernode_sign,
+ buyOrders_data.supernodePubKey);
if (isDataSignedBySuperNode === true) {
+
const backup_server_db_instance = localbitcoinplusplus.newBackupDatabase.db[res_obj.globalParams.senderFloId];
if(typeof backup_server_db_instance !== "object") {
@@ -15296,13 +15257,37 @@
};
// Add buy order
- backup_server_db_instance.backup_addDB("sellOrders", sellOrders_data).then(() => {
- showMessage(`Your sell order is placed successfully.`);
- });;
- }
+ backup_server_db_instance.backup_addDB("buyOrders", buyOrders_data).then(() => {
+ showMessage(`Your buy order is placed successfully.`);
+ });
}
}
- });
+ break;
+ case "trade_sell_request_response":
+ if (typeof res_obj.params == "object" && typeof res_obj.params[0] == "object") {
+ let sellOrders_data = res_obj.params[0];
+ if (typeof localbitcoinplusplus.master_configurations.supernodesPubKeys == "object" &&
+ localbitcoinplusplus.master_configurations.supernodesPubKeys
+ .includes(sellOrders_data.supernodePubKey)) {
+ let isDataSignedBySuperNode = RM_WALLET
+ .verify(sellOrders_data.data_hash, sellOrders_data.supernode_sign,
+ sellOrders_data.supernodePubKey);
+ if (isDataSignedBySuperNode === true) {
+ const backup_server_db_instance = localbitcoinplusplus.newBackupDatabase.db[res_obj.globalParams.senderFloId];
+
+ 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);
+ };
+
+ // Add buy order
+ backup_server_db_instance.backup_addDB("sellOrders", sellOrders_data).then(() => {
+ showMessage(`Your sell order is placed successfully.`);
+ });;
+ }
+ }
+ }
break;
case "deposit_asset_request_response":
@@ -15920,24 +15905,19 @@
if (typeof res_obj.params == "object" && typeof res_obj.params[0] == "object") {
let buyOrders_data = res_obj.params[0];
- RM_RPC.filter_legit_requests(params.trader_flo_address,
- function (is_valid_request) {
- if (is_valid_request !== true) return false;
-
- if (typeof localbitcoinplusplus.master_configurations.supernodesPubKeys == "object" &&
- localbitcoinplusplus.master_configurations.supernodesPubKeys.includes(
- buyOrders_data.supernodePubKey)) {
- let isDataSignedBySuperNode = RM_WALLET
- .verify(buyOrders_data.data_hash, buyOrders_data.supernode_sign,
- buyOrders_data.supernodePubKey);
- if (isDataSignedBySuperNode === true) {
- // Add buy order
- addDB("buyOrders", buyOrders_data).then(() => {
- showMessage(`Your buy order is placed successfully.`);
- });
- }
+ if (typeof localbitcoinplusplus.master_configurations.supernodesPubKeys == "object" &&
+ localbitcoinplusplus.master_configurations.supernodesPubKeys.includes(
+ buyOrders_data.supernodePubKey)) {
+ let isDataSignedBySuperNode = RM_WALLET
+ .verify(buyOrders_data.data_hash, buyOrders_data.supernode_sign,
+ buyOrders_data.supernodePubKey);
+ if (isDataSignedBySuperNode === true) {
+ // Add buy order
+ addDB("buyOrders", buyOrders_data).then(() => {
+ showMessage(`Your buy order is placed successfully.`);
+ });
}
- });
+ }
}
break;
case "trade_sell":
@@ -15947,24 +15927,20 @@
case "trade_sell_request_response":
if (typeof res_obj.params == "object" && typeof res_obj.params[0] == "object") {
let sellOrders_data = res_obj.params[0];
- RM_RPC.filter_legit_requests(params.trader_flo_address,
- function (is_valid_request) {
- if (is_valid_request !== true) return false;
- if (typeof localbitcoinplusplus.master_configurations.supernodesPubKeys == "object" &&
- localbitcoinplusplus.master_configurations.supernodesPubKeys.includes(
- sellOrders_data
- .supernodePubKey)) {
- let isDataSignedBySuperNode = RM_WALLET
- .verify(sellOrders_data.data_hash, sellOrders_data.supernode_sign,
- sellOrders_data.supernodePubKey);
- if (isDataSignedBySuperNode === true) {
- // Add buy order
- addDB("sellOrders", sellOrders_data).then(() => {
- showMessage(`Your sell order is placed successfully.`);
- });;
- }
+ if (typeof localbitcoinplusplus.master_configurations.supernodesPubKeys == "object" &&
+ localbitcoinplusplus.master_configurations.supernodesPubKeys.includes(
+ sellOrders_data
+ .supernodePubKey)) {
+ let isDataSignedBySuperNode = RM_WALLET
+ .verify(sellOrders_data.data_hash, sellOrders_data.supernode_sign,
+ sellOrders_data.supernodePubKey);
+ if (isDataSignedBySuperNode === true) {
+ // Add buy order
+ addDB("sellOrders", sellOrders_data).then(() => {
+ showMessage(`Your sell order is placed successfully.`);
+ });;
}
- });
+ }
}
break;
case "sync_with_supernode":
@@ -16484,7 +16460,7 @@
break;
case "refresh_deposit_status_request":
- RM_RPC.filter_legit_requests((is_valid_request) => {
+ RM_RPC.filter_legit_requests(res_obj.params[0].trader_flo_address, is_valid_request => {
if (is_valid_request !== true) return false;
readDBbyIndex("deposit", 'status', 1).then(function (res) {
res.map(function (deposit_trade) {
@@ -16562,7 +16538,7 @@
case "updateUserCryptoBalanceRequest":
let updateUserCryptoBalanceResponseObject = res_obj.params[0];
- let SuPubKey = readDB(userPublicData, updateUserCryptoBalanceResponseObject.trader_flo_address)
+ let SuPubKey = readDB('userPublicData', updateUserCryptoBalanceResponseObject.trader_flo_address)
.then(user_data => {
if (typeof user_data !== "object" || user_data.supernode_flo_public_key.length <
1)
@@ -16942,26 +16918,21 @@
let buyOrders_data = res_obj.params[0];
// Only the relevent user node should get response
- if(res_obj.params[0].trader_flo_address !== localbitcoinplusplus.wallets.my_local_flo_address) return;
+ if(buyOrders_data.trader_flo_address !== localbitcoinplusplus.wallets.my_local_flo_address) return;
- RM_RPC.filter_legit_requests(params.trader_flo_address,
- function (is_valid_request) {
- if (is_valid_request !== true) return false;
-
- if (typeof localbitcoinplusplus.master_configurations.supernodesPubKeys == "object" &&
- localbitcoinplusplus.master_configurations.supernodesPubKeys.includes(
- buyOrders_data.supernodePubKey)) {
- let isDataSignedBySuperNode = RM_WALLET
- .verify(buyOrders_data.data_hash, buyOrders_data.supernode_sign,
- buyOrders_data.supernodePubKey);
- if (isDataSignedBySuperNode === true) {
- // Add buy order
- addDB("buyOrders", buyOrders_data).then(() => {
- showMessage(`Your buy order is placed successfully.`);
- });
- }
+ if (typeof localbitcoinplusplus.master_configurations.supernodesPubKeys == "object" &&
+ localbitcoinplusplus.master_configurations.supernodesPubKeys.includes(
+ buyOrders_data.supernodePubKey)) {
+ let isDataSignedBySuperNode = RM_WALLET
+ .verify(buyOrders_data.data_hash, buyOrders_data.supernode_sign,
+ buyOrders_data.supernodePubKey);
+ if (isDataSignedBySuperNode === true) {
+ // Add buy order
+ addDB("buyOrders", buyOrders_data).then(() => {
+ showMessage(`Your buy order is placed successfully.`);
+ });
}
- });
+ }
}
break;
case "trade_sell":
@@ -16974,24 +16945,20 @@
// Only the relevent user node should get response
if(res_obj.params[0].trader_flo_address !== localbitcoinplusplus.wallets.my_local_flo_address) return;
- RM_RPC.filter_legit_requests(params.trader_flo_address,
- function (is_valid_request) {
- if (is_valid_request !== true) return false;
- if (typeof localbitcoinplusplus.master_configurations.supernodesPubKeys == "object" &&
- localbitcoinplusplus.master_configurations.supernodesPubKeys.includes(
- sellOrders_data
- .supernodePubKey)) {
- let isDataSignedBySuperNode = RM_WALLET
- .verify(sellOrders_data.data_hash, sellOrders_data.supernode_sign,
- sellOrders_data.supernodePubKey);
- if (isDataSignedBySuperNode === true) {
- // Add buy order
- addDB("sellOrders", sellOrders_data).then(() => {
- showMessage(`Your sell order is placed successfully.`);
- });;
- }
+ if (typeof localbitcoinplusplus.master_configurations.supernodesPubKeys == "object" &&
+ localbitcoinplusplus.master_configurations.supernodesPubKeys.includes(
+ sellOrders_data
+ .supernodePubKey)) {
+ let isDataSignedBySuperNode = RM_WALLET
+ .verify(sellOrders_data.data_hash, sellOrders_data.supernode_sign,
+ sellOrders_data.supernodePubKey);
+ if (isDataSignedBySuperNode === true) {
+ // Add buy order
+ addDB("sellOrders", sellOrders_data).then(() => {
+ showMessage(`Your sell order is placed successfully.`);
+ });;
}
- });
+ }
}
break;
case "sync_with_supernode":
@@ -17617,7 +17584,7 @@
break;
case "refresh_deposit_status_request":
- RM_RPC.filter_legit_requests((is_valid_request) => {
+ RM_RPC.filter_legit_backup_requests((is_valid_request) => {
if (is_valid_request !== true) return false;
if(typeof res_obj.params[0].trader_flo_address !="string") return;
@@ -17637,7 +17604,7 @@
res.map(function (deposit_trade) {
if (localbitcoinplusplus.master_configurations.tradableAsset1
.includes(deposit_trade.product)) {
- validateDepositedBTCBalance(deposit_trade);
+ validateDepositedBTCBalance(deposit_trade, res_obj.params[0].trader_flo_address);
}
});
});
@@ -17735,7 +17702,7 @@
};
});
- let SuPubKey = backup_server_db_instance.backup_readDB(userPublicData, updateUserCryptoBalanceResponseObject.trader_flo_address)
+ let SuPubKey = backup_server_db_instance.backup_readDB('userPublicData', updateUserCryptoBalanceResponseObject.trader_flo_address)
.then(user_data => {
if (typeof user_data !== "object" || user_data.supernode_flo_public_key.length <
1)
@@ -19547,7 +19514,11 @@
asset_button_box.appendChild(refresh_crypto_status_btn);
refresh_crypto_status_btn.addEventListener('click', function () {
let refresh_deposit_status = RM_RPC.send_rpc.call(this,
- "refresh_deposit_status_request", {receiver_flo_address: localbitcoinplusplus.MY_SUPERNODE_FLO_ADDRESS});
+ "refresh_deposit_status_request",
+ {
+ receiver_flo_address: localbitcoinplusplus.MY_SUPERNODE_FLO_ADDRESS,
+ trader_flo_address: localbitcoinplusplus.wallets.my_local_flo_address
+ });
doSend(refresh_deposit_status);
});
@@ -19702,13 +19673,30 @@