113 lines
5.1 KiB
JavaScript
Executable File
113 lines
5.1 KiB
JavaScript
Executable File
"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;
|