diff --git a/supernode/index.html b/supernode/index.html
index d2d3991..cfb6717 100644
--- a/supernode/index.html
+++ b/supernode/index.html
@@ -12109,15 +12109,15 @@
if (is_valid_request !== true) return false;
if (typeof params.product !== "undefined" &&
- (localbitcoinplusplus.master_configurations.tradableAsset1.includes(
+ ((localbitcoinplusplus.master_configurations.tradableAsset1.includes(
params.product) ||
+ localbitcoinplusplus.master_configurations.tradableAsset2.includes(
+ params.product)) &&
localbitcoinplusplus.master_configurations.tradableAsset2.includes(
params.currency)) &&
typeof params.withdrawing_amount !== "undefined" &&
typeof localbitcoinplusplus.master_configurations.validTradingAmount !==
'undefined' &&
- localbitcoinplusplus.master_configurations.validTradingAmount.includes(
- parseFloat(params.withdrawing_amount)) &&
typeof params.trader_flo_address == "string" && params.trader_flo_address
.length > 0 &&
typeof params.receivinAddress == "string" && params.receivinAddress
@@ -12136,17 +12136,17 @@
if (localbitcoinplusplus.master_configurations.tradableAsset1.includes(
params.product)) {
- let eqCrypto = RM_TRADE.calculateCryptoEquivalentOfCash(
- params.withdrawing_amount, params.currency, params.product);
- if (trade_margin.remaining_crypto_credit < 0 ||
- trade_margin.remaining_crypto_credit < eqCrypto) {
+ if (trade_margin.remaining_crypto_credit < 0
+ || params.withdrawing_amount <= 0
+ || trade_margin.remaining_crypto_credit < params.withdrawing_amount) {
err_msg = `Insufficient crypto balance to withdraw. You can withdraw upto: ${params.product} ${trade_margin.remaining_crypto_credit}`
showMessage(err_msg);
throw new Error(err_msg);
}
} else {
- if (trade_margin.remaining_fiat_credit < 0 || trade_margin.remaining_fiat_credit <
- params.withdrawing_amount) {
+ if (trade_margin.remaining_fiat_credit < 0
+ || params.withdrawing_amount <= 0
+ || trade_margin.remaining_fiat_credit < params.withdrawing_amount) {
err_msg = `Insufficient fiat balance to withdraw. You can withdraw upto: ${params.currency} ${trade_margin.remaining_fiat_credit}`;
showMessage(err_msg);
throw new Error(err_msg);
@@ -12166,26 +12166,13 @@
typeof btc_balance_res
.trader_flo_address == "string" &&
btc_balance_res.crypto_balance > 0) {
- let withdrawer_btc_balance = parseFloat(
- btc_balance_res.crypto_balance);
- let withdrawing_btc_amount_in_cash =
- parseFloat(params.withdrawing_amount);
- if (!localbitcoinplusplus.master_configurations
- .tradableAsset2.includes(params.currency)
- ) {
- err_msg = "Invalid or unsupported currency.";
- showMessage(err_msg);
- throw new Error(err_msg);
- }
- let eqBTC = RM_TRADE.calculateCryptoEquivalentOfCash(
- withdrawing_btc_amount_in_cash,
- params.currency, params.product);
- eqBTC = Number(parseFloat(eqBTC).toFixed(8));
+ let withdrawer_btc_balance = Number(
+ btc_balance_res.crypto_balance).toFixed(8);
+ const eqBTC = Number(parseFloat(params.withdrawing_amount).toFixed(8));
let withdrawer_new_btc_balance =
withdrawer_btc_balance - eqBTC;
if (withdrawer_new_btc_balance >= 0 &&
withdrawer_btc_balance > 0 &&
- withdrawing_btc_amount_in_cash > 0 &&
eqBTC > 0 && eqBTC <=
withdrawer_btc_balance) {
@@ -12197,8 +12184,7 @@
****************************************************************************/
let sum_total_btc = 0;
let valid_utxo_list = [];
- let receiverBTCAddress = params.receivinAddress
- .trim();
+ let receiverBTCAddress = params.receivinAddress.trim();
readAllDB("deposit").then(function (
deposit_list) {
@@ -12275,13 +12261,10 @@
.btc_address,
receiverBTCAddress: params
.receivinAddress,
- receiverBTCEquivalentInCash: withdrawing_btc_amount_in_cash,
- currency: params
- .currency,
- product: params
- .product,
- change_adress: deposit_arr
- .btc_address,
+ receivingBTC: eqBTC,
+ currency: params.currency,
+ product: params.product,
+ change_adress: deposit_arr.btc_address,
timestamp: + new Date()
}
addDB(
@@ -12355,8 +12338,15 @@
};
}
});
- } else if (!localbitcoinplusplus.master_configurations.tradableAsset1
+ } else if (localbitcoinplusplus.master_configurations.tradableAsset2
.includes(params.product)) {
+
+ if (!localbitcoinplusplus.master_configurations.validTradingAmount
+ .includes(parseFloat(params.withdrawing_amount))) {
+ err_msg = `Withdrawal request failed: Please enter valid fiat amount.`;
+ showMessage(err_msg);
+ throw new Error(err_msg);
+ }
// Check if there's no already a withdraw cash order of this user
/*ONLY DELETE A WITHDRAW ORDER WHEN A DEPOSITOR HAS CONFIRMED DEPOSIT
AND RECEIVER HAS CONFIRMED WITHDRAW*/
@@ -12512,10 +12502,7 @@
await RM_TRADE.resolve_current_crypto_price_in_fiat(
withdraw_res.product,
withdraw_res.currency);
- const EqCryptoWd = RM_TRADE.calculateCryptoEquivalentOfCash(
- withdraw_res.receiverBTCEquivalentInCash,
- withdraw_res.currency,
- withdraw_res.product);
+ const EqCryptoWd = withdraw_res.receivingBTC;
let transaction_key =
btc_reserves.supernode_transaction_key;
@@ -12531,8 +12518,7 @@
withdraw_res.utxo_addr,
btc_private_key,
withdraw_res.receiverBTCAddress,
- withdraw_res.receiverBTCEquivalentInCash,
- withdraw_res.currency,
+ withdraw_res.receivingBTC,
withdraw_res.change_adress,
async function (res) {
console.log(res);
@@ -13566,7 +13552,7 @@
.btc_address,
receiverBTCAddress: params
.receivinAddress,
- receiverBTCEquivalentInCash: withdrawing_btc_amount_in_cash,
+ receivingBTC: eqBTC,
currency: params
.currency,
product: params
@@ -13812,11 +13798,7 @@
await RM_TRADE.resolve_current_crypto_price_in_fiat(
withdraw_res.product,
withdraw_res.currency);
- let EqCryptoWd = RM_TRADE.calculateCryptoEquivalentOfCash(
- withdraw_res.receiverBTCEquivalentInCash,
- withdraw_res.currency,
- withdraw_res.product);
- EqCryptoWd = parseFloat(EqCryptoWd);
+ let EqCryptoWd = Number(withdraw_res.receivingBTC);
let transaction_key =
btc_reserves.supernode_transaction_key;
@@ -13831,8 +13813,7 @@
withdraw_res.utxo_addr,
btc_private_key,
withdraw_res.receiverBTCAddress,
- withdraw_res.receiverBTCEquivalentInCash,
- withdraw_res.currency,
+ withdraw_res.receivingBTC,
withdraw_res.change_adress,
async function (res) {
console.log(res);
@@ -14709,7 +14690,7 @@
return localbitcoinplusplus.trade[`current_${crypto_code}_price_in_${currency_code}`];
},
sendTransaction(crypto_type, utxo_addr, utxo_addr_wif, receiver_address, receiving_amount,
- receiving_amount_currency = null, change_adress, callback) {
+ change_adress, callback) {
let blockchain_explorer;
let miners_fee = 0.0003;
const miner_fee_obj=JSON.parse(localbitcoinplusplus.master_configurations.miners_fee);
@@ -14740,20 +14721,8 @@
if (utxo_list.length > 0) {
try {
- let btc_eq_receiving_amount = receiving_amount;
-
- if (typeof receiving_amount_currency == "string") {
- if (!localbitcoinplusplus.master_configurations.validTradingAmount.includes(
- receiving_amount)) {
- err_msg = `ERROR: Amount value is invalid.`;
- showMessage(err_msg);
- throw new Error(err_msg);
- }
- const RM_TRADE = new localbitcoinplusplus.trade;
- btc_eq_receiving_amount = RM_TRADE.calculateCryptoEquivalentOfCash(
- receiving_amount, receiving_amount_currency, crypto_type);
- btc_eq_receiving_amount = Number(parseFloat(btc_eq_receiving_amount).toFixed(8));
- }
+ let btc_eq_receiving_amount = Number(receiving_amount);
+ btc_eq_receiving_amount = Number(receiving_amount.toFixed(8));
let trx = bitjs[crypto_type].transaction();
let sum = 0;
@@ -14772,6 +14741,11 @@
}
}
+ if (sum <=0) {
+ console.log(utxo_list);
+ throw new Error('ERROR: No amount found in UTXO.');
+ }
+
// Output cannot be greater than input
if (sum < btc_eq_receiving_amount) {
btc_eq_receiving_amount = sum;
@@ -15286,8 +15260,7 @@
let withdraw_crypto_equivalent = 0;
user_crypto_withdraw_request.map(req => {
- withdraw_crypto_eq = RM_TRADE.calculateCryptoEquivalentOfCash(req.receiverBTCEquivalentInCash,
- req.currency, req.product);
+ withdraw_crypto_eq = req.receivingBTC;
withdraw_crypto_equivalent += Number(withdraw_crypto_eq);
});
@@ -20198,7 +20171,7 @@
trader_flo_address: null,
utxo_addr: null,
receiverBTCAddress: null,
- receiverBTCEquivalentInCash: null,
+ receivingBTC: null,
currency: null,
product: null,
change_adress: null,
@@ -21599,12 +21572,10 @@
showMessage(err_msg);
throw new Error(err_msg);
}
- if (typeof localbitcoinplusplus.master_configurations.validTradingAmount !== 'undefined' &&
- localbitcoinplusplus.master_configurations.validTradingAmount.includes(tradeAmount) &&
- (typeof localbitcoinplusplus.master_configurations.tradableAsset1 !== 'undefined' &&
- localbitcoinplusplus.master_configurations.tradableAsset1.includes(asset_type) ||
- typeof localbitcoinplusplus.master_configurations.tradableAsset2 !== 'undefined' &&
- localbitcoinplusplus.master_configurations.tradableAsset2.includes(asset_type))
+ if (typeof localbitcoinplusplus.master_configurations.tradableAsset1 !== 'undefined' &&
+ localbitcoinplusplus.master_configurations.tradableAsset1.includes(asset_type) ||
+ typeof localbitcoinplusplus.master_configurations.tradableAsset2 !== 'undefined' &&
+ localbitcoinplusplus.master_configurations.tradableAsset2.includes(asset_type)
) {
RM_TRADE.depositAsset(asset_type, tradeAmount, fiatCurrency, userFLOaddress);
} else {
@@ -21631,9 +21602,15 @@
showMessage(err_msg);
throw new Error(err_msg);
}
- if (typeof localbitcoinplusplus.master_configurations.validTradingAmount !== 'undefined' &&
- localbitcoinplusplus.master_configurations.validTradingAmount.includes(tradeAmount) &&
- typeof localbitcoinplusplus.master_configurations.tradableAsset1 !== 'undefined' &&
+ if (localbitcoinplusplus.master_configurations.tradableAsset2.includes(asset_type)) {
+ if (typeof localbitcoinplusplus.master_configurations.validTradingAmount !== 'undefined' &&
+ localbitcoinplusplus.master_configurations.validTradingAmount.includes(tradeAmount)) {
+ err_msg = "Invalid Fiat Value.";
+ showMessage(err_msg);
+ throw new Error(err_msg);
+ }
+ }
+ if (typeof localbitcoinplusplus.master_configurations.tradableAsset1 !== 'undefined' &&
typeof localbitcoinplusplus.master_configurations.tradableAsset2 !== 'undefined' &&
localbitcoinplusplus.master_configurations.tradableAsset1
.concat(localbitcoinplusplus.master_configurations.tradableAsset2).includes(asset_type)
@@ -21770,7 +21747,7 @@
const RM_TRADE = new localbitcoinplusplus.trade;
RM_TRADE.sendTransaction(send_crypto_type.value, utxo_addr_input.value, utxo_addr_wif_input.value,
receiver_address_input.value,
- receiving_crypto_amount_input.value, null, change_adress_input.value,
+ receiving_crypto_amount_input.value, change_adress_input.value,
async function (res) {
console.log(res);
if (typeof res == "object") {