minter-js-sdk
Version:
JS SDK for Minter Blockchain
455 lines (449 loc) • 21.7 kB
JavaScript
'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;