minter-js-sdk
Version:
JS SDK for Minter Blockchain
58 lines (52 loc) • 1.65 kB
JavaScript
;
var minterjsTx = require('minterjs-tx');
var minterjsUtil = require('minterjs-util');
var utils = require('../utils.js');
/**
* @param {object} txData
* @param {number|string} txData.value
* @param {number|string} txData.coin - coin id
* @param {TxOptions} [options]
* @constructor
*/
function MintTokenTxData(_ref) {
var _ref$value = _ref.value,
value = _ref$value === void 0 ? 0 : _ref$value,
coin = _ref.coin;
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
if (!options.disableValidation) {
utils.validateUint(coin, 'coin');
utils.validateAmount(value, 'value');
}
this.value = value;
this.coin = coin;
this.txData = new minterjsTx.TxDataMintToken({
coin: utils.integerToHexString(coin),
value: "0x".concat(minterjsUtil.convertToPip(value, 'hex'))
});
utils.proxyNestedTxData(this);
}
/**
* @param {object} txData
* @param {Buffer|string|number} txData.value
* @param {Buffer|string|number} txData.coin
* @param {TxOptions} [options]
* @return {MintTokenTxData}
*/
MintTokenTxData.fromBufferFields = function fromBufferFields(_ref2) {
var value = _ref2.value,
coin = _ref2.coin;
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
return new MintTokenTxData({
coin: utils.dataToInteger(coin),
value: utils.dataPipToAmount(value)
}, options);
};
/**
* @param {Buffer|string} data
* @return {MintTokenTxData}
*/
MintTokenTxData.fromRlp = function fromRlp(data) {
return MintTokenTxData.fromBufferFields(new minterjsTx.TxDataMintToken(data));
};
module.exports = MintTokenTxData;