UNPKG

qos-qweb

Version:
72 lines 7.73 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const js_amino_1 = require("js-amino"); const tweetnacl_1 = __importDefault(require("tweetnacl")); const _1 = require("."); const approve_1 = require("../types/approve"); const common_1 = require("../types/common"); const tx_1 = require("../types/tx"); const TxSignData_1 = require("./TxSignData"); function registerCodec() { const codec = new js_amino_1.Codec(); codec.registerConcrete(new tx_1.StdTx(), 'qbase/txs/stdtx', {}); codec.registerConcrete(new approve_1.ApproveITX(), 'approve/txs/TxCreateApprove', {}); codec.registerConcrete(new tx_1.PubKeyEd25519(), 'tendermint/PubKeyEd25519', {}); return codec; } function signApproveTxMsg(oMsg) { oMsg.tx.qos = _1.accMul(oMsg.tx.qos, common_1.qosDecimal); const signed = makeTxSignMsg(oMsg); // logger.debug('Approve signedMsg: ') // logger.info(JSON.stringify(signed.arrMsg)) const signatureData = tweetnacl_1.default.sign.detached(Buffer.from(signed.arrMsg), oMsg.account.keypair.secretKey); const codec = registerCodec(); const pubKey = new tx_1.PubKeyEd25519([...oMsg.account.keypair.publicKey]); const sig = new tx_1.Signature(pubKey, [...signatureData], oMsg.nonce.toString()); const approve = new approve_1.Approve(TxSignData_1.getOriginAddress(oMsg.account.address), TxSignData_1.getOriginAddress(oMsg.tx.to), oMsg.tx.qos.toString(), signed.qscArr); const itx = new approve_1.ApproveITX(approve); const stdtx = new tx_1.StdTx(itx, [sig], oMsg.chainid, oMsg.maxGas.toString()); // const jsonTx = codec.marshalJson(stdtx) // logger.debug('stdtx: ') // logger.info(jsonTx) const binary = codec.marshalBinary(stdtx); // logger.debug(binary.toString()) return binary; } exports.signApproveTxMsg = signApproveTxMsg; function makeTxSignMsg({ account, tx, chainid, maxGas, nonce }) { let arrMsg = []; // push buffer of orginaddres const txMsg = composeData(account, tx); arrMsg = arrMsg.concat(txMsg.txMsgArray); const chaidBufferArray = [..._1.stringToBuffer(chainid)]; arrMsg = arrMsg.concat(chaidBufferArray); arrMsg = arrMsg.concat([..._1.Int64ToBuffer(maxGas)]); arrMsg = arrMsg.concat([..._1.Int64ToBuffer(nonce)]); arrMsg = arrMsg.concat(chaidBufferArray); return { arrMsg, qscArr: txMsg.qscArr }; } function composeData(account, tx) { let txMsgArray = []; txMsgArray = txMsgArray.concat(TxSignData_1.getOriginAddress(account.address)); txMsgArray = txMsgArray.concat(TxSignData_1.getOriginAddress(tx.to)); txMsgArray = txMsgArray.concat([..._1.stringToBuffer(tx.qos.toString())]); const qscArr = []; const cqscAmountArr = []; // logger.debug('Array.isArray(tx.qscs)', Array.isArray(tx.qscs), tx.qscs) if (Array.isArray(tx.qscs) && tx.qscs.length > 0) { for (const qsc of tx.qscs) { cqscAmountArr.push(`${qsc.amount}${qsc.coin_name.toLowerCase()}`); qscArr.push(new tx_1.QSC(qsc.coin_name.toLowerCase(), qsc.amount.toString())); } } txMsgArray = txMsgArray.concat([..._1.stringToBuffer(cqscAmountArr.join(','))]); return { txMsgArray, qscArr }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwcm92ZVNpZ25EYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvcmUvdXRpbHMvQXBwcm92ZVNpZ25EYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsdUNBQWlDO0FBQ2pDLDBEQUE2QjtBQUM3Qix3QkFBMEQ7QUFFMUQsOENBQXVEO0FBQ3ZELDRDQUF5RDtBQUN6RCxvQ0FBbUU7QUFDbkUsNkNBQWdEO0FBRWhELFNBQVMsYUFBYTtJQUNwQixNQUFNLEtBQUssR0FBRyxJQUFJLGdCQUFLLEVBQUUsQ0FBQztJQUMxQixLQUFLLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxVQUFLLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMzRCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxvQkFBVSxFQUFFLEVBQUUsNkJBQTZCLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDNUUsS0FBSyxDQUFDLGdCQUFnQixDQUFDLElBQUksa0JBQWEsRUFBRSxFQUFFLDBCQUEwQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzVFLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELFNBQWdCLGdCQUFnQixDQUFDLElBTWhDO0lBQ0MsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsU0FBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLG1CQUFVLENBQUMsQ0FBQztJQUM5QyxNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkMsc0NBQXNDO0lBQ3RDLDZDQUE2QztJQUM3QyxNQUFNLGFBQWEsR0FBRyxtQkFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQ3RDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQy9CLENBQUM7SUFFRixNQUFNLEtB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