UNPKG

minter-js-sdk

Version:
67 lines (61 loc) 1.99 kB
'use strict'; var minterjsTx = require('minterjs-tx'); var minterjsUtil = require('minterjs-util'); var utils = require('../utils.js'); /** * @param {object} txData * @param {number|string} txData.dueBlock * @param {number|string} txData.value * @param {number|string} txData.coin - coin id * @param {TxOptions} [options] * @constructor */ function LockTxData(_ref) { var _ref$dueBlock = _ref.dueBlock, dueBlock = _ref$dueBlock === void 0 ? 0 : _ref$dueBlock, _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(dueBlock, 'dueBlock'); utils.validateUint(coin, 'coin'); utils.validateAmount(value, 'value'); } this.dueBlock = dueBlock; this.value = value; this.coin = coin; this.txData = new minterjsTx.TxDataLock({ dueBlock: utils.integerToHexString(dueBlock), coin: utils.integerToHexString(coin), value: "0x".concat(minterjsUtil.convertToPip(value, 'hex')) }); utils.proxyNestedTxData(this); } /** * @param {object} txData * @param {Buffer|string|number} txData.dueBlock * @param {Buffer|string|number} txData.value * @param {Buffer|string|number} txData.coin * @param {TxOptions} [options] * @return {LockTxData} */ LockTxData.fromBufferFields = function fromBufferFields(_ref2) { var dueBlock = _ref2.dueBlock, value = _ref2.value, coin = _ref2.coin; var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; return new LockTxData({ dueBlock: utils.dataToInteger(dueBlock), coin: utils.dataToInteger(coin), value: utils.dataPipToAmount(value) }, options); }; /** * @param {Buffer|string} data * @return {LockTxData} */ LockTxData.fromRlp = function fromRlp(data) { return LockTxData.fromBufferFields(new minterjsTx.TxDataLock(data)); }; module.exports = LockTxData;