added sign verify in deposit function
This commit is contained in:
parent
6f166e352b
commit
73eecdb87f
@ -7748,13 +7748,6 @@
|
|||||||
var pubKeyHex = key.getPubKeyHex();
|
var pubKeyHex = key.getPubKeyHex();
|
||||||
var address = key.getBitcoinAddress(publicKeyHex);
|
var address = key.getBitcoinAddress(publicKeyHex);
|
||||||
|
|
||||||
console.log("privateKeyHex: ", privateKeyHex);
|
|
||||||
console.log("privateKeyWIF: ", privateKeyWIF);
|
|
||||||
console.log("publicKeyHex: ", publicKeyHex);
|
|
||||||
console.log("pubKeyHash: ", pubKeyHash);
|
|
||||||
console.log("pubKeyHex: ", pubKeyHex);
|
|
||||||
console.log("address: ", address);
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
privateKeyWIF,
|
privateKeyWIF,
|
||||||
pubKeyHex,
|
pubKeyHex,
|
||||||
@ -7922,11 +7915,10 @@
|
|||||||
if (typeof params.product !== "undefined" && localbitcoinplusplus.master_configurations
|
if (typeof params.product !== "undefined" && localbitcoinplusplus.master_configurations
|
||||||
.validAssets.includes(params.product) &&
|
.validAssets.includes(params.product) &&
|
||||||
typeof params.depositing_amount !== "undefined" && typeof localbitcoinplusplus
|
typeof params.depositing_amount !== "undefined" && typeof localbitcoinplusplus
|
||||||
.master_configurations
|
.master_configurations.validTradingAmount !== 'undefined' &&
|
||||||
.validTradingAmount !== 'undefined' &&
|
|
||||||
localbitcoinplusplus.master_configurations.validTradingAmount.includes(
|
localbitcoinplusplus.master_configurations.validTradingAmount.includes(
|
||||||
parseFloat(
|
parseFloat(params.depositing_amount))
|
||||||
params.depositing_amount)) && typeof params.trader_flo_address ==
|
&& typeof params.trader_flo_address ==
|
||||||
"string" && params.trader_flo_address.length > 0
|
"string" && params.trader_flo_address.length > 0
|
||||||
) {
|
) {
|
||||||
if (params.product == "BTC") {
|
if (params.product == "BTC") {
|
||||||
@ -7951,107 +7943,125 @@
|
|||||||
params.bitcoinToBePaid = localbitcoinplusplus.trade.prototype.calculateBTCEquivalentOfCash(
|
params.bitcoinToBePaid = localbitcoinplusplus.trade.prototype.calculateBTCEquivalentOfCash(
|
||||||
params.depositing_amount);
|
params.depositing_amount);
|
||||||
|
|
||||||
let receivedTradeInfo = { ...params
|
let receivedTradeInfo = { ...params };
|
||||||
};
|
|
||||||
|
|
||||||
try {
|
readDB("localbitcoinUser", "00-01", function(su_data) {
|
||||||
console.log(receivedTradeInfo);
|
if (typeof su_data == "object" && typeof su_data.myLocalFLOPublicKey == "string"
|
||||||
addDB("deposit", receivedTradeInfo);
|
&& su_data.myLocalFLOPublicKey.length>0 && localbitcoinplusplus.master_configurations.supernodesPubKeys.includes(su_data.myLocalFLOPublicKey)) {
|
||||||
} catch (error) {
|
let receivedTradeInfoHash = Crypto.SHA256(JSON.stringify(receivedTradeInfo));
|
||||||
throw new Error(error);
|
|
||||||
}
|
receivedTradeInfo["depositDataHash"] = receivedTradeInfoHash;
|
||||||
|
receivedTradeInfo["order_validator_sign"] = localbitcoinplusplus.wallets.prototype.sign(receivedTradeInfoHash, su_data.myLocalFLOPrivateKey);
|
||||||
|
receivedTradeInfo["order_validator_public_key"] = su_data.myLocalFLOPublicKey;
|
||||||
|
|
||||||
// Send the address to the requester
|
try {
|
||||||
let deposit_response_object = {
|
addDB("deposit", receivedTradeInfo);
|
||||||
error: false,
|
} catch (error) {
|
||||||
method: "deposit_asset_request_response",
|
throw new Error(error);
|
||||||
msg: `Please send the Bitcoin to ${generate_btc_keys_for_requester.address}.`,
|
}
|
||||||
data: receivedTradeInfo
|
|
||||||
};
|
|
||||||
|
|
||||||
let deposit_request_response = localbitcoinplusplus.rpc.prototype.send_rpc
|
// Send the address to the requester
|
||||||
.call(this,
|
let deposit_response_object = {
|
||||||
"deposit_asset_request_response", deposit_response_object);
|
error: false,
|
||||||
doSend(deposit_request_response);
|
method: "deposit_asset_request_response",
|
||||||
return true;
|
msg: `Please send the Bitcoin to ${generate_btc_keys_for_requester.address}.`,
|
||||||
|
data: receivedTradeInfo
|
||||||
|
};
|
||||||
|
|
||||||
|
let deposit_request_response = localbitcoinplusplus.rpc.prototype.send_rpc
|
||||||
|
.call(this,
|
||||||
|
"deposit_asset_request_response", deposit_response_object);
|
||||||
|
doSend(deposit_request_response);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
return false;
|
||||||
|
|
||||||
} else if (params.product == "INR") {
|
} else if (params.product == "INR") {
|
||||||
params.id = +new Date();
|
params.id = +new Date();
|
||||||
params.status = 1;
|
params.status = 1;
|
||||||
let receivedTradeInfo = { ...params
|
let receivedTradeInfo = { ...params };
|
||||||
};
|
|
||||||
|
|
||||||
try {
|
readDB("localbitcoinUser", "00-01", function(su_data) {
|
||||||
addDB("deposit", receivedTradeInfo);
|
if (typeof su_data == "object" && typeof su_data.myLocalFLOPublicKey == "string"
|
||||||
} catch (error) {
|
&& su_data.myLocalFLOPublicKey.length>0 && localbitcoinplusplus.master_configurations.supernodesPubKeys.includes(su_data.myLocalFLOPublicKey)) {
|
||||||
throw new Error(error);
|
let receivedTradeInfoHash = Crypto.SHA256(JSON.stringify(receivedTradeInfo));
|
||||||
}
|
|
||||||
|
receivedTradeInfo["depositDataHash"] = receivedTradeInfoHash;
|
||||||
|
receivedTradeInfo["order_validator_sign"] = localbitcoinplusplus.wallets.prototype.sign(receivedTradeInfoHash, su_data.myLocalFLOPrivateKey);
|
||||||
|
receivedTradeInfo["order_validator_public_key"] = su_data.myLocalFLOPublicKey;
|
||||||
|
|
||||||
// YOU NEED TO DETERMINE A BANK ACCOUNT HERE IF NOONE IS WITHDRAWING
|
// YOU NEED TO DETERMINE A BANK ACCOUNT HERE IF NOONE IS WITHDRAWING
|
||||||
try {
|
try {
|
||||||
readDBbyIndex("withdraw_cash", "status", 1, function (
|
addDB("deposit", receivedTradeInfo);
|
||||||
withdrawers_list) {
|
readDBbyIndex("withdraw_cash", "status", 1, function (
|
||||||
if (typeof withdrawers_list == "object") {
|
withdrawers_list) {
|
||||||
if (withdrawers_list.length > 0) {
|
if (typeof withdrawers_list == "object") {
|
||||||
withdrawers_list.map(function (withdrawer) {
|
if (withdrawers_list.length > 0) {
|
||||||
if (withdrawer.withdraw_amount ==
|
withdrawers_list.map(function (withdrawer) {
|
||||||
params.depositing_amount) {
|
if (withdrawer.withdraw_amount ==
|
||||||
let withdrawer_bank_account =
|
params.depositing_amount) {
|
||||||
withdrawer.receivinAddress;
|
let withdrawer_bank_account =
|
||||||
|
withdrawer.receivinAddress;
|
||||||
|
|
||||||
|
let deposit_response_object = {
|
||||||
|
error: false,
|
||||||
|
method: "deposit_asset_request_response",
|
||||||
|
msg: `Plese send the money to following bank address: "${withdrawer_bank_account}"`,
|
||||||
|
data: receivedTradeInfo
|
||||||
|
};
|
||||||
|
let deposit_request_response =
|
||||||
|
localbitcoinplusplus.rpc
|
||||||
|
.prototype.send_rpc.call(
|
||||||
|
this,
|
||||||
|
"deposit_asset_request_response",
|
||||||
|
deposit_response_object
|
||||||
|
);
|
||||||
|
doSend(
|
||||||
|
deposit_request_response
|
||||||
|
);
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
// Return error to the requester
|
||||||
|
// return {
|
||||||
|
// error: true,
|
||||||
|
// method: "deposit_asset_request_response",
|
||||||
|
// data: "Deposit request failed: We could not find a withdrawer."
|
||||||
|
// };
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
//No one is withdrawing so provide your bank details
|
||||||
let deposit_response_object = {
|
let deposit_response_object = {
|
||||||
error: false,
|
error: false,
|
||||||
method: "deposit_asset_request_response",
|
method: "deposit_asset_request_response",
|
||||||
msg: `Plese send the money to following bank address: "${withdrawer_bank_account}"`,
|
msg: `Plese send the money to following bank address: "System determined bank".`,
|
||||||
data: receivedTradeInfo
|
data: receivedTradeInfo
|
||||||
};
|
};
|
||||||
let deposit_request_response =
|
let deposit_request_response =
|
||||||
localbitcoinplusplus.rpc
|
localbitcoinplusplus.rpc.prototype.send_rpc
|
||||||
.prototype.send_rpc.call(
|
.call(this,
|
||||||
this,
|
|
||||||
"deposit_asset_request_response",
|
"deposit_asset_request_response",
|
||||||
deposit_response_object
|
deposit_response_object);
|
||||||
);
|
doSend(deposit_request_response);
|
||||||
doSend(
|
|
||||||
deposit_request_response
|
|
||||||
);
|
|
||||||
return true;
|
return true;
|
||||||
} else {
|
|
||||||
// Return error to the requester
|
|
||||||
// return {
|
|
||||||
// error: true,
|
|
||||||
// method: "deposit_asset_request_response",
|
|
||||||
// data: "Deposit request failed: We could not find a withdrawer."
|
|
||||||
// };
|
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
} else {
|
});
|
||||||
//No one is withdrawing so provide your bank details
|
} catch (error) {
|
||||||
let deposit_response_object = {
|
throw new Error(error);
|
||||||
error: false,
|
|
||||||
method: "deposit_asset_request_response",
|
|
||||||
msg: `Plese send the money to following bank address: "System determined bank".`,
|
|
||||||
data: receivedTradeInfo
|
|
||||||
};
|
|
||||||
let deposit_request_response =
|
|
||||||
localbitcoinplusplus.rpc.prototype.send_rpc
|
|
||||||
.call(this,
|
|
||||||
"deposit_asset_request_response",
|
|
||||||
deposit_response_object);
|
|
||||||
doSend(deposit_request_response);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} catch (error) {
|
|
||||||
console.log(error);
|
|
||||||
|
|
||||||
// return {
|
// return {
|
||||||
// error: true,
|
// error: true,
|
||||||
// method: "deposit_asset_request_response",
|
// method: "deposit_asset_request_response",
|
||||||
// data: "Deposit request failed: We could not find a withdrawer. Come again later."
|
// data: "Deposit request failed: We could not find a withdrawer. Come again later."
|
||||||
// };
|
// };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
console.log("deposit asset request error");
|
console.log("deposit asset request error");
|
||||||
@ -8498,19 +8508,6 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
findTrader(traderAssetType, traderAssetAmount) {
|
|
||||||
if (typeof localbitcoinplusplus.master_configurations.validAssets !== 'undefined' &&
|
|
||||||
localbitcoinplusplus.master_configurations.validAssets.includes(traderAssetType) &&
|
|
||||||
typeof localbitcoinplusplus.master_configurations.validTradingAmount !== 'undefined' &&
|
|
||||||
localbitcoinplusplus.master_configurations.validTradingAmount.includes(traderAssetAmount)) {
|
|
||||||
if (traderAssetType == "BTC") {
|
|
||||||
return "1TRADERBITCOINADDRESS";
|
|
||||||
} else if (traderAssetType == "INR") {
|
|
||||||
return "TRADERBANKACCOUNT";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
},
|
|
||||||
depositAsset(assetType, amount, userFLOaddress) {
|
depositAsset(assetType, amount, userFLOaddress) {
|
||||||
if (typeof localbitcoinplusplus.master_configurations.validAssets !== 'undefined' && !
|
if (typeof localbitcoinplusplus.master_configurations.validAssets !== 'undefined' && !
|
||||||
localbitcoinplusplus.master_configurations.validAssets.includes(assetType)) {
|
localbitcoinplusplus.master_configurations.validAssets.includes(assetType)) {
|
||||||
@ -8934,19 +8931,20 @@
|
|||||||
case "deposit_asset_request":
|
case "deposit_asset_request":
|
||||||
response_from_sever = localbitcoinplusplus.rpc.prototype.receive_rpc_response.call(this,
|
response_from_sever = localbitcoinplusplus.rpc.prototype.receive_rpc_response.call(this,
|
||||||
JSON.stringify(res_obj));
|
JSON.stringify(res_obj));
|
||||||
console.log(response_from_sever);
|
|
||||||
|
|
||||||
//doSend(JSON.stringify(response_from_sever)); // send response to client
|
|
||||||
case "deposit_asset_request_response":
|
case "deposit_asset_request_response":
|
||||||
console.log(res_obj);
|
console.log(res_obj);
|
||||||
if (typeof res_obj.params == "object" && typeof res_obj.params[0] == "object" && typeof res_obj
|
if (typeof res_obj.params == "object" && typeof res_obj.params[0] == "object" && typeof res_obj
|
||||||
.params[0].data == "object") {
|
.params[0].data == "object") {
|
||||||
addDB('deposit', res_obj.params[0].data);
|
let resp = res_obj.params[0];
|
||||||
let counterTraderAccountAddress =
|
if (localbitcoinplusplus.wallets.prototype
|
||||||
`<p><strong>Please pay the amount to following address:</strong></p>
|
.verify(resp.data.depositDataHash, resp.data.order_validator_sign, resp.data.order_validator_public_key)) {
|
||||||
<p>${res_obj.params[0].msg}</p>`;
|
addDB('deposit', resp.data);
|
||||||
let asset_boxx = document.getElementById("asset_box");
|
let counterTraderAccountAddress =
|
||||||
asset_boxx.insertAdjacentHTML('beforeend', counterTraderAccountAddress);
|
`<p><strong>Please pay the amount to following address:</strong></p>
|
||||||
|
<p>${resp.msg}</p>`;
|
||||||
|
let asset_boxx = document.getElementById("asset_box");
|
||||||
|
asset_boxx.insertAdjacentHTML('beforeend', counterTraderAccountAddress);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "withdraw_request_method":
|
case "withdraw_request_method":
|
||||||
@ -9167,7 +9165,7 @@
|
|||||||
var request = objectStore.get(id);
|
var request = objectStore.get(id);
|
||||||
|
|
||||||
request.onerror = function (event) {
|
request.onerror = function (event) {
|
||||||
alert("Unable to retrieve data from database!");
|
console.error("Unable to retrieve data from database!");
|
||||||
};
|
};
|
||||||
|
|
||||||
request.onsuccess = function (event) {
|
request.onsuccess = function (event) {
|
||||||
@ -9185,7 +9183,7 @@
|
|||||||
var objectStore = transaction.objectStore(tablename);
|
var objectStore = transaction.objectStore(tablename);
|
||||||
let response = [];
|
let response = [];
|
||||||
objectStore.openCursor().onerror = function (event) {
|
objectStore.openCursor().onerror = function (event) {
|
||||||
console.err("Error fetching data");
|
console.error("Error fetching data");
|
||||||
};
|
};
|
||||||
objectStore.openCursor().onsuccess = function (event) {
|
objectStore.openCursor().onsuccess = function (event) {
|
||||||
let cursor = event.target.result;
|
let cursor = event.target.result;
|
||||||
@ -9223,12 +9221,12 @@
|
|||||||
.add(dbObject);
|
.add(dbObject);
|
||||||
|
|
||||||
request.onsuccess = function (event) {
|
request.onsuccess = function (event) {
|
||||||
alert("Data has been added to your database.");
|
console.info("Data has been added to your database.");
|
||||||
};
|
};
|
||||||
|
|
||||||
request.onerror = function (event) {
|
request.onerror = function (event) {
|
||||||
console.error(event);
|
console.log(event);
|
||||||
alert("Unable to add data\r\Data aready exists in your database! ");
|
//console.error("Unable to add data\r\Data aready exists in your database! ");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -9239,12 +9237,12 @@
|
|||||||
.put(Obj);
|
.put(Obj);
|
||||||
|
|
||||||
request.onsuccess = function (event) {
|
request.onsuccess = function (event) {
|
||||||
alert("Data has been updated to your database.");
|
console.info("Data has been updated to your database.");
|
||||||
};
|
};
|
||||||
|
|
||||||
request.onerror = function (event) {
|
request.onerror = function (event) {
|
||||||
console.error(event);
|
console.error(event);
|
||||||
alert("Failed to update data in your database! ");
|
//alert("Failed to update data in your database! ");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -9254,8 +9252,12 @@
|
|||||||
.delete(id);
|
.delete(id);
|
||||||
|
|
||||||
request.onsuccess = function (event) {
|
request.onsuccess = function (event) {
|
||||||
alert("Data entry has been removed from your database.");
|
console.info("Data entry has been removed from your database.");
|
||||||
};
|
};
|
||||||
|
|
||||||
|
request.onerror = function (event) {
|
||||||
|
console.error(event);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user