minter-js-sdk
Version:
JS SDK for Minter Blockchain
75 lines (70 loc) • 3.82 kB
JavaScript
import {TX_TYPE, normalizeTxType} from 'minterjs-util';
import decorateSendTxParams from './send.js';
import decorateSellTxParams from './convert-sell.js';
import decorateBuyTxParams from './convert-buy.js';
import decorateSellAllTxParams from './convert-sell-all.js';
import decorateSellSwapPoolTxParams from './convert-sell-pool.js';
import decorateBuySwapPoolTxParams from './convert-buy-pool.js';
import decorateSellAllSwapPoolTxParams from './convert-sell-all-pool.js';
import decorateCreateSwapPoolTxParams from './pool-create.js';
import decorateAddLiquidityTxParams from './pool-add-liquidity.js';
import decorateAddLimitOrderTxParams from './limit-order-add.js';
import decorateDeclareCandidacyTxParams from './candidacy-declare.js';
import decorateDelegateTxParams from './stake-delegate.js';
// import decorateUnbondTxParams from './stake-unbond.js';
import decorateMoveStakeTxParams from './stake-move.js';
import decorateBurnTokenTxParams from './token-burn.js';
import decorateRedeemCheckTxParams from './redeem-check.js';
import decorateLockTxParams from './lock.js';
const noop = (x) => x;
/**
* @param {TxParams} txParams
* @param {object} [options]
* @param {boolean} [options.setGasCoinAsCoinToSpend]
* @return {TxParams}
*/
export default function decorateTxParams(txParams, {setGasCoinAsCoinToSpend} = {}) {
const txType = normalizeTxType(txParams.type || txParams.txType);
const TX_PARAMS_DECORATOR = {
[]: setGasCoinAsCoinToSpend ? decorateSendTxParams : noop,
[]: noop,
[]: setGasCoinAsCoinToSpend ? decorateSellTxParams : noop,
[]: setGasCoinAsCoinToSpend ? decorateBuyTxParams : noop,
[]: decorateSellAllTxParams,
[]: noop,
[]: setGasCoinAsCoinToSpend ? decorateDeclareCandidacyTxParams : noop,
[]: noop,
[]: noop,
[]: noop,
[]: noop,
[]: setGasCoinAsCoinToSpend ? decorateDelegateTxParams : noop,
[]: noop, // decorateUnbondTxParams,
[]: decorateRedeemCheckTxParams,
[]: noop,
[]: noop,
[]: noop,
[]: noop,
[]: noop,
[]: noop,
[]: noop,
[]: setGasCoinAsCoinToSpend ? decorateAddLiquidityTxParams : noop,
[]: noop,
[]: setGasCoinAsCoinToSpend ? decorateBuySwapPoolTxParams : noop,
[]: setGasCoinAsCoinToSpend ? decorateSellSwapPoolTxParams : noop,
[]: decorateSellAllSwapPoolTxParams,
[]: noop,
[]: setGasCoinAsCoinToSpend ? decorateMoveStakeTxParams : noop,
[]: noop,
[]: setGasCoinAsCoinToSpend ? decorateBurnTokenTxParams : noop,
[]: noop,
[]: noop,
[]: noop,
[]: noop,
[]: setGasCoinAsCoinToSpend ? decorateCreateSwapPoolTxParams : noop,
[]: setGasCoinAsCoinToSpend ? decorateAddLimitOrderTxParams : noop,
[]: noop,
[]: noop,
[]: setGasCoinAsCoinToSpend ? decorateLockTxParams : noop,
};
return TX_PARAMS_DECORATOR[txType](txParams);
}