UNPKG

@cosmos-kit/terra-extension

Version:
90 lines (89 loc) 3.77 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.OfflineSigner = void 0; var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _feather = require("@terra-money/feather.js"); var OfflineSigner = /*#__PURE__*/function () { function OfflineSigner(extension, accountInfo) { (0, _classCallCheck2["default"])(this, OfflineSigner); (0, _defineProperty2["default"])(this, "extension", void 0); (0, _defineProperty2["default"])(this, "accountInfo", void 0); this.extension = extension; this.accountInfo = accountInfo; } (0, _createClass2["default"])(OfflineSigner, [{ key: "getAccounts", value: function () { var _getAccounts = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() { return _regenerator["default"].wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: return _context.abrupt("return", [{ address: this.accountInfo.address, algo: this.accountInfo.algo || 'secp256k1', pubkey: this.accountInfo.pubkey }]); case 1: case "end": return _context.stop(); } }, _callee, this); })); function getAccounts() { return _getAccounts.apply(this, arguments); } return getAccounts; }() }, { key: "signAmino", value: function () { var _signAmino = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(signerAddress, signDoc) { var signDocFee, feeAmount, fakeMsgs, signResponse, signature; return _regenerator["default"].wrap(function _callee2$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: signDocFee = signDoc.fee; feeAmount = signDocFee.amount[0].amount + signDocFee.amount[0].denom; fakeMsgs = signDoc.msgs.map(function (msg) { return _feather.Msg.fromAmino(msg); }); _context2.next = 5; return this.extension.sign({ chainID: signDoc.chain_id, msgs: fakeMsgs, fee: new _feather.Fee(parseInt(signDocFee.gas), feeAmount, signDocFee.payer, signDocFee.granter), memo: signDoc.memo, signMode: _feather.SignatureV2.SignMode.SIGN_MODE_LEGACY_AMINO_JSON }); case 5: signResponse = _context2.sent; signature = { pub_key: signResponse.payload.result.auth_info.signer_infos[0].public_key.key, signature: signResponse.payload.result.signatures[0] }; return _context2.abrupt("return", { signed: signDoc, signature: signature }); case 8: case "end": return _context2.stop(); } }, _callee2, this); })); function signAmino(_x, _x2) { return _signAmino.apply(this, arguments); } return signAmino; }() }]); return OfflineSigner; }(); exports.OfflineSigner = OfflineSigner;