UNPKG

minter-js-sdk

Version:
455 lines (449 loc) 21.7 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 {number|string} txData.height * @param {number|string} txData.coin * @param {number|string} txData.payloadByte * @param {number|string} txData.send * @param {number|string} txData.buyBancor * @param {number|string} txData.sellBancor * @param {number|string} txData.sellAllBancor * @param {number|string} txData.buyPoolBase * @param {number|string} txData.buyPoolDelta * @param {number|string} txData.sellPoolBase * @param {number|string} txData.sellPoolDelta * @param {number|string} txData.sellAllPoolBase * @param {number|string} txData.sellAllPoolDelta * @param {number|string} txData.createTicker3 * @param {number|string} txData.createTicker4 * @param {number|string} txData.createTicker5 * @param {number|string} txData.createTicker6 * @param {number|string} txData.createTicker7to10 * @param {number|string} txData.createCoin * @param {number|string} txData.createToken * @param {number|string} txData.recreateCoin * @param {number|string} txData.recreateToken * @param {number|string} txData.declareCandidacy * @param {number|string} txData.delegate * @param {number|string} txData.unbond * @param {number|string} txData.redeemCheck * @param {number|string} txData.setCandidateOn * @param {number|string} txData.setCandidateOff * @param {number|string} txData.createMultisig * @param {number|string} txData.multisendBase * @param {number|string} txData.multisendDelta * @param {number|string} txData.editCandidate * @param {number|string} txData.setHaltBlock * @param {number|string} txData.editTickerOwner * @param {number|string} txData.editMultisig * //param {number|string} [txData.priceVote] * @param {number|string} txData.editCandidatePublicKey * @param {number|string} txData.addLiquidity * @param {number|string} txData.removeLiquidity * @param {number|string} txData.editCandidateCommission * @param {number|string} txData.burnToken * @param {number|string} txData.mintToken * @param {number|string} txData.voteCommission * @param {number|string} txData.voteUpdate * @param {number|string} txData.createSwapPool * @param {number|string} txData.failedTx * @param {number|string} txData.addLimitOrder * @param {number|string} txData.removeLimitOrder * @param {number|string} txData.moveStake * @param {number|string} txData.lockStake * @param {number|string} txData.lock * @param {TxOptions} [options] * @constructor */ function VoteCommissionTxData(_ref) { var publicKey = _ref.publicKey, height = _ref.height, coin = _ref.coin, payloadByte = _ref.payloadByte, send = _ref.send, buyBancor = _ref.buyBancor, sellBancor = _ref.sellBancor, sellAllBancor = _ref.sellAllBancor, buyPoolBase = _ref.buyPoolBase, buyPoolDelta = _ref.buyPoolDelta, sellPoolBase = _ref.sellPoolBase, sellPoolDelta = _ref.sellPoolDelta, sellAllPoolBase = _ref.sellAllPoolBase, sellAllPoolDelta = _ref.sellAllPoolDelta, createTicker3 = _ref.createTicker3, createTicker4 = _ref.createTicker4, createTicker5 = _ref.createTicker5, createTicker6 = _ref.createTicker6, createTicker7to10 = _ref.createTicker7to10, createCoin = _ref.createCoin, createToken = _ref.createToken, recreateCoin = _ref.recreateCoin, recreateToken = _ref.recreateToken, declareCandidacy = _ref.declareCandidacy, delegate = _ref.delegate, unbond = _ref.unbond, redeemCheck = _ref.redeemCheck, setCandidateOn = _ref.setCandidateOn, setCandidateOff = _ref.setCandidateOff, createMultisig = _ref.createMultisig, multisendBase = _ref.multisendBase, multisendDelta = _ref.multisendDelta, editCandidate = _ref.editCandidate, setHaltBlock = _ref.setHaltBlock, editTickerOwner = _ref.editTickerOwner, editMultisig = _ref.editMultisig, editCandidatePublicKey = _ref.editCandidatePublicKey, addLiquidity = _ref.addLiquidity, removeLiquidity = _ref.removeLiquidity, editCandidateCommission = _ref.editCandidateCommission, burnToken = _ref.burnToken, mintToken = _ref.mintToken, voteCommission = _ref.voteCommission, voteUpdate = _ref.voteUpdate, createSwapPool = _ref.createSwapPool, failedTx = _ref.failedTx, addLimitOrder = _ref.addLimitOrder, removeLimitOrder = _ref.removeLimitOrder, moveStake = _ref.moveStake, lockStake = _ref.lockStake, lock = _ref.lock; var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; if (!options.disableValidation) { utils.validatePublicKey(publicKey, 'publicKey'); utils.validateUint(height, 'height'); utils.validateUint(coin, 'coin'); utils.validateAmount(payloadByte, 'payloadByte'); utils.validateAmount(send, 'send'); utils.validateAmount(buyBancor, 'buyBancor'); utils.validateAmount(sellBancor, 'sellBancor'); utils.validateAmount(sellAllBancor, 'sellAllBancor'); utils.validateAmount(buyPoolBase, 'buyPoolBase'); utils.validateAmount(buyPoolDelta, 'buyPoolDelta'); utils.validateAmount(sellPoolBase, 'sellPoolBase'); utils.validateAmount(sellPoolDelta, 'sellPoolDelta'); utils.validateAmount(sellAllPoolBase, 'sellAllPoolBase'); utils.validateAmount(sellAllPoolDelta, 'sellAllPoolDelta'); utils.validateAmount(createTicker3, 'createTicker3'); utils.validateAmount(createTicker4, 'createTicker4'); utils.validateAmount(createTicker5, 'createTicker5'); utils.validateAmount(createTicker6, 'createTicker6'); utils.validateAmount(createTicker7to10, 'createTicker7to10'); utils.validateAmount(createCoin, 'createCoin'); utils.validateAmount(createToken, 'createToken'); utils.validateAmount(recreateCoin, 'recreateCoin'); utils.validateAmount(recreateToken, 'recreateToken'); utils.validateAmount(declareCandidacy, 'declareCandidacy'); utils.validateAmount(delegate, 'delegate'); utils.validateAmount(unbond, 'unbond'); utils.validateAmount(redeemCheck, 'redeemCheck'); utils.validateAmount(setCandidateOn, 'setCandidateOn'); utils.validateAmount(setCandidateOff, 'setCandidateOff'); utils.validateAmount(createMultisig, 'createMultisig'); utils.validateAmount(multisendBase, 'multisendBase'); utils.validateAmount(multisendDelta, 'multisendDelta'); utils.validateAmount(editCandidate, 'editCandidate'); utils.validateAmount(setHaltBlock, 'setHaltBlock'); utils.validateAmount(editTickerOwner, 'editTickerOwner'); utils.validateAmount(editMultisig, 'editMultisig'); // validateAmount(priceVote, 'priceVote'); utils.validateAmount(editCandidatePublicKey, 'editCandidatePublicKey'); utils.validateAmount(addLiquidity, 'addLiquidity'); utils.validateAmount(removeLiquidity, 'removeLiquidity'); utils.validateAmount(editCandidateCommission, 'editCandidateCommission'); utils.validateAmount(burnToken, 'burnToken'); utils.validateAmount(mintToken, 'mintToken'); utils.validateAmount(voteCommission, 'voteCommission'); utils.validateAmount(voteUpdate, 'voteUpdate'); utils.validateAmount(createSwapPool, 'createSwapPool'); utils.validateAmount(failedTx, 'failedTx'); utils.validateAmount(addLimitOrder, 'addLimitOrder'); utils.validateAmount(removeLimitOrder, 'removeLimitOrder'); utils.validateAmount(moveStake, 'moveStake'); utils.validateAmount(lockStake, 'lockStake'); utils.validateAmount(lock, 'lock'); } this.publicKey = publicKey; this.height = height; this.coin = coin; this.payloadByte = payloadByte; this.send = send; this.buyBancor = buyBancor; this.sellBancor = sellBancor; this.sellAllBancor = sellAllBancor; this.buyPoolBase = buyPoolBase; this.buyPoolDelta = buyPoolDelta; this.sellPoolBase = sellPoolBase; this.sellPoolDelta = sellPoolDelta; this.sellAllPoolBase = sellAllPoolBase; this.sellAllPoolDelta = sellAllPoolDelta; this.createTicker3 = createTicker3; this.createTicker4 = createTicker4; this.createTicker5 = createTicker5; this.createTicker6 = createTicker6; this.createTicker7to10 = createTicker7to10; this.createCoin = createCoin; this.createToken = createToken; this.recreateCoin = recreateCoin; this.recreateToken = recreateToken; this.declareCandidacy = declareCandidacy; this.delegate = delegate; this.unbond = unbond; this.redeemCheck = redeemCheck; this.setCandidateOn = setCandidateOn; this.setCandidateOff = setCandidateOff; this.createMultisig = createMultisig; this.multisendBase = multisendBase; this.multisendDelta = multisendDelta; this.editCandidate = editCandidate; this.setHaltBlock = setHaltBlock; this.editTickerOwner = editTickerOwner; this.editMultisig = editMultisig; // this.priceVote = priceVote; this.editCandidatePublicKey = editCandidatePublicKey; this.addLiquidity = addLiquidity; this.removeLiquidity = removeLiquidity; this.editCandidateCommission = editCandidateCommission; this.burnToken = burnToken; this.mintToken = mintToken; this.voteCommission = voteCommission; this.voteUpdate = voteUpdate; this.createSwapPool = createSwapPool; this.failedTx = failedTx; this.addLimitOrder = addLimitOrder; this.removeLimitOrder = removeLimitOrder; this.moveStake = moveStake; this.lockStake = lockStake; this.lock = lock; this.txData = new minterjsTx.TxDataVoteCommission({ publicKey: minterjsUtil.toBuffer(publicKey), height: utils.integerToHexString(height), coin: utils.integerToHexString(coin), payloadByte: "0x".concat(minterjsUtil.convertToPip(payloadByte, 'hex')), send: "0x".concat(minterjsUtil.convertToPip(send, 'hex')), buyBancor: "0x".concat(minterjsUtil.convertToPip(buyBancor, 'hex')), sellBancor: "0x".concat(minterjsUtil.convertToPip(sellBancor, 'hex')), sellAllBancor: "0x".concat(minterjsUtil.convertToPip(sellAllBancor, 'hex')), buyPoolBase: "0x".concat(minterjsUtil.convertToPip(buyPoolBase, 'hex')), buyPoolDelta: "0x".concat(minterjsUtil.convertToPip(buyPoolDelta, 'hex')), sellPoolBase: "0x".concat(minterjsUtil.convertToPip(sellPoolBase, 'hex')), sellPoolDelta: "0x".concat(minterjsUtil.convertToPip(sellPoolDelta, 'hex')), sellAllPoolBase: "0x".concat(minterjsUtil.convertToPip(sellAllPoolBase, 'hex')), sellAllPoolDelta: "0x".concat(minterjsUtil.convertToPip(sellAllPoolDelta, 'hex')), createTicker3: "0x".concat(minterjsUtil.convertToPip(createTicker3, 'hex')), createTicker4: "0x".concat(minterjsUtil.convertToPip(createTicker4, 'hex')), createTicker5: "0x".concat(minterjsUtil.convertToPip(createTicker5, 'hex')), createTicker6: "0x".concat(minterjsUtil.convertToPip(createTicker6, 'hex')), createTicker7to10: "0x".concat(minterjsUtil.convertToPip(createTicker7to10, 'hex')), createCoin: "0x".concat(minterjsUtil.convertToPip(createCoin, 'hex')), createToken: "0x".concat(minterjsUtil.convertToPip(createToken, 'hex')), recreateCoin: "0x".concat(minterjsUtil.convertToPip(recreateCoin, 'hex')), recreateToken: "0x".concat(minterjsUtil.convertToPip(recreateToken, 'hex')), declareCandidacy: "0x".concat(minterjsUtil.convertToPip(declareCandidacy, 'hex')), delegate: "0x".concat(minterjsUtil.convertToPip(delegate, 'hex')), unbond: "0x".concat(minterjsUtil.convertToPip(unbond, 'hex')), redeemCheck: "0x".concat(minterjsUtil.convertToPip(redeemCheck, 'hex')), setCandidateOn: "0x".concat(minterjsUtil.convertToPip(setCandidateOn, 'hex')), setCandidateOff: "0x".concat(minterjsUtil.convertToPip(setCandidateOff, 'hex')), createMultisig: "0x".concat(minterjsUtil.convertToPip(createMultisig, 'hex')), multisendBase: "0x".concat(minterjsUtil.convertToPip(multisendBase, 'hex')), multisendDelta: "0x".concat(minterjsUtil.convertToPip(multisendDelta, 'hex')), editCandidate: "0x".concat(minterjsUtil.convertToPip(editCandidate, 'hex')), setHaltBlock: "0x".concat(minterjsUtil.convertToPip(setHaltBlock, 'hex')), editTickerOwner: "0x".concat(minterjsUtil.convertToPip(editTickerOwner, 'hex')), editMultisig: "0x".concat(minterjsUtil.convertToPip(editMultisig, 'hex')), // priceVote: `0x${convertToPip(priceVote, 'hex')}`, editCandidatePublicKey: "0x".concat(minterjsUtil.convertToPip(editCandidatePublicKey, 'hex')), addLiquidity: "0x".concat(minterjsUtil.convertToPip(addLiquidity, 'hex')), removeLiquidity: "0x".concat(minterjsUtil.convertToPip(removeLiquidity, 'hex')), editCandidateCommission: "0x".concat(minterjsUtil.convertToPip(editCandidateCommission, 'hex')), burnToken: "0x".concat(minterjsUtil.convertToPip(burnToken, 'hex')), mintToken: "0x".concat(minterjsUtil.convertToPip(mintToken, 'hex')), voteCommission: "0x".concat(minterjsUtil.convertToPip(voteCommission, 'hex')), voteUpdate: "0x".concat(minterjsUtil.convertToPip(voteUpdate, 'hex')), createSwapPool: "0x".concat(minterjsUtil.convertToPip(createSwapPool, 'hex')), failedTx: "0x".concat(minterjsUtil.convertToPip(failedTx, 'hex')), addLimitOrder: "0x".concat(minterjsUtil.convertToPip(addLimitOrder, 'hex')), removeLimitOrder: "0x".concat(minterjsUtil.convertToPip(removeLimitOrder, 'hex')), moveStake: "0x".concat(minterjsUtil.convertToPip(moveStake, 'hex')), lockStake: "0x".concat(minterjsUtil.convertToPip(lockStake, 'hex')), lock: "0x".concat(minterjsUtil.convertToPip(lock, 'hex')) }); utils.proxyNestedTxData(this); } /** * @param {object} txData * @param {Buffer|string} txData.publicKey * @param {Buffer|string|number} txData.height * @param {Buffer|string|number} txData.coin * @param {Buffer|string|number} txData.payloadByte * @param {Buffer|string|number} txData.send * @param {Buffer|string|number} txData.buyBancor * @param {Buffer|string|number} txData.sellBancor * @param {Buffer|string|number} txData.sellAllBancor * @param {Buffer|string|number} txData.buyPoolBase * @param {Buffer|string|number} txData.buyPoolDelta * @param {Buffer|string|number} txData.sellPoolBase * @param {Buffer|string|number} txData.sellPoolDelta * @param {Buffer|string|number} txData.sellAllPoolBase * @param {Buffer|string|number} txData.sellAllPoolDelta * @param {Buffer|string|number} txData.createTicker3 * @param {Buffer|string|number} txData.createTicker4 * @param {Buffer|string|number} txData.createTicker5 * @param {Buffer|string|number} txData.createTicker6 * @param {Buffer|string|number} txData.createTicker7to10 * @param {Buffer|string|number} txData.createCoin * @param {Buffer|string|number} txData.createToken * @param {Buffer|string|number} txData.recreateCoin * @param {Buffer|string|number} txData.recreateToken * @param {Buffer|string|number} txData.declareCandidacy * @param {Buffer|string|number} txData.delegate * @param {Buffer|string|number} txData.unbond * @param {Buffer|string|number} txData.redeemCheck * @param {Buffer|string|number} txData.setCandidateOn * @param {Buffer|string|number} txData.setCandidateOff * @param {Buffer|string|number} txData.createMultisig * @param {Buffer|string|number} txData.multisendBase * @param {Buffer|string|number} txData.multisendDelta * @param {Buffer|string|number} txData.editCandidate * @param {Buffer|string|number} txData.setHaltBlock * @param {Buffer|string|number} txData.editTickerOwner * @param {Buffer|string|number} txData.editMultisig * //param {Buffer|string|number} [txData.priceVote] * @param {Buffer|string|number} txData.editCandidatePublicKey * @param {Buffer|string|number} txData.addLiquidity * @param {Buffer|string|number} txData.removeLiquidity * @param {Buffer|string|number} txData.editCandidateCommission * @param {Buffer|string|number} txData.burnToken * @param {Buffer|string|number} txData.mintToken * @param {Buffer|string|number} txData.voteCommission * @param {Buffer|string|number} txData.voteUpdate * @param {Buffer|string|number} txData.createSwapPool * @param {Buffer|string|number} txData.failedTx * @param {Buffer|string|number} txData.addLimitOrder * @param {Buffer|string|number} txData.removeLimitOrder * @param {Buffer|string|number} txData.moveStake * @param {Buffer|string|number} txData.lockStake * @param {Buffer|string|number} txData.lock * @param {TxOptions} [options] * @return {VoteCommissionTxData} */ VoteCommissionTxData.fromBufferFields = function fromBufferFields(_ref2) { var publicKey = _ref2.publicKey, height = _ref2.height, coin = _ref2.coin, payloadByte = _ref2.payloadByte, send = _ref2.send, buyBancor = _ref2.buyBancor, sellBancor = _ref2.sellBancor, sellAllBancor = _ref2.sellAllBancor, buyPoolBase = _ref2.buyPoolBase, buyPoolDelta = _ref2.buyPoolDelta, sellPoolBase = _ref2.sellPoolBase, sellPoolDelta = _ref2.sellPoolDelta, sellAllPoolBase = _ref2.sellAllPoolBase, sellAllPoolDelta = _ref2.sellAllPoolDelta, createTicker3 = _ref2.createTicker3, createTicker4 = _ref2.createTicker4, createTicker5 = _ref2.createTicker5, createTicker6 = _ref2.createTicker6, createTicker7to10 = _ref2.createTicker7to10, createCoin = _ref2.createCoin, createToken = _ref2.createToken, recreateCoin = _ref2.recreateCoin, recreateToken = _ref2.recreateToken, declareCandidacy = _ref2.declareCandidacy, delegate = _ref2.delegate, unbond = _ref2.unbond, redeemCheck = _ref2.redeemCheck, setCandidateOn = _ref2.setCandidateOn, setCandidateOff = _ref2.setCandidateOff, createMultisig = _ref2.createMultisig, multisendBase = _ref2.multisendBase, multisendDelta = _ref2.multisendDelta, editCandidate = _ref2.editCandidate, setHaltBlock = _ref2.setHaltBlock, editTickerOwner = _ref2.editTickerOwner, editMultisig = _ref2.editMultisig, editCandidatePublicKey = _ref2.editCandidatePublicKey, addLiquidity = _ref2.addLiquidity, removeLiquidity = _ref2.removeLiquidity, editCandidateCommission = _ref2.editCandidateCommission, burnToken = _ref2.burnToken, mintToken = _ref2.mintToken, voteCommission = _ref2.voteCommission, voteUpdate = _ref2.voteUpdate, createSwapPool = _ref2.createSwapPool, failedTx = _ref2.failedTx, addLimitOrder = _ref2.addLimitOrder, removeLimitOrder = _ref2.removeLimitOrder, moveStake = _ref2.moveStake, lockStake = _ref2.lockStake, lock = _ref2.lock; var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; return new VoteCommissionTxData({ publicKey: utils.dataToPublicKey(publicKey), height: utils.dataToInteger(height), coin: utils.dataToInteger(coin), payloadByte: utils.dataPipToAmount(payloadByte), send: utils.dataPipToAmount(send), buyBancor: utils.dataPipToAmount(buyBancor), sellBancor: utils.dataPipToAmount(sellBancor), sellAllBancor: utils.dataPipToAmount(sellAllBancor), buyPoolBase: utils.dataPipToAmount(buyPoolBase), buyPoolDelta: utils.dataPipToAmount(buyPoolDelta), sellPoolBase: utils.dataPipToAmount(sellPoolBase), sellPoolDelta: utils.dataPipToAmount(sellPoolDelta), sellAllPoolBase: utils.dataPipToAmount(sellAllPoolBase), sellAllPoolDelta: utils.dataPipToAmount(sellAllPoolDelta), createTicker3: utils.dataPipToAmount(createTicker3), createTicker4: utils.dataPipToAmount(createTicker4), createTicker5: utils.dataPipToAmount(createTicker5), createTicker6: utils.dataPipToAmount(createTicker6), createTicker7to10: utils.dataPipToAmount(createTicker7to10), createCoin: utils.dataPipToAmount(createCoin), createToken: utils.dataPipToAmount(createToken), recreateCoin: utils.dataPipToAmount(recreateCoin), recreateToken: utils.dataPipToAmount(recreateToken), declareCandidacy: utils.dataPipToAmount(declareCandidacy), delegate: utils.dataPipToAmount(delegate), unbond: utils.dataPipToAmount(unbond), redeemCheck: utils.dataPipToAmount(redeemCheck), setCandidateOn: utils.dataPipToAmount(setCandidateOn), setCandidateOff: utils.dataPipToAmount(setCandidateOff), createMultisig: utils.dataPipToAmount(createMultisig), multisendBase: utils.dataPipToAmount(multisendBase), multisendDelta: utils.dataPipToAmount(multisendDelta), editCandidate: utils.dataPipToAmount(editCandidate), setHaltBlock: utils.dataPipToAmount(setHaltBlock), editTickerOwner: utils.dataPipToAmount(editTickerOwner), editMultisig: utils.dataPipToAmount(editMultisig), // priceVote: dataPipToAmount(priceVote), editCandidatePublicKey: utils.dataPipToAmount(editCandidatePublicKey), addLiquidity: utils.dataPipToAmount(addLiquidity), removeLiquidity: utils.dataPipToAmount(removeLiquidity), editCandidateCommission: utils.dataPipToAmount(editCandidateCommission), burnToken: utils.dataPipToAmount(burnToken), mintToken: utils.dataPipToAmount(mintToken), voteCommission: utils.dataPipToAmount(voteCommission), voteUpdate: utils.dataPipToAmount(voteUpdate), createSwapPool: utils.dataPipToAmount(createSwapPool), failedTx: utils.dataPipToAmount(failedTx), addLimitOrder: utils.dataPipToAmount(addLimitOrder), removeLimitOrder: utils.dataPipToAmount(removeLimitOrder), moveStake: utils.dataPipToAmount(moveStake), lockStake: utils.dataPipToAmount(lockStake), lock: utils.dataPipToAmount(lock) }, options); }; /** * @param {Buffer|string} data * @return {VoteCommissionTxData} */ VoteCommissionTxData.fromRlp = function fromRlp(data) { return VoteCommissionTxData.fromBufferFields(new minterjsTx.TxDataVoteCommission(data)); }; module.exports = VoteCommissionTxData;