qos-qweb
Version:
qos js sdk
72 lines • 7.73 kB
JavaScript
;
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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