init commit
This commit is contained in:
112
server/middlewares/TRON.js
Executable file
112
server/middlewares/TRON.js
Executable file
@@ -0,0 +1,112 @@
|
||||
"use strict";
|
||||
exports.__esModule = true;
|
||||
exports.TRONTransferFrom = exports.validateByTXId = void 0;
|
||||
var tronWeb = require("tronweb");
|
||||
var currencies_1 = require("../db/currencies");
|
||||
var user_1 = require("../db/user");
|
||||
var _ = require("lodash");
|
||||
// export function TRONTransferTo(userId, systemAccount, userAccount, privateKey, amount){
|
||||
// User.findOne({ _id : userId })
|
||||
// .then((user) => {
|
||||
// if(user && user._id.toString() === userId.toString()){
|
||||
// const HttpProvider = tronWeb.providers.HttpProvider;
|
||||
// const fullNode = new HttpProvider("https://api.shasta.trongrid.io");
|
||||
// const solidityNode = new HttpProvider("https://api.shasta.trongrid.io");
|
||||
// const eventServer = new HttpProvider("https://api.shasta.trongrid.io");
|
||||
// const tw = new tronWeb(fullNode,solidityNode,eventServer,privateKey);
|
||||
// const am = amount * 1000000
|
||||
// tw.trx.getAccount(userAccount.toString()).then((usrAcc) =>{
|
||||
// if(usrAcc){
|
||||
// tw.trx.sendTransaction(systemAccount, am)
|
||||
// }else{
|
||||
// const error = "user Tron Account not fount"
|
||||
// console.log("Error in TRONTransferTo : ", error)
|
||||
// }
|
||||
// })
|
||||
// .catch((err) => console.log(err))
|
||||
// }else{
|
||||
// const error = 'user not fount'
|
||||
// console.log('Error in TRONTransferTo : ', error)
|
||||
// }
|
||||
// })
|
||||
// .catch((err) => console.log('Error in TRONTransferTo : ', err))
|
||||
// }
|
||||
function validateByTXId(userId, hash) {
|
||||
var systemPrivateKey = '4a8f251556d19ab6625c0cc012a3c534bf978e6a099d0bb8f42d6539579a10c5';
|
||||
user_1.User.findOne({ _id: userId })
|
||||
.then(function (user) {
|
||||
if (user && user._id.toString() === userId.toString()) {
|
||||
var HttpProvider = tronWeb.providers.HttpProvider;
|
||||
var fullNode = new HttpProvider("https://api.shasta.trongrid.io");
|
||||
var solidityNode = new HttpProvider("https://api.shasta.trongrid.io");
|
||||
var eventServer = new HttpProvider("https://api.shasta.trongrid.io");
|
||||
var TronWeb = new tronWeb(fullNode, solidityNode, eventServer, systemPrivateKey);
|
||||
console.log("here : ", TronWeb);
|
||||
TronWeb.trx.getTransaction(hash.toString())
|
||||
.then(function (transaction) {
|
||||
return transaction;
|
||||
})["catch"](function (err) { throw (err); });
|
||||
}
|
||||
else {
|
||||
var error = 'user not fount';
|
||||
console.log('Error in TRONTransferTo : ', error);
|
||||
throw (error);
|
||||
}
|
||||
});
|
||||
}
|
||||
exports.validateByTXId = validateByTXId;
|
||||
function TRONTransferFrom(userId, destAccount, am) {
|
||||
var systemPrivateKey = '4a8f251556d19ab6625c0cc012a3c534bf978e6a099d0bb8f42d6539579a10c5';
|
||||
var tronId = undefined;
|
||||
var amount = am * 1000000;
|
||||
currencies_1.Currencies.findOne({ name: "TRON" })
|
||||
.then(function (curTRONObj) {
|
||||
tronId = curTRONObj._id;
|
||||
user_1.User.findOne({ _id: userId })
|
||||
.then(function (user) {
|
||||
if (user && user._id.toString() === userId.toString()) {
|
||||
var userTronWal_1 = _.find(user.wallet, function (e) { return e.currency.toString() === tronId.toString(); });
|
||||
if (userTronWal_1.value >= am) {
|
||||
var HttpProvider = tronWeb.providers.HttpProvider;
|
||||
var fullNode = new HttpProvider("https://api.shasta.trongrid.io");
|
||||
var solidityNode = new HttpProvider("https://api.shasta.trongrid.io");
|
||||
var eventServer = new HttpProvider("https://api.shasta.trongrid.io");
|
||||
var TronWeb = new tronWeb(fullNode, solidityNode, eventServer, systemPrivateKey);
|
||||
TronWeb.trx.sendTransaction(destAccount, amount)
|
||||
.then(function (transaction) {
|
||||
if (transaction.result) {
|
||||
userTronWal_1.value = userTronWal_1.value - am;
|
||||
user.save();
|
||||
console.log("Transaction to destination account done. ");
|
||||
}
|
||||
else {
|
||||
var error = "Transaciton Failed";
|
||||
console.log(error);
|
||||
throw (error);
|
||||
}
|
||||
})["catch"](function (err) {
|
||||
console.log("Error : ", err);
|
||||
throw (err);
|
||||
});
|
||||
}
|
||||
else {
|
||||
var error = "user does not have enough TRON currency in his/her wallet";
|
||||
console.log(error);
|
||||
throw (error);
|
||||
}
|
||||
}
|
||||
else {
|
||||
var error = 'user not fount';
|
||||
console.log('Error in TRONTransferTo : ', error);
|
||||
throw (error);
|
||||
}
|
||||
})["catch"](function (err) {
|
||||
console.log('Error in TRONTransferTo : ', err);
|
||||
throw (err);
|
||||
});
|
||||
})["catch"](function (err) {
|
||||
console.log(err);
|
||||
throw (err);
|
||||
});
|
||||
}
|
||||
exports.TRONTransferFrom = TRONTransferFrom;
|
||||
Reference in New Issue
Block a user