diff --git a/index.html b/index.html
index 1428a75..020218a 100644
--- a/index.html
+++ b/index.html
@@ -12501,8 +12501,8 @@
#!#tradableAsset1=BTC,FLO,BTC_TEST,FLO_TEST#!#tradableAsset2=INR,USD,
#!#validTradingAmount=10,50,100,#!#btcTradeMargin=5000
#!#MaxBackups=1
- #!#ordersLife={"trade":3600000, "cryptoDeposit":3600000, "cryptoWithdraw":3600000, "cashDeposit":7200000, "cashWithdraw":86400000}
- #!#miners_fee={"btc":0.0003, "flo":0.0003}
+ #!#ordersLife={"trade":3600000, "cryptoDeposit":172800000, "cryptoWithdraw":3600000, "cashDeposit":172800000, "cashWithdraw":172800000}
+ #!#miners_fee={"btc":0.0005, "flo":0.001}
#!#supernodesPubKeys=0315C3A20FE7096CC2E0F81A80D5F1A687B8F9EFA65242A0B0881E1BA3EE7D7D53,
03F7493F11B8E44B9798CD434D20FBE7FA34B9779D144984889D11A17C56A18742,039B4AA00DBFC0A6631DE6DA83526611A0E6B857D3579DF840BBDEAE8B6898E3B6,
03C8E3836C9A77E2AF03D4265D034BA85732738919708EAF6A16382195AE796EDF,0349B08AA1ABDCFFB6D78CD7C949665AD2FF065EA02B3C6C47A5E9592C9A1C6BCB,
@@ -13882,6 +13882,7 @@
reactor.registerEvent("informRightSuperNode");
reactor.registerEvent("message_for_user");
reactor.registerEvent("remove_temp_data_from_db");
+ reactor.registerEvent("remove_redundant_crypto_deposits");
reactor.addEventListener("new_supernode_connected", async function(evt) {
const switchMyWS = new backupSupernodesWebSocketObject();
@@ -14758,10 +14759,6 @@
}
})();
}
-
-
-
-
}
});
@@ -15025,14 +15022,7 @@
}
break;
case "deposit":
- // Deposits can contain cryptos. Don't delete
- break;
- let depositData = await _readAllDB(ds);
- for (const dbData of depositData) {
- if(timenow-dbData.timestamp>=lifetime.cryptoDeposit) {
- promises.push(_removeinDB(ds, dbData.id));
- }
- }
+ reactor.dispatchEvent("remove_redundant_crypto_deposits");
break;
case "withdraw_btc":
let withdraw_btcData = await _readAllDB(ds);
@@ -15066,6 +15056,94 @@
return true;
});
+ reactor.addEventListener("remove_redundant_crypto_deposits", async function(deposit_list=[]) {
+ try {
+ if(deposit_list.length==0)
+ deposit_list = await readAllDB("deposit");
+ if (
+ typeof deposit_list == "object" &&
+ deposit_list.length > 0
+ ) {
+
+ for (const dl in deposit_list) {
+ if (deposit_list.hasOwnProperty(dl)) {
+ const deposit_dl = deposit_list[dl];
+ if((
+ typeof deposit_dl.btc_address == "string" &&
+ localbitcoinplusplus.master_configurations.tradableAsset1.includes(
+ deposit_dl.product
+ )
+ )) {
+ let blockchain_explorer;
+ let crypto_type = deposit_dl.product;
+ if (crypto_type == "BTC") {
+ blockchain_explorer = localbitcoinplusplus.server.btc_mainnet;
+ } else if (crypto_type == "BTC_TEST") {
+ blockchain_explorer = localbitcoinplusplus.server.btc_testnet;
+ } else if (crypto_type == "FLO") {
+ blockchain_explorer = localbitcoinplusplus.server.flo_mainnet;
+ } else if (crypto_type == "FLO_TEST") {
+ blockchain_explorer = localbitcoinplusplus.server.flo_testnet;
+ }
+ const orderslife = JSON.parse(localbitcoinplusplus.master_configurations.ordersLife)
+ let timenow = + new Date();
+ let url = `${blockchain_explorer}/api/addr/${deposit_dl.btc_address}/utxo`;
+ let deposited_crypto_balance_req = await helper_functions.ajaxGet(url);
+ let deposited_crypto_balance = deposited_crypto_balance_req[0].amount;
+ if(deposited_crypto_balance>0
+ || timenow-deposit_dl.timestamp
+ doSend(retrieve_pvtkey_req)
+ );
+ }
+
+ removeinDB("deposit", deposit_dl.id);
+ removeinDB("system_btc_reserves_private_keys", res.id);
+
+ RM_RPC.send_rpc(
+ "delete_deposited_crypto_instance",
+ {
+ db_inst: params.db_inst,
+ deposit_id: deposit_dl.id,
+ reserves_id: res[0].id,
+ trader_flo_address:
+ withdraw_res.trader_flo_address
+ }
+ ).then(delRequestObject =>
+ doSend(delRequestObject)
+ );
+
+ }
+ }
+ }
+ }
+ } catch (error) {
+ throw new Error(error)
+ }
+ });
+
@@ -22992,6 +23070,25 @@
});
}
break;
+ case "delete_shamirs_secret_btc_pvtkey":
+ if (
+ typeof res_obj.params == "object" &&
+ typeof res_obj.params[0] == "object"
+ ) {
+ if (
+ typeof res_obj.nodePubKey != "string"
+ || !localbitcoinplusplus.master_configurations.supernodesPubKeys
+ .includes(res_obj.nodePubKey)
+ || !localbitcoinplusplus.master_configurations.supernodesPubKeys
+ .includes(localbitcoinplusplus.wallets.my_local_flo_public_key)
+ ) return;
+
+ removeinDB(
+ "supernode_private_key_chunks",
+ res_obj.params[0].chunk_val
+ );
+ }
+ break;
case "retrieve_shamirs_secret_btc_pvtkey":
if (
typeof res_obj.params == "object" &&
@@ -24750,6 +24847,30 @@
});
}
break;
+ case "delete_shamirs_secret_btc_pvtkey":
+ if (
+ typeof res_obj.params == "object" &&
+ typeof res_obj.params[0] == "object"
+ ) {
+ if (
+ typeof res_obj.nodePubKey != "string"
+ || !localbitcoinplusplus.master_configurations.supernodesPubKeys
+ .includes(res_obj.nodePubKey)
+ || typeof localbitcoinplusplus.newBackupDatabase.db[res_obj.params[0].db_inst]
+ !== "object"
+ || !localbitcoinplusplus.master_configurations.supernodesPubKeys
+ .includes(localbitcoinplusplus.wallets.my_local_flo_public_key)
+ )
+ return;
+
+ localbitcoinplusplus.newBackupDatabase.db[res_obj.params[0].db_inst]
+ .backup_removeinDB(
+ "supernode_private_key_chunks",
+ res_obj.params[0].chunk_val
+ );
+ }
+ break;
+
case "retrieve_shamirs_secret_btc_pvtkey":
if (
typeof res_obj.params == "object" &&
@@ -25663,7 +25784,11 @@
}
if (typeof res_data.withdraw_btc_id == "string")
_removeinDB("withdraw_btc", res_data.withdraw_btc_id);
-
+ if(typeof res_data.deposit_id=="string")
+ _removeinDB("deposit", res_data.deposit_id);
+ if(typeof res_data.reserves_id=="string")
+ _removeinDB("system_btc_reserves_private_keys",
+ res_data.reserves_id);
}
} catch (e) {
console.error(e);
@@ -26620,6 +26745,30 @@
}
break;
+ case "delete_shamirs_secret_btc_pvtkey":
+ if (
+ typeof res_obj.params == "object" &&
+ typeof res_obj.params[0] == "object"
+ ) {
+ if (
+ typeof res_obj.nodePubKey != "string"
+ || !localbitcoinplusplus.master_configurations.supernodesPubKeys
+ .includes(res_obj.nodePubKey)
+ || typeof localbitcoinplusplus.newBackupDatabase.db[res_obj.params[0].db_inst]
+ !== "object"
+ || !localbitcoinplusplus.master_configurations.supernodesPubKeys
+ .includes(localbitcoinplusplus.wallets.my_local_flo_public_key)
+ )
+ return;
+
+ localbitcoinplusplus.newBackupDatabase.db[res_obj.params[0].db_inst]
+ .backup_removeinDB(
+ "supernode_private_key_chunks",
+ res_obj.params[0].chunk_val
+ );
+ }
+ break;
+
case "store_shamirs_secret_pvtkey_shares":
if (
typeof res_obj.params == "object" &&
@@ -27490,6 +27639,11 @@
}
if (typeof res_data.withdraw_btc_id == "string")
_removeinDB("withdraw_btc", res_data.withdraw_btc_id);
+ if(typeof res_data.deposit_id=="string")
+ _removeinDB("deposit", res_data.deposit_id);
+ if(typeof res_data.reserves_id=="string")
+ _removeinDB("system_btc_reserves_private_keys",
+ res_data.reserves_id);
}
} catch (e) {
console.error(e);
@@ -28439,7 +28593,7 @@
) {
return new Promise((resolve, reject) => {
try {
- const originalObj = JSON.parse(JSON.stringify(Obj));
+ const originalObj = JSON.parse(JSON.stringify(Obj));
if (typeof Obj.vectorClock == "undefined") {
Obj.vectorClock = 0;
} else if (increaseVectorClock === false) {
@@ -28447,7 +28601,7 @@
} else {
Obj.vectorClock += 1;
// If vectorClock is increased, also update timestamp
- Obj.timestamp = +new Date();
+ //Obj.timestamp = +new Date();
}
if (typeof Obj.timestamp !== "number") {
Obj.timestamp = +new Date();
@@ -29121,7 +29275,7 @@
} else {
Obj.vectorClock += 1;
// If vectorClock is increased, also update timestamp
- Obj.timestamp = +new Date();
+ //Obj.timestamp = +new Date();
}
if (typeof Obj.timestamp !== "number") {
Obj.timestamp = +new Date();