@coolwallet/zen
Version:
Coolwallet Horizen sdk
76 lines (56 loc) • 9.06 kB
JavaScript
;
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.signTransaction = signTransaction;
var _core = require("@coolwallet/core");
var _types = require("./config/types");
var txUtil = _interopRequireWildcard(require("./utils/transactionUtil"));
var _scriptUtil = require("./utils/scriptUtil");
var _type = require("@coolwallet/core/lib/transaction/type");
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
function signTransaction(_x) {
return _signTransaction.apply(this, arguments);
}
function _signTransaction() {
_signTransaction = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(signTxData) {
var scriptType, transport, inputs, output, change, appPrivateKey, appId, signatureType, _txUtil$createUnsigne, preparedData, _yield$getScriptSigni, preActions, actions, signatures, transaction;
return regeneratorRuntime.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
scriptType = signTxData.scriptType, transport = signTxData.transport, inputs = signTxData.inputs, output = signTxData.output, change = signTxData.change, appPrivateKey = signTxData.appPrivateKey, appId = signTxData.appId;
signatureType = _type.SignatureType.DER;
if (!(scriptType !== _types.ScriptType.P2PKH && scriptType !== _types.ScriptType.P2SH)) {
_context.next = 4;
break;
}
throw new _core.error.SDKError(signTransaction.name, "Unsupport ScriptType '".concat(scriptType, "'"));
case 4:
_txUtil$createUnsigne = txUtil.createUnsignedTransactions(scriptType, inputs, output, change), preparedData = _txUtil$createUnsigne.preparedData;
_context.next = 7;
return (0, _scriptUtil.getScriptSigningActions)(transport, scriptType, appId, appPrivateKey, inputs, preparedData, output, change);
case 7:
_yield$getScriptSigni = _context.sent;
preActions = _yield$getScriptSigni.preActions;
actions = _yield$getScriptSigni.actions;
_context.next = 12;
return _core.tx.flow.getSignaturesFromCoolWalletV2(transport, preActions, actions, signatureType, signTxData.confirmCB, signTxData.authorizedCB);
case 12:
signatures = _context.sent;
transaction = txUtil.composeFinalTransaction(scriptType, preparedData, signatures);
return _context.abrupt("return", transaction.toString('hex'));
case 15:
case "end":
return _context.stop();
}
}
}, _callee);
}));
return _signTransaction.apply(this, arguments);
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zaWduLnRzIl0sIm5hbWVzIjpbInNpZ25UcmFuc2FjdGlvbiIsInNpZ25UeERhdGEiLCJzY3JpcHRUeXBlIiwidHJhbnNwb3J0IiwiaW5wdXRzIiwib3V0cHV0IiwiY2hhbmdlIiwiYXBwUHJpdmF0ZUtleSIsImFwcElkIiwic2lnbmF0dXJlVHlwZSIsIlNpZ25hdHVyZVR5cGUiLCJERVIiLCJTY3JpcHRUeXBlIiwiUDJQS0giLCJQMlNIIiwiZXJyb3IiLCJTREtFcnJvciIsIm5hbWUiLCJ0eFV0aWwiLCJjcmVhdGVVbnNpZ25lZFRyYW5zYWN0aW9ucyIsInByZXBhcmVkRGF0YSIsInByZUFjdGlvbnMiLCJhY3Rpb25zIiwidHgiLCJmbG93IiwiZ2V0U2lnbmF0dXJlc0Zyb21Db29sV2FsbGV0VjIiLCJjb25maXJtQ0IiLCJhdXRob3JpemVkQ0IiLCJzaWduYXR1cmVzIiwidHJhbnNhY3Rpb24iLCJjb21wb3NlRmluYWxUcmFuc2FjdGlvbiIsInRvU3RyaW5nIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7Ozs7Ozs7OztTQUVzQkEsZTs7Ozs7NkVBQWYsaUJBQStCQyxVQUEvQjtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0dDLFlBQUFBLFVBREgsR0FDMkVELFVBRDNFLENBQ0dDLFVBREgsRUFDZUMsU0FEZixHQUMyRUYsVUFEM0UsQ0FDZUUsU0FEZixFQUMwQkMsTUFEMUIsR0FDMkVILFVBRDNFLENBQzBCRyxNQUQxQixFQUNrQ0MsTUFEbEMsR0FDMkVKLFVBRDNFLENBQ2tDSSxNQURsQyxFQUMwQ0MsTUFEMUMsR0FDMkVMLFVBRDNFLENBQzBDSyxNQUQxQyxFQUNrREMsYUFEbEQsR0FDMkVOLFVBRDNFLENBQ2tETSxhQURsRCxFQUNpRUMsS0FEakUsR0FDMkVQLFVBRDNFLENBQ2lFTyxLQURqRTtBQUVDQyxZQUFBQSxhQUZELEdBRWlCQyxvQkFBY0MsR0FGL0I7O0FBQUEsa0JBSURULFVBQVUsS0FBS1Usa0JBQVdDLEtBQTFCLElBQW1DWCxVQUFVLEtBQUtVLGtCQUFXRSxJQUo1RDtBQUFBO0FBQUE7QUFBQTs7QUFBQSxrQkFLRyxJQUFJQyxZQUFNQyxRQUFWLENBQW1CaEIsZUFBZSxDQUFDaUIsSUFBbkMsa0NBQWtFZixVQUFsRSxPQUxIOztBQUFBO0FBQUEsb0NBUW9CZ0IsTUFBTSxDQUFDQywwQkFBUCxDQUFrQ2pCLFVBQWxDLEVBQThDRSxNQUE5QyxFQUFzREMsTUFBdEQsRUFBOERDLE1BQTlELENBUnBCLEVBUUdjLFlBUkgseUJBUUdBLFlBUkg7QUFBQTtBQUFBLG1CQVNpQyx5Q0FDcENqQixTQURvQyxFQUVwQ0QsVUFGb0MsRUFHcENNLEtBSG9DLEVBSXBDRCxhQUpvQyxFQUtwQ0gsTUFMb0MsRUFNcENnQixZQU5vQyxFQU9wQ2YsTUFQb0MsRUFRcENDLE1BUm9DLENBVGpDOztBQUFBO0FBQUE7QUFTR2UsWUFBQUEsVUFUSCx5QkFTR0EsVUFUSDtBQVNlQyxZQUFBQSxPQVRmLHlCQVNlQSxPQVRmO0FBQUE7QUFBQSxtQkFtQm9CQyxTQUFHQyxJQUFILENBQVFDLDZCQUFSLENBQ3ZCdEIsU0FEdUIsRUFFdkJrQixVQUZ1QixFQUd2QkMsT0FIdUIsRUFJdkJiLGFBSnVCLEVBS3ZCUixVQUFVLENBQUN5QixTQUxZLEVBTXZCekIsVUFBVSxDQUFDMEIsWUFOWSxDQW5CcEI7O0FBQUE7QUFtQkNDLFlBQUFBLFVBbkJEO0FBMkJDQyxZQUFBQSxXQTNCRCxHQTJCZVgsTUFBTSxDQUFDWSx1QkFBUCxDQUErQjVCLFVBQS9CLEVBQTJDa0IsWUFBM0MsRUFBeURRLFVBQXpELENBM0JmO0FBQUEsNkNBNEJFQyxXQUFXLENBQUNFLFFBQVosQ0FBcUIsS0FBckIsQ0E1QkY7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR4LCBlcnJvciB9IGZyb20gJ0Bjb29sd2FsbGV0L2NvcmUnO1xuaW1wb3J0IHsgU2NyaXB0VHlwZSB9IGZyb20gJy4vY29uZmlnL3R5cGVzJztcbmltcG9ydCAqIGFzIHR4VXRpbCBmcm9tICcuL3V0aWxzL3RyYW5zYWN0aW9uVXRpbCc7XG5pbXBvcnQgeyBnZXRTY3JpcHRTaWduaW5nQWN0aW9ucyB9IGZyb20gJy4vdXRpbHMvc2NyaXB0VXRpbCc7XG5pbXBvcnQgKiBhcyB0eXBlcyBmcm9tICcuL2NvbmZpZy90eXBlcyc7XG5pbXBvcnQgeyBTaWduYXR1cmVUeXBlIH0gZnJvbSAnQGNvb2x3YWxsZXQvY29yZS9saWIvdHJhbnNhY3Rpb24vdHlwZSc7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzaWduVHJhbnNhY3Rpb24oc2lnblR4RGF0YTogdHlwZXMuc2lnblR4VHlwZSk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHsgc2NyaXB0VHlwZSwgdHJhbnNwb3J0LCBpbnB1dHMsIG91dHB1dCwgY2hhbmdlLCBhcHBQcml2YXRlS2V5LCBhcHBJZCB9ID0gc2lnblR4RGF0YTtcbiAgY29uc3Qgc2lnbmF0dXJlVHlwZSA9IFNpZ25hdHVyZVR5cGUuREVSO1xuXG4gIGlmIChzY3JpcHRUeXBlICE9PSBTY3JpcHRUeXBlLlAyUEtIICYmIHNjcmlwdFR5cGUgIT09IFNjcmlwdFR5cGUuUDJTSCkge1xuICAgIHRocm93IG5ldyBlcnJvci5TREtFcnJvcihzaWduVHJhbnNhY3Rpb24ubmFtZSwgYFVuc3VwcG9ydCBTY3JpcHRUeXBlICcke3NjcmlwdFR5cGV9J2ApO1xuICB9XG5cbiAgY29uc3QgeyBwcmVwYXJlZERhdGEgfSA9IHR4VXRpbC5jcmVhdGVVbnNpZ25lZFRyYW5zYWN0aW9ucyhzY3JpcHRUeXBlLCBpbnB1dHMsIG91dHB1dCwgY2hhbmdlKTtcbiAgY29uc3QgeyBwcmVBY3Rpb25zLCBhY3Rpb25zIH0gPSBhd2FpdCBnZXRTY3JpcHRTaWduaW5nQWN0aW9ucyhcbiAgICB0cmFuc3BvcnQsXG4gICAgc2NyaXB0VHlwZSxcbiAgICBhcHBJZCxcbiAgICBhcHBQcml2YXRlS2V5LFxuICAgIGlucHV0cyxcbiAgICBwcmVwYXJlZERhdGEsXG4gICAgb3V0cHV0LFxuICAgIGNoYW5nZVxuICApO1xuICBjb25zdCBzaWduYXR1cmVzID0gYXdhaXQgdHguZmxvdy5nZXRTaWduYXR1cmVzRnJvbUNvb2xXYWxsZXRWMihcbiAgICB0cmFuc3BvcnQsXG4gICAgcHJlQWN0aW9ucyxcbiAgICBhY3Rpb25zLFxuICAgIHNpZ25hdHVyZVR5cGUsXG4gICAgc2lnblR4RGF0YS5jb25maXJtQ0IsXG4gICAgc2lnblR4RGF0YS5hdXRob3JpemVkQ0JcbiAgKTtcbiAgY29uc3QgdHJhbnNhY3Rpb24gPSB0eFV0aWwuY29tcG9zZUZpbmFsVHJhbnNhY3Rpb24oc2NyaXB0VHlwZSwgcHJlcGFyZWREYXRhLCBzaWduYXR1cmVzIGFzIEJ1ZmZlcltdKTtcbiAgcmV0dXJuIHRyYW5zYWN0aW9uLnRvU3RyaW5nKCdoZXgnKTtcbn1cbiJdfQ==