UNPKG

@cosmos-kit/terra-extension

Version:
142 lines (141 loc) 5.5 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.TerraClient = 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 _signer = require("./signer"); var _encoding = require("@cosmjs/encoding"); var TerraClient = /*#__PURE__*/function () { function TerraClient(client) { (0, _classCallCheck2["default"])(this, TerraClient); (0, _defineProperty2["default"])(this, "client", void 0); this.client = client; } (0, _createClass2["default"])(TerraClient, [{ key: "disconnect", value: function () { var _disconnect = (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: this.client.disconnect(); case 1: case "end": return _context.stop(); } }, _callee, this); })); function disconnect() { return _disconnect.apply(this, arguments); } return disconnect; }() }, { key: "getSimpleAccount", value: function () { var _getSimpleAccount = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(chainId) { var account; return _regenerator["default"].wrap(function _callee2$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: _context2.next = 2; return this.getAccount(chainId); case 2: account = _context2.sent; return _context2.abrupt("return", { namespace: 'cosmos', chainId: chainId, address: account.address }); case 4: case "end": return _context2.stop(); } }, _callee2, this); })); function getSimpleAccount(_x) { return _getSimpleAccount.apply(this, arguments); } return getSimpleAccount; }() }, { key: "getAccount", value: function () { var _getAccount = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(chainId) { var account, infos, networkInfo, coinTypeByChainId, accountPubkey; return _regenerator["default"].wrap(function _callee3$(_context3) { while (1) switch (_context3.prev = _context3.next) { case 0: _context3.next = 2; return this.client.connect(); case 2: account = _context3.sent; _context3.next = 5; return this.client.info(); case 5: infos = _context3.sent; networkInfo = infos[chainId]; if (networkInfo) { _context3.next = 9; break; } return _context3.abrupt("return", Promise.reject("Unsupported chainId: ".concat(chainId, ". Please swap to ").concat(chainId, " network in Station Wallet."))); case 9: coinTypeByChainId = networkInfo.coinType; accountPubkey = account.pubkey[coinTypeByChainId]; if (accountPubkey) { _context3.next = 13; break; } return _context3.abrupt("return", Promise.reject("Can't find pubkey in Station Wallet.(Coin type: ".concat(coinTypeByChainId, ")"))); case 13: return _context3.abrupt("return", { address: account.address, algo: 'secp256k1', pubkey: (0, _encoding.fromBase64)(accountPubkey) }); case 14: case "end": return _context3.stop(); } }, _callee3, this); })); function getAccount(_x2) { return _getAccount.apply(this, arguments); } return getAccount; }() }, { key: "getOfflineSigner", value: function () { var _getOfflineSigner = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(chainId) { var accountInfo; return _regenerator["default"].wrap(function _callee4$(_context4) { while (1) switch (_context4.prev = _context4.next) { case 0: _context4.next = 2; return this.getAccount(chainId); case 2: accountInfo = _context4.sent; return _context4.abrupt("return", new _signer.OfflineSigner(this.client, accountInfo)); case 4: case "end": return _context4.stop(); } }, _callee4, this); })); function getOfflineSigner(_x3) { return _getOfflineSigner.apply(this, arguments); } return getOfflineSigner; }() }]); return TerraClient; }(); exports.TerraClient = TerraClient;