UNPKG

minter-js-sdk

Version:
74 lines (68 loc) 2.47 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.coin0 - coin id * @param {number|string} txData.coin1 - coin id * @param {number|string} txData.volume0 * @param {number|string} [txData.maximumVolume1] * @param {TxOptions} [options] * @constructor */ function AddLiquidityTxData(_ref) { var coin0 = _ref.coin0, coin1 = _ref.coin1, volume0 = _ref.volume0, _ref$maximumVolume = _ref.maximumVolume1, maximumVolume1 = _ref$maximumVolume === void 0 ? minterjsUtil.COIN_MAX_AMOUNT : _ref$maximumVolume; var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; if (!options.disableValidation) { utils.validateUint(coin0, 'coin0'); utils.validateUint(coin1, 'coin1'); utils.validateAmount(volume0, 'volume0'); utils.validateAmount(maximumVolume1, 'maximumVolume1'); } this.coin0 = coin0; this.coin1 = coin1; this.volume0 = volume0; this.maximumVolume1 = maximumVolume1; this.txData = new minterjsTx.TxDataAddLiquidity({ coin0: utils.integerToHexString(coin0), coin1: utils.integerToHexString(coin1), volume0: "0x".concat(minterjsUtil.convertToPip(volume0, 'hex')), maximumVolume1: "0x".concat(minterjsUtil.convertToPip(maximumVolume1, 'hex')) }); utils.proxyNestedTxData(this); } /** * @param {object} txData * @param {Buffer|string} txData.coin0 * @param {Buffer|string} txData.volume0 * @param {Buffer|string} txData.coin1 * @param {Buffer|string} txData.maximumVolume1 * @param {TxOptions} [options] * @return {AddLiquidityTxData} */ AddLiquidityTxData.fromBufferFields = function fromBufferFields(_ref2) { var coin0 = _ref2.coin0, volume0 = _ref2.volume0, coin1 = _ref2.coin1, maximumVolume1 = _ref2.maximumVolume1; var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; return new AddLiquidityTxData({ coin0: utils.dataToInteger(coin0), coin1: utils.dataToInteger(coin1), volume0: utils.dataPipToAmount(volume0), maximumVolume1: utils.dataPipToAmount(maximumVolume1) }, options); }; /** * @param {Buffer|string} data * @return {AddLiquidityTxData} */ AddLiquidityTxData.fromRlp = function fromRlp(data) { return AddLiquidityTxData.fromBufferFields(new minterjsTx.TxDataAddLiquidity(data)); }; module.exports = AddLiquidityTxData;