@coolwallet/ltc
Version:
Coolwallet LiteCoin sdk
76 lines (56 loc) • 9.47 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 txUtil = _interopRequireWildcard(require("./utils/transactionUtil"));
var scriptUtil = _interopRequireWildcard(require("./utils/scriptUtil"));
var types = _interopRequireWildcard(require("./config/types"));
var _transaction = require("@coolwallet/core/lib/transaction");
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, _x2) {
return _signTransaction.apply(this, arguments);
}
function _signTransaction() {
_signTransaction = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(signTxData, coinType) {
var scriptType, transport, inputs, output, change, appId, appPrivateKey, _txUtil$createUnsigne, preparedData, _yield$scriptUtil$get, 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, appId = signTxData.appId, appPrivateKey = signTxData.appPrivateKey;
if (!(scriptType !== types.ScriptType.P2PKH && scriptType !== types.ScriptType.P2WPKH && scriptType !== types.ScriptType.P2SH_P2WPKH // coolwallet app use this scriptType
)) {
_context.next = 3;
break;
}
throw new _core.error.SDKError(signTransaction.name, "Unsupport ScriptType '".concat(scriptType, "'"));
case 3:
_txUtil$createUnsigne = txUtil.createUnsignedTransactions(scriptType, inputs, output, change), preparedData = _txUtil$createUnsigne.preparedData;
_context.next = 6;
return scriptUtil.getScriptSigningActions(transport, scriptType, appId, appPrivateKey, inputs, preparedData, output, change, coinType);
case 6:
_yield$scriptUtil$get = _context.sent;
preActions = _yield$scriptUtil$get.preActions;
actions = _yield$scriptUtil$get.actions;
_context.next = 11;
return _core.tx.flow.getSignaturesFromCoolWalletV2(transport, preActions, actions, _transaction.SignatureType.DER, signTxData.confirmCB, signTxData.authorizedCB);
case 11:
signatures = _context.sent;
transaction = txUtil.composeFinalTransaction(scriptType, preparedData, signatures);
return _context.abrupt("return", transaction.toString('hex'));
case 14:
case "end":
return _context.stop();
}
}
}, _callee);
}));
return _signTransaction.apply(this, arguments);
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zaWduLnRzIl0sIm5hbWVzIjpbInNpZ25UcmFuc2FjdGlvbiIsInNpZ25UeERhdGEiLCJjb2luVHlwZSIsInNjcmlwdFR5cGUiLCJ0cmFuc3BvcnQiLCJpbnB1dHMiLCJvdXRwdXQiLCJjaGFuZ2UiLCJhcHBJZCIsImFwcFByaXZhdGVLZXkiLCJ0eXBlcyIsIlNjcmlwdFR5cGUiLCJQMlBLSCIsIlAyV1BLSCIsIlAyU0hfUDJXUEtIIiwiZXJyb3IiLCJTREtFcnJvciIsIm5hbWUiLCJ0eFV0aWwiLCJjcmVhdGVVbnNpZ25lZFRyYW5zYWN0aW9ucyIsInByZXBhcmVkRGF0YSIsInNjcmlwdFV0aWwiLCJnZXRTY3JpcHRTaWduaW5nQWN0aW9ucyIsInByZUFjdGlvbnMiLCJhY3Rpb25zIiwidHgiLCJmbG93IiwiZ2V0U2lnbmF0dXJlc0Zyb21Db29sV2FsbGV0VjIiLCJTaWduYXR1cmVUeXBlIiwiREVSIiwiY29uZmlybUNCIiwiYXV0aG9yaXplZENCIiwic2lnbmF0dXJlcyIsInRyYW5zYWN0aW9uIiwiY29tcG9zZUZpbmFsVHJhbnNhY3Rpb24iLCJ0b1N0cmluZyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7U0FFc0JBLGU7Ozs7OzZFQUFmLGlCQUErQkMsVUFBL0IsRUFBNkRDLFFBQTdEO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDR0MsWUFBQUEsVUFESCxHQUMyRUYsVUFEM0UsQ0FDR0UsVUFESCxFQUNlQyxTQURmLEdBQzJFSCxVQUQzRSxDQUNlRyxTQURmLEVBQzBCQyxNQUQxQixHQUMyRUosVUFEM0UsQ0FDMEJJLE1BRDFCLEVBQ2tDQyxNQURsQyxHQUMyRUwsVUFEM0UsQ0FDa0NLLE1BRGxDLEVBQzBDQyxNQUQxQyxHQUMyRU4sVUFEM0UsQ0FDMENNLE1BRDFDLEVBQ2tEQyxLQURsRCxHQUMyRVAsVUFEM0UsQ0FDa0RPLEtBRGxELEVBQ3lEQyxhQUR6RCxHQUMyRVIsVUFEM0UsQ0FDeURRLGFBRHpEOztBQUFBLGtCQUlITixVQUFVLEtBQUtPLEtBQUssQ0FBQ0MsVUFBTixDQUFpQkMsS0FBaEMsSUFDQVQsVUFBVSxLQUFLTyxLQUFLLENBQUNDLFVBQU4sQ0FBaUJFLE1BRGhDLElBRUFWLFVBQVUsS0FBS08sS0FBSyxDQUFDQyxVQUFOLENBQWlCRyxXQU43QixDQU15QztBQU56QztBQUFBO0FBQUE7QUFBQTs7QUFBQSxrQkFRRyxJQUFJQyxZQUFNQyxRQUFWLENBQW1CaEIsZUFBZSxDQUFDaUIsSUFBbkMsa0NBQWtFZCxVQUFsRSxPQVJIOztBQUFBO0FBQUEsb0NBVW9CZSxNQUFNLENBQUNDLDBCQUFQLENBQWtDaEIsVUFBbEMsRUFBOENFLE1BQTlDLEVBQXNEQyxNQUF0RCxFQUE4REMsTUFBOUQsQ0FWcEIsRUFVR2EsWUFWSCx5QkFVR0EsWUFWSDtBQUFBO0FBQUEsbUJBV2lDQyxVQUFVLENBQUNDLHVCQUFYLENBQ3BDbEIsU0FEb0MsRUFFcENELFVBRm9DLEVBR3BDSyxLQUhvQyxFQUlwQ0MsYUFKb0MsRUFLcENKLE1BTG9DLEVBTXBDZSxZQU5vQyxFQU9wQ2QsTUFQb0MsRUFRcENDLE1BUm9DLEVBU3BDTCxRQVRvQyxDQVhqQzs7QUFBQTtBQUFBO0FBV0dxQixZQUFBQSxVQVhILHlCQVdHQSxVQVhIO0FBV2VDLFlBQUFBLE9BWGYseUJBV2VBLE9BWGY7QUFBQTtBQUFBLG1CQXVCb0JDLFNBQUdDLElBQUgsQ0FBUUMsNkJBQVIsQ0FDdkJ2QixTQUR1QixFQUV2Qm1CLFVBRnVCLEVBR3ZCQyxPQUh1QixFQUl2QkksMkJBQWNDLEdBSlMsRUFLdkI1QixVQUFVLENBQUM2QixTQUxZLEVBTXZCN0IsVUFBVSxDQUFDOEIsWUFOWSxDQXZCcEI7O0FBQUE7QUF1QkNDLFlBQUFBLFVBdkJEO0FBK0JDQyxZQUFBQSxXQS9CRCxHQStCZWYsTUFBTSxDQUFDZ0IsdUJBQVAsQ0FBK0IvQixVQUEvQixFQUEyQ2lCLFlBQTNDLEVBQXlEWSxVQUF6RCxDQS9CZjtBQUFBLDZDQWdDRUMsV0FBVyxDQUFDRSxRQUFaLENBQXFCLEtBQXJCLENBaENGOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eCwgZXJyb3IgfSBmcm9tICdAY29vbHdhbGxldC9jb3JlJztcbmltcG9ydCAqIGFzIHR4VXRpbCBmcm9tICcuL3V0aWxzL3RyYW5zYWN0aW9uVXRpbCc7XG5pbXBvcnQgKiBhcyBzY3JpcHRVdGlsIGZyb20gJy4vdXRpbHMvc2NyaXB0VXRpbCc7XG5pbXBvcnQgKiBhcyB0eXBlcyBmcm9tICcuL2NvbmZpZy90eXBlcyc7XG5pbXBvcnQgeyBTaWduYXR1cmVUeXBlIH0gZnJvbSAnQGNvb2x3YWxsZXQvY29yZS9saWIvdHJhbnNhY3Rpb24nO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2lnblRyYW5zYWN0aW9uKHNpZ25UeERhdGE6IHR5cGVzLnNpZ25UeFR5cGUsIGNvaW5UeXBlOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCB7IHNjcmlwdFR5cGUsIHRyYW5zcG9ydCwgaW5wdXRzLCBvdXRwdXQsIGNoYW5nZSwgYXBwSWQsIGFwcFByaXZhdGVLZXkgfSA9IHNpZ25UeERhdGE7XG5cbiAgaWYgKFxuICAgIHNjcmlwdFR5cGUgIT09IHR5cGVzLlNjcmlwdFR5cGUuUDJQS0ggJiZcbiAgICBzY3JpcHRUeXBlICE9PSB0eXBlcy5TY3JpcHRUeXBlLlAyV1BLSCAmJlxuICAgIHNjcmlwdFR5cGUgIT09IHR5cGVzLlNjcmlwdFR5cGUuUDJTSF9QMldQS0ggLy8gY29vbHdhbGxldCBhcHAgdXNlIHRoaXMgc2NyaXB0VHlwZVxuICApIHtcbiAgICB0aHJvdyBuZXcgZXJyb3IuU0RLRXJyb3Ioc2lnblRyYW5zYWN0aW9uLm5hbWUsIGBVbnN1cHBvcnQgU2NyaXB0VHlwZSAnJHtzY3JpcHRUeXBlfSdgKTtcbiAgfVxuICBjb25zdCB7IHByZXBhcmVkRGF0YSB9ID0gdHhVdGlsLmNyZWF0ZVVuc2lnbmVkVHJhbnNhY3Rpb25zKHNjcmlwdFR5cGUsIGlucHV0cywgb3V0cHV0LCBjaGFuZ2UpO1xuICBjb25zdCB7IHByZUFjdGlvbnMsIGFjdGlvbnMgfSA9IGF3YWl0IHNjcmlwdFV0aWwuZ2V0U2NyaXB0U2lnbmluZ0FjdGlvbnMoXG4gICAgdHJhbnNwb3J0LFxuICAgIHNjcmlwdFR5cGUsXG4gICAgYXBwSWQsXG4gICAgYXBwUHJpdmF0ZUtleSxcbiAgICBpbnB1dHMsXG4gICAgcHJlcGFyZWREYXRhLFxuICAgIG91dHB1dCxcbiAgICBjaGFuZ2UsXG4gICAgY29pblR5cGVcbiAgKTtcblxuICBjb25zdCBzaWduYXR1cmVzID0gYXdhaXQgdHguZmxvdy5nZXRTaWduYXR1cmVzRnJvbUNvb2xXYWxsZXRWMihcbiAgICB0cmFuc3BvcnQsXG4gICAgcHJlQWN0aW9ucyxcbiAgICBhY3Rpb25zLFxuICAgIFNpZ25hdHVyZVR5cGUuREVSLFxuICAgIHNpZ25UeERhdGEuY29uZmlybUNCLFxuICAgIHNpZ25UeERhdGEuYXV0aG9yaXplZENCXG4gICk7XG4gIGNvbnN0IHRyYW5zYWN0aW9uID0gdHhVdGlsLmNvbXBvc2VGaW5hbFRyYW5zYWN0aW9uKHNjcmlwdFR5cGUsIHByZXBhcmVkRGF0YSwgc2lnbmF0dXJlcyBhcyBCdWZmZXJbXSk7XG4gIHJldHVybiB0cmFuc2FjdGlvbi50b1N0cmluZygnaGV4Jyk7XG59XG4iXX0=