minter-js-sdk
Version:
JS SDK for Minter Blockchain
64 lines (58 loc) • 1.92 kB
JavaScript
;
var minterjsTx = require('minterjs-tx');
var minterjsUtil = require('minterjs-util');
var utils = require('../utils.js');
/**
* @param {object} txData
* @param {string} txData.version
* @param {string} txData.publicKey
* @param {number|string} txData.height
* @param {TxOptions} [options]
* @constructor
*/
function VoteUpdateTxData(_ref) {
var version = _ref.version,
publicKey = _ref.publicKey,
height = _ref.height;
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
if (!options.disableValidation) {
utils.validatePublicKey(publicKey, 'publicKey');
utils.validateUint(height, 'height');
}
this.version = version;
this.publicKey = publicKey;
this.height = height;
this.txData = new minterjsTx.TxDataVoteUpdate({
version: Buffer.from(version.toString(), 'utf8'),
publicKey: minterjsUtil.toBuffer(publicKey),
height: utils.integerToHexString(height)
});
utils.proxyNestedTxData(this);
}
/**
* @param {object} txTata
* @param {Buffer|string} txTata.version
* @param {Buffer|string} txTata.publicKey
* @param {Buffer|string|number} txTata.height
* @param {TxOptions} [options]
* @return {VoteUpdateTxData}
*/
VoteUpdateTxData.fromBufferFields = function fromBufferFields(_ref2) {
var version = _ref2.version,
publicKey = _ref2.publicKey,
height = _ref2.height;
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
return new VoteUpdateTxData({
version: minterjsUtil.toBuffer(version).toString('utf8'),
publicKey: utils.dataToPublicKey(publicKey),
height: utils.dataToInteger(height)
}, options);
};
/**
* @param {Buffer|string} data
* @return {VoteUpdateTxData}
*/
VoteUpdateTxData.fromRlp = function fromRlp(data) {
return VoteUpdateTxData.fromBufferFields(new minterjsTx.TxDataVoteUpdate(data));
};
module.exports = VoteUpdateTxData;