UNPKG

minter-js-sdk

Version:
73 lines (67 loc) 2.51 kB
'use strict'; var minterjsTx = require('minterjs-tx'); var minterjsUtil = require('minterjs-util'); var utils = require('../utils.js'); /** * @param {object} txData * @param {string} txData.publicKey * @param {string} txData.rewardAddress * @param {string} txData.ownerAddress * @param {string} txData.controlAddress * @param {TxOptions} [options] * @constructor */ function EditCandidateTxData(_ref) { var publicKey = _ref.publicKey, rewardAddress = _ref.rewardAddress, ownerAddress = _ref.ownerAddress, controlAddress = _ref.controlAddress; var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; if (!options.disableValidation) { utils.validatePublicKey(publicKey, 'publicKey'); utils.validateAddress(rewardAddress, 'rewardAddress'); utils.validateAddress(ownerAddress, 'ownerAddress'); utils.validateAddress(controlAddress, 'controlAddress'); } this.publicKey = publicKey; this.rewardAddress = rewardAddress; this.ownerAddress = ownerAddress; this.controlAddress = controlAddress; this.txData = new minterjsTx.TxDataEditCandidate({ publicKey: minterjsUtil.toBuffer(publicKey), rewardAddress: minterjsUtil.toBuffer(rewardAddress), ownerAddress: minterjsUtil.toBuffer(ownerAddress), controlAddress: minterjsUtil.toBuffer(controlAddress) }); utils.proxyNestedTxData(this); } /** * @param {object} txData * @param {Buffer|string} txData.publicKey * @param {Buffer|string} txData.rewardAddress * @param {Buffer|string} txData.ownerAddress * @param {Buffer|string} txData.controlAddress * @param {TxOptions} [options] * @return {EditCandidateTxData} */ EditCandidateTxData.fromBufferFields = function fromBufferFields(_ref2) { var publicKey = _ref2.publicKey, rewardAddress = _ref2.rewardAddress, ownerAddress = _ref2.ownerAddress, controlAddress = _ref2.controlAddress; var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; return new EditCandidateTxData({ publicKey: utils.dataToPublicKey(publicKey), rewardAddress: utils.dataToAddress(rewardAddress), ownerAddress: utils.dataToAddress(ownerAddress), controlAddress: utils.dataToAddress(controlAddress) }, options); }; /** * @param {Buffer|string} data * @return {EditCandidateTxData} */ EditCandidateTxData.fromRlp = function fromRlp(data) { return EditCandidateTxData.fromBufferFields(new minterjsTx.TxDataEditCandidate(data)); }; module.exports = EditCandidateTxData;