negociecoins-transfer
Version:
Simple generate of negociecoins transfer
126 lines (101 loc) • 12.9 kB
JavaScript
'use strict';
class NegociecoinsTransfer {
constructor() {
this.clear();
}
clear() {
this.oNegociecoinsTransfer = {};
}
getNegociecoinsTransfer(oTransaction, sSymbol) {
this.clear();
if (typeof oTransaction === 'undefined') throw 'Need set tansaction';
if (typeof sSymbol === 'undefined') throw 'Need set symbol';
this.oTransaction = oTransaction;
this.sSymbol = sSymbol;
if (!oTransaction.hasOwnProperty('redeemScript')) this.parseTransactionToNegociecoinsTransfer();else this.parseTransactionToNegociecoinsTransferForInputs();
return this.oNegociecoinsTransfer;
}
parseTransactionToNegociecoinsTransferForInputs() {
this.setTransferTransactionID();
this.setTransferTransactionComment();
this.setTransferTransactionTime();
this.setTransferCryptoCurrency();
this.setTransferConfirmations();
this.setTransferCryptoAmount();
this.setTransferReceivedAddressForInputs();
}
parseTransactionToNegociecoinsTransfer() {
this.setTransferTransactionID();
this.setTransferTransactionComment();
this.setTransferTransactionTime();
this.setTransferBlockTime();
this.setTransferBlockHash();
this.setTransferCryptoCurrency();
this.setTransferConfirmations();
this.setTransferCryptoAmount();
this.setTransferReceivedAddress();
}
setTransferTransactionID() {
this.oNegociecoinsTransfer['txid'] = this.oTransaction.txid;
}
setTransferTransactionComment() {
this.oNegociecoinsTransfer['comment'] = 'NegocieCoins Wallet';
}
setTransferTransactionTime() {
if (this.oTransaction.hasOwnProperty('time')) this.oNegociecoinsTransfer['time'] = this.oTransaction.time;else this.oNegociecoinsTransfer['time'] = Math.floor(Date.now() / 1000);
}
setTransferBlockTime() {
this.oNegociecoinsTransfer['blocktime'] = this.oTransaction.blocktime;
}
setTransferBlockHash() {
this.oNegociecoinsTransfer['blockhash'] = this.oTransaction.blockhash;
}
setTransferCryptoCurrency() {
this.oNegociecoinsTransfer['symbol'] = this.sSymbol;
}
setTransferConfirmations() {
this.oNegociecoinsTransfer['confirmations'] = this.oTransaction.confirmations;
}
setTransferCryptoAmount() {
if (this.oTransaction.hasOwnProperty('valueOut')) this.oNegociecoinsTransfer['amount'] = this.oTransaction.valueOut;else this.oNegociecoinsTransfer['amount'] = this.oTransaction.amount;
}
setTransferReceivedAddress() {
let oRecieved = this.oTransaction.vout.map(row => {
return {
"address": row.scriptPubKey.addresses,
"amount": row.value,
"category": "receive",
"timereceived": this.oTransaction.time,
"fee": this.oTransaction.fees
};
});
this.oNegociecoinsTransfer['outputs'] = oRecieved;
}
setTransferReceivedAddressForInputs() {
let oRecieved = [];
oRecieved.push({
"address": [this.oTransaction.address],
"amount": this.oTransaction.amount,
"category": "receive",
"timereceived": Math.floor(Date.now() / 1000)
});
this.oNegociecoinsTransfer['outputs'] = oRecieved;
}
}
/**
* @type Object
* @Desc The transaction object to create Negociecoins Transfer
*/
NegociecoinsTransfer.oTransaction;
/**
* @type String
* @Desc Definition of Who Crypto Currency we need call
*/
NegociecoinsTransfer.sSymbol;
/**
* @type Object
* @Desc The object negociecoins transfer parsed
*/
NegociecoinsTransfer.oNegociecoinsTransfer;
module.exports = (oTransaction, sSymbol) => new NegociecoinsTransfer(oTransaction, sSymbol);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb21haW4vTmVnb2NpZWNvaW5zVHJhbnNmZXIuanMiXSwibmFtZXMiOlsiTmVnb2NpZWNvaW5zVHJhbnNmZXIiLCJjb25zdHJ1Y3RvciIsImNsZWFyIiwib05lZ29jaWVjb2luc1RyYW5zZmVyIiwiZ2V0TmVnb2NpZWNvaW5zVHJhbnNmZXIiLCJvVHJhbnNhY3Rpb24iLCJzU3ltYm9sIiwiaGFzT3duUHJvcGVydHkiLCJwYXJzZVRyYW5zYWN0aW9uVG9OZWdvY2llY29pbnNUcmFuc2ZlciIsInBhcnNlVHJhbnNhY3Rpb25Ub05lZ29jaWVjb2luc1RyYW5zZmVyRm9ySW5wdXRzIiwic2V0VHJhbnNmZXJUcmFuc2FjdGlvbklEIiwic2V0VHJhbnNmZXJUcmFuc2FjdGlvbkNvbW1lbnQiLCJzZXRUcmFuc2ZlclRyYW5zYWN0aW9uVGltZSIsInNldFRyYW5zZmVyQ3J5cHRvQ3VycmVuY3kiLCJzZXRUcmFuc2ZlckNvbmZpcm1hdGlvbnMiLCJzZXRUcmFuc2ZlckNyeXB0b0Ftb3VudCIsInNldFRyYW5zZmVyUmVjZWl2ZWRBZGRyZXNzRm9ySW5wdXRzIiwic2V0VHJhbnNmZXJCbG9ja1RpbWUiLCJzZXRUcmFuc2ZlckJsb2NrSGFzaCIsInNldFRyYW5zZmVyUmVjZWl2ZWRBZGRyZXNzIiwidHhpZCIsInRpbWUiLCJNYXRoIiwiZmxvb3IiLCJEYXRlIiwibm93IiwiYmxvY2t0aW1lIiwiYmxvY2toYXNoIiwiY29uZmlybWF0aW9ucyIsInZhbHVlT3V0IiwiYW1vdW50Iiwib1JlY2lldmVkIiwidm91dCIsIm1hcCIsInJvdyIsInNjcmlwdFB1YktleSIsImFkZHJlc3NlcyIsInZhbHVlIiwiZmVlcyIsInB1c2giLCJhZGRyZXNzIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6Ijs7QUFDQSxNQUFNQSxvQkFBTixDQUNBO0FBQ0NDLGVBQ0E7QUFDQyxPQUFLQyxLQUFMO0FBQ0E7O0FBRURBLFNBQ0E7QUFDQyxPQUFLQyxxQkFBTCxH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eEM7QUFDQTs7QUFFRGYsdUNBQ0E7QUFDQyxNQUFJZSxZQUFZLEVBQWhCO0FBQ0FBLFlBQVVRLElBQVYsQ0FBZTtBQUNkLGNBQWlCLENBQUMsS0FBS2xDLFlBQUwsQ0FBa0JtQyxPQUFuQixDQURIO0FBRWQsYUFBaUIsS0FBS25DLFlBQUwsQ0FBa0J5QixNQUZyQjtBQUdkLGVBQWlCLFNBSEg7QUFJZCxtQkFBaUJSLEtBQUtDLEtBQUwsQ0FBV0MsS0FBS0MsR0FBTCxLQUFhLElBQXhCO0FBSkgsR0FBZjtBQU1BLE9BQUt0QixxQkFBTCxDQUEyQixTQUEzQixJQUF3QzRCLFNBQXhDO0FBQ0E7QUEvSEY7O0FBbUlBOzs7O0FBSUEvQixxQkFBcUJLLFlBQXJCOztBQUdBOzs7O0FBSUFMLHFCQUFxQk0sT0FBckI7O0FBR0E7Ozs7QUFJQU4scUJBQXFCRyxxQkFBckI7O0FBSUFzQyxPQUFPQyxPQUFQLEdBQWlCLENBQUNyQyxZQUFELEVBQWVDLE9BQWYsS0FBMkIsSUFBSU4sb0JBQUosQ0FBeUJLLFlBQXpCLEVBQXVDQyxPQUF2QyxDQUE1QyIsImZpbGUiOiJOZWdvY2llY29pbnNUcmFuc2Zlci5qcyIsInNvdXJjZXNDb250ZW50IjpbIlxuY2xhc3MgTmVnb2NpZWNvaW5zVHJhbnNmZXJcbntcblx0Y29uc3RydWN0b3IoKVxuXHR7XG5cdFx0dGhpcy5jbGVhcigpXG5cdH1cblxuXHRjbGVhcigpXG5cdHtcblx0XHR0aGlzLm9OZWdvY2llY29pbnNUcmFuc2ZlciA9IHt9XG5cdH1cblxuXHRnZXROZWdvY2llY29pbnNUcmFuc2ZlcihvVHJhbnNhY3Rpb24sIHNTeW1ib2wpXG5cdHtcblx0XHR0aGlzLmNsZWFyKClcblx0XHRcblx0XHRpZiAodHlwZW9mIG9UcmFuc2FjdGlvbiA9PT0gJ3VuZGVmaW5lZCcpIFxuXHRcdFx0dGhyb3cgJ05lZWQgc2V0IHRhbnNhY3Rpb24nXG5cblx0XHRpZiAodHlwZW9mIHNTeW1ib2wgPT09ICd1bmRlZmluZWQnKSBcblx0XHRcdHRocm93ICdOZWVkIHNldCBzeW1ib2wnXG5cblx0XHR0aGlzLm9UcmFuc2FjdGlvbiA9IG9UcmFuc2FjdGlvblxuXG5cdFx0dGhpcy5zU3ltYm9sID0gc1N5bWJvbFxuXG5cdFx0aWYoIW9UcmFuc2FjdGlvbi5oYXNPd25Qcm9wZXJ0eSgncmVkZWVtU2NyaXB0JykpXG5cdFx0XHR0aGlzLnBhcnNlVHJhbnNhY3Rpb25Ub05lZ29jaWVjb2luc1RyYW5zZmVyKClcblx0XHRlbHNlXG5cdFx0XHR0aGlzLnBhcnNlVHJhbnNhY3Rpb25Ub05lZ29jaWVjb2luc1RyYW5zZmVyRm9ySW5wdXRzKClcblxuXHRcdHJldHVybiB0aGlzLm9OZWdvY2llY29pbnNUcmFuc2ZlclxuXHR9XG5cblx0cGFyc2VUcmFuc2FjdGlvblRvTmVnb2NpZWNvaW5zVHJhbnNmZXJGb3JJbnB1dHMoKVxuXHR7XG5cdFx0dGhpcy5zZXRUcmFuc2ZlclRyYW5zYWN0aW9uSUQoKVxuXHRcdHRoaXMuc2V0VHJhbnNmZXJUcmFuc2FjdGlvbkNvbW1lbnQoKVxuXHRcdHRoaXMuc2V0VHJhbnNmZXJUcmFuc2FjdGlvblRpbWUoKVxuXHRcdHRoaXMuc2V0VHJhbnNmZXJDcnlwdG9DdXJyZW5jeSgpXG5cdFx0dGhpcy5zZXRUcmFuc2ZlckNvbmZpcm1hdGlvbnMoKVxuXHRcdHRoaXMuc2V0VHJhbnNmZXJDcnlwdG9BbW91bnQoKVxuXHRcdHRoaXMuc2V0VHJhbnNmZXJSZWNlaXZlZEFkZHJlc3NGb3JJbnB1dHMoKVxuXHR9XG5cblx0cGFyc2VUcmFuc2FjdGlvblRvTmVnb2NpZWNvaW5zVHJhbnNmZXIoKVxuXHR7XG5cdFx0dGhpcy5zZXRUcmFuc2ZlclRyYW5zYWN0aW9uSUQoKVxuXHRcdHRoaXMuc2V0VHJhbnNmZXJUcmFuc2FjdGlvbkNvbW1lbnQoKVxuXHRcdHRoaXMuc2V0VHJhbnNmZXJUcmFuc2FjdGlvblRpbWUoKVxuXHRcdHRoaXMuc2V0VHJhbnNmZXJCbG9ja1RpbWUoKVxuXHRcdHRoaXMuc2V0VHJhbnNmZXJCbG9ja0hhc2goKVxuXHRcdHRoaXMuc2V0VHJhbnNmZXJDcnlwdG9DdXJyZW5jeSgpXG5cdFx0dGhpcy5zZXRUcmFuc2ZlckNvbmZpcm1hdGlvbnMoKVxuXHRcdHRoaXMuc2V0VHJhbnNmZXJDcnlwdG9BbW91bnQoKVxuXHRcdHRoaXMuc2V0VHJhbnNmZXJSZWNlaXZlZEFkZHJlc3MoKVxuXHR9XHRcblxuXHRzZXRUcmFuc2ZlclRyYW5zYWN0aW9uSUQoKVxuXHR7XG5cdFx0dGhpcy5vTmVnb2NpZWNvaW5zVHJhbnNmZXJbJ3R4aWQnXSA9IHRoaXMub1RyYW5zYWN0aW9uLnR4aWRcblx0fVxuXG5cdHNldFRyYW5zZmVyVHJhbnNhY3Rpb25Db21tZW50KClcblx0e1xuXHRcdHRoaXMub05lZ29jaWVjb2luc1RyYW5zZmVyWydjb21tZW50J10gPSAnTmVnb2NpZUNvaW5zIFdhbGxldCdcblx0fVxuXG5cdHNldFRyYW5zZmVyVHJhbnNhY3Rpb25UaW1lKClcblx0e1xuXHRcdGlmKHRoaXMub1RyYW5zYWN0aW9uLmhhc093blByb3BlcnR5KCd0aW1lJykpXG5cdFx0XHR0aGlzLm9OZWdvY2llY29pbnNUcmFuc2ZlclsndGltZSddID0gdGhpcy5vVHJhbnNhY3Rpb24udGltZVxuXHRcdGVsc2Vcblx0XHRcdHRoaXMub05lZ29jaWVjb2luc1RyYW5zZmVyWyd0aW1lJ10gPSBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKVxuXHR9XG5cblx0c2V0VHJhbnNmZXJCbG9ja1RpbWUoKVxuXHR7XG5cdFx0dGhpcy5vTmVnb2NpZWNvaW5zVHJhbnNmZXJbJ2Jsb2NrdGltZSddID0gdGhpcy5vVHJhbnNhY3Rpb24uYmxvY2t0aW1lXG5cdH1cblxuXHRzZXRUcmFuc2ZlckJsb2NrSGFzaCgpXG5cdHtcblx0XHR0aGlzLm9OZWdvY2llY29pbnNUcmFuc2ZlclsnYmxvY2toYXNoJ10gPSB0aGlzLm9UcmFuc2FjdGlvbi5ibG9ja2hhc2hcblx0fVxuXG5cdHNldFRyYW5zZmVyQ3J5cHRvQ3VycmVuY3koKVxuXHR7XG5cdFx0dGhpcy5vTmVnb2NpZWNvaW5zVHJhbnNmZXJbJ3N5bWJvbCddID0gdGhpcy5zU3ltYm9sXHRcblx0fVxuXG5cdHNldFRyYW5zZmVyQ29uZmlybWF0aW9ucygpXG5cdHtcblx0XHR0aGlzLm9OZWdvY2llY29pbnNUcmFuc2ZlclsnY29uZmlybWF0aW9ucyddID0gdGhpcy5vVHJhbnNhY3Rpb24uY29uZmlybWF0aW9uc1xuXHR9XG5cblx0c2V0VHJhbnNmZXJDcnlwdG9BbW91bnQoKVxuXHR7XG5cdFx0aWYodGhpcy5vVHJhbnNhY3Rpb24uaGFzT3duUHJvcGVydHkoJ3ZhbHVlT3V0JykpXG5cdFx0XHR0aGlzLm9OZWdvY2llY29pbnNUcmFuc2ZlclsnYW1vdW50J10gPSB0aGlzLm9UcmFuc2FjdGlvbi52YWx1ZU91dFxuXHRcdGVsc2Vcblx0XHRcdHRoaXMub05lZ29jaWVjb2luc1RyYW5zZmVyWydhbW91bnQnXSA9IHRoaXMub1RyYW5zYWN0aW9uLmFtb3VudFxuXHR9XG5cblx0c2V0VHJhbnNmZXJSZWNlaXZlZEFkZHJlc3MoKVxuXHR7XG5cdFx0bGV0IG9SZWNpZXZlZCA9IHRoaXMub1RyYW5zYWN0aW9uLnZvdXQubWFwKHJvdyA9PiB7XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcImFkZHJlc3NcIiAgICAgIDogcm93LnNjcmlwdFB1YktleS5hZGRyZXNzZXMsXG5cdFx0XHRcdFwiYW1vdW50XCIgICAgICAgOiByb3cudmFsdWUsXG5cdFx0XHRcdFwiY2F0ZWdvcnlcIiAgICAgOiBcInJlY2VpdmVcIixcblx0XHRcdFx0XCJ0aW1lcmVjZWl2ZWRcIiA6IHRoaXMub1RyYW5zYWN0aW9uLnRpbWUsXG5cdFx0XHRcdFwiZmVlXCJcdFx0ICAgOiB0aGlzLm9UcmFuc2FjdGlvbi5mZWVzXG5cdFx0XHR9XG5cdFx0fSlcblx0XHR0aGlzLm9OZWdvY2llY29pbnNUcmFuc2Zlclsnb3V0cHV0cyddID0gb1JlY2lldmVkXG5cdH1cblxuXHRzZXRUcmFuc2ZlclJlY2VpdmVkQWRkcmVzc0ZvcklucHV0cygpXG5cdHtcblx0XHRsZXQgb1JlY2lldmVkID0gW11cblx0XHRvUmVjaWV2ZWQucHVzaCh7XG5cdFx0XHRcImFkZHJlc3NcIiAgICAgIDogW3RoaXMub1RyYW5zYWN0aW9uLmFkZHJlc3NdLFxuXHRcdFx0XCJhbW91bnRcIiAgICAgICA6IHRoaXMub1RyYW5zYWN0aW9uLmFtb3VudCxcblx0XHRcdFwiY2F0ZWdvcnlcIiAgICAgOiBcInJlY2VpdmVcIixcblx0XHRcdFwidGltZXJlY2VpdmVkXCIgOiBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKVxuXHRcdH0pXG5cdFx0dGhpcy5vTmVnb2NpZWNvaW5zVHJhbnNmZXJbJ291dHB1dHMnXSA9IG9SZWNpZXZlZFxuXHR9XG59XG5cblxuLyoqXG4gKlx0QHR5cGUgT2JqZWN0XG4gKiAgQERlc2MgVGhlIHRyYW5zYWN0aW9uIG9iamVjdCB0byBjcmVhdGUgTmVnb2NpZWNvaW5zIFRyYW5zZmVyXG4gKi9cbk5lZ29jaWVjb2luc1RyYW5zZmVyLm9UcmFuc2FjdGlvbjtcblxuXG4vKipcbiAqXHRAdHlwZSBTdHJpbmdcbiAqICBARGVzYyBEZWZpbml0aW9uIG9mIFdobyBDcnlwdG8gQ3VycmVuY3kgd2UgbmVlZCBjYWxsXG4gKi9cbk5lZ29jaWVjb2luc1RyYW5zZmVyLnNTeW1ib2w7XG5cblxuLyoqXG4gKlx0QHR5cGUgT2JqZWN0XG4gKiAgQERlc2MgVGhlIG9iamVjdCBuZWdvY2llY29pbnMgdHJhbnNmZXIgcGFyc2VkXG4gKi9cbk5lZ29jaWVjb2luc1RyYW5zZmVyLm9OZWdvY2llY29pbnNUcmFuc2ZlcjtcblxuXG5cbm1vZHVsZS5leHBvcnRzID0gKG9UcmFuc2FjdGlvbiwgc1N5bWJvbCkgPT4gbmV3IE5lZ29jaWVjb2luc1RyYW5zZmVyKG9UcmFuc2FjdGlvbiwgc1N5bWJvbClcbiJdfQ==